Advertisement

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

  • James H. Anderson
  • Mark Moir
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 725)

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.

Unable to display preview. Download preview PDF.

References

  1. 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. 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. 3.
    J. Anderson, “Multi-Writer Composite Registers”, submitted to Distributed Computing.Google Scholar
  4. 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. 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. 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. 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. 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. 9.
    M. Herlihy, “Wait-Free Synchronization”, ACM Transactions on Programming Languages and Systems, Vol. 13, No. 1, 1991, pp. 124–149.Google Scholar
  10. 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. 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. 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. 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. 14.
    L. Lamport, “On Interprocess Communication, Parts I and II”, Distributed. Computing, Vol. 1, 1986, pp. 77–101.Google Scholar
  15. 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. 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. 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. 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. 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. 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. 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

Authors and Affiliations

  • James H. Anderson
    • 1
  • Mark Moir
    • 1
  1. 1.Department of Computer ScienceThe University of MarylandCollege ParkUSA

Personalised recommendations