Practical Deterministic Transaction Processing with Low-cost Re-execution - Li, Xingchen; Wang, Xinyuan; Huang, Hejiao (Proceedings - International Conference on Parallel and Distributed Systems, 2024)
Deterministic concurrency control (DCC) can guarantee consistent execution results with the same input transactions, which can reduce the synchronization overhead when applied to a multi-replica distributed database. To achieve determinism, early DCC protocols require priori knowledge about execution details of transactions, such as read/write sets, for prescheduling. State-of-the-art DCC protocols like Aria and FGA address this impractical limitation. However, they struggle with performance degradation due to high abort rate under skewed and write-intensive workloads. In this paper, we present Dmucca, a practical DCC protocol that maintains ideal performance across varying transaction workloads without requiring any priori knowledge about them. Dmucca utilizes re-execution strategy to commit nearly all transactions after their second execution. To reduce the cost of re-execution, Dmucca incorporates a multiversion cache, inter-batch pipeline parallel processing, as well as a novel reordering schema based on weight prediction. Finally we evaluate Dmucca as well as other state-of-the-art DCC protocols with the two popular benchmarks, YCSB and TPC-C. And the experimental results show that Dmucca has the optimal performance in most scenarios.