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
摘要
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.
问问这篇 Paper
智能体会读完全文。
Lune 把这篇 Paper 索引到了每一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。
引用它的顶会 Paper7
- Anvil: Verifying Liveness of Cluster Management ControllersXudong Sun, Wenjie Ma, Jiawei Tyler Gu, Zicheng Ma 等OSDI 2024 · 被引用 50 次
- Motor: Enabling Multi-Versioning for Distributed Transactions on Disaggregated MemoryMing Zhang, Yu Hua, Zhijun YangOSDI 2024 · 被引用 21 次
- Grove: a Separation-Logic Library for Verifying Distributed SystemsUpamanyu Sharma, Ralf Jung, Joseph Tassarotti, M. Frans Kaashoek 等SOSP 2023 · 被引用 18 次
- Practical Verification of System-Software Components Written in Standard CCan Cebeci, Yonghao Zou, Diyu Zhou, George Candea 等SOSP 2024 · 被引用 2 次
- Zoo: A Framework for the Verification of Concurrent OCaml 5 Programs using Separation LogicClément Allain, Gabriel SchererPOPL 2026 · 被引用 2 次
它引用的顶会 Paper4
- The future is ours: prophecy variables in separation logicRalf Jung, Rodolphe Lepigre, Gaurav Parthasarathy, Marianna Rapoport 等POPL 2020 · 被引用 62 次
- GoJournal: a verified, concurrent, crash-safe journaling systemTej Chajed, Joseph Tassarotti, Mark Theng, Ralf Jung 等OSDI 2021 · 被引用 31 次
- C4: verified transactional objectsMohsen Lesani, Li-yao Xia, Anders Kaseorg, Christian J. Bell 等OOPSLA 2022 · 被引用 27 次
- Verifying the DaisyNFS concurrent and crash-safe file system with sequential reasoningTej Chajed, Joseph Tassarotti, Mark Theng, M. Frans Kaashoek 等OSDI 2022 · 被引用 25 次
相关 Paper
- Massively Parallel Multi-Versioned Transaction ProcessingShujian Qian, Ashvin GoelOSDI 2024 · 被引用 5 次
- One-shot Garbage Collection for In-memory OLTP through Temporality-aware Version StorageAunn Raza, Periklis Chrysogelos, Angelos-Christos G. Anadiotis, Anastasia AilamakiSIGMOD 2023 · 被引用 7 次
- Unifying Timestamp with Transaction Ordering for MVCC with Decentralized Scalar TimestampXingda Wei, Rong Chen, Haibo Chen, Zhaoguo Wang 等NSDI 2021 · 被引用 24 次
- Memory-Optimized Multi-Version Concurrency Control for Disk-Based Database SystemsMichael J. Freitag, Alfons Kemper, Thomas NeumannVLDB 2022 · 被引用 14 次
- Opportunities for Optimism in Contended Main-Memory Multicore TransactionsYihe Huang, William Qian, Eddie Kohler, Barbara Liskov 等VLDB 2020 · 被引用 60 次
