Fast and Scalable Mutual Exclusion

We present an N-process algorithm for mutual exclusion under read/write atomicity that has O(1) time complexity in the absence of contention and Θ(logN) time complexity under contention, where "time" is measured by counting remote memory references. This is the first such algorithm to achieve these time complexity bounds. Our algorithm is obtained by combining a new "fast-path" mechanism with an arbitration-tree algorithm presented previously by Yang and Anderson.