Strong consistency is not hard to get: Two-Phase Locking and Two-Phase Commit on Thousands of Cores

被引:16
作者
Barthels, Claude [1 ]
Mueller, Ingo [1 ]
Taranov, Konstantin [2 ]
Alonso, Gustavo [1 ]
Hoefler, Torsten [2 ]
机构
[1] Swiss Fed Inst Technol, Dept Comp Sci, Syst Grp, Zurich, Switzerland
[2] Swiss Fed Inst Technol, Dept Comp Sci, Scalable Parallel Comp Lab, Zurich, Switzerland
来源
PROCEEDINGS OF THE VLDB ENDOWMENT | 2019年 / 12卷 / 13期
关键词
D O I
10.14778/3358701.3358702
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Concurrency control is a cornerstone of distributed database engines and storage systems. In pursuit of scalability, a common assumption is that Two-Phase Locking (2PL) and Two-Phase Commit (2PC) are not viable solutions due to their communication overhead. Recent results, however, have hinted that 2PL and 2PC might not have such a bad performance. Nevertheless, there has been no attempt to actually measure how a state-of-the-art implementation of 2PL and 2PC would perform on modern hardware. The goal of this paper is to establish a baseline for concurrency control mechanisms on thousands of cores connected through a low-latency network. We develop a distributed lock table supporting all the standard locking modes used in database engines. We focus on strong consistency in the form of strict serializability implemented through strict 2PL, but also explore read-committed and repeatable-read, two common isolation levels used in many systems. We do not leverage any known optimizations in the locking or commit parts of the protocols. The surprising result is that, for TPC-C, 2PL and 2PC can be made to scale to thousands of cores and hundreds of machines, reaching a throughput of over 21 million transactions per second with 9.5 million New Order operations per second. Since most existing relational database engines use some form of locking for implementing concurrency control, our findings provide a path for such systems to scale without having to significantly redesign transaction management. To achieve these results, our implementation relies on Remote Direct Memory Access (RDMA). Today, this technology is commonly available on both Infiniband as well as Ethernet networks, making the results valid across a wide range of systems and platforms, including database appliances, data centers, and cloud environments.
引用
收藏
页码:2325 / 2338
页数:14
相关论文
共 44 条
[1]  
Alonso G., 2011, CIDR 11 AS CAL, P32
[2]  
Alonso Gustavo, 2019, CIDR
[3]  
Barr Jeff, 2019, NOW AVAILABLE ELASTI
[4]  
Barthels C., 2017, IEEE Database Eng Bull, V40, P15
[5]   Distributed Join Algorithms on Thousands of Cores [J].
Barthels, Claude ;
Muller, Ingo ;
Schneider, Timo ;
Alonso, Gustavo ;
Hoefler, Torsten .
PROCEEDINGS OF THE VLDB ENDOWMENT, 2017, 10 (05) :517-528
[6]   Rack-Scale In-Memory Join Processing using RDMA [J].
Barthels, Claude ;
Loesing, Simon ;
Alonso, Gustavo ;
Kossmann, Donald .
SIGMOD'15: PROCEEDINGS OF THE 2015 ACM SIGMOD INTERNATIONAL CONFERENCE ON MANAGEMENT OF DATA, 2015, :1463-1475
[7]   Notified Access: Extending Remote Memory Access Programming Models for Producer-Consumer Synchronization [J].
Belli, Roberto ;
Hoefler, Torsten .
2015 IEEE 29TH INTERNATIONAL PARALLEL AND DISTRIBUTED PROCESSING SYMPOSIUM (IPDPS), 2015, :871-881
[8]  
Bernstein P.A., 1987, Concurrency Control and Recovery in Database Systems, VVolume 370
[9]   Slim Fly: A Cost Effective Low-Diameter Network Topology [J].
Besta, Maciej ;
Hoefler, Torsten .
SC14: INTERNATIONAL CONFERENCE FOR HIGH PERFORMANCE COMPUTING, NETWORKING, STORAGE AND ANALYSIS, 2014, :348-359
[10]  
Burrows M, 2006, USENIX ASSOCIATION 7TH USENIX SYMPOSIUM ON OPERATING SYSTEMS DESIGN AND IMPLEMENTATION, P335