Sangam: A Confluence of Knowledge Streams

Verifying a concurrent, crash-safe file system with sequential reasoning

Show simple item record

dc.contributor Kaashoek, M. Frans
dc.contributor Zeldovich, Nickolai
dc.contributor Tassarotti, Joseph
dc.contributor Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science
dc.creator Chajed, Tej
dc.date 2022-08-29T15:57:01Z
dc.date 2022-08-29T15:57:01Z
dc.date 2022-05
dc.date 2022-06-21T19:15:24.045Z
dc.date.accessioned 2023-02-17T20:26:10Z
dc.date.available 2023-02-17T20:26:10Z
dc.identifier https://hdl.handle.net/1721.1/144578
dc.identifier https://orcid.org/0000-0002-9889-4828
dc.identifier.uri http://localhost:8080/xmlui/handle/CUHPOERS/242572
dc.description Critical systems software such as the file system is challenging to make correct due to the combination of concurrency in the implementation for good performance and the requirement to preserve data even on crash, where the whole computer stops and reboots unexpectedly. To build reliable systems, this thesis extends formal verification — proving that a system always meets a mathematical specification of its behavior — to reason about the concurrency and crash safety. The thesis applies the new verification techniques to the verification of DaisyNFS, a new concurrent file system. The file system is an important service of an operating system, because nearly all persistent data is ultimately stored in a file system and bugs can lead to permanent data loss in any application running on top. Another contribution of the thesis is a system design and verification techniques to scale verification to a system of the size and complexity of a file system. In particular, the file system is designed around a transaction system that addresses the core challenges of crashes and concurrency, so that the rest of the code can be verified with comparatively simpler sequential reasoning. An evaluation of proof overhead finds that verification required 2× as many lines of proof as code for the sequential reasoning, compared to 20× for the crash safety and concurrency proofs. A performance evaluation finds that DaisyNFS achieves good performance compared to Linux NFS exporting ext4 over a range of benchmarks: at least 60% the throughput even on the most challenging concurrent benchmarks, and 90% on other workloads.
dc.description Ph.D.
dc.format application/pdf
dc.publisher Massachusetts Institute of Technology
dc.rights In Copyright - Educational Use Permitted
dc.rights Copyright MIT
dc.rights http://rightsstatements.org/page/InC-EDU/1.0/
dc.title Verifying a concurrent, crash-safe file system with sequential reasoning
dc.type Thesis


Files in this item

Files Size Format View
Chajed-tchajed-PhD-EECS-2022-thesis.pdf 1.178Mb application/pdf View/Open

This item appears in the following Collection(s)

  • DSpace@MIT [2699]
    DSpace@MIT is a digital repository for MIT's research, including peer-reviewed articles, technical reports, working papers, theses, and more.

Show simple item record

Search DSpace


Advanced Search

Browse