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.
Cite
CITATION STYLE
Freudenthal, E., & Gottlieb, A. (1991). Process coordination with fetch-and-increment. In International Conference on Architectural Support for Programming Languages and Operating Systems - ASPLOS (Vol. 26, pp. 260–268). Publ by ACM. https://doi.org/10.1145/106973.106998
Register to see more suggestions
Mendeley helps you to discover research relevant for your work.