 
Summary: Polylogarithmic Concurrent Data Structures from Monotone
Circuits
James Aspnes
Hagit Attiya
Keren CensorHillel §
March 1, 2011
Abstract
The paper presents constructions of useful concurrent data structures, including max registers and
counters, with step complexity that is sublinear in the number of processes, n. This result avoids a well
known lower bound by having step complexity that is polylogarithmic in the number of values the object
can take or the number of operations applied to it.
The key step in these implementations is a method for constructing a max register, a linearizable,
waitfree concurrent data structure that supports a write operation and a read operation that returns the
largest value previously written. For fixed m, an mvalued max register is constructed from onebit
multiwriter multireader registers at a cost of at most log m atomic register operations per write or
read. An unbounded max register is constructed with cost O(min(log v, n)) to read or write a value v.
Max register are used to transform any monotone circuit into a waitfree concurrent data structure
that provides write operations setting the inputs to the circuit and a read operation that returns the value
of the circuit on the largest input values previously supplied. One application is a simple, linearizable,
waitfree counter with a cost of O(min(log n log v, n)) to perform an increment and O(min(log v, n))
