TY - GEN
T1 - Scaling multicore databases via constrained parallel execution
AU - Wang, Zhaoguo
AU - Mu, Shuai
AU - Cui, Yang
AU - Yi, Han
AU - Chen, Haibo
AU - Li, Jinyang
N1 - Publisher Copyright:
© 2016 ACM.
PY - 2016/6/26
Y1 - 2016/6/26
N2 - Multicore in-memory databases often rely on traditional concurrency control schemes such as two-phase-locking (2PL) or optimistic concurrency control (OCC). Unfortunately, when the workload exhibits a non-trivial amount of contention, both 2PL and OCC sacrifice much parallel execution opportunity. In this paper, we describe a new concurrency control scheme, interleaving constrained concurrency control (IC3), which provides serializability while allowing for parallel execution of certain conflicting transactions. IC3 combines the static analysis of the transaction workload with runtime techniques that track and enforce dependencies among concurrent transactions. The use of static analysis simplifies IC3's runtime design, allowing it to scale to many cores. Evaluations on a 64-core machine using the TPC-C benchmark show that IC3 outperforms traditional concurrency control schemes under contention. It achieves the throughput of 434K transactions/sec on the TPC-C bench-mark configured with only one warehouse. It also scales better than several recent concurrent control schemes that also target contended workloads.
AB - Multicore in-memory databases often rely on traditional concurrency control schemes such as two-phase-locking (2PL) or optimistic concurrency control (OCC). Unfortunately, when the workload exhibits a non-trivial amount of contention, both 2PL and OCC sacrifice much parallel execution opportunity. In this paper, we describe a new concurrency control scheme, interleaving constrained concurrency control (IC3), which provides serializability while allowing for parallel execution of certain conflicting transactions. IC3 combines the static analysis of the transaction workload with runtime techniques that track and enforce dependencies among concurrent transactions. The use of static analysis simplifies IC3's runtime design, allowing it to scale to many cores. Evaluations on a 64-core machine using the TPC-C benchmark show that IC3 outperforms traditional concurrency control schemes under contention. It achieves the throughput of 434K transactions/sec on the TPC-C bench-mark configured with only one warehouse. It also scales better than several recent concurrent control schemes that also target contended workloads.
UR - http://www.scopus.com/inward/record.url?scp=84979657016&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=84979657016&partnerID=8YFLogxK
U2 - 10.1145/2882903.2882934
DO - 10.1145/2882903.2882934
M3 - Conference contribution
AN - SCOPUS:84979657016
T3 - Proceedings of the ACM SIGMOD International Conference on Management of Data
SP - 1643
EP - 1658
BT - SIGMOD 2016 - Proceedings of the 2016 International Conference on Management of Data
PB - Association for Computing Machinery
T2 - 2016 ACM SIGMOD International Conference on Management of Data, SIGMOD 2016
Y2 - 26 June 2016 through 1 July 2016
ER -