Advanced Search

Browse by Discipline

Scientific Societies

E-print Alerts

Add E-prints

E-print Network

  Advanced Search  

Local-spin Mutual Exclusion Using Fetch-and- Primitives

Summary: Local-spin Mutual Exclusion Using Fetch-and-
James H. Anderson and Yong-Jik Kim
Department of Computer Science
University of North Carolina at Chapel Hill
Chapel Hill, NC 27599-3175
Email: fanderson, kimyg@cs.unc.edu
We present a generic fetch-and--based local-spin mutual exclusion algorithm, with O(1) time complexity
under the remote-memory-references time measure. This algorithm is \generic" in the sense that it can be
implemented using any fetch-and- primitive of rank 2N , where N is the number of processes. The rank of
a fetch-and- primitive is a notion introduced herein; informally, it expresses the extent to which processes
may \order themselves" using that primitive. This algorithm breaks new ground because it shows that O(1)
time complexity is possible using a wide range of primitives. In addition, previously published fetch-and--
based algorithms either use multiple primitives or require an underlying cache-coherence mechanism for
spins to be local, while ours does not. By applying our generic algorithm within an arbitration tree, one can
easily construct a (log r N) algorithm using any primitive of rank r, where 2  r < N . For primitives that
meet a certain additional condition, we present a (log N= log log N) algorithm, which gives an asymptotic
improvement in time complexity for primitives of rank o(log N ). It follows from a previously-presented lower
bound proof that this algorithm is asymptotically time-optimal for certain primitives of constant rank.


Source: Anderson, James - Department of Computer Science, University of North Carolina at Chapel Hill


Collections: Computer Technologies and Information Sciences