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 (log2 n) 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.
Similar content being viewed by others
References
Abrahamson K: On achieving consensus using a shared momory. Proceedings of the 7th ACM Symposium on Principles of Distributed Computing, August 1988, pp 291–302
Afek Y, Attiya H, Dolev D, Gafni E, Merritt M, Shavit N: Atomic snapshots of shared memory. J ACM 40(4) 873–890 (1993)
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 1991
Ajtai M, Komlos J, Szemeredi E: AnO (n) logn) sorting network. Proceedings of the 15th ACM Symposium on the Theory of Computing, 1–9, 1983
Anderson JH: Composite registers. Distrib Comput 6(3): 141–154 (1993)
Aspnes J: Time- and space-efficient randomized consensus. J Algorithms 14(3): 414–431 (1993)
Aspnes J, Herlihy MP: Fast randomized consensus using shared memory. J Algorithms 11(3) 441–461 (1990)
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–349
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–358
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–146
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–293
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 1992
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–64
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 1993
Chandra T, Dwork C: Using consensus to solve atomic snapshots. (manuscript, August 1992)
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–737
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–97
Chor B, Moscovici L: Solvability in asynchronous environments. Proceedings of the 30th IEEE Symposium on Foundations of Computer Science 1989, pp 422–427
Chor B, Nelson L: Resiliency of interactive distributed tasks. Proceedings of the 10th ACM Symposium on Principles of Distributed Computing, 1991, pp 37–49
Dolev D, Dwork C, Stockmeyer L: On the minimal synchrony needed for distributed consensus. J ACM 34(1): 77–97 (1987)
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–465
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–666
Dwork C: Personal communication, August 1991
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–170
Dwork C, Herlihy MP, Waarts O: Bounded round numbers. Proceedings of the 12th Annual ACM Symposium on Principles of Distributed Computing, 1993, pp 53–64
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–183
Herlihy M: Wait-free synchronization. ACM Trans Program Lang Syst 13(1): 124–149 (1991)
Herlihy M: Randomized wait-free objects. Proceedings of the 10th ACM Symposium on Principles of Distributed Computing, 1991, pp 11–21
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–362
Herlihy M, Wing JM: Linearizability: a correctness condition for concurrent objects. ACM Trans Program Lang Syst 12(3): 463–492 (1990)
Inoue M, Chen W: Liner-time snapshot using multi-writer multi-reader registers. To appear in the 8th International Workshop on Distributed Algorithms
Israeli A, Li M: Bounded time stamps. Distrib Comput 6(4): 205–209 (1993)
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, 1992
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–241
Klugerman M, Plaxton G: Small-depth counting networks. In: Proceedings of the 24th ACM Symposium on Theory of Computing, 1992, pp 417–428
Tromp J, Vitanyi PMB: Randomized wait-free test-and-set. (Manuscript, November 1990)
Author information
Authors and Affiliations
Additional information
Cambridge Research Laboratory, Digital Equipment Corporation
Hagit Attiya received the B.Sc. degreeiin Mathematics and Computer Science from the Hebrew University of Jerusalem, in 1981, the M.Sc. and Ph.D. degrees in Computer Science from the Hebrew University of Jerusalem, in 1983 and 1987, respectively. She is presently a senior lecturer at the departtment of Computer Science at the Technion, Israel Institute of Technology. Prior to this, she has been a post-doctoral research associate at the Laboratory for Computer Science at M.I.T. Her general research interests are distributed computation and theoretical computer science. More specific interests include fault-tolerance, timing-based and asynchronous algorithms.
Maurice Herlihy received the A.B. degree in Mathematics from Harvard University, and the M.S. and the Ph.D. degrees in Computer Science from M.I.T. From 1984 to 1989 he was a faculty member in the Computer Science Department at Carnegie Mellon University in Pittsburgh, PA. In 1989 he joined the research staff at the Digital Equipment Corporation's Cambridge Research Laboratory in Cambridge MA. Since 1994, he has been on the faculty at the Computer Science Department at Brown University. Dr. Herlihy's research interests encompass practical and theoretical aspects of distributed and concurrent computation.
Ophir achman received a B.A. in computer science from the Technion, Haifa, Israel in 1989 and M.Sc. in computer science from the Technion, Haifa, Israel, in 1992. He is now studying for a D.Sc. in computer science at the Technion. His currentarea of research is distributed computing, and in particular, asynchronous shared memory systems.
This work appeared in preliminary form in proceedings ofthe 6th International Workshop on Distributed Algorithms [12]. This research was partially supported by grant No. 92-0233 from the United States-Israel Binational Science Foundation (BSF), Jerusalem, Technion V.P.R. funds — B. and G. Greenberg Research Fund (Ottawa), and the fund for the promotion of research in the Technion
Part of the work of this author was performed while visiting DEC Cambridge Research Laboratory
Rights and permissions
About this article
Cite this article
Attiya, H., Herlihy, M. & Rachman, O. Atomic snapshots using lattice agreement. Distrib Comput 8, 121–132 (1995). https://doi.org/10.1007/BF02242714
Received:
Accepted:
Issue Date:
DOI: https://doi.org/10.1007/BF02242714