S WAL: Fast and Efficient Write Ahead Logging for Mobile Devices
A crash consistency mechanism of database application (hereinafter DBMS for short) imposes an enormous burden on the journaling process of the file system (e.g. JBD2) in that it employs regular files on the file system to persistently preserve the application's journal data with synchronous system calls. Unfortunately, much of the previous research is impractical in real world scenarios because they require changing a lot of source lines of code in multiple software layers of the software stack or using special hardware (e.g. the transactional flash storage or NVM technologies) In this paper, we propose a new journal mode of DBMS, called S WAL, which compresses the raw data journaled by the database to alleviate both the redundant journaling operations and harmful write amplification. We believe that S WAL is a practical way to support application level crash consistency on the existing mobile devices because only a few lines of DBMS code need to be changed, without the need to employ special hardware. We demonstrate the effectiveness of S WAL by running four popular mobile applications on the latest smartphone. Our evaluation results show that S WAL considerably outperforms existing journal modes of DBMS in all cases. In the best case, S WAL reduces the elapsed time by up to $7.5\times$ more than the PERSIST mode and by up to 51% more than the traditional WAL mode.
IEEE Transactions on Consumer Electronics