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 条
  • [31] Consistency checking for semantic-oriented metadata models
    Wang, Hong-Wei
    Hou, Li-Wen
    Jiang, Fu
    Shanghai Jiaotong Daxue Xuebao/Journal of Shanghai Jiaotong University, 2005, 39 (03): : 386 - 391
  • [32] Consistency checking of conceptual models via model merging
    Sabetzadeh, Mehrdad
    Nejati, Shiva
    Liaskos, Sotirios
    Easterbrook, Steve
    Chechik, Marsha
    15TH IEEE INTERNATIONAL REQUIREMENTS ENGINEERING CONFERENCE, PROCEEDINGS, 2007, : 221 - +
  • [33] Checking Robustness Between Weak Transactional Consistency Models
    Beillahi, Sidi Mohamed
    Bouajjani, Ahmed
    Enea, Constantin
    PROGRAMMING LANGUAGES AND SYSTEMS, ESOP 2021, 2021, 12648 : 87 - 117
  • [34] Recon: Verifying File System Consistency at Runtime
    Fryer, Daniel
    Sun, Kuei
    Mahmood, Rahat
    Cheng, Tinghao
    Benjamin, Shaun
    Goel, Ashvin
    Brown, Angela Demke
    ACM TRANSACTIONS ON STORAGE, 2012, 8 (04)
  • [35] Timing consistency checking for UML/MARTE behavioral models
    Choi, Jinho
    Jee, Eunkyoung
    Bae, Doo-Hwan
    SOFTWARE QUALITY JOURNAL, 2016, 24 (03) : 835 - 876
  • [36] Timing consistency checking for UML/MARTE behavioral models
    Jinho Choi
    Eunkyoung Jee
    Doo-Hwan Bae
    Software Quality Journal, 2016, 24 : 835 - 876
  • [37] Implications of a data structure consistency checking system
    Kuncak, Viktor
    Lam, Patrick
    Zee, Karen
    Rinard, Martin
    VERIFIED SOFTWARE: THEORIES, TOOLS, EXPERIMENTS, 2008, 4171 : 214 - 226
  • [38] Checking the consistency of a hybrid knowledge base system
    Ramirez, Jaime
    de Antonio, Angelica
    KNOWLEDGE-BASED SYSTEMS, 2007, 20 (03) : 225 - 237
  • [39] Model-Checking the Linux Virtual File System
    Galloway, Andy
    Luettgen, Gerald
    Muehlberg, Jan Tobias
    Siminiceanu, Radu I.
    VERIFICATION, MODEL CHECKING, AND ABSTRACT INTERPRETATION, 2009, 5403 : 74 - +
  • [40] Consistency checking of concurrent models for scenario-based specifications
    Li, XD
    Hu, J
    Bu, L
    Zhao, JH
    Zheng, GL
    SDL 2005: MODEL DRIVEN, PROCEEDINGS, 2005, 3530 : 298 - 312