English

Polyjuice: High-Performance Transactions via Learned Concurrency Control

Databases 2021-06-16 v3

Abstract

Concurrency control algorithms are key determinants of the performance of in-memory databases. Existing algorithms are designed to work well for certain workloads. For example, optimistic concurrency control (OCC) is better than two-phase-locking (2PL) under low contention, while the converse is true under high contention. To adapt to different workloads, prior works mix or switch between a few known algorithms using manual insights or simple heuristics. We propose a learning-based framework that instead explicitly optimizes concurrency control via offline training to maximize performance. Instead of choosing among a small number of known algorithms, our approach searches in a "policy space" of fine-grained actions, resulting in novel algorithms that can outperform existing algorithms by specializing to a given workload. We build Polyjuice based on our learning framework and evaluate it against several existing algorithms. Under different configurations of TPC-C and TPC-E, Polyjuice can achieve throughput numbers higher than the best of existing algorithms by 15% to 56%.

Keywords

Cite

@article{arxiv.2105.10329,
  title  = {Polyjuice: High-Performance Transactions via Learned Concurrency Control},
  author = {Jiachen Wang and Ding Ding and Huan Wang and Conrad Christensen and Zhaoguo Wang and Haibo Chen and Jinyang Li},
  journal= {arXiv preprint arXiv:2105.10329},
  year   = {2021}
}
R2 v1 2026-06-24T02:20:25.992Z