In-memory write-ahead logging for mobile smart devices with NVRAM

In recent years, ensuring the reliability of databases in battery-powered mobile devices such as smartphones and tablets has gained in importance, since most mobile applications use a lightweight embedded database. Write-ahead logging (WAL) has been one of the representative techniques in embedded databases to ensure their reliability. However, this technique causes additional data write overhead. Besides, the file system provides its own reliability technique and this may therefore cause duplicate overhead. Both types of overhead lead to the performance degradation of mobile applications and have an adverse effect on the user experience. This paper proposes an efficient in-memory write-ahead logging (IMWAL) technique for the embedded databases of mobile devices adopting nonvolatile random access memory (NVRAM). When a write operation for the embedded database is invoked, IMWAL assures that the new data in a mobile application are all written to the NVRAM as a write-ahead data log. This data log is reused to update the embedded database file by remapping the memory address and therefore it reduces the additional writes. With IMWAL, write operations can resume even after crashes occur in the mobile devices and ensure the reliability of the embedded database with performance improvement. To evaluate the proposed technique, it is implemented on the in-memory file system of a real mobile platform. Its performance is evaluated against original WAL-on mode and WAL-off mode with various experiments, including various benchmarks and real mobile application workloads. The results show that IMWAL performs 14% faster than the original WAL technique for embedded databases in real mobile devices on average1.

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

[2]  Orion Hodson,et al.  Whole-system persistence , 2012, ASPLOS XVII.

[3]  Eunji Lee,et al.  Unioning of the buffer cache and journaling layers with non-volatile memory , 2013, FAST.

[4]  Christopher Frost,et al.  Better I/O through byte-addressable, persistent memory , 2009, SOSP '09.

[5]  Eunji Lee,et al.  Shortcut-JFS: A write efficient journaling file system for phase change memory , 2012, 012 IEEE 28th Symposium on Mass Storage Systems and Technologies (MSST).

[6]  Xiaoxia Wu,et al.  Hybrid cache architecture with disparate memory technologies , 2009, ISCA '09.

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

[8]  A. L. Narasimha Reddy,et al.  SCMFS: A file system for Storage Class Memory , 2011, 2011 International Conference for High Performance Computing, Networking, Storage and Analysis (SC).

[9]  Hyung Gyu Lee,et al.  High-performance NAND and PRAM hybrid storage design for consumer electronics , 2010, IEEE Transactions on Consumer Electronics.

[10]  Donald E. Porter,et al.  Operating System Transactions , 2009, SOSP '09.

[11]  Erez Zadok,et al.  Extending ACID semantics to the file system , 2007, TOS.

[12]  Hyunjun Kim,et al.  In-memory file system for non-volatile memory , 2013, RACS.

[13]  Sanjay Kumar,et al.  System software for persistent memory , 2014, EuroSys '14.

[14]  Scott A. Brandt,et al.  MRAMFS: a compressing file system for non-volatile RAM , 2004, The IEEE Computer Society's 12th Annual International Symposium on Modeling, Analysis, and Simulation of Computer and Telecommunications Systems, 2004. (MASCOTS 2004). Proceedings..

[15]  Luis Ceze,et al.  Operating System Implications of Fast, Cheap, Non-Volatile Memory , 2011, HotOS.

[16]  Sanghyuk Jung,et al.  An efficient use of PRAM for an enhancement in the performance and durability of NAND storage systems , 2012, IEEE Transactions on Consumer Electronics.

[17]  Eunji Lee,et al.  Improving the storage performance of smartphones through journaling in non-volatile memory , 2013, IEEE Transactions on Consumer Electronics.

[18]  Vijayalakshmi Srinivasan,et al.  Scalable high performance main memory system using phase-change memory technology , 2009, ISCA '09.

[19]  Lingkun Wu,et al.  FSMAC: A file system metadata accelerator with non-volatile memory , 2013, 2013 IEEE 29th Symposium on Mass Storage Systems and Technologies (MSST).

[20]  Meng Zhu,et al.  Journaling of journal is (almost) free , 2014, FAST.

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

[22]  Yuan Xie,et al.  Kiln: Closing the performance gap between systems with and without persistence support , 2013, 2013 46th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO).

[23]  Jun Yang,et al.  Phase-Change Technology and the Future of Main Memory , 2010, IEEE Micro.

[24]  Joo Young Hwang,et al.  IPL-P: In-Page Logging with PCRAM , 2011, Proc. VLDB Endow..

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

[26]  Youjip Won,et al.  I/O Stack Optimization for Smartphones , 2013, USENIX ATC.

[27]  Andrea C. Arpaci-Dusseau,et al.  Membrane: Operating system support for restartable file systems , 2010, TOS.