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.
Preview
Unable to display preview. Download preview PDF.
References
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.
M.P. Herlihy. Wait-free synchronization. ACM TOPLAS, 13(1):124–149, 1991.
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.
M.P. Herlihy and J.M. Wing. Linearizability: A correctness condition for concurrent objects. ACM TOPLAS, 12(3):463–492, 1990.
IBM. The Power PC Architecture: A specification for a new family of RISC processors. Morgan-Kaufmann, 1994.
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.
P. Jayanti, 1998. See http://-www.cs.dartmouth.edu/~prasad.
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.
G. Kane. MIPS RISC Architecture. Prentice-Hall, Englewood Cliffs, N.J., 1989.
L. Lamport. Concurrent reading and writing. Communications of the ACM, 20(11):806–811, 1977.
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.
R. Site. Alpha Architecture Reference Manual. Digital Equipment Corporation, 1992.
Author information
Authors and Affiliations
Editor information
Rights 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