Verifying a high-performance distributed transaction system using permissioned state machines
Yun-Sheng Chang, Joseph Tassarotti, Frans Kaashoek, Nickolai Zeldovich
Abstract
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.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext 4e9ce681-ffb0-40b9-b521-bed72d3e6672Builds on6
- Grove: a Separation-Logic Library for Verifying Distributed SystemsUpamanyu Sharma, Ralf Jung, Joseph Tassarotti, M. Frans Kaashoek et al.SOSP 2023 · 18 citations
- NCC: Natural Concurrency Control for Strictly Serializable Datastores by Avoiding the Timestamp-Inversion PitfallHaonan Lu, Shuai Mu, Siddhartha Sen, Wyatt LloydOSDI 2023 · 17 citations
- Verifying vMVCC, a high-performance transaction library using multi-version concurrency controlYun-Sheng Chang, Ralf Jung, Upamanyu Sharma, Joseph Tassarotti et al.OSDI 2023 · 16 citations
- 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 citations
- Basilisk: Using Provenance Invariants to Automate Proofs of Undecidable ProtocolsTony Nuda Zhang, Keshav Singh, Tej Chajed, Manos Kapritsos et al.OSDI 2025 · 9 citations
Related papers
- Verifying the DaisyNFS concurrent and crash-safe file system with sequential reasoningTej Chajed, Joseph Tassarotti, Mark Theng, M. Frans Kaashoek et al.OSDI 2022 · 25 citations
- VerIso: Verifiable Isolation Guarantees for Database TransactionsShabnam Ghasemirad, Si Liu, Christoph Sprenger, Luca Multazzu et al.VLDB 2025 · 6 citations
- Multi-Grained Specifications for Distributed System Model Checking and VerificationLingzhi Ouyang, Xudong Sun, Ruize Tang, Yu Huang et al.EuroSys 2025 · 4 citations
- Replicated state machines without replicated executionJonathan Lee, Kirill Nikitin, Srinath T. V. SettyS&P 2020 · 40 citations
- LiDO: Linearizable Byzantine Distributed Objects with Refinement-Based Liveness ProofsLongfei Qiu, Yoonseung Kim, Ji-Yong Shin, Jieung Kim et al.PLDI 2024 · 12 citations
