Verifying vMVCC, a high-performance transaction library using multi-version concurrency control

被引:0
|
作者
Chang, Yun-Sheng [1 ]
Jung, Ralf [1 ]
Sharma, Upamanyu [2 ]
Tassarotti, Joseph [1 ]
Kaashoek, M. Frans [3 ]
Zeldovich, Nickolai [1 ]
机构
[1] MIT CSAIL, Cambridge, MA USA
[2] Swiss Fed Inst Technol, Zurich, Switzerland
[3] New York Univ, New York, NY USA
关键词
D O I
暂无
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
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.
引用
收藏
页码:871 / 886
页数:16
相关论文
共 50 条
  • [1] Transaction Repair for Multi-Version Concurrency Control
    Dashti, Mohammad
    John, Sachin Basil
    Shaikhha, Amir
    Koch, Christoph
    SIGMOD'17: PROCEEDINGS OF THE 2017 ACM INTERNATIONAL CONFERENCE ON MANAGEMENT OF DATA, 2017, : 235 - 250
  • [2] A Performance Model of Multi-Version Concurrency Control
    Di Sanzo, Pierangelo
    Ciciani, Bruno
    Quaglia, Francesco
    Sapienza, P.
    Romano, Paolo
    2008 IEEE INTERNATIONAL SYMPOSIUM ON MODELING, ANALYSIS & SIMULATION OF COMPUTER AND TELECOMMUNICATION SYSTEMS (MASCOTS), 2008, : 75 - +
  • [3] Multi-Version Range Concurrency Control in Deuteronomy
    Levandoski, Justin
    Lomet, David
    Sengupta, Sudipta
    Stutsman, Ryan
    Wang, Rui
    PROCEEDINGS OF THE VLDB ENDOWMENT, 2015, 8 (13): : 2146 - 2157
  • [4] Extension of multi-version concurrency control mechanisms for long-duration transaction based on nested transaction model
    Wang, LW
    Peng, ZY
    FOURTH INTERNATIONAL CONFERENCE ON COMPUTER AND INFORMATION TECHNOLOGY, PROCEEDINGS, 2004, : 963 - 968
  • [5] A concurrency control algorithm in multi-version multilevel DBMS
    Zhang, M
    Feng, DG
    CHINESE JOURNAL OF ELECTRONICS, 2005, 14 (03): : 467 - 471
  • [6] An Empirical Evaluation of In-Memory Multi-Version Concurrency Control
    Wu, Yingjun
    Arulraj, Joy
    Lin, Jiexi
    Xian, Ran
    Pavlo, Andrew
    PROCEEDINGS OF THE VLDB ENDOWMENT, 2017, 10 (07): : 781 - 792
  • [7] MULTI-VERSION CONCURRENCY-CONTROL SCHEME FOR A DATABASE SYSTEM
    MURO, S
    KAMEDA, T
    MINOURA, T
    JOURNAL OF COMPUTER AND SYSTEM SCIENCES, 1984, 29 (02) : 207 - 224
  • [8] Checkpoint Based Multi-Version Concurrency Control Mechanis Healthcare System
    Ghosh, Ammlan
    Chaki, Rituparna
    Chaki, Nabendu
    2016 INTERNATIONAL CONFERENCE ON ADVANCES IN COMPUTING, COMMUNICATIONS AND INFORMATICS (ICACCI), 2016, : 382 - 389
  • [9] Hybrid Garbage Collection for Multi-Version Concurrency Control in SAP HANA
    Lee, Juchang
    Shin, Hyungyu
    Park, Chang Gyoo
    Ko, Seongyun
    Noh, Jaeyun
    Chuh, Yongjae
    Stephan, Wolfgang
    Han, Wook-Shin
    SIGMOD'16: PROCEEDINGS OF THE 2016 INTERNATIONAL CONFERENCE ON MANAGEMENT OF DATA, 2016, : 1307 - 1318
  • [10] Distributed optimistic concurrency control methods for high-performance transaction processing
    Thomasian, A
    IEEE TRANSACTIONS ON KNOWLEDGE AND DATA ENGINEERING, 1998, 10 (01) : 173 - 189