Contention in shared memory algorithms
- 1 November 1997
- journal article
- Published by Association for Computing Machinery (ACM) in Journal of the ACM
- Vol. 44 (6) , 779-805
- https://doi.org/10.1145/268999.269000
Abstract
Most complexity measures for concurrent algorithms for asynchronous shared-memory architectures focus on process steps and memory consumption. In practice, however, performance of multiprocessor algorithms is heavily influenced bycontention, the extent to which processess access the same location at the same time. Nevertheless, even though contention is one of the principal considerations affecting the performance of real algorithms on real multiprocessors, there are no formal tools for analyzing the contention of asynchronous shared-memory algorithms.This paper introduces the first formal complexity model for contention in shared-memory multiprocessors. We focus on the standard multiprocessor architecture in whichnasynchronous processes communicate by applyingread, write,andread-modify-writeoperations to a shared memory. To illustrate the utility of our model, we use it to derive two kinds of results: (1) lower bounds on contention for well-known basic problems such as agreement and mutual exclusion, and (2) trade-offs between the length of the critical path (maximal number of accesses to shared variables performed by a single process in executing the algorithm) and contention for these algorithms. Furthermore, we give the first formal contention analysis of a variety of counting networks, a class of concurrent data structures inplementing shared counters. Experiments indicate that certain counting networks outperform conventional single-variable counters at high levels of contention. Our analysis provides the first formal model explaining this phenomenon.Keywords
This publication has 20 references indexed in Scilit:
- Efficient Low-Contention Parallel AlgorithmsJournal of Computer and System Sciences, 1996
- LogPCommunications of the ACM, 1996
- Fast randomized consensus using shared memoryJournal of Algorithms, 1990
- The performance of spin lock alternatives for shared-memory multiprocessorsIEEE Transactions on Parallel and Distributed Systems, 1990
- The periodic balanced sorting networkJournal of the ACM, 1989
- Consensus in the presence of partial synchronyJournal of the ACM, 1988
- On the minimal synchronism needed for distributed consensusJournal of the ACM, 1987
- Impossibility of distributed consensus with one faulty processJournal of the ACM, 1985
- Basic Techniques for the Efficient Coordination of Very Large Numbers of Cooperating Sequential ProcessorsACM Transactions on Programming Languages and Systems, 1983
- EthernetCommunications of the ACM, 1976