Title
A Scalable Lock Manager for Multicores.
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 Jung121623.87
Hyuck Han225633.13
Alan David Fekete31610201.97
Gernot Heiser42525137.42
Heon Y. Yeom553658.92