Making Application-Level Crash Consistency Practical on Flash Storage

Dong Hyun Kang, Changwoo Min, Sang Won Lee, Young Ik Eom

Research output: Contribution to journalArticlepeer-review

6 Scopus citations

Abstract

We present the design, implementation, and evaluation of a new file system, called ACCFS, supporting application-level crash consistency as its first-class citizen functionality. With ACCFS, application data can be correctly recovered in the event of system crashes without any complex update protocol at the application level. With the help of the SHARE interface supporting atomic address remapping at the flash storage layer, ACCFS can easily and efficiently achieve crash consistency as well as single-write journaling. We prototyped ACCFS by slightly modifying the full data journal mode in ext4, implemented the SHARE interface as firmware in a commercial SSD available in the market, and carried out various experiments by running ACCFS on top of the SSD. Our preliminary experimental results are very promising. For instance, the performance of an OLTP benchmark using MySQL/InnoDB engine can be boosted by more than 2-6x by offloading the responsibility of guaranteeing the atomic write of MySQL data pages from the InnoDB engine's own journaling mechanism to ACCFS. This impressive performance gain is in part due to the single-write journaling in ACCFS and in part comes from the fact that the frequent fsync() calls caused by the complex update protocol at the application level can be avoided. ACCFS is a practical solution for the crash consistency problem in that (1) the SHARE interface can be, like the TRIM command, easily supported by commercial SSDs, (2) it can be embodied with a minor modification on the existing ext4 file system, and (3) the existing applications can be made crash consistent simply by opening files in O_ATOMIC mode while the legacy applications can be run without any change.

Original languageEnglish
Article number8936358
Pages (from-to)1009-1020
Number of pages12
JournalIEEE Transactions on Parallel and Distributed Systems
Volume31
Issue number5
DOIs
StatePublished - 1 May 2020

Keywords

  • address remapping
  • application-level consistency
  • File system-level consistency
  • flash storage device

Fingerprint

Dive into the research topics of 'Making Application-Level Crash Consistency Practical on Flash Storage'. Together they form a unique fingerprint.

Cite this