Skip to main content

How to share concurrent asynchronous wait-free variables

Preliminary version

  • Conference paper
  • First Online:
Automata, Languages and Programming (ICALP 1989)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 372))

Included in the following conference series:

  • 147 Accesses

Abstract

We use a structured top-down approach to develop algorithms for atomic variables shared by concurrent asynchronous wait-free processes, starting from the problem specification. By this design we obtain a better understanding of what the algorithms do, why they do it, and that they correctly implement the specification. Our main construction of a multiwriter variable directly from 1-writer 1-reader variables is the first such construction. Simplifications yield multireader algorithms and multiwriter algorithms. The complexity improves that of known algorithms, in the cases where there were any. Our algorithms are timestamp based. We use a new “shooting” technique to recycle used timestamps.

M. Li was supported in part by the National Science Foundation under Grant DCR-8606366 at Ohio State University, by Office of Naval Research Grant N00014-85-K-0445 and Army Research Office Grant DAAL03-86-K-0171 at Harvard University, and by an NSERC operating grant at York.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. B. Awerbuch, L. Kirousis, E. Kranakis and P.M.B. Vitányi, “A proof technique for register atomicity”, in: Proc. 8th Conf. Found. Software Techn. & Theoret. Comp. Sci., Lecture Notes in Computer Science, Vol. 338, pp. 286–303, Springer Verlag, 1988.

    Google Scholar 

  2. B. Bloom, “Constructing Two-writer Atomic Registers,” IEEE Transactions on Computers, 37(1988), pp. 249–259

    Article  Google Scholar 

  3. J.E. Burns and G.L. Peterson, “Constructing Multi-reader Atomic Values From Nonatomic Values”, Proc. 6th ACM Symp. on Principles of Distributed Computing, pp. 222–231, 1987.

    Google Scholar 

  4. D. Dolev and N. Shavit, Bounded concurrent time-stamp systems are constructible, Extended Abstract, January 9, 1989. (To appear in STOC-89.)

    Google Scholar 

  5. M.P. Herlihy, “Impossibility and Universality Results for Wait-Free Synchronization”, Proc. PODC, 1988.

    Google Scholar 

  6. A. Israeli and M. Li, “Bounded Time-Stamps”, Proc. 28th IEEE Symp. on Foundations of Computer Science, pp. 371–382, 1987.

    Google Scholar 

  7. M. Li, J. Tromp, and P.M.B. Vitányi, “How to share concurrent wait-free variables”, Centre for Mathematics and Computer Science, Amsterdam, March 1989, submitted.

    Google Scholar 

  8. M. Li, P.M.B. Vitányi, “A very simple construction for atomic multiwriter register”, Techn. Rept. TR-01-87, Aiken Computation Laboratory, Harvard University, November 1987.

    Google Scholar 

  9. L.M. Kirousis, E. Kranakis, P.M.B. Vitányi, “Atomic Multireader Register”, Proc. 2nd International Workshop on Distributed Computing, Amsterdam, J. van Leeuwen (ed.), Lecture Notes in Computer Science, Vol. 312, pp. 278–296, 1987.

    Google Scholar 

  10. L. Lamport, “On Interprocess Communication Parts I and II”, Distributed Computing, Vol. 1, 1986, pp. 77–101.

    Article  Google Scholar 

  11. N. Lynch and M. Tuttle, Hierarchical correctness proofs for distributed algorithms, Proc. 6th ACM Symposium on Principles of Distributed Computing, 1987.

    Google Scholar 

  12. R. Newman-Wolfe, “A Protocol for Wait-free, Atomic, Multi-Reader Shared Variables”, Proc. 6th ACM Symp. on Principles of Distributed Computing, pp. 232–248, 1987.

    Google Scholar 

  13. G.L. Peterson and J.E. Burns, “Concurrent reading while writing II: the multiwriter case”, Proc. 28th IEEE Symp. on Foundations of Computer Science, pp. 383–392, 1987.

    Google Scholar 

  14. G.L. Peterson, “Concurrent reading while writing”, ACM Transactions on Programming Languages and Systems, vol. 5, No.1, 1983, pp. 46–55.

    Article  Google Scholar 

  15. R. Schaffer, On the correctness of atomic multi-writer registers, Tech. Rept. MIT/LCS/TM-364, MIT Lab. for Computer Science, June 1988.

    Google Scholar 

  16. A.K. Singh, J.H. Anderson, M.G. Gouda, “The Elusive Atomic Register Revisited”, Proc. 6th ACM Symp. on Principles of Distributed Computing, pp. 206–221, 1987.

    Google Scholar 

  17. Vidyasankar, Converting Lamport's Regular Register to an atomic register, Information Processing Letters, 28(1988), pp. 287–290.

    Article  Google Scholar 

  18. P.M.B. Vitányi and B. Awerbuch, “Atomic Shared Register Access by Asynchronous Hardware”, Proc. 27th IEEE Symp. on Foundations of Computer Science, pp. 233–243. (Errata, Ibid., 1987.)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Giorgio Ausiello Mariangiola Dezani-Ciancaglini Simonetta Ronchi Della Rocca

Rights and permissions

Reprints and permissions

Copyright information

© 1989 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Li, M., Vitanyi, P.M.B. (1989). How to share concurrent asynchronous wait-free variables. In: Ausiello, G., Dezani-Ciancaglini, M., Della Rocca, S.R. (eds) Automata, Languages and Programming. ICALP 1989. Lecture Notes in Computer Science, vol 372. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0035779

Download citation

  • DOI: https://doi.org/10.1007/BFb0035779

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-51371-1

  • Online ISBN: 978-3-540-46201-9

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics