Transaction Repair for Multi-Version Concurrency Control

Mohammad Dashti, Sachin Basil John, Amir Shaikhha, Christoph E. Koch · 2017

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.

Read the paper · More papers on PaperTik