Verifying vMVCC, a high-performance transaction library using multi-version concurrency control
Yun-Sheng Chang, Ralf Jung, Upamanyu Sharma, Joseph Tassarotti, M. Frans Kaashoek, Nickolai Zeldovich
Abstract
Multi-version concurrency control (MVCC) is a widely used, sophisticated approach for handling concurrent transactions. vMVCC is the first MVCC-based transaction library that comes with a machine-checked proof of correctness, providing clients with a guarantee that it will correctly handle all transactions despite a complicated design and implementation that might otherwise be error-prone. vMVCC is implemented in Go, stores data in memory, and uses several optimizations, such as RDTSC-based timestamps, to achieve high performance (25-96% the throughput of Silo, a stateof-the-art in-memory database, for YCSB and TPC-C workloads). Formally specifying and verifying vMVCC required adopting advanced proof techniques, such as logical atomicity and prophecy variables, owing to the fact that MVCC transactions can linearize at timestamp generation prior to transaction execution.
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.
Cited by top-tier papers7
- Anvil: Verifying Liveness of Cluster Management ControllersXudong Sun, Wenjie Ma, Jiawei Tyler Gu, Zicheng Ma et al.OSDI 2024 · 50 citations
- Motor: Enabling Multi-Versioning for Distributed Transactions on Disaggregated MemoryMing Zhang, Yu Hua, Zhijun YangOSDI 2024 · 21 citations
- Grove: a Separation-Logic Library for Verifying Distributed SystemsUpamanyu Sharma, Ralf Jung, Joseph Tassarotti, M. Frans Kaashoek et al.SOSP 2023 · 18 citations
- Practical Verification of System-Software Components Written in Standard CCan Cebeci, Yonghao Zou, Diyu Zhou, George Candea et al.SOSP 2024 · 2 citations
- Zoo: A Framework for the Verification of Concurrent OCaml 5 Programs using Separation LogicClément Allain, Gabriel SchererPOPL 2026 · 2 citations
Builds on4
- The future is ours: prophecy variables in separation logicRalf Jung, Rodolphe Lepigre, Gaurav Parthasarathy, Marianna Rapoport et al.POPL 2020 · 62 citations
- GoJournal: a verified, concurrent, crash-safe journaling systemTej Chajed, Joseph Tassarotti, Mark Theng, Ralf Jung et al.OSDI 2021 · 31 citations
- C4: verified transactional objectsMohsen Lesani, Li-yao Xia, Anders Kaseorg, Christian J. Bell et al.OOPSLA 2022 · 27 citations
- 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
Related papers
- Massively Parallel Multi-Versioned Transaction ProcessingShujian Qian, Ashvin GoelOSDI 2024 · 5 citations
- One-shot Garbage Collection for In-memory OLTP through Temporality-aware Version StorageAunn Raza, Periklis Chrysogelos, Angelos-Christos G. Anadiotis, Anastasia AilamakiSIGMOD 2023 · 7 citations
- Unifying Timestamp with Transaction Ordering for MVCC with Decentralized Scalar TimestampXingda Wei, Rong Chen, Haibo Chen, Zhaoguo Wang et al.NSDI 2021 · 24 citations
- Memory-Optimized Multi-Version Concurrency Control for Disk-Based Database SystemsMichael J. Freitag, Alfons Kemper, Thomas NeumannVLDB 2022 · 14 citations
- Opportunities for Optimism in Contended Main-Memory Multicore TransactionsYihe Huang, William Qian, Eddie Kohler, Barbara Liskov et al.VLDB 2020 · 60 citations
