Skip to main content

From causal consistency to sequential consistency in shared memory systems

  • Distributed Algorithms
  • Conference paper
  • First Online:
Book cover Foundations of Software Technology and Theoretical Computer Science (FSTTCS 1995)

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

Abstract

Sequential consistency and causal consistency constitute two of the main consistency criteria used to define the semantics of accesses in the shared memory model. An execution is sequentially consistent if all processes can agree on a same legal sequential history of all the accesses; if processes perceive distinct legal sequential histories of all the accesses, the execution is only causally consistent (legality means that a read does not get an overwritten value).

This paper studies synchronization constraints that, when obeyed by operations of a given causally consistent execution, make it sequentially consistent. More precisely, the paper introduces the MSC synchronization (mixed synchronization constraint) which generalizes (1) the known DRF (data race free) and CWF (concurrent write free) synchronizations and (2) a new one called CRF (concurrent read free). The MSC synchronization allows for concurrent conflicting operations on a same object, while ensuring sequential consistency; this is particularly interesting in the context of distributed systems (where objects are possibly replicated) to cope with partition failures: conflicting operations in two distinct partitions do not necessarily block processes that issue them (as it is the case of quorum based protocols). Technically, a tag (control type) is associated with each operation, and all operations endowed with the same tag obey the same synchronization constraint.

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. Y. Afek, G. Brown, and M. Merritt. Lazy caching. ACM Trans. on Prog. Lang. and Systems, 15(1):182–205, 1993.

    Google Scholar 

  2. D. Agrawal, M. Choy, H.V. Leong and A. Singh. Mixed consistency: a model for parallel programming. In Proc. 13th ACM Symposium on Principles of Dist. Computing, Los Angeles, pages 101–110, 1994.

    Google Scholar 

  3. M. Ahamad, J.E. Burns, P.W. Hutto, and G. Neiger. Causal Memory. In Proc. 5th Intl. Workshop on Distributed Algorithms (WDAG-5), pages 9–30. Springer Verlag, LNCS 579, 1991.

    Google Scholar 

  4. M. Ahamad, P.W. Hutto, G. Neiger, J.E. Burns, and P. Kohli. Causal Memory: Definitions, Implementations and Programming. TR GIT-CC-93/55, Georgia Institute of Technology, July 94, 25p.

    Google Scholar 

  5. H. Attiya and J.L. Welch. Sequential Consistency versus Linearizability. ACM Trans. on Comp. Systems, 12(2):91–122, 1994.

    Google Scholar 

  6. H. Garcia-Molina and D. Barbara. How to assign votes in a distributed systems. Journal of the ACM, 32(4):841–850, 1985.

    Google Scholar 

  7. M. Herlihy and J. Wing. Linearizability: a correctness condition for concurrent objects. ACM Trans. on Prog. Lang. and Systems, 12(3):463–492, 1990.

    Google Scholar 

  8. L. Lamport. How to make a multiprocessor computer that correctly executes multiprocess programs. IEEE Trans. on Computers, C28(9):690–691, 1979.

    Google Scholar 

  9. J. Misra. Axioms for memory access in asynchronous hardware systems. ACM Trans. on Prog. Lang. and Systems, 8(1):142–153, 1986.

    Google Scholar 

  10. M. Mizuno, M. Raynal, and J.Z. Zhou. Sequential Consistency in Distributed Systems. Proc. Int. Workshop “Theory and Practice in Dist. Systems”, Dagstuhl, Germany, Springer-verlag LNCS 938 (K.Birman, F. Mattern and A. Schiper Eds), 1994, pp.224–241.

    Google Scholar 

  11. D. Mosberger. Memory consitency models. ACM Operating Systems Review, 27(1):18–26, 1993.

    Google Scholar 

  12. M. Raynal and A. Schiper. From causal consistency to sequential consistency in shared memory systems. INRIA Research Report 2557, May 1995, 27 pages.

    Google Scholar 

  13. M. Raynal, A. Schiper and S. Toueg. The causal ordering abstraction and a simple way to implement it. Inf. Proc. Letters, 39:343–350, 1991.

    Google Scholar 

  14. R.H. Thomas. A majority consensus approach to concurrency control for multiple copies databases. ACM Trans. on Database Systems, 4(2):180–209, 1979.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

P. S. Thiagarajan

Rights and permissions

Reprints and permissions

Copyright information

© 1995 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Raynal, M., Schiper, A. (1995). From causal consistency to sequential consistency in shared memory systems. In: Thiagarajan, P.S. (eds) Foundations of Software Technology and Theoretical Computer Science. FSTTCS 1995. Lecture Notes in Computer Science, vol 1026. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-60692-0_48

Download citation

  • DOI: https://doi.org/10.1007/3-540-60692-0_48

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-60692-5

  • Online ISBN: 978-3-540-49263-4

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics