Skip to main navigation Skip to search Skip to main content

Lock cohorting: A general technique for designing NUMA locks

  • David Dice*
  • , Virendra J. Marathe
  • , Nir Shavit
  • *Corresponding author for this work
  • Oracle Corporation
  • Massachusetts Institute of Technology

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

55 Scopus citations

Abstract

Multicore machines are quickly shifting to NUMA and CC-NUMA architectures, making scalable NUMA-aware locking algorithms, ones that take into account the machines'non-uniform memory and caching hierarchy, ever more important. This paper presents lock cohorting, a general new technique for designing NUMA-aware locks that is as simple as it is powerful. Lock cohorting allows one to transform any spin-lock algorithm, with minimal non-intrusive changes, into scalable NUMAaware spin-locks. Our new cohorting technique allows us to easily create NUMA-aware versions of the TATAS-Backoff, CLH, MCS, and ticket locks, to name a few. Moreover, it allows us to derive a CLH-based cohort abortable lock, the first NUMA-aware queue lock to support abortability. We empirically compared the performance of cohort locks with prior NUMA-aware and classic NUMA-oblivious locks on a synthetic micro-benchmark, a real world key-value store application memcached, as well as the libc memory allocator. Our results demonstrate that cohort locks perform as well or better than known locks when the load is low and significantly out-perform them as the load increases.

Original languageEnglish
Title of host publicationPPoPP'12 - Proceedings of the 2012 ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming
PublisherAssociation for Computing Machinery
Pages247-256
Number of pages10
ISBN (Print)9781450311601
DOIs
StatePublished - 25 Feb 2012
Event17th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPoPP 2012 - New Orleans, LA, United States
Duration: 25 Feb 201229 Feb 2012

Publication series

NameProceedings of the ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPOPP
ISSN (Print)1542-0205

Conference

Conference17th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPoPP 2012
Country/TerritoryUnited States
CityNew Orleans, LA
Period25/02/1229/02/12

Keywords

  • Hierarchical locks
  • NUMA
  • Spin locks

Fingerprint

Dive into the research topics of 'Lock cohorting: A general technique for designing NUMA locks'. Together they form a unique fingerprint.

Cite this