Title
Repairing Conflicts among MVCC Transactions.
Abstract
The optimistic variants of MVCC (Multi-Version Concurrency Control) 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 the use cases with high contention objects or long running transactions. addition, restarting from scratch creates a negative feedback loop in the system, because the system incurs additional overhead that may create even further 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, in the case of encountering conflicts among transactions, the conflict locations in the program are quickly detected, and the conflicting transactions are partially re-executed. This approach maximizes the reuse of the computations done in the initial execution round, and increases the transaction processing throughput.
Year
Venue
Field
2016
arXiv: Databases
Transaction processing,Bottleneck,Use case,Concurrency control,Computer science,Conflict resolution,Throughput,Database transaction,Dependency graph,Database,Distributed computing
DocType
Volume
Citations 
Journal
abs/1603.00542
2
PageRank 
References 
Authors
0.36
10
4
Name
Order
Citations
PageRank
Mohammad Dashti1464.52
Sachin Basil John220.70
Amir Shaikhha3377.31
Christoph Koch42817163.43