Proceedings 32nd Annual Symposium of Foundations of Computer Science (1991)
San Juan, Puerto Rico
Oct. 1, 1991 to Oct. 4, 1991
M. Herlihy , Digital Equipment Corp., Cambridge, MA, USA
The linearizable counting problem requires asynchronous concurrent processes to assign themselves successive values so that the order of the values assigned reflects the real-time order in which they were requested. It is shown that the problem can be solved without funneling all processes through a common memory location. Two new constructions for linearizable counting networks, data structures that solve the linearizable counting problem, are given. The first construction is nonblocking: some process takes a value after O(n) network gates have been traversed. The second construction is wait-free: it guarantees that each process takes a value after it traverses O(wn) gates, where w is a parameter affecting contention. It is shown that in any nonblocking or wait-free linearizable counting network, processes must traverse an average of Omega (n) gates, and so the constructions are close to optimal. A simpler and more efficient network is constructed by giving up the robustness requirements and allowing processes to wait for one another.
network gates, nonblocking construction, wait free construction, asynchronous concurrent processes, real-time order, linearizable counting networks, data structures
N. Shavit, M. Herlihy and O. Waarts, "Low contention linearizable counting,"  Proceedings 32nd Annual Symposium of Foundations of Computer Science(FOCS), San Juan, Puerto Rico, 1991, pp. 526-535.