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

Research output: Chapter in Book/Report/Conference proceedingConference contribution

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 state-of-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.

Original languageEnglish (US)
Title of host publicationProceedings of the 17th USENIX Symposium on Operating Systems Design and Implementation, OSDI 2023
PublisherUSENIX Association
Pages871-886
Number of pages16
ISBN (Electronic)9781939133342
StatePublished - 2023
Event17th USENIX Symposium on Operating Systems Design and Implementation, OSDI 2023 - Boston, United States
Duration: Jul 10 2023Jul 12 2023

Publication series

NameProceedings of the 17th USENIX Symposium on Operating Systems Design and Implementation, OSDI 2023

Conference

Conference17th USENIX Symposium on Operating Systems Design and Implementation, OSDI 2023
Country/TerritoryUnited States
CityBoston
Period7/10/237/12/23

ASJC Scopus subject areas

  • Computer Networks and Communications
  • Hardware and Architecture
  • Information Systems

Fingerprint

Dive into the research topics of 'Verifying vMVCC, a high-performance transaction library using multi-version concurrency control'. Together they form a unique fingerprint.

Cite this