Atomic snapshots using lattice agreement

  • Authors:
  • Hagit Attiya;Maurice Herlihy;Ophir Rachman

  • Affiliations:
  • Computer Science Department, The Technion, Haifa 32000, Israel and DEC Cambridge Research Laboratory;Cambridge Research Laboratory, Digital Equipment Corporation;Computer Science Department, The Technion, Haifa 32000, Israel

  • Venue:
  • Distributed Computing
  • Year:
  • 1995

Quantified Score

Hi-index 0.00

Visualization

Abstract

The snapshot object is an important tool for constructing wait-free asynchronous algorithms. We relate the snapshot object to the lattice agreement decision problem. It is shown that any algorithm for solving lattice agreement can be transformed into an implementation of a snapshot object. The overhead cost of this transformation is only a linear number of read and write operations on atomic single-writer multi-reader registers. The transformation uses an unbounded amount of shared memory. We present a deterministic algorithm for lattice agreement that used O(log2 n) operations on 2-processor Test & Set registers, plus O(n) operations on atomic single-writer multi-reader registers. The shared objects are used by the algorithm in a dynamic mode, that is, the identity of the processors that access each of the shared objects is determined dynamically during the execution of the algorithm. By a randomized implementation of 2-processors Test & Set registers from atomic registers, this algorithm implies a randomized algorithm for lattice agreement that uses an expected number of O(n) operations on (dynamic) atomic single-writer multi-reader registers. Combined with our transformation this yields implementations of atomic snapshots with the same complexity.