We establish trade-o s between time complexity and writeand access-contention for solutions to the mutual exclusion problem. The write-contention (accesscontention) of a concurrent program is the number of processes that may be simultaneously enabled to write (access) the same shared variable. Our notion of time complexity distinguishes between local and remote references to shared memory. We show that, for any N -process mutual exclusion algorithm with write-contention w, there exists an execution involving only one process in which that process executes (log w N ) remote memory references for entry into its critical section. We further show that among these remote references, ( p log w N ) distinct remote variables are accessed. For algorithms with access-contention c, we show that the latter bound can be improved to (log c N ). The last two of these results imply that a trade-o between contention and time complexity exists even if coherent caching techniques are employed. Because the execution that establishes these bounds involves only one process, our results show that \fast mutual exclusion" requires arbitrarily high writecontention. We show that these bounds hold when using any of a variety of synchronization primitives, including read, write, test-and-set, load-and-store, compare-andswap, and fetch-and-add, and that they can be generalized to apply when using even stronger primitives. Our results can be extended to apply to a class of decision problems that includes the leader-election problem. The time bounds that we establish are the rst of their kind Work supported, in part, by NSF Contracts CCR-9109497 and CCR-9216421 and by the NASA Center for Excellence in Space Data and Information Sciences (CESDIS). for asynchronous shared memory concurrent programs.
[1]
Michael Merritt,et al.
Knowledge in shared memory systems (preliminary version)
,
1991,
PODC '91.
[2]
Maurice Herlihy,et al.
Contention in shared memory algorithms
,
1993,
JACM.
[3]
Michael L. Scott,et al.
Algorithms for scalable synchronization on shared-memory multiprocessors
,
1991,
TOCS.
[4]
Leslie Lamport,et al.
A fast mutual exclusion algorithm
,
1987,
TOCS.
[5]
James H. Anderson,et al.
Fast, scalable synchronization with minimal hardware support
,
1993,
PODC '93.
[6]
Maurice Herlihy,et al.
Low contention load balancing on large-scale multiprocessors
,
1992,
SPAA '92.
[7]
LamportLeslie.
A fast mutual exclusion algorithm
,
1987
.
[8]
Maurice Herlihy,et al.
Wait-free synchronization
,
1991,
TOPL.
[9]
Maurice Herlihy,et al.
Low contention linearizable counting
,
1991,
[1991] Proceedings 32nd Annual Symposium of Foundations of Computer Science.
[10]
N. Lynch,et al.
Timing-based mutual exclusion
,
1992,
[1992] Proceedings Real-Time Systems Symposium.
[11]
Edsger W. Dijkstra,et al.
Solution of a problem in concurrent programming control
,
1965,
CACM.
[12]
Thomas E. Anderson,et al.
The Performance of Spin Lock Alternatives for Shared-Memory Multiprocessors
,
1990,
IEEE Trans. Parallel Distributed Syst..
[13]
Gregory F. Pfister,et al.
“Hot spot” contention and combining in multistage interconnection networks
,
1985,
IEEE Transactions on Computers.
[14]
G. Taubenfeld,et al.
Results about fast mutual exclusion
,
1992,
[1992] Proceedings Real-Time Systems Symposium.