Show simple item record

dc.contributor.authorChen, Haogang
dc.contributor.authorChajed, Tej
dc.contributor.authorKonradi, Alex
dc.contributor.authorWang, Stephanie
dc.contributor.authorİleri, Atalay
dc.contributor.authorChlipala, Adam
dc.contributor.authorKaashoek, M. Frans
dc.contributor.authorZeldovich, Nickolai
dc.date.accessioned2021-11-04T19:09:59Z
dc.date.available2021-11-04T19:09:59Z
dc.date.issued2017-10
dc.identifier.urihttps://hdl.handle.net/1721.1/137398
dc.description.abstract© 2017 Copyright is held by the owner/author(s). DFSCQ is the first file system that (1) provides a precise specification for fsync and fdatasync, which allow applications to achieve high performance and crash safety, and (2) provides a machine-checked proof that its implementation meets this specification. DFSCQ’s specification captures the behavior of sophisticated optimizations, including log-bypass writes, and DFSCQ’s proof rules out some of the common bugs in file-system implementations despite the complex optimizations. The key challenge in building DFSCQ is to write a specification for the file system and its internal implementation without exposing internal file-system details. DFSCQ introduces a metadata-prefix specification that captures the properties of fsync and fdatasync, which roughly follows the behavior of Linux ext4. This specification uses a notion of tree sequences—logical sequences of file-system tree states—for succinct description of the possible states after a crash and to describe how data writes can be reordered with respect to metadata updates. This helps application developers prove the crash safety of their own applications, avoiding application-level bugs such as forgetting to invoke fsync on both the file and the containing directory. An evaluation shows that DFSCQ achieves 103 MB/s on large file writes to an SSD and durably creates small files at a rate of 1,618 files per second. This is slower than Linux ext4 (which achieves 295 MB/s for large file writes and 4,977 files/s for small file creation) but much faster than two recent verified file systems, Yggdrasil and FSCQ. Evaluation results from application-level benchmarks, including TPC-C on SQLite, mirror these microbenchmarks.en_US
dc.language.isoen
dc.publisherAssociation for Computing Machinery (ACM)en_US
dc.relation.isversionof10.1145/3132747.3132776en_US
dc.rightsCreative Commons Attribution 4.0 International licenseen_US
dc.rights.urihttps://creativecommons.org/licenses/by/4.0/en_US
dc.sourceACMen_US
dc.titleVerifying a high-performance crash-safe file system using a tree specificationen_US
dc.typeArticleen_US
dc.identifier.citationChen, Haogang, Chajed, Tej, Konradi, Alex, Wang, Stephanie, İleri, Atalay et al. 2017. "Verifying a high-performance crash-safe file system using a tree specification."
dc.contributor.departmentMassachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratoryen_US
dc.eprint.versionFinal published versionen_US
dc.type.urihttp://purl.org/eprint/type/ConferencePaperen_US
eprint.statushttp://purl.org/eprint/status/NonPeerRevieweden_US
dc.date.updated2019-05-13T17:40:20Z
dspace.date.submission2019-05-13T17:40:21Z
mit.metadata.statusAuthority Work and Publication Information Neededen_US


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record