Summary: Fast and Scalable Mutual Exclusion?
James H.Anderson and Yong-Jik Kim
Department of Computer Science
University of North Carolina at Chapel Hill
Abstract. We present an N-process algorithm for mutual exclusion un-
der read/write atomicity that has O(1) time complexity in the absence
of contention and (log N) time complexity under contention, where
\time" is measured by counting remote memory references. This is the
rst such algorithm to achieve these time complexity bounds. Our algo-
rithm is obtained by combining a new \fast-path" mechanism with an
arbitration-tree algorithm presented previously by Yang and Anderson.
Recent work on mutualexclusion 3] has focused on the design of \scalable" algo-
rithms that minimizethe impact of the processor-to-memory bottleneck through
the use of local spinning. A mutual exclusion algorithm is scalable if its perfor-
mance degrades only slightly as the number of contending processes increases.
In local-spin mutual exclusion algorithms,good scalability is achieved by requir-
ing all busy-waiting loops to be read-only loops in which only locally-accessible
shared variables are accessed that do not require a traversal of the processor-
to-memory interconnect. A shared variable is locally accessible on a distributed