A Scalable Lock Manager for Multicores

Select |




Print


Jung, Hyungsoo; Han, Hyuck; Fekete, Alan; Heiser, Gernot; Yeom, Heon Y.

Jung, Hyungsoo; Han, Hyuck; Fekete, Alan; Heiser, Gernot; Yeom, Heon Y.


2013-06-22


Conference Material


ACM Special Interest Group on Management of Data Conference (SIGMOD)


New York, USA


73-84


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.


https://doi.org/10.1145/2463676.2465271


http://www.sigmod.org/2013/


nicta:6465


Jung, Hyungsoo; Han, Hyuck; Fekete, Alan; Heiser, Gernot; Yeom, Heon Y. A Scalable Lock Manager for Multicores. In: ACM Special Interest Group on Management of Data Conference (SIGMOD); New York, USA. 2013-06-22. 73-84. https://doi.org/10.1145/2463676.2465271



Loading citation data...

Citation counts
(Requires subscription to view)