## Contention in Shared Memory Algorithms (1993)

### Cached

### Download Links

- [gatekeeper.dec.com]
- [www.cs.brown.edu]
- [www.cs.brown.edu]
- [www.cs.brown.edu]
- [www.cs.brown.edu]
- [cs.brown.edu]
- [cs.brown.edu]
- [cs.brown.edu]
- [www.hpl.hp.com]
- DBLP

### Other Repositories/Bibliography

Citations: | 60 - 1 self |

### BibTeX

@MISC{Dwork93contentionin,

author = {Cynthia Dwork and Maurice Herlihy and Orli Waarts},

title = {Contention in Shared Memory Algorithms},

year = {1993}

}

### Years of Citing Articles

### OpenURL

### Abstract

Most complexitymeasures for concurrent algorithms for asynchronous sharedmemory architectures focus on process steps and memory consumption. In practice, however, performance of multiprocessor algorithms is heavily influenced by contention, the extent to which processes 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 multiprocessors. We focus on the standard multiprocessor architecture in which n asynchronous processes communicate by applying read, write, and read-modify-write operations to a shared memory. We use our model 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 betwe...

### Citations

9049 | Introduction to Algorithms
- Cormen, Leiserson, et al.
- 1990
(Show Context)
Citation Context ...twork by prepending a certain filter network. 5 3.1 Brief Review This section gives a brief informal review of counting networks. For more details, see [9]. A counting network, like a sorting network =-=[21]-=-, is a directed graph whose nodes are simple computing elements called balancers, and whose edges are called wires. Each token (input item) enters on an input wire, traverses a sequence of balancers, ... |

763 | Walt-free synchronization
- Herlihy
- 1991
(Show Context)
Citation Context ...s properties. The consensus problem [29] is fundamental to synchronization without mutual exclusion and lies at the heart of the more general problem of constructing highly concurrent data structures =-=[36]-=-. We give the first bounds on contention in shared-memory algorithms for consensus. The bounds are tight: wait-free consensus has contention \Theta(n), where n is the number of processes participating... |

544 | Sorting networks and their applications
- Batcher
- 1968
(Show Context)
Citation Context ...1 have the step property in quiescent states: 0sy i \Gamma y js1 for any i ! j. The bitonic counting network [9] is a specific counting network that is isomorphic to Batcher's bitonic sorting network =-=[12]-=-. It is constructed recursively as follows: to construct a bitonic network of width 2k, one first constructs two separate bitonic networks of width k each and then merges their two output sequences us... |

517 | Eicken, “LogP: towards a Realistic Model of Parallel Computation
- Culler, Karp, et al.
- 1993
(Show Context)
Citation Context ...ention in shared-memory algorithms. We believe that a realistic formal model for parallel computation requires taking contention into account. Similar considerations motivated the recent work done in =-=[18, 22, 30]-=-. In particular, we introduce a formal complexity model for contention in shared-memory multiprocessors and use it to provide the first formal analysis of contention and trade-offs between contention ... |

510 | Algorithms for scalable synchronization on shared-memory multiprocessors
- Mellor-Crummey, Scott
- 1991
(Show Context)
Citation Context ... tight or, in some cases, nearly tight 1 Examples include test-and-test-and-set locks [47], exponential backoff [6, 44], combining networks [32, 45], and clever algorithms for spin locks and barriers =-=[6, 34, 43]-=-. 1 asymptotic bounds on the contention produced by several classes of counting networks studied in the literature. In each case we show that the contention in the counting network is indeed substanti... |

465 | Consensus in the presence of partial synchrony
- Dwork, Lynch, et al.
- 1988
(Show Context)
Citation Context ...ructing highly concurrent data structures [36]. Thus the bounds and trade-offs derived here imply bounds and trade-offs for a variety of more complex data structures and protocols. The consensus task =-=[23, 26, 29]-=- is a decision problem in which each of n asynchronous processes starts with an input value 0 or 1 (not known to the others), and runs until it chooses a decision value and halts. The protocol must be... |

387 | Ethernet: Distributed Packet Switching for Local Computer Networks
- Metcalfe, Boggs
- 1976
(Show Context)
Citation Context ...contention in several fundamental sharedmemory algorithms and data structures. We derive tight or, in some cases, nearly tight 1 Examples include test-and-test-and-set locks [47], exponential backoff =-=[6, 44]-=-, combining networks [32, 45], and clever algorithms for spin locks and barriers [6, 34, 43]. 1 asymptotic bounds on the contention produced by several classes of counting networks studied in the lite... |

357 | Imagined Communities - Anderson - 1983 |

240 | On the minimal synchronism needed for distributed consensus
- Dolev, Dwork, et al.
- 1987
(Show Context)
Citation Context ...ructing highly concurrent data structures [36]. Thus the bounds and trade-offs derived here imply bounds and trade-offs for a variety of more complex data structures and protocols. The consensus task =-=[23, 26, 29]-=- is a decision problem in which each of n asynchronous processes starts with an input value 0 or 1 (not known to the others), and runs until it chooses a decision value and halts. The protocol must be... |

224 |
The Performance of Spin Lock Alternatives for Shared-Memory Multiprocessors
- Anderson
- 1990
(Show Context)
Citation Context ...contention in several fundamental sharedmemory algorithms and data structures. We derive tight or, in some cases, nearly tight 1 Examples include test-and-test-and-set locks [47], exponential backoff =-=[6, 44]-=-, combining networks [32, 45], and clever algorithms for spin locks and barriers [6, 34, 43]. 1 asymptotic bounds on the contention produced by several classes of counting networks studied in the lite... |

224 |
Hot Spots” Contention and Combining in Multistage Interconnection Networks
- Pfister, Norton
- 1985
(Show Context)
Citation Context ...ental sharedmemory algorithms and data structures. We derive tight or, in some cases, nearly tight 1 Examples include test-and-test-and-set locks [47], exponential backoff [6, 44], combining networks =-=[32, 45]-=-, and clever algorithms for spin locks and barriers [6, 34, 43]. 1 asymptotic bounds on the contention produced by several classes of counting networks studied in the literature. In each case we show ... |

203 |
Another advantage of free choice: Completely asynchronous agreement protocols
- Ben-Or
- 1983
(Show Context)
Citation Context ...where n is the number of processes participating in the protocol. Bounds for consensus imply lower bounds for a variety of more complex data structures and protocols. The randomized consensus problem =-=[1, 7, 8, 10, 14, 17, 25, 46]-=- is a variation of consensus in which processes are required to reach agreement in finite expected time (instead of finite time). Randomization has a surprising effect: it allows contention to be trad... |

172 |
Randomized Byzantine generals
- Rabin
- 1983
(Show Context)
Citation Context ...where n is the number of processes participating in the protocol. Bounds for consensus imply lower bounds for a variety of more complex data structures and protocols. The randomized consensus problem =-=[1, 7, 8, 10, 14, 17, 25, 46]-=- is a variation of consensus in which processes are required to reach agreement in finite expected time (instead of finite time). Randomization has a surprising effect: it allows contention to be trad... |

159 |
Memory requirements for agreement among unreliable asynchronous processes
- Loui, Abu-Amara
- 1987
(Show Context)
Citation Context ...algorithm: if processes choose, they never choose distinct values. It is well known that there is no wait-free consensus protocol if processes communicate only by reading and writing shared variables =-=[23, 42]-=-. Fortunately, however, most modern architectures provide some form of read-modify-write operation. In Section 4.1 we show that even when read-modify-write operations are available, wait-free consensu... |

149 | Efficient Synchronization Primitives for Large-Scale Cache-Coherent Multiprocessors
- Goodman, Vernon, et al.
- 1989
(Show Context)
Citation Context ...tantially more scalable than conventional single-variable techniques such as spin locks, queue locks, or read-modify-write operations. It has roughly the same performance as a software combining tree =-=[31]-=-, which is also a low-contention data structure (although not wait-free). It was recently observed experimentally that some of this performance difference can be attributed to contention, and to the s... |

133 | Fast randomized consensus using shared memory
- Aspnes, Herlihy
- 1990
(Show Context)
Citation Context ...where n is the number of processes participating in the protocol. Bounds for consensus imply lower bounds for a variety of more complex data structures and protocols. The randomized consensus problem =-=[1, 7, 8, 10, 14, 17, 25, 46]-=- is a variation of consensus in which processes are required to reach agreement in finite expected time (instead of finite time). Randomization has a surprising effect: it allows contention to be trad... |

106 |
Survey reference manual
- Bergman
- 1990
(Show Context)
Citation Context ...ures support some form of read-modifywrite operation. Examples include test-and-set, memory-to-register swap, fetch-and-add [32], compare-and-swap [39], and load-linked/store-conditional instructions =-=[19, 49]-=-. Asynchrony means that there is no bound on processes' relative speeds. In modern sharedmemory multiprocessors, sources of asynchrony include page faults, cache misses, scheduling preemption, clock s... |

105 | An Efficient Counting Network
- Busch, Mavronicolas
- 1998
(Show Context)
Citation Context ...rsa. In addition, we give for the first time a formal contention analysis of a variety of counting networks, a class of low-contention data structures that implement highly-concurrent shared counters =-=[9, 2, 3, 15, 16, 35, 37, 38, 40]-=-. We focus on a multiple instruction/multiple data (MIMD) architecture in which n asynchronous processes communicate by applying read, write, and read-modify-write operations to a shared memory. A rea... |

99 |
Synchronization algorithms for shared-memory multiprocessors
- Graunke, Thakkar
- 1990
(Show Context)
Citation Context ... tight or, in some cases, nearly tight 1 Examples include test-and-test-and-set locks [47], exponential backoff [6, 44], combining networks [32, 45], and clever algorithms for spin locks and barriers =-=[6, 34, 43]-=-. 1 asymptotic bounds on the contention produced by several classes of counting networks studied in the literature. In each case we show that the contention in the counting network is indeed substanti... |

96 |
Upper and lower time bounds for parallel random access machines without simultaneous writes
- Cook, Dwork, et al.
- 1986
(Show Context)
Citation Context ...spot contention c, that ` 2 \Omega\Gamma log n c ). Our proof relies on the fact that \Omega\Gammaat/ n) is a lower bound on the time required to compute the logical OR of n values on the CREW PRAM 7 =-=[20]-=-, independent of the total number N of processes participating in the computation. The key idea is roughly that a CREW PRAM can simulate a protocol whose hot-spot contention is c so that each time c p... |

90 | Basic techniques for the efficient coordination of very large numbers of cooperating sequential processors
- Gottlieb, Lubachevsky, et al.
- 1983
(Show Context)
Citation Context ...ng lies at the heart of a number of basic problems, such as concurrent time-stamp generation, concurrent implementations of shared counters, FIFO buffers, snapshots, and similar data structures (e.g. =-=[27, 28, 33]-=-). There is no linearizable counting network with finite width [38], although linearizable counting constructions based on counting networks are known [38]. The overall structure is to have tokens fir... |

85 |
On achieving consensus using shared memory
- Abrahamson
- 1988
(Show Context)
Citation Context |

79 |
Dynamic Decentralized Cache Schemes for MIMD Parallel
- Rudolph
- 1985
(Show Context)
Citation Context ... of this model we analyze contention in several fundamental sharedmemory algorithms and data structures. We derive tight or, in some cases, nearly tight 1 Examples include test-and-test-and-set locks =-=[47]-=-, exponential backoff [6, 44], combining networks [32, 45], and clever algorithms for spin locks and barriers [6, 34, 43]. 1 asymptotic bounds on the contention produced by several classes of counting... |

70 |
On processor coordination using asynchronous hardware
- Chor, Israeli, et al.
- 1987
(Show Context)
Citation Context |

62 |
The periodic balanced sorting network
- Dowd, Perl, et al.
- 1989
(Show Context)
Citation Context ...k=2e, where m is the number of concurrent processes that can enter the substructure. For example, consider the periodic counting network [9]. It is isomorphic to the balanced periodic sorting network =-=[24]-=-. In particular, a periodic network of width w consists of a sequence of log w identical subnetworks each of which is of depth log w and called Block[w]. An easy induction on the depth of the layer sh... |

54 |
Adaptive solutions to the mutual exclusion problem
- CHOY, SINGH
- 1994
(Show Context)
Citation Context ...ention in shared-memory algorithms. We believe that a realistic formal model for parallel computation requires taking contention into account. Similar considerations motivated the recent work done in =-=[18, 22, 30]-=-. In particular, we introduce a formal complexity model for contention in shared-memory multiprocessors and use it to provide the first formal analysis of contention and trade-offs between contention ... |

53 |
Impossibility of distributed commit with one faulty process
- Fischer, Lynch, et al.
- 1985
(Show Context)
Citation Context ...phenomenon. In addition, we show that our method can be used to analyse the contention of counting networks in general, conditioned on them having certain smoothness properties. The consensus problem =-=[29]-=- is fundamental to synchronization without mutual exclusion and lies at the heart of the more general problem of constructing highly concurrent data structures [36]. We give the first bounds on conten... |

46 | How to construct concurrent waitfree variables
- Li, Tromp, et al.
- 1989
(Show Context)
Citation Context ...ti-reader variable may cause 16 high hot-spot contention. However, there are well known ways to implement single-writer multi-reader atomic registers from single-writer single-reader atomic registers =-=[41, 48]-=- (a single-reader register can be read by at most one process). Therefore, one can achieve randomized consensus with low hot-spot contention simply by taking any of the multi-reader protocols and repl... |

46 | Time- and space-efficient randomized consensus - ASPNES - 1990 |

44 | Counting networks and multiprocessor coordination, in - Aspnes, Herlihy, et al. - 1991 |

40 | Small-Depth Counting Networks
- Klugerman, Plaxton
- 1992
(Show Context)
Citation Context ...rsa. In addition, we give for the first time a formal contention analysis of a variety of counting networks, a class of low-contention data structures that implement highly-concurrent shared counters =-=[9, 2, 3, 15, 16, 35, 37, 38, 40]-=-. We focus on a multiple instruction/multiple data (MIMD) architecture in which n asynchronous processes communicate by applying read, write, and read-modify-write operations to a shared memory. A rea... |

39 |
Counting Networks with Arbitrary Fan-out
- Aharonson, Attiya
- 1995
(Show Context)
Citation Context ...rsa. In addition, we give for the first time a formal contention analysis of a variety of counting networks, a class of low-contention data structures that implement highly-concurrent shared counters =-=[9, 2, 3, 15, 16, 35, 37, 38, 40]-=-. We focus on a multiple instruction/multiple data (MIMD) architecture in which n asynchronous processes communicate by applying read, write, and read-modify-write operations to a shared memory. A rea... |

37 |
The elusive atomic register, revisited
- SINGH, ANDERSON, et al.
- 1987
(Show Context)
Citation Context ...ti-reader variable may cause 16 high hot-spot contention. However, there are well known ways to implement single-writer multi-reader atomic registers from single-writer single-reader atomic registers =-=[41, 48]-=- (a single-reader register can be read by at most one process). Therefore, one can achieve randomized consensus with low hot-spot contention simply by taking any of the multi-reader protocols and repl... |

30 | A theory of competitive analysis of distributed algorithms
- Ajtal, Aspnes, et al.
- 1994
(Show Context)
Citation Context ... here with contention cost, i.e. the overall cost will roughly be the sum of the costs caused by each of these factors plus the number of memory accesses. On a completely different note, recent works =-=[4, 11]-=- introduced a theory of competitiveness for distributed algorithms, meant to provide for distributed algorithms a somewhat more realistic analysis than the standard worst case analysis. Loosely stated... |

30 | Time-lapse snapshots
- Dwork, Herlihy, et al.
- 1992
(Show Context)
Citation Context |

19 |
The NYU Ultracomputer designing an MIMD parallel computer
- Gottlieb, Grishman, et al.
- 1984
(Show Context)
Citation Context ...ion, and returns v to the caller. Nearly all modern multiprocessor architectures support some form of read-modifywrite operation. Examples include test-and-set, memory-to-register swap, fetch-and-add =-=[32]-=-, compare-and-swap [39], and load-linked/store-conditional instructions [19, 49]. Asynchrony means that there is no bound on processes' relative speeds. In modern sharedmemory multiprocessors, sources... |

19 |
Notes on Sorting and Counting Networks
- Hardavellas, Karakos, et al.
- 1993
(Show Context)
Citation Context |

18 |
scalable synchronization with minimal hardware support
- Fast
- 1993
(Show Context)
Citation Context ...use processes to incur an unbounded number of memory accesses due to spinning on remote variables. A great deal of work has been done in designing algorithms to reduce the number of remote operations =-=[6, 34, 43, 50]-=-, principally by finding ways to substitute local spinning for remote spinning. However, independent of the issue of local versus remote spinning, there is still an inherent synchronization that must ... |

17 |
Algorithms for parallel memory allocation
- Ellis, Olson
- 1988
(Show Context)
Citation Context ...ng lies at the heart of a number of basic problems, such as concurrent time-stamp generation, concurrent implementations of shared counters, FIFO buffers, snapshots, and similar data structures (e.g. =-=[27, 28, 33]-=-). There is no linearizable counting network with finite width [38], although linearizable counting constructions based on counting networks are known [38]. The overall structure is to have tokens fir... |

17 | Weights and Contention in Balancing Networks - Aiello, Venkatesan, et al. - 1994 |

16 |
Low contention linearizable counting, in
- Herlihy, Shavit, et al.
- 1991
(Show Context)
Citation Context ...n is \Theta( n w log 2 w). 3.3 Contention in Linearizable Counting Networks In this section, we observe that the amortized contention of a layer of the folded linearizable counting network of width w =-=[38]-=- is also \Theta( n w ). More specifically, a linearizable counting network is a counting network in which the order of the values assigned to processes is consistent with the real-time order of the ex... |

12 |
Randomized consensus in expected O(N log N) operations per processor
- Aspnes, Waarts
- 1996
(Show Context)
Citation Context ...when read-modify-write operations are available, wait-free consensus has inherently high hot-spot contention. By contrast, randomized wait-free consensus does not require read-modify-write operations =-=[1, 7, 8, 10, 17, 25]-=-. In Section 4.2 we show that randomized wait-free consensus does not have inherently high hot-spot contention, but there is an inherent trade-off between hot-spot contention and critical path length,... |

11 |
weights and contention in balancing networks
- Coins
- 1994
(Show Context)
Citation Context |

8 |
Time- and space-efficient randomized consensus. Journal of Algorithms 14(3):414-431
- Aspnes
- 1993
(Show Context)
Citation Context |

8 |
principles of operation. Order Number
- System370
(Show Context)
Citation Context ...he caller. Nearly all modern multiprocessor architectures support some form of read-modifywrite operation. Examples include test-and-set, memory-to-register swap, fetch-and-add [32], compare-and-swap =-=[39]-=-, and load-linked/store-conditional instructions [19, 49]. Asynchrony means that there is no bound on processes' relative speeds. In modern sharedmemory multiprocessors, sources of asynchrony include ... |

5 |
QRQW: Accounting for concurrency in PRAMs and Asynchronous PRAMs
- Gibbons, Matias, et al.
- 1993
(Show Context)
Citation Context ...ention in shared-memory algorithms. We believe that a realistic formal model for parallel computation requires taking contention into account. Similar considerations motivated the recent work done in =-=[18, 22, 30]-=-. In particular, we introduce a formal complexity model for contention in shared-memory multiprocessors and use it to provide the first formal analysis of contention and trade-offs between contention ... |

2 |
Dynamic counting
- Ben-Dor, Israeli, et al.
- 1994
(Show Context)
Citation Context ...ons including constructions with randomized balancers, i.e. balancers which flip coins), [16] (contention analysis of specific counting networks that have different number of input and output wires), =-=[13]-=- (construction of low contention dynamic counter). This list is not exhaustive. Possible Extensions of the Model This model, like all complexity models, represents an abstraction of real architectures... |

1 | A modular measure of competitive performance for distributed algorithms
- Aspnes, Waarts
(Show Context)
Citation Context ... here with contention cost, i.e. the overall cost will roughly be the sum of the costs caused by each of these factors plus the number of memory accesses. On a completely different note, recent works =-=[4, 11]-=- introduced a theory of competitiveness for distributed algorithms, meant to provide for distributed algorithms a somewhat more realistic analysis than the standard worst case analysis. Loosely stated... |

1 |
A depth-contention optimal counting network
- Busch, Mavronicolas
- 1994
(Show Context)
Citation Context |

1 |
Scalable Concurrent Counting. ACM Transactions on Computer Systems, to appear. Preliminary version appears
- Herlihy, Lim, et al.
- 1992
(Show Context)
Citation Context |