Specifying and checking file system crash-consistency models

被引:0
|
作者
Bornholt J. [1 ]
Kaufmann A. [1 ]
Li J. [1 ]
Krishnamurthy A. [1 ]
Torlak E. [1 ]
Wang X. [1 ]
机构
[1] University of Washington, Seattle, WA
来源
| 2016年 / Association for Computing Machinery卷 / 51期
基金
美国国家科学基金会;
关键词
Crash consistency; File systems; Verification;
D O I
10.1145/2872362.2872406
中图分类号
学科分类号
摘要
Applications depend on persistent storage to recover state after system crashes. But the POSIX file system interfaces do not define the possible outcomes of a crash. As a result, it is difficult for application writers to correctly understand the ordering of and dependencies between file system operations, which can lead to corrupt application state and, in the worst case, catastrophic data loss. This paper presents crash-consistency models, analogous to memory consistency models, which describe the behavior of a file system across crashes. Crash-consistency models include both litmus tests, which demonstrate allowed and forbidden behaviors, and axiomatic and operational specifications. We present a formal framework for developing crash-consistency models, and a toolkit, called Ferrite, for validating those models against real file system implementations. We develop a crash-consistency model for ext4, and use Ferrite to demonstrate unintuitive crash behaviors of the ext4 implementation. To demonstrate the utility of crash-consistency models to application writers, we use our models to prototype proof-of-concept verification and synthesis tools, as well as new library interfaces for crash-safe applications. © 2016 ACM.
引用
收藏
页码:83 / 98
页数:15
相关论文
共 50 条
  • [41] UML/Analyzer: A tool for the instant consistency checking of UML models
    Egyed, Alexander
    ICSE 2007: 29th International Conference on Software Engineering, Proceedings, 2007, : 793 - 796
  • [42] A General Model Checking Framework for Various Memory Consistency Models
    Abe, Tatsuya
    Maeda, Toshiyuki
    PROCEEDINGS OF 2014 IEEE INTERNATIONAL PARALLEL & DISTRIBUTED PROCESSING SYMPOSIUM WORKSHOPS (IPDPSW), 2014, : 332 - 341
  • [43] Ontology definition metamodel based consistency checking of UML models
    Wang, Shengjun
    Jin, Longfei
    Jin, Chengzhi
    2006 10TH INTERNATIONAL CONFERENCE ON COMPUTER SUPPORTED COOPERATIVE WORK IN DESIGN, PROCEEDINGS, VOLS 1 AND 2, 2006, : 1043 - 1047
  • [44] A general model checking framework for various memory consistency models
    Abe, Tatsuya
    Maeda, Toshiyuki
    INTERNATIONAL JOURNAL ON SOFTWARE TOOLS FOR TECHNOLOGY TRANSFER, 2017, 19 (05) : 623 - 647
  • [45] A general model checking framework for various memory consistency models
    Tatsuya Abe
    Toshiyuki Maeda
    International Journal on Software Tools for Technology Transfer, 2017, 19 : 623 - 647
  • [46] A Consistency Mechanism for Distributed Persistent Memory File System
    Chen B.
    Lu Y.
    Cai T.
    Chen Y.
    Tu Y.
    Shu J.
    Jisuanji Yanjiu yu Fazhan/Computer Research and Development, 2020, 57 (03): : 660 - 667
  • [47] Intra- and interdiagram consistency checking of behavioral multiview models
    Kaufmann, Petra
    Kronegger, Martin
    Pfandler, Andreas
    Seidl, Martina
    Widl, Magdalena
    COMPUTER LANGUAGES SYSTEMS & STRUCTURES, 2015, 44 : 72 - 88
  • [48] Consistency Checking for the Evolution of Cardinality-based Feature Models
    Quinton, Clement
    Pleuss, Andreas
    Le Berre, Daniel
    Duchien, Laurence
    Botterweck, Goetz
    18TH INTERNATIONAL SOFTWARE PRODUCT LINE CONFERENCE (SPLC 2014), VOL 1, 2014, : 122 - 131
  • [49] Semantics of trace relations in requirements models for consistency checking and inferencing
    Goknil, Arda
    Kurtev, Ivan
    van den Berg, Klaas
    Veldhuis, Jan-Willem
    SOFTWARE AND SYSTEMS MODELING, 2011, 10 (01): : 31 - 54
  • [50] Semantics of trace relations in requirements models for consistency checking and inferencing
    Arda Goknil
    Ivan Kurtev
    Klaas van den Berg
    Jan-Willem Veldhuis
    Software & Systems Modeling, 2011, 10 : 31 - 54