MV3C: Transaction Repair for Multi-Version Concurrency Control - SIGMOD 2017

Опубликовано: 02 Июнь 2026
на канале: Mohammad Dashti
861
2

MV3C: Transaction Repair for Multi-Version Concurrency Control - SIGMOD 2017

Link to the full-text paper: http://dl.acm.org/authorize.cfm?key=N...

Authors:
Mohammad Dashti:   / mdashti  
Sachin Basil John:   / sachinbjohn  
Amir Shaikhha:   / amir-shaikhha-44985841  
Christoph Koch: http://people.epfl.ch/christoph.koch

Abstract:
The optimistic variants of Multi-Version Concurrency Control (MVCC) avoid blocking concurrent transactions at the cost of having a validation phase. Upon failure in the validation phase, the transaction is usually aborted and restarted from scratch. The "abort and restart" approach becomes a performance bottleneck for use cases with high contention objects or long running transactions. In addition, restarting from scratch creates a negative feedback loop in the system, because the system incurs additional overhead that may create even more conflicts.

In this paper, we propose a novel approach for conflict resolution in MVCC for in-memory databases. This low overhead approach summarizes the transaction programs in the form of a dependency graph. The dependency graph also contains the constructs used in the validation phase of the MVCC algorithm. Then, when encountering conflicts among transactions, our mechanism quickly detects the conflict locations in the program and partially re-executes the conflicting transactions. This approach maximizes the reuse of the computations done in the initial execution round, and increases the transaction processing throughput.