Storage Systems are Distributed Systems (So Verify Them That Way!)
Travis Hance, Andrea Lattuada, Chris Hawblitzel, Jon Howell, Rob Johnson, Bryan Parno
摘要
To verify distributed systems, prior work introduced a methodology for verifying both the code running on individual machines and the correctness of the overall system when those machines interact via an asynchronous distributed environment. The methodology requires neither domain-specific logic nor tooling. However, distributed systems are only one instance of the more general phenomenon of systems code that interacts with an asynchronous environment. We argue that the software of a storage system can (and should!) be viewed similarly. We evaluate this approach in VeriBetrKV, a key-value store based on a state-of-the-art B ε tree.
In building VeriBetrKV, we introduce new techniques to scale automated verification to larger code bases, still without introducing domain-specific logic or tooling. In particular, we show a discipline that keeps the automated verification development cycle responsive. We also combine linear types with dynamic frames to relieve the programmer from most heap-reasoning obligations while enabling them to break out of the linear type system when needed. VeriBetrKV exhibits similar query performance to unverified databases. Its insertion performance is 24× faster than unverified BerkeleyDB and 8× slower than RocksDB.
问问这篇 Paper
智能体会读完全文。
Lune 把这篇 Paper 索引到了每一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。
引用它的顶会 Paper25
- Using Lightweight Formal Methods to Validate a Key-Value Storage Node in Amazon S3James Bornholt, Rajeev Joshi, Vytautas Astrauskas, Brendan Cully 等SOSP 2021 · 被引用 63 次
- Anvil: Verifying Liveness of Cluster Management ControllersXudong Sun, Wenjie Ma, Jiawei Tyler Gu, Zicheng Ma 等OSDI 2024 · 被引用 50 次
- GoJournal: a verified, concurrent, crash-safe journaling systemTej Chajed, Joseph Tassarotti, Mark Theng, Ralf Jung 等OSDI 2021 · 被引用 31 次
- Verifying the DaisyNFS concurrent and crash-safe file system with sequential reasoningTej Chajed, Joseph Tassarotti, Mark Theng, M. Frans Kaashoek 等OSDI 2022 · 被引用 25 次
- Sharding the State Machine: Automated Modular Reasoning for Complex Concurrent SystemsTravis Hance, Yi Zhou, Andrea Lattuada, Reto Achermann 等OSDI 2023 · 被引用 18 次
它引用的顶会 Paper1
相关 Paper
- Grove: a Separation-Logic Library for Verifying Distributed SystemsUpamanyu Sharma, Ralf Jung, Joseph Tassarotti, M. Frans Kaashoek 等SOSP 2023 · 被引用 18 次
- FastVer: Making Data Integrity a CommodityArvind Arasu, Badrish Chandramouli, Johannes Gehrke, Esha Ghosh 等SIGMOD 2021 · 被引用 15 次
- Bolt-On Strong Consistency: Specification, Implementation, and VerificationNicholas V. Lewchenko, Gowtham Kaki, Bor-Yuh Evan ChangOOPSLA 2025 · 被引用 2 次
- Message Chains for Distributed System VerificationFederico Mora, Ankush Desai, Elizabeth Polgreen, Sanjit A. SeshiaOOPSLA 2023 · 被引用 7 次
- LoLKV: The Logless, Linearizable, RDMA-based Key-Value Storage SystemAhmed Alquraan, Sreeharsha Udayashankar, Virendra J. Marathe, Bernard Wong 等NSDI 2024 · 被引用 5 次
