An Analysis of Concurrency Control Protocols for In-Memory Database with CCBench
Takayuki Tanabe, Takashi Hoshino, Hideyuki Kawashima, Osamu Tatebe
Abstract
This paper presents yet another concurrency control analysis platform, CCBench. CCBench supports seven protocols (Silo, TicToc, MOCC, Cicada, SI, SI with latch-free SSN, 2PL) and seven versatile optimization methods and enables the configuration of seven workload parameters. We analyzed the protocols and optimization methods using various workload parameters and a thread count of 224. Previous studies focused on thread scalability and did not explore the space analyzed here. We classified the optimization methods on the basis of three performance factors: CPU cache, delay on conflict, and version lifetime. Analyses using CCBench and 224 threads, produced six insights. (I1) The performance of optimistic concurrency control protocol for a readonly workload rapidly degrades as cardinality increases even without L3 cache misses. (I2) Silo can outperform TicToc for some write-intensive workloads by using invisible reads optimization. (I3) The effectiveness of two approaches to coping with conflict (wait and no-wait) depends on the situation. (I4) OCC reads the same record two or more times if a concurrent transaction interruption occurs, which can improve performance. (I5) Mixing different implementations is inappropriate for deep analysis. (I6) Even a state-of-the-art garbage collection method cannot improve the performance of multi-version protocols if there is a single long transaction mixed into the workload. On the basis of I4, we defined the read phase extension optimization in which an artificial delay is added to the read phase. On the basis of I6, we defined the aggressive garbage collection optimization in which even visible versions are collected. The code for CCBench and all the data in this paper are available online at GitHub.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext 159210bc-6bad-49bb-816e-0d3e23345f9fCited by top-tier papers3
- The Case for Distributed Shared-Memory Databases with RDMA-Enabled Memory DisaggregationRuihong Wang, Jianguo Wang, Stratos Idreos, M. Tamer Özsu et al.VLDB 2023 · 49 citations
- Memory-Optimized Multi-Version Concurrency Control for Disk-Based Database SystemsMichael J. Freitag, Alfons Kemper, Thomas NeumannVLDB 2022 · 14 citations
- Brook-2PL: Tolerating High Contention Workloads with A Deadlock-Free Two-Phase Locking ProtocolFarzad Habibi, Juncheng Fang, Tania Lorido-Botran, Faisal NawabSIGMOD 2026 · 1 citation
Builds on2
Related papers
- Plor: General Transactions with Predictable, Low Tail LatencyYoumin Chen, Xiangyao Yu, Paraschos Koutris, Andrea C. Arpaci-Dusseau et al.SIGMOD 2022 · 25 citations
- OOCC: One-Round Optimistic Concurrency Control for Read-Only Disaggregated TransactionsHao Wu, Mingxing Zhang, Kang Chen, Xia Liao et al.ICDE 2025 · 4 citations
- Polyjuice: High-Performance Transactions via Learned Concurrency ControlJia-Chen Wang, Ding Ding, Huan Wang, Conrad Christensen et al.OSDI 2021 · 39 citations
- GPU-Accelerated OLTP: An in-Depth Analysis of Concurrency Control SchemesZihan Sun, Yuyu Luo, Yong Zhang, Chao Li et al.ICDE 2026
- Polaris: Enabling Transaction Priority in Optimistic Concurrency ControlChenhao Ye, Wuh-Chwen Hwang, Keren Chen, Xiangyao YuSIGMOD 2023 · 12 citations
