 
Summary: Adaptive Mutual Exclusion with Local Spinning
James H. Anderson and YongJik Kim
Department of Computer Science
University of North Carolina at Chapel Hill
Abstract
We present an adaptive algorithm for Nprocess mutual exclusion under read/write atomicity in which
all busy waiting is by local spinning. In our algorithm, each process p performs O(k) remote memory
references to enter and exit its critical section, where k is the maximum \point contention" experienced
by p. The space complexity of our algorithm is (N ), which is clearly optimal. Our algorithm is the
rst mutual exclusion algorithm under read/write atomicity that is adaptive when time complexity is
measured by counting remote memory references. All previous socalled adaptive mutual exclusion algo
rithms employ busywaiting loops that can generate an unbounded number of remote memory references.
Thus, they have unbounded time complexity under this measure.
Keywords: Adaptive mutual exclusion, local spinning, read/write atomicity, scalability, sharedmemory
systems
Work supported by NSF grants CCR 9732916 and CCR 9972211.
1 Introduction
The mutual exclusion problem has been studied for many years, dating back to the seminal paper of Dijkstra
[5]. In this problem, each of a set of processes repeatedly cycles through four sections of code, called
