Abstract
We define a class of shared objects called snapshot objects, and give a necessary and sufficient condition for the existence of a waitfree implementation of such objects from atomic registers. Snapshot objects can be accessed by means of a read operation that returns the entire object state, or by a set of operations that do not return values. Our condition for the existence of a wait-free implementation requires that for any pair of operation invocations, either the two invocations commute or one overwrites the other.
Work supported, in part, by NSF Contract CCR 9109497 and by the Center of Excellence in Space Data and Information Sciences.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Y. Afek, H. Attiya, D. Dolev, E. Gafni, M. Merritt, and N. Shavit, “Atomic Snapshots of Shared Memory”, Proceedings of the Ninth Annual Symposium on Principles of Distributed Computing, 1990, pp. 1–14.
J. Anderson, “Composite Registers”, Distributed Computing, Vol. 6, 1993, pp. 141–154. Preliminary version appeared in Proceedings of the Ninth Annual Symposium on Principles of Distributed Computing, 1990, pp. 15–30.
J. Anderson, “Multi-Writer Composite Registers”, submitted to Distributed Computing.
J. Anderson and M. Gouda, “A Criterion for Atomicity”, Formal Aspects of Computing: The International Journal of Formal Methods, Vol. 4, No. 3, May 1992, pp. 273–298.
J. Anderson and B. Grošelj, “Beyond Atomic Registers: Bounded Wait-Free Implementations of Nontrivial Objects”, Science of Computer Programming, 1992, pp. 192–237. Preliminary version appeared as “Pseudo Read-Modify-Write Operations: Bounded Wait-Free Implementations”, Proceedings of the Fifth International Workshop on Distributed Algorithms, Lecture Notes in Computer Science 579, Springer-Verlag, October 1991, pp. 52–70.
J. Aspnes and M. Herlihy, “Wait-Free Data Structures in the Asynchronous PRAM Model”, Proceedings of the Second Annual ACM Symposium on Parallel Architectures and Algorithms, July, 1990.
B. Bloom, “Constructing Two-Writer Atomic Registers”, IEEE Transactions on Computers, Vol. 37, No. 12, December 1988, pp. 1506–1514. Also appeared in Proceedings of the Sixth Annual Symposium on Principles of Distributed Computing, 1987, pp. 249–259.
J. Burns and G. Peterson, “Constructing Multi-Reader Atomic Values from Non-Atomic Values”, Proceedings of the Sixth Annual Symposium on Principles of Distributed Computing, 1987, pp. 222–231.
M. Herlihy, “Wait-Free Synchronization”, ACM Transactions on Programming Languages and Systems, Vol. 13, No. 1, 1991, pp. 124–149.
M. Herlihy and J. Wing, “Linearizability: A Correctness Condition for Concurrent Objects”, ACM Transactions on Programming Languages and Systems, Vol. 12, No. 3, 1990, pp. 463–492.
A. Israeli and M. Li, “Bounded Time-Stamps”, Proceedings of the 28th IEEE Symposium on Foundations of Computer Science, 1987, pp. 371–382.
L. Kirousis, E. Kranakis, and P. Vitanyi, “Atomic Multireader Register”, Proceedings of the Second International Workshop on Distributed Computing, Springer Verlag Lecture Notes in Computer Science 312, 1987, pp. 278–296.
L. Kirousis, P. Spirakis, and P. Tsigas, “Reading Many Variables in One Atomic Operation: Solutions with Linear or Sublinear Complexity”, Proceedings of the Fifth International Workshop on Distributed Algorithms, Lecture Notes in Computer Science 579, Springer-Verlag, October 1991, pp. 229–241.
L. Lamport, “On Interprocess Communication, Parts I and II”, Distributed. Computing, Vol. 1, 1986, pp. 77–101.
M. Li, J. Tromp, and P. Vitanyi, “How to Construct Wait-Free Variables”, Proceedings of International Colloquium on Automata, Languages, and Programming, Lecture Notes in Computer Science 372, Springer Verlag, 1989, pp. 488–505.
M. Loui, H. Abu-Amara, “Memory Requirements for Agreement Among Unreliable Asynchronous Processes”, Advances in Computing Research, Vol. 4, 1987, pp. 163–183.
R. Newman-Wolfe, “A Protocol for Wait-Free, Atomic, Multi-Reader Shared Variables”, Proceedings of the Sixth Annual Symposium on Principles of Distributed Computing, 1987, pp. 232–248.
G. Peterson and J. Burns, “Concurrent Reading While Writing II: The Multi-Writer Case”, Proceedings of the 28th Annual Symposium on Foundations of Computer Science, 1987.
A. Singh, J. Anderson, and M. Gouda, “The Elusive Atomic Register, Revisited”, Proceedings of the Sixth Annual Symposium on Principles of Distributed Computing, 1987, pp. 206–221. Expanded version to appear in Journal of the ACM.
J. Tromp, “How to Construct an Atomic Variable”, Proceedings of the Third International Workshop on Distributed Algorithms, Lecture Notes in Computer Science 392, Springer Verlag, 1989, pp. 292–302.
P. Vitanyi and B. Awerbuch, “Atomic Shared Register Access by Asynchronous Hardware”, Proceedings of the 27th IEEE Symposium on the Foundations of Computer Science, 1986, pp. 233–243.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1993 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Anderson, J.H., Moir, M. (1993). Towards a necessary and sufficient condition for wait-free synchronization (Extended Abstract). In: Schiper, A. (eds) Distributed Algorithms. WDAG 1993. Lecture Notes in Computer Science, vol 725. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-57271-6_26
Download citation
DOI: https://doi.org/10.1007/3-540-57271-6_26
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-57271-8
Online ISBN: 978-3-540-48029-7
eBook Packages: Springer Book Archive