Affiliation:
1. National Chiao-Tung University, Hsinchu, Taiwan, ROC
Abstract
Flash storage has been a standard component in Android devices. Recent research has reported that application data management in Android involves frequent fsync() operations. The current fsync() implementations, including those of ext4 and F2FS, have several common drawbacks. Specifically, ext4 commits a transaction every time to sync a file, whereas F2FS commits a checkpoint to sync a directory. Committing a transaction or checkpoint flushes all dirty data from the page cache to the flash storage via many small, random block write requests. The resultant high I/O frequency and excessive write traffic cause a high fsync() latency. This study presents an efficient fsync() method, called eager synching, which is based on a simple idea: write less, and write sequentially. To sync a file, eager synching writes only a subset of all dirty data in the page cache to a sequential log space using a few sequential block write requests. It does not involve transaction or checkpoint committing. We successfully implemented eager synching in ext4 and F2FS, and our experimental results show that, compared with the original fsync() methods of ext4 and F2FS, eager synching reduced the average and maximum fsync() latencies by up to 72% and 91%, respectively, block-level write traffic by up to 35%, and I/O frequency by up to 66%. Through enhanced crash recovery procedures, eager synching can successfully recover all previously synched files while still guaranteeing the file system integrity. We also conducted live application replays using the proposed eager synching approach and observed that this approach significantly improved the application frame updating rate and application execution time.
Funder
Ministry of Science and Technology, Taiwan
Publisher
Association for Computing Machinery (ACM)
Subject
Hardware and Architecture,Software
Reference25 articles.
1. Alan D. Brunelle. 2007. blktrace. Retrieved from http://www.cse.unsw.edu.au/∼aaronc/iosched/doc/blktrace.html. Alan D. Brunelle. 2007. blktrace. Retrieved from http://www.cse.unsw.edu.au/∼aaronc/iosched/doc/blktrace.html.
2. Fast file synching for applications in flash-based Android devices
3. Constantin Gonzalez. 2010. Solaris ZFS Synchronous Writes and the ZIL Explained. Retrieved from http://constantin.glez.de/blog/2010/07/solaris-zfs-synchronous-writes-and-zil-explained. Constantin Gonzalez. 2010. Solaris ZFS Synchronous Writes and the ZIL Explained. Retrieved from http://constantin.glez.de/blog/2010/07/solaris-zfs-synchronous-writes-and-zil-explained.
Cited by
4 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Current-Aware Flash Scheduling for Current Capping in Solid State Disks;IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems;2020-02
2. Lightweight, Integrated Data Deduplication for Write Stress Reduction of Mobile Flash Storage;IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems;2018-11
3. Lightweight Data Compression for Mobile Flash Storage;ACM Transactions on Embedded Computing Systems;2017-10-10
4. Guaranteeing the Metadata Update Atomicity in EXT4 File system;Proceedings of the 8th Asia-Pacific Workshop on Systems;2017-09-02