Abstract
The fetch-and-add (F&A) operation has been used effectively in a number of process coordination algorithms. In this paper we assess the power of fetch-and-increment (F&I) and fetch-and-decrement (F&D), which we view as restricted forms of F&A in which the only addends permitted are ±1. F&A-based algorithms that use only unit addends are thus trivially expressed with just F&I and F&D. Our primary contributions are new F&I/F&D algorithms for readers/writers coordination and barrier synchronization for dynamically-sized groups. We also restructure an existing F&A-based algorithm for queues-with-multiplicity to obtain an algorithm using just F&I and F&D. When executed on certain hardware architectures, most of these algorithms are free of serial bottlenecks. We also discuss a general technique for implementing F&A using F&I/F&D at a cost logarithmic in the number of processors.
Original language | English (US) |
---|---|
Pages | 260-268 |
Number of pages | 9 |
DOIs | |
State | Published - 1991 |
Event | 4th International Conference on Architectural Support for Programming Languages and Operating Systems - Santa Clara, CA, USA Duration: Apr 8 1991 → Apr 11 1991 |
Other
Other | 4th International Conference on Architectural Support for Programming Languages and Operating Systems |
---|---|
City | Santa Clara, CA, USA |
Period | 4/8/91 → 4/11/91 |
ASJC Scopus subject areas
- Software
- Information Systems
- Hardware and Architecture