Mobile devices as a cache for cloud data

3030107334_945202743c_z
Howard Marks (DeepStorage.net) and I were on a GreyBeard’s podcast last month (PB are the new TB) talking with the CTO (Brian Carmody [@initzero]) of hybrid storage vendor, Infinidat, who just happened to mention in passing that “our mobile devices pretty much act as caches for cloud data”. That’s interesting.

Mobile app’s caching data

There’s a part of me that couldn’t agree more. Most of my mobile mail uses IMAP which acts as a browser for email residing elsewhere. Radio apps stream music from the cloud. Photo apps can store pictures on the cloud. Social media apps (Facebook, LinkedIN, Twitter, etc.) use the cloud to store posts/pokes/photos and only cache minimal data locally. There are many more apps that act similarly.

But not all data is cached

On the other hand, I have downloaded all of my music library to my mobile devices. There was a time when I was more selective but later generation devices have more than enough storage to hold it all.

Movies are another.  Most purchased movies are download to my desktop. With only 64GBs of storage on my iPad/iPhone, I have to be a bit more judicious with which movies I store on the devices. Most of the time, when I am watching movies on mobile devices, I don’t have Internet access, so caching/streaming won’t work. Yet, for some services (Amazon Prime Video & Apple TV) I do stream at home and then the TV or AppleTV caches cloud media.

My photo library is similar, there’s just too many photos to fit them all on the  device. So for now, they reside on my desktop, only a select subset are copied to the device.

Contacts, passwords, calendars and countless other datums that reside on the cloud or my desktop computer are also replicated (not cached) on mobile devices. Could they be cached, probably, but with the need for these items, even when internet service is not available, caching them makes no sense.

Storage caching vs. mobile device caching

Storage caches are pretty sophisticated and Infinidat’s as sophisticated as any of them. Historically, storage caching is resilient in the face of power outages, storage device failures, software bugs, etc. Essentially, when storage data hits the cache the storage system “guarantees” to write it to backend storage, some time in the future. Read data caching requires less resilience/fault tolerance because data already resides somewhere else on backend storage.

It’s unclear whether mobile caching has similar strengths. As each app caches data in it’s own way, there would be less resilience in mobile caching than storages subsystem caches. But I am no app developer, so don’t have a clue as to what caching services are available within the mobile app ecosystem.

Device internet speed too slow

One thing that keeps me storing data on my mobile devices is the speed of Wi-Fi and cellular internet. It’s often much slower than I would like. I suppose when these speed up there would be less need to save data on my mobile devices. But by that time, mobile storage will bemuch cheaper as well and I will have even more data to cache/store. So who knows.

Then again in the foreseeable future, there will be times without cellular or Wi-Fi Internet. So , storing data on the mobile device will always be the way to go at least for some data.

Maybe Brian’s right

From my perspective, Brian is partially right about the mobile devices caching cloud data. But maybe it’s just because I am old school that I decide to store a lot of data on my mobile devices.

From Brian’s perspective, all that data is stored elsewhere (desktop or cloud). So it all could be cached and probably should be.

As the world rolls out IoT, with even less storage at the edge, caching cloud data will become even more of a necessity. Hopefully by then Internet access will become even more universal than it is already.

Comments?

Photo Credits: Blake Patterson, iPhone apps sphere

Storage performance matters, even for smartphones

Portrait of a Young Girl With an iPhone, after Agnolo Bronzino by Mike Licht,...  (cc) (From Flickr)
Portrait of a Young Girl With an iPhone, after Agnolo Bronzino by Mike Licht,... (cc) (From Flickr)

 

Read an interesting article from MIT’s Technical Review about a study presented at last weeks Usenix FAST (File and Storage Technology) conference on How Data Storage Cripples Mobile Apps.  It seems storage performance can seriously slow down smartphone functioning, not unlike IT applications (see IO throughput vs. response time and why it matters post for more).

The smartphone research was done by NEC.  They took an Android phone and modified  the O/S to use an external memory card for all of the App data needs.

Then they ran a number of Apps through their paces with various external memory cards.  It turned out that depending on the memory card in use, the mobile phones email and Twitter Apps launched 2-3X faster.   Also, the native web App was tested with over 50 pages loads and had at best, a 3X faster page load time.

All the tests were done using a cable to simulate advanced network connections, above and beyond today’s capabilities and to eliminate that as the performance bottleneck.  In the end, faster networking didn’t have as much of a bearing on App performance as memory card speed.

(NAND) memory card performance

The problem, it turns out is due to data writes.  It seems that the non-volatile memory used in most external memory cards is NAND flash, which as is we all know, has much slower write time than read time, almost 1000X  (see my post on Why SSD performance is such a mystery).  Most likely the memory cards are pretty “dumb” so many performance boosting techniques used in enterprise class SSDs are not available (e.g., DRAM write buffering).

Data caching helps

The researchers did another experiment with the phone, using a more sophisticated version of data caching and a modified Facebook App.  Presumably, this new “data caching” minimized the data write penalty by caching writes to DRAM first and only destaging data to NAND flash when absolutely necessary.   By using the more sophisticated “data caching” they were able to speed up the modified Facebook App by 4X.

It seems that storage sophistication matters even in smartphones, I think I am going to  need to have someone port the caching portions of Data ONTAP® or Enginuity™ to run on my iPhone.

Comments?