Skip to main content

A complete and constant time wait-free implementation of CAS from LL/SC and vice versa

  • Contributed Papers
  • Conference paper
  • First Online:
Distributed Computing (DISC 1998)

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

Included in the following conference series:

Abstract

We consider three popular types of shared memory that support one of the following sets of operations: {CAS, read, write}, {LL, SC, VL, read, write}, or {RLL, RSC, read, write}. We present algorithms that, together with Moir's [Moi97], efficiently implement each shared memory above from any of the other two. Our implementations are wait-free and have constant time and space complexity. Thus, concurrent programs developed for one of the above memories can be ported to any other without incurring any increase in time complexity. Further, since our implementations are wait-free, a wait-free concurrent program remains wait-free even after porting.

This work is similar in spirit to [IR94, AM95, Moi97]. The main difference is that in these earlier works the write operation is not included in the set of implemented operations. Specifically, earlier works implement {CAS, read} from {LL, SC} and vice versa, but to our knowledge there are no existing implementations of either of {CAS, read, write} and {LL, SC, VL, read, write} from the other. Consequently, it is not possible to port concurrent programs between systems supporting {CAS, read, write} and {LL, SC, VL, read, write}. The implementations in this paper help overcome this drawback.

At first glance, adding write to the set of implemented operations might appear easy. However, there is ample evidence to suggest that simple modifications to earlier implementations do not work. Our implementations are therefore quite different from the ones in earlier works.

This work is partially supported by NSF RIA grant CCR-9410421.

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. J. Anderson and M. Moir. Universal constructions for multi-object operations. In Proceedings of the 14th Annual ACM Symposium on Principles of Distributed Computing, pages 184–194, August 1995.

    Google Scholar 

  2. M.P. Herlihy. Wait-free synchronization. ACM TOPLAS, 13(1):124–149, 1991.

    Article  Google Scholar 

  3. M. P. Herlihy and N. Shavit. The asynchronous computability theorem for t-resilient tasks. In Proceedings of the 25th ACM Symposium on Theory of Computing, pages 111–120, 1993.

    Google Scholar 

  4. M.P. Herlihy and J.M. Wing. Linearizability: A correctness condition for concurrent objects. ACM TOPLAS, 12(3):463–492, 1990.

    Article  Google Scholar 

  5. IBM. The Power PC Architecture: A specification for a new family of RISC processors. Morgan-Kaufmann, 1994.

    Google Scholar 

  6. A. Israeli and L. Rappoport. Disjoint-Access-Parallel implementations of strong shared-memory primitives. In Proceedings of the 13th Annual ACM Symposium on Principles of Distributed Computing, pages 151–160, August 1994.

    Google Scholar 

  7. P. Jayanti, 1998. See http://-www.cs.dartmouth.edu/~prasad.

    Google Scholar 

  8. E. Jensen, G. Hagensen, and J. Broughton. A new approach to exclusive data access in shared-memory multiprocessors. Technical Report Technical Report UCRL-97663, Lawrence Livermore National Laboratory, 1987.

    Google Scholar 

  9. G. Kane. MIPS RISC Architecture. Prentice-Hall, Englewood Cliffs, N.J., 1989.

    Google Scholar 

  10. L. Lamport. Concurrent reading and writing. Communications of the ACM, 20(11):806–811, 1977.

    Article  MATH  MathSciNet  Google Scholar 

  11. M. Moir. Practical implementations of non-blocking synchronization primitives. In Proceedings of the 16th Annual ACM Symposium on Principles of Distributed Computing, pages 219–228, August 1997.

    Google Scholar 

  12. R. Site. Alpha Architecture Reference Manual. Digital Equipment Corporation, 1992.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Shay Kutten

Rights and permissions

Reprints and permissions

Copyright information

© 1998 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Jayanti, P. (1998). A complete and constant time wait-free implementation of CAS from LL/SC and vice versa. In: Kutten, S. (eds) Distributed Computing. DISC 1998. Lecture Notes in Computer Science, vol 1499. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0056485

Download citation

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

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-65066-9

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

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics