This is not the latest version of this item. The latest version can be found here.
Lock cohorting: a general technique for designing NUMA locks
Name
9342245.pdf
Description
Accepted version
Size
209.82 KB
Format
Adobe PDF
Checksum (MD5)
25f1908672dfe27913f2e83b72141805
Author(s) • •
Dice, David
Marathe, Virendra J
Shavit, Nir
Date Issued
2012
Journal
ACM SIGPLAN Notices
Publisher
Association for Computing Machinery (ACM)
Version
Author's final manuscript
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. Copyright © 2012 ACM.
Terms of Use
Creative Commons Attribution-Noncommercial-Share Alike
Persistent DSpace Link
DOI of Published Version
10.1145/2370036.2145848