Specifying and Checking File System Crash-Consistency Models

被引:38
|
作者
Bornholt, James [1 ]
Kaufmann, Antoine [1 ]
Li, Jialin [1 ]
Krishnamurthy, Arvind [1 ]
Torlak, Emina [1 ]
Wang, Xi [1 ]
机构
[1] Univ Washington, Seattle, WA 98195 USA
基金
美国国家科学基金会;
关键词
Crash consistency; file systems; verification;
D O I
10.1145/2954679.2872406
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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.
引用
下载
收藏
页码:83 / 98
页数:16
相关论文
共 50 条
  • [21] A Survey of Consistency Checking Techniques for UML Models
    Usman, Muhammad
    Nadeem, Aamer
    Kim, Tai-hoon
    Cho, Eun-suk
    PROCEEDINGS OF THE 2008 ADVANCED SOFTWARE ENGINEERING & ITS APPLICATIONS, 2008, : 57 - +
  • [22] Global Consistency Checking of Distributed Models with TReMer
    Sabetzadeh, Mehrdad
    Nejati, Shiva
    Easterbrook, Steve
    Chechik, Marsha
    ICSE'08 PROCEEDINGS OF THE THIRTIETH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, 2008, : 815 - 818
  • [23] A Consistency Checking Approach for System Architecture
    Xia, Xiaokai
    Shi, Jing
    Fan, Zhiqiang
    Ai, Zhongliang
    Dong, Yancen
    2016 ANNUAL IEEE SYSTEMS CONFERENCE (SYSCON), 2016, : 271 - 276
  • [24] Modern approaches to file system integrity checking
    Kaczmarek, Jerzy
    Wrobel, Michal
    PROCEEDINGS OF THE 2008 1ST INTERNATIONAL CONFERENCE ON INFORMATION TECHNOLOGY, 2008, : 403 - 406
  • [25] PipeCheck: Specifying and Verifying Microarchitectural Enforcement of Memory Consistency Models
    Lustig, Daniel
    Pellauer, Michael
    Martonosi, Margaret
    2014 47TH ANNUAL IEEE/ACM INTERNATIONAL SYMPOSIUM ON MICROARCHITECTURE (MICRO), 2014, : 635 - 646
  • [26] Consistency Checking of Goal Models and Case Management Schemas
    Eshuis, Rik
    Ghose, Aditya
    BUSINESS PROCESS MANAGEMENT FORUM (BPM 2021), 2021, 427 : 54 - 70
  • [27] 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
  • [28] 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 - +
  • [29] Asynchronous file system replication with strong consistency
    Shinkai, Y
    Shiozawa, K
    Yoshizawa, N
    PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON PARALLEL AND DISTRIBUTED PROCESSING TECHNIQUES AND APPLICATIONS, VOLS I-V, 2000, : 2583 - 2589
  • [30] Achieving strong consistency in a distributed file system
    Triantafillou, P
    Neilson, C
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1997, 23 (01) : 35 - 55