Lock Cohorting: A General Technique for Designing NUMA Locks
appears in ACM Transactions on Parallel Computing (TOPC)
Volume 1 Issue 2, January 2015. (local copy
-- apologies for gzip-ed pdf but the file size exceeded Oracle blog limits).
This is an extended journal version of our PPoPP 2012
conference paper. Since the PPoPP version we've found ways to make the lock friendlier for Intel MESI/MESIF-based systems. Our preferred form now uses a partitioned ticket lock
for the top-level global lock, and normal ticket locks for the node-level local locks. In addition, the journal version shows that cohort locks can provide benefit even on single-node non-NUMA systems by treating each core as a node for the purposes of cohort formation.
See also US8694706