# Towards a necessary and sufficient condition for wait-free synchronization (Extended Abstract)

Conference paper

First Online:

## 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.

## Keywords

Partial Order Sequence Number Intermediate Form Read Operation Shared Object
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

## Preview

Unable to display preview. Download preview PDF.

## References

- 1.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.Google Scholar - 2.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.Google Scholar - 3.J. Anderson, “Multi-Writer Composite Registers”, submitted to
*Distributed Computing*.Google Scholar - 4.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.Google Scholar - 5.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.Google Scholar - 6.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.Google Scholar - 7.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.Google Scholar - 8.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.Google Scholar - 9.M. Herlihy, “Wait-Free Synchronization”,
*ACM Transactions on Programming Languages and Systems*, Vol. 13, No. 1, 1991, pp. 124–149.Google Scholar - 10.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.Google Scholar - 11.A. Israeli and M. Li, “Bounded Time-Stamps”,
*Proceedings of the 28th IEEE Symposium on Foundations of Computer Science*, 1987, pp. 371–382.Google Scholar - 12.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.Google Scholar - 13.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.Google Scholar - 14.L. Lamport, “On Interprocess Communication, Parts I and II”,
*Distributed. Computing*, Vol. 1, 1986, pp. 77–101.Google Scholar - 15.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.Google Scholar - 16.M. Loui, H. Abu-Amara, “Memory Requirements for Agreement Among Unreliable Asynchronous Processes”,
*Advances in Computing Research*, Vol. 4, 1987, pp. 163–183.Google Scholar - 17.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.Google Scholar - 18.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.Google Scholar - 19.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.*Google Scholar - 20.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.Google Scholar - 21.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.Google Scholar

## Copyright information

© Springer-Verlag Berlin Heidelberg 1993