Distributed Computing

, Volume 8, Issue 3, pp 121–132 | Cite as

Atomic snapshots using lattice agreement

  • Hagit Attiya
  • Maurice Herlihy
  • Ophir Rachman
Article

Summary

Thesnapshot object is an important tool for constructing wait-free asynchronous algorithms. We relate the snapshot object to thelattice 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 usedO (log2n) operations on 2-processorTest & Set registers, plusO (n) operations on atomic single-writer multi-reader registers. The shared objects are used by the algorithm in adynamic 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-processorsTest & Set registers from atomic registers, this algorithm implies a randomized algorthm for lattice agreement that uses an expected number ofO (n) operations on (dynamic) atomic single-writer multi-reader registers. Combined with our transformation this yields implementations of atomic snapshots with the same complexity.

Key words

Atomic snapshot Lattice agreement 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Abrahamson K: On achieving consensus using a shared momory. Proceedings of the 7th ACM Symposium on Principles of Distributed Computing, August 1988, pp 291–302Google Scholar
  2. 2.
    Afek Y, Attiya H, Dolev D, Gafni E, Merritt M, Shavit N: Atomic snapshots of shared memory. J ACM 40(4) 873–890 (1993)Google Scholar
  3. 3.
    Aharonson E, Attiya H: Counting network with arbitrary fanout. Proceedings of the 3rd Annual ACM-SIAM Symposium on Discrete Algorithms. Orlando, Florida, January 1992, pp 104–113. Also: Technical Report no 679, Department of Computer Science, The Technion, Haifa, June 1991Google Scholar
  4. 4.
    Ajtai M, Komlos J, Szemeredi E: AnO (n) logn) sorting network. Proceedings of the 15th ACM Symposium on the Theory of Computing, 1–9, 1983Google Scholar
  5. 5.
    Anderson JH: Composite registers. Distrib Comput 6(3): 141–154 (1993)Google Scholar
  6. 6.
    Aspnes J: Time- and space-efficient randomized consensus. J Algorithms 14(3): 414–431 (1993)Google Scholar
  7. 7.
    Aspnes J, Herlihy MP: Fast randomized consensus using shared memory. J Algorithms 11(3) 441–461 (1990)Google Scholar
  8. 8.
    Aspnes J, Herlihy MP: Wait-free data structures in the asynchronous PRAM model. Proceedings of the 2nd Annual Symposium on Parallel Algorithms and Architectures, 1990, pp 340–349Google Scholar
  9. 9.
    Aspnes J, Herlihy MP, Shavit N: Counting networks and multiprocessor coordination. To appear in J ACM. Also: Proceedings of the 23rd Annual Symposium on Theory of Computing, 1991, pp 348–358Google Scholar
  10. 10.
    Aspnes J, Waarts O: Randomized consensus inO (n log2 n) operations per processor. Proceedings of the 33rd IEEE Symposium on Foundations of Computer Science, 1992, pp 137–146Google Scholar
  11. 11.
    Attiya H, Dolev D, Shavit N: Bounded polynomial randomized consensus. Proceedings of the 8th Annual ACM Symposium on Principles of Distributed Computing, 1989, pp 281–293Google Scholar
  12. 12.
    Attiya H, Herlihy M, Rachman O: Efficient atomic snapshots using lattice agreement. In: Segall A, Zaks S (eds) Proceedings of the 6th International Workshop on Distributed Algorithms, Haifa, Israel, November 1992. Lect Notes Comput Sci vol 647. Springer Berlin Heidelberg New York, pp 35–53. Revised version: Technical Report no 759, Department of Computer Science, The Technion, Haifa, December 1992Google Scholar
  13. 13.
    Attiya H, Lynch NA, Shavit N: Are wait-free algorithms fast? To appear in J ACM. Also: Proceedings of the 31st IEEE Symposium on Foundations of Computer Science 1990, pp 55–64Google Scholar
  14. 14.
    Attiya H, Rachman O: Atomic snapshots inO (n logn) operations. Proceedings of the 12th Annual ACM Symposium on Principles of Distributed Computing, 1993, pp 29–40. Also: Technical Report no 791, Department of Computer Science, The Technion, Haifa, December 1993Google Scholar
  15. 15.
    Chandra T, Dwork C: Using consensus to solve atomic snapshots. (manuscript, August 1992)Google Scholar
  16. 16.
    Chaudhuri S: Towards a complexity hierarchy of wait-free concurrent objects. Proceedings of the 3rd IEEE Symposium on Parallel and Distributed Processing, 1991, pp 730–737Google Scholar
  17. 17.
    Chor B, Israeli A, Li M: On processor coordination using asynchronous hardware. To appear in SIAM J Comput. Also: Proceedings of the 6th ACM Symposium on Principles of Distributed Computing, August 1987, pp 86–97Google Scholar
  18. 18.
    Chor B, Moscovici L: Solvability in asynchronous environments. Proceedings of the 30th IEEE Symposium on Foundations of Computer Science 1989, pp 422–427Google Scholar
  19. 19.
    Chor B, Nelson L: Resiliency of interactive distributed tasks. Proceedings of the 10th ACM Symposium on Principles of Distributed Computing, 1991, pp 37–49Google Scholar
  20. 20.
    Dolev D, Dwork C, Stockmeyer L: On the minimal synchrony needed for distributed consensus. J ACM 34(1): 77–97 (1987)Google Scholar
  21. 21.
    Dolev D, Shavit N: Bounded concurrent time-stamp systems are constructible. To appear in SIAM J Comput, also: Proceedings of the 21st ACM Symposium on Theory of Computing, 1989, pp 454–465Google Scholar
  22. 22.
    Dwork C, Waarts O: Simple and efficient Concurrent timestamping or bounded concurrent timestamping are comprehensible. Proceedings of the 24th ACM Symposium on Theory of Computing, 1992, pp 655–666Google Scholar
  23. 23.
    Dwork C: Personal communication, August 1991Google Scholar
  24. 24.
    Dwork C, Herlihy MP, Plotkin SA, Waarts O: Time-lapse snapshots. Proceedings of Israel Symposium on the Theory of Computing and Systems, 1992. Lect Notes Comput Sci, vol 601. Springer, Berlin Heidelberg New York, pp 151–170Google Scholar
  25. 25.
    Dwork C, Herlihy MP, Waarts O: Bounded round numbers. Proceedings of the 12th Annual ACM Symposium on Principles of Distributed Computing, 1993, pp 53–64Google Scholar
  26. 26.
    Gawlick R, Lynch N, Shavit N: Concurrent timestamping made simple. In Dolev D, Galil Z, Rodeh M (eds) Proceedings of Israel Symposium on the Theory of Computing and Systems, 1992. Lect Notes Comput Sci, vol 601. Springer, Berlin Heidelberg New York, pp 171–183Google Scholar
  27. 27.
    Herlihy M: Wait-free synchronization. ACM Trans Program Lang Syst 13(1): 124–149 (1991)Google Scholar
  28. 28.
    Herlihy M: Randomized wait-free objects. Proceedings of the 10th ACM Symposium on Principles of Distributed Computing, 1991, pp 11–21Google Scholar
  29. 29.
    Herlihy M, Tuttle M: Wait-free computation in message-passing systems. Proceedings of the 9th ACM Symposium on Principles of Distributed Computing 1990, pp 347–362Google Scholar
  30. 30.
    Herlihy M, Wing JM: Linearizability: a correctness condition for concurrent objects. ACM Trans Program Lang Syst 12(3): 463–492 (1990)Google Scholar
  31. 31.
    Inoue M, Chen W: Liner-time snapshot using multi-writer multi-reader registers. To appear in the 8th International Workshop on Distributed AlgorithmsGoogle Scholar
  32. 32.
    Israeli A, Li M: Bounded time stamps. Distrib Comput 6(4): 205–209 (1993)Google Scholar
  33. 33.
    Israeli A, Shaham A, Shirazi A: Linear-time snapshot protocols for unbalanced systems. Centre for Mathematics and Computer Science of the Mathematical Centre Foundation, Amsterdam, The Netherlands, Report CS-R9236, 1992Google Scholar
  34. 34.
    Kirousis LM, Spirakis P, Tsigas P: Reading many variables in one atomic operation: solutions with linear or sublinear complexity. In: Toueg S, Spirakis P, Kirousis L (eds) Proceedings of the 5th International Workshop on Distributed Algorithms, Delphi, Greece, October 1991. Lect Notes Comput Sci, vol 579, Springer, Berlin Heidelberg New York, pp 229–241Google Scholar
  35. 35.
    Klugerman M, Plaxton G: Small-depth counting networks. In: Proceedings of the 24th ACM Symposium on Theory of Computing, 1992, pp 417–428Google Scholar
  36. 36.
    Tromp J, Vitanyi PMB: Randomized wait-free test-and-set. (Manuscript, November 1990)Google Scholar

Copyright information

© Springer-Verlag 1995

Authors and Affiliations

  • Hagit Attiya
    • 1
  • Maurice Herlihy
    • 1
  • Ophir Rachman
    • 1
  1. 1.Computer Science Department, The TechnionHaifaIsrael

Personalised recommendations