Memory-Centric Data Storage for Mobile Systems

Current data storage on smartphones mostly inherits from desktop/server systems a flash-centric design: The memory (DRAM) effectively acts as an I/O cache for the relatively slow flash. To improve both app responsiveness and energy efficiency, this paper proposes MobiFS, a memory-centric design for smartphone data storage. This design no longer exercises cache writeback at short fixed periods or on file synchronization calls. Instead, it incrementally checkpoints app data into flash at appropriate times, as calculated by a set of app/user-adaptive policies. MobiFS also introduces transactions into the cache to guarantee data consistency. This design trades off data staleness for better app responsiveness and energy efficiency, in a quantitative manner. Evaluations show that MobiFS achieves 18.8× higher write throughput and 11.2× more database transactions per second than the default Ext4 filesystem in Android. Popular real-world apps show improvements in response time and energy consumption by 51.6% and 35.8% on average, respectively.

[1]  Andrea C. Arpaci-Dusseau,et al.  Optimistic crash consistency , 2013, SOSP.

[2]  Hong Jiang,et al.  qNVRAM: quasi Non-Volatile RAM for Low Overhead Persistency Enforcement in Smartphones , 2014, HotStorage.

[3]  Gang Zhou,et al.  Smartphone application launch with smarter scheduling , 2014, UbiComp Adjunct.

[4]  Cristian Ungureanu,et al.  Reliable, Consistent, and Efficient Data Sync for Mobile Apps , 2015, FAST.

[5]  David T. Nguyen Improving smartphone responsiveness through I/O optimizations , 2014, UbiComp Adjunct.

[6]  Geoffrey H. Kuenning,et al.  Conquest: Better Performance Through a Disk/Persistent-RAM Hybrid File System , 2002, USENIX Annual Technical Conference, General Track.

[7]  Ranveer Chandra,et al.  Optimizing background email sync on smartphones , 2013, MobiSys '13.

[8]  Ming Zhao,et al.  Write policies for host-side flash caches , 2013, FAST.

[9]  Eunji Lee,et al.  Eliminating Periodic Flush Overhead of File I/O with Non-Volatile Buffer Cache , 2016, IEEE Transactions on Computers.

[10]  Ranveer Chandra,et al.  On the energy overhead of mobile storage systems , 2014, FAST.

[11]  Frank Bellosa,et al.  Cooperative I / O-- A Novel I / O Semantics for Energy-Aware Applications , 2003 .

[12]  Young-Seok Kim,et al.  Adaptive logging for mobile device , 2010, Proc. VLDB Endow..

[13]  Gernot Heiser,et al.  An Analysis of Power Consumption in a Smartphone , 2010, USENIX Annual Technical Conference.

[14]  Edwin Hsing-Mean Sha,et al.  Building high-performance smartphones via non-volatile memory: The swap approach , 2014, 2014 International Conference on Embedded Software (EMSOFT).

[15]  Peter Desnoyers,et al.  Capsule: an energy-optimized object storage system for memory-constrained sensor devices , 2006, SenSys '06.

[16]  Jason Flinn,et al.  Energy-Efficiency and Storage Flexibility in the Blue File System , 2004, OSDI.

[17]  Peter Desnoyers,et al.  What Systems Researchers Need to Know about NAND Flash , 2013, HotStorage.

[18]  Carlo Curino,et al.  Mobius: unified messaging and data serving for mobile apps , 2012, MobiSys '12.

[19]  Michael Stonebraker,et al.  H-store: a high-performance, distributed main memory transaction processing system , 2008, Proc. VLDB Endow..

[20]  Michael Neufeld,et al.  ELF: an efficient log-structured flash file system for micro sensor nodes , 2004, SenSys '04.

[21]  Dongil Park,et al.  Resolving journaling of journal anomaly in android I/O: multi-version B-tree with lazy split , 2014, FAST.

[22]  Michael Stonebraker,et al.  Anti-Caching: A New Approach to Database Management System Architecture , 2013, Proc. VLDB Endow..

[23]  Umakishore Ramachandran,et al.  Fjord: Informed storage management for smartphones , 2013, 2013 IEEE 29th Symposium on Mass Storage Systems and Technologies (MSST).

[24]  Bingsheng He,et al.  Operation-aware buffer management in flash-based systems , 2011, SIGMOD '11.

[25]  Thomas L. Moore,et al.  LLC , 2022, The Fairchild Books Dictionary of Fashion.

[26]  L. Vivier,et al.  The new ext 4 filesystem : current status and future plans , 2007 .

[27]  David Flynn,et al.  DFS: A file system for virtualized flash storage , 2010, TOS.

[28]  Ion Stoica,et al.  Probabilistically Bounded Staleness for Practical Partial Quorums , 2012, Proc. VLDB Endow..

[29]  Rajesh Gupta,et al.  From ARIES to MARS: transaction support for next-generation, solid-state drives , 2013, SOSP.

[30]  Michael Wu,et al.  eNVy: a non-volatile, main memory storage system , 1994, ASPLOS VI.

[31]  Gang Zhou,et al.  Storage-aware smartphone energy savings , 2013, UbiComp.

[32]  Michael Stonebraker,et al.  Implementation techniques for main memory database systems , 1984, SIGMOD '84.

[33]  Cristian Ungureanu,et al.  Revisiting storage for smartphones , 2012, TOS.

[34]  Guoliang Li,et al.  LazyFTL: a page-level flash translation layer optimized for NAND flash memory , 2011, SIGMOD '11.

[35]  Joo Young Hwang,et al.  F2FS: A New File System for Flash Storage , 2015, FAST.

[36]  Jason Flinn,et al.  Rethink the sync , 2006, OSDI '06.

[37]  Youjip Won,et al.  Smart layers and dumb result: IO characterization of an android-based smartphone , 2012, EMSOFT '12.

[38]  Umakishore Ramachandran,et al.  What is a good buffer cache replacement scheme for mobile flash storage? , 2012, SIGMETRICS '12.

[39]  Michael L. Scott,et al.  Energy efficiency through burstiness , 2003, 2003 Proceedings Fifth IEEE Workshop on Mobile Computing Systems and Applications.

[40]  Mendel Rosenblum,et al.  Fast crash recovery in RAMCloud , 2011, SOSP.

[41]  Samuel Madden,et al.  Transactional Consistency and Automatic Management in an Application Data Cache , 2010, OSDI.

[42]  Youjip Won,et al.  I/O Stack Optimization for Smartphones , 2013, USENIX Annual Technical Conference.

[43]  James Lau,et al.  File System Design for an NFS File Server Appliance , 1994, USENIX Winter.

[44]  Josef Bacik,et al.  BTRFS: The Linux B-Tree Filesystem , 2013, TOS.

[45]  Asim Kadav,et al.  Blizzard: Fast, Cloud-scale Block Storage for Cloud-oblivious Applications , 2014, NSDI.

[46]  Mahadev Satyanarayanan,et al.  Lightweight recoverable virtual memory , 1993, SOSP '93.