SquirrelFS: using the Rust compiler to check file-system crash consistency

Hayley LeBlanc, Nathan Taylor, James Bornholt, Vijay Chidambaram
{"title":"SquirrelFS: using the Rust compiler to check file-system crash consistency","authors":"Hayley LeBlanc, Nathan Taylor, James Bornholt, Vijay Chidambaram","doi":"arxiv-2406.09649","DOIUrl":null,"url":null,"abstract":"This work introduces a new approach to building crash-safe file systems for\npersistent memory. We exploit the fact that Rust's typestate pattern allows\ncompile-time enforcement of a specific order of operations. We introduce a\nnovel crash-consistency mechanism, Synchronous Soft Updates, that boils down\ncrash safety to enforcing ordering among updates to file-system metadata. We\nemploy this approach to build SquirrelFS, a new file system with\ncrash-consistency guarantees that are checked at compile time. SquirrelFS\navoids the need for separate proofs, instead incorporating correctness\nguarantees into the typestate itself. Compiling SquirrelFS only takes tens of\nseconds; successful compilation indicates crash consistency, while an error\nprovides a starting point for fixing the bug. We evaluate SquirrelFS against\nstate of the art file systems such as NOVA and WineFS, and find that SquirrelFS\nachieves similar or better performance on a wide range of benchmarks and\napplications.","PeriodicalId":501333,"journal":{"name":"arXiv - CS - Operating Systems","volume":"175 1","pages":""},"PeriodicalIF":0.0000,"publicationDate":"2024-06-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"arXiv - CS - Operating Systems","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/arxiv-2406.09649","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0

Abstract

This work introduces a new approach to building crash-safe file systems for persistent memory. We exploit the fact that Rust's typestate pattern allows compile-time enforcement of a specific order of operations. We introduce a novel crash-consistency mechanism, Synchronous Soft Updates, that boils down crash safety to enforcing ordering among updates to file-system metadata. We employ this approach to build SquirrelFS, a new file system with crash-consistency guarantees that are checked at compile time. SquirrelFS avoids the need for separate proofs, instead incorporating correctness guarantees into the typestate itself. Compiling SquirrelFS only takes tens of seconds; successful compilation indicates crash consistency, while an error provides a starting point for fixing the bug. We evaluate SquirrelFS against state of the art file systems such as NOVA and WineFS, and find that SquirrelFS achieves similar or better performance on a wide range of benchmarks and applications.
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
SquirrelFS:使用 Rust 编译器检查文件系统崩溃一致性
这项工作介绍了一种为持久内存构建崩溃安全文件系统的新方法。我们利用了 Rust 的类型状态模式允许在编译时强制执行特定操作顺序这一事实。我们引入了一种新的崩溃一致性机制--同步软更新(Synchronous Soft Updates),它将崩溃安全归结为强制执行文件系统元数据更新的顺序。我们采用这种方法构建了 SquirrelFS,这是一种新的文件系统,具有崩溃一致性保证,可在编译时进行检查。SquirrelFS 不需要单独的证明,而是将正确性保证融入类型状态本身。编译 SquirrelFS 只需几十秒;编译成功表明崩溃一致性,而错误则提供了修复错误的起点。我们将 SquirrelFS 与最先进的文件系统(如 NOVA 和 WineFS)进行了对比评估,发现 SquirrelFS 在各种基准测试和应用中都取得了类似甚至更好的性能。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 去求助
来源期刊
自引率
0.00%
发文量
0
期刊最新文献
Analysis of Synchronization Mechanisms in Operating Systems Skip TLB flushes for reused pages within mmap's eBPF-mm: Userspace-guided memory management in Linux with eBPF BULKHEAD: Secure, Scalable, and Efficient Kernel Compartmentalization with PKS Rethinking Programmed I/O for Fast Devices, Cheap Cores, and Coherent Interconnects
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
已复制链接
已复制链接
快去分享给好友吧!
我知道了
×
扫码分享
扫码分享
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1