Verifying a high-performance distributed transaction system using permissioned state machines
Yun-Sheng Chang, Joseph Tassarotti, Frans Kaashoek, Nickolai Zeldovich
摘要
Tulip is a high-performance distributed transaction system that uses sharding for scalability, replication within each shard for fault tolerance, and TAPIR-style inconsistent replication for high performance. Tulip comes with a machinechecked proof of correctness showing that its implementation meets a simple specification identical to a local strictly serializable transaction system, abstracting away implementation details such as crash recovery, multi-versioning, replication, sharding, and coordinator recovery.
The contribution of this paper is the permissioned state machine (PSM) approach, which extends TLA-style protocol reasoning with ideas from concurrent separation logic. PSM enables the developer to specify and verify complex protocols, such as Tulip, by breaking them down into smaller modules. PSM makes all dependencies between modules explicit using permissions, which limits the ways these modules can interact, and thereby reduces proof effort.
The prototype of Tulip consists of 3,956 lines of Go code, achieving performance competitive with that of TAPIR. Tulip's proof is decomposed into 10 types of modules; the majority of logical proof steps ("actions") involve just one module, demonstrating that PSM enables local reasoning.
问问这篇 Paper
智能体会读完全文。
Lune 把这篇 Paper 索引到了每一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。
它引用的顶会 Paper6
- Grove: a Separation-Logic Library for Verifying Distributed SystemsUpamanyu Sharma, Ralf Jung, Joseph Tassarotti, M. Frans Kaashoek 等SOSP 2023 · 被引用 18 次
- NCC: Natural Concurrency Control for Strictly Serializable Datastores by Avoiding the Timestamp-Inversion PitfallHaonan Lu, Shuai Mu, Siddhartha Sen, Wyatt LloydOSDI 2023 · 被引用 17 次
- Verifying vMVCC, a high-performance transaction library using multi-version concurrency controlYun-Sheng Chang, Ralf Jung, Upamanyu Sharma, Joseph Tassarotti 等OSDI 2023 · 被引用 16 次
- Much ADO about failures: a fault-aware model for compositional verification of strongly consistent distributed systemsWolf Honoré, Jieung Kim, Ji-Yong Shin, Zhong ShaoOOPSLA 2021 · 被引用 12 次
- Basilisk: Using Provenance Invariants to Automate Proofs of Undecidable ProtocolsTony Nuda Zhang, Keshav Singh, Tej Chajed, Manos Kapritsos 等OSDI 2025 · 被引用 9 次
相关 Paper
- Verifying the DaisyNFS concurrent and crash-safe file system with sequential reasoningTej Chajed, Joseph Tassarotti, Mark Theng, M. Frans Kaashoek 等OSDI 2022 · 被引用 25 次
- VerIso: Verifiable Isolation Guarantees for Database TransactionsShabnam Ghasemirad, Si Liu, Christoph Sprenger, Luca Multazzu 等VLDB 2025 · 被引用 6 次
- Multi-Grained Specifications for Distributed System Model Checking and VerificationLingzhi Ouyang, Xudong Sun, Ruize Tang, Yu Huang 等EuroSys 2025 · 被引用 4 次
- Replicated state machines without replicated executionJonathan Lee, Kirill Nikitin, Srinath T. V. SettyS&P 2020 · 被引用 40 次
- LiDO: Linearizable Byzantine Distributed Objects with Refinement-Based Liveness ProofsLongfei Qiu, Yoonseung Kim, Ji-Yong Shin, Jieung Kim 等PLDI 2024 · 被引用 12 次
