Fast increment registers

We give an optimal, wait-free implementation of an increment register. An increment register is a concurrent object consisting of an integer-valued register with an increment operation that atomically increments the register and returns the previous value. We implement this register in a synchronous...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Hauptverfasser: Chaudhuri, Soma, Tuttle, Mark R.
Format: Buchkapitel
Sprache:eng
Schlagworte:
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Beschreibung
Zusammenfassung:We give an optimal, wait-free implementation of an increment register. An increment register is a concurrent object consisting of an integer-valued register with an increment operation that atomically increments the register and returns the previous value. We implement this register in a synchronous, message-passing model with crash failures. In our implementation, an increment operation halts in O(log c) rounds of communication, where c is the number of concurrently executing increment operations. This is the first wait-free implementation of any object that matches the Ω(log c) lower bound by Herlihy and Tuttle for wait-free implementations, and it proves that their lower bound is tight. The significance of our result is not so much the implementation itself, but what it says about lower bounds. Our result says that Ω(log c) is the best possible lower bound that applies to so many objects in so many models. The algorithm itself is interesting, however, because it is based on an optimal solution for strong renaming, a simple decision problem used by Herlihy and Tuttle to prove their lower bound.
ISSN:0302-9743
1611-3349
DOI:10.1007/BFb0020425