The design and implementation of a log-structured file system
ACM Transactions on Computer Systems (TOCS)
End-to-end arguments in system design
ACM Transactions on Computer Systems (TOCS)
Operating system support for database management
Communications of the ACM
The Linux implementation of a log-structured file system
ACM SIGOPS Operating Systems Review
Analysis and evolution of journaling file systems
ATEC '05 Proceedings of the annual conference on USENIX Annual Technical Conference
Stasis: flexible transactional storage
OSDI '06 Proceedings of the 7th USENIX Symposium on Operating Systems Design and Implementation - Volume 7
ACM Transactions on Computer Systems (TOCS)
Proceedings of the eleventh international joint conference on Measurement and modeling of computer systems
Proceedings of the ACM SIGOPS 22nd symposium on Operating systems principles
The Case for VM-Based Cloudlets in Mobile Computing
IEEE Pervasive Computing
Okeanos: wasteless journaling for fast and reliable multistream storage
USENIXATC'11 Proceedings of the 2011 USENIX conference on USENIX annual technical conference
Revisiting storage for smartphones
FAST'12 Proceedings of the 10th USENIX conference on File and Storage Technologies
USENIX ATC'12 Proceedings of the 2012 USENIX conference on Annual Technical Conference
Proceedings of the 8th ACM European Conference on Computer Systems
Proceedings of the Twenty-Fourth ACM Symposium on Operating Systems Principles
I/O stack optimization for smartphones
USENIX ATC'13 Proceedings of the 2013 USENIX conference on Annual Technical Conference
Hi-index | 0.00 |
Lightweight databases and key-value stores manage the consistency and reliability of their own data, often through rollback-recovery journaling or write-ahead logging. They further rely on file system journaling to protect the file system structure and metadata. Such journaling of journal appears to violate the classic end-to-end argument for optimal database design. In practice, we observe a significant cost (up to 73% slowdown) by adding the Ext4 file system journaling to the SQLite database on a Google Nexus 7 tablet running a Ubuntu Linux installation. The cost of file system journaling is up to 58% on a conventional machine with an Intel 311 SSD. In this paper, we argue that such cost is largely due to implementation limitations of the existing system. We apply two simple techniques--ensuring a single I/O operation on the synchronous commit path, and adaptively allowing each file to have a custom journaling mode (in particular, whether to journal the file data in addition to the metadata). Compared to SQLite without file system journaling, our enhanced journaling improves the performance or incurs minor (