Complexity tradeoffs for read and update operations Conference Paper uri icon


  • Recent work established that some restricted-use objects, such as max registers, counters and atomic snapshots, admit polylogarithmic step-/complexity wait-free implementations using only reads and writes: when only polynomially-many updates are allowed, reading the object (by performing a ReadMax, CounterRead or Scan operation, depending on the object's type) incurs O(log N) steps (where N is the number of processes), which was shown to be optimal. But what about the step-/complexity of update operations? With these implementations, updating the object's state (by performing a WriteMax, Counter Increment or Update operation, depending on the object's type) requires Ω(log N) steps. The question that we address in this work is the following: are there read-optimal implementations of these restricted-use objects for which the asymptotic step-/complexity of update operations is sub-logarithmic? We present tradeoffs between the step-/complexity of read and update operations on these objects, establishing that updating a read-optimal counter or snapshot incurs Ω(log N) steps. These tradeoffs hold also if compare-and-swap (CAS) operations may be used, in addition to reads and writes. We also derive a tradeoff between the step-complexities of read and update operations of M-bounded max registers: if the step-/complexity of the Read-Max operation is O(f(min(N,M))), then the step-/complexity of the Write-Max operation is Ω(log log min(N,M)/log f(min(N,M))). It follows from this tradeoff that the step-/complexity of Write-Max in any read-/optimal implementation of a max register from read, write and CAS is Ω(log log min(N,M)). On the positive side, we present a wait-free implementation of an M-bounded max register from read, write and CAS for which the step complexities of Read-Max and Write-Max operations are O(1) and O(log min(N,M)), respectively.

publication date

  • January 1, 2014