TY - GEN
T1 - Lightweight application-level crash consistency on transactional flash storage
AU - Min, Changwoo
AU - Kang, Woon Hak
AU - Kim, Taesoo
AU - Lee, Sang Won
AU - Eom, Young Ik
N1 - Publisher Copyright:
© 2015 USENIX Annual Technical Conference.
PY - 2015
Y1 - 2015
N2 - Applications implement their own update protocols to ensure consistency of data on the file system. However, since current file systems provide only a preliminary ordering guarantee, notably fsync(), these update protocols become complex, slow, and error-prone. We present a new file system, CFS, that supports a native interface for applications to maintain crash consistency of their data. Using CFS, applications can achieve crash consistency of data by declaring code regions that must operate atomically. By utilizing transactional flash storage (SSD/X-FTL), CFS implement a lightweight mechanism for crash consistency. Without using any heavyweight mechanisms based on redundant writes and ordering, CFS can atomically write multiple data pages and their relevant metadata to storage. We made three technical contributions to develop a crash consistency interface with SSD/X-FTL in CFS: Selective atomic propagation of dirty pages, in-memory metadata logging, and delayed deallocation. Our evaluation of five real-world applications shows that CFS-based applications significantly outperform ordering versions: 2-5× faster by reducing disk writes 1.9-4.1× and disk cache flushing 1.1-17.6×. Importantly, our porting effort is minimal: CFS requires 317 lines of modifications from 3.5 million lines of ported applications.
AB - Applications implement their own update protocols to ensure consistency of data on the file system. However, since current file systems provide only a preliminary ordering guarantee, notably fsync(), these update protocols become complex, slow, and error-prone. We present a new file system, CFS, that supports a native interface for applications to maintain crash consistency of their data. Using CFS, applications can achieve crash consistency of data by declaring code regions that must operate atomically. By utilizing transactional flash storage (SSD/X-FTL), CFS implement a lightweight mechanism for crash consistency. Without using any heavyweight mechanisms based on redundant writes and ordering, CFS can atomically write multiple data pages and their relevant metadata to storage. We made three technical contributions to develop a crash consistency interface with SSD/X-FTL in CFS: Selective atomic propagation of dirty pages, in-memory metadata logging, and delayed deallocation. Our evaluation of five real-world applications shows that CFS-based applications significantly outperform ordering versions: 2-5× faster by reducing disk writes 1.9-4.1× and disk cache flushing 1.1-17.6×. Importantly, our porting effort is minimal: CFS requires 317 lines of modifications from 3.5 million lines of ported applications.
UR - https://www.scopus.com/pages/publications/84997383514
M3 - Conference contribution
AN - SCOPUS:84997383514
T3 - Proceedings of the 2015 USENIX Annual Technical Conference, USENIX ATC 2015
SP - 221
EP - 234
BT - Proceedings of the 2015 USENIX Annual Technical Conference, USENIX ATC 2015
PB - USENIX Association
T2 - 2015 USENIX Annual Technical Conference, USENIX ATC 2015
Y2 - 8 July 2015 through 10 July 2015
ER -