Abstract | ||
---|---|---|
Modern implementations of DBMS software are intended to take advantage of high core counts that are becoming common in high-end servers. However, we have observed that several database platforms, including MySQL, Shore-MT, and a commercial system, exhibit throughput collapse as load increases, even for a workload with little or no logical contention for locks. Our analysis of MySQL identifies latch contention within the lock manager as the bottleneck responsible for this collapse. We design a lock manager with reduced latching, implement it in MySQL, and show that it avoids the collapse and generally improves performance. Our efficient implementation of a lock manager is enabled by a staged allocation and de-allocation of locks. Locks are pre-allocated in bulk, so that the lock manager only has to perform simple list-manipulation operations during the acquire and release phases of a transaction. De-allocation of the lock data-structures is also performed in bulk, which enables the use of fast implementations of lock acquisition and release, as well as concurrent deadlock checking. |
Year | DOI | Venue |
---|---|---|
2013 | 10.1145/2463676.2465271 | ACM Transactions on Database Systems |
Keywords | DocType | Volume |
release phase,lock manager,logical contention,lock acquisition,exhibit throughput collapse,database platform,concurrent deadlock checking,commercial system,dbms software,scalable lock manager,lock data-structures,concurrent programming | Conference | 39 |
Issue | ISSN | Citations |
4 | 0362-5915 | 11 |
PageRank | References | Authors |
0.57 | 19 | 5 |
Name | Order | Citations | PageRank |
---|---|---|---|
Hyungsoo Jung | 1 | 216 | 23.87 |
Hyuck Han | 2 | 256 | 33.13 |
Alan David Fekete | 3 | 1610 | 201.97 |
Gernot Heiser | 4 | 2525 | 137.42 |
Heon Y. Yeom | 5 | 536 | 58.92 |