TY - GEN
T1 - Polyjuice
T2 - 15th USENIX Symposium on Operating Systems Design and Implementation, OSDI 2021
AU - Wang, Jiachen
AU - Ding, Ding
AU - Wang, Huan
AU - Christensen, Conrad
AU - Wang, Zhaoguo
AU - Chen, Haibo
AU - Li, Jinyang
N1 - Funding Information:
Chien-chin Huang and Minjie Wang contributed valuable ideas in the early stage of this project. We thank the anonymous reviewers for the valuable comments. We are especially grateful to our shepherd, Deniz Altınbüken, for helping improve the paper’s presentation. Jiachen Wang, Huan Wang, Zhaoguo Wang and Haibo Chen were supported by National Key Research and Development Program of China (No. 2020AAA0108500), National Natural Science Foundation of China (No. 61902242), and the HighTech Support Program from Shanghai Committee of Science and Technology (No. 20ZR1428100). Ding Ding, Conrad Christensen, and Jinyang Li were supported by NSF grant 1816717, and a gift from NVIDIA and AMD. Zhaoguo Wang (zhaoguowang@sjtu.edu.cn) and Jinyang Li (jinyang@cs.nyu.edu) are the corresponding authors.
Publisher Copyright:
© 2021 by The USENIX Association. All rights reserved.
PY - 2021
Y1 - 2021
N2 - 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%.
AB - 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%.
UR - http://www.scopus.com/inward/record.url?scp=85113470419&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85113470419&partnerID=8YFLogxK
M3 - Conference contribution
AN - SCOPUS:85113470419
T3 - Proceedings of the 15th USENIX Symposium on Operating Systems Design and Implementation, OSDI 2021
SP - 199
EP - 217
BT - Proceedings of the 15th USENIX Symposium on Operating Systems Design and Implementation, OSDI 2021
PB - USENIX Association
Y2 - 14 July 2021 through 16 July 2021
ER -