sponsors
help promote
usenix conference policies
Multicore Locks: The Case Is Not Closed Yet
Hugo Guiroux and Renaud Lachaize, Université Grenoble Alpes and Laboratoire d'Informatique de Grenoble; Vivien Quéma, Université Grenoble Alpes, Grenoble Institute of Technology, and Laboratoire d'Informatique de Grenoble
NUMA multicore machines are pervasive and many multithreaded applications are suffering from lock contention. To mitigate this issue, application and library developers can choose from the plethora of optimized mutex lock algorithms that have been designed over the past 25 years. Unfortunately, there is currently no broad study of the behavior of these optimized lock algorithms on realistic applications. In this paper, we fill this gap. We perform a performance study of 19 state-of-the-art mutex lock algorithms on 36 realistic applications. Our study shows that regarding locking on multicore machines, the case is not closed yet. Indeed, our conclusions include the following findings: (i) no single lock is the best for more than 50% of the studied workloads; (ii) every lock is harmful for several applications, even if the application parallelism is properly tuned; (iii) for several applications, the optimal lock changes when varying the number of applications or the workload. These findings call for further research on optimized lock algorithms and dynamic adaptation of contention management.
Open Access Media
USENIX is committed to Open Access to the research presented at our events. Papers and proceedings are freely available to everyone once the event begins. Any video, audio, and/or slides that are posted after the event are also free and open to everyone. Support USENIX and our commitment to Open Access.
title = {Multicore Locks: The Case Is Not Closed Yet},
booktitle = {2016 USENIX Annual Technical Conference (USENIX ATC 16)},
year = {2016},
isbn = {978-1-931971-30-0},
address = {Denver, CO},
pages = {649--662},
url = {https://www.usenix.org/conference/atc16/technical-sessions/presentation/guiroux},
publisher = {USENIX Association},
month = jun
}
connect with us