Skip to main content
Log in

A suite of definitions for consistency criteria in distributed shared memories

un ensemble hiérarchique de définitions pour les critères de cohérence dans les mémoires distribuées partagées

  • Published:
Annales Des Télécommunications Aims and scope Submit manuscript

Abstract

A shared memory built on top of a distributed system constitutes a distributed shared memory (DSM). If a lot of protocols implementing DSMS in various contexts have been proposed, no set of homogeneous definitions has been given for the many semantics offered by these implementations. This paper provides a suite of such definitions for atomic, sequential, causal, PRAM and a few others consistency criteria. These definitions are based on a unique framework : a parallel computation is defined as a partial order on the set of read and write operations invoked by processes, and a consistency criterion is defined as a constraint on this partial order. Such an approach provides a simple classification of consistency criteria, from the more to the less constrained one. This paper can also be considered as a survey on consistency criteria for DSMS.

Résumé

Cet article présente un ensemble de critères de cohérence pour les données accédées par des processus concurrents. La cohérence atomique, la cohérence séquentielle et la cohérence causale sont plus particulièrement étudiées. Grâce à I’utilisation d’un forma-lisme unique (fondé sur la théorie des ordres partiels) pour définir ces divers critères, on montre que ceux-ci s ’imbriquent naturellement les uns dans les autres. Des protocoles implémentant ces divers critères sont également cités. Cet article peut être vu comme un survey de critères de cohérence. L’originalité de I’approche cons is te à les présenter dans unformalisme unique. Ceci permet de mieux comprendre et apprécier les points oú se situent lews similitudes et leurs différences.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. ADVE (S. V.), HILL (M. D.). Weak ordering - a new definition.Proc. 17th Annual ISCA (Int. Symposium on Computer Architecture) (1990), pp. 2-20.

  2. AFEK (Y.), BROWN (G.), MERRITT (M.). Lazy caching.ACM Transactions on Programming Languages and Systems (1993),15, n° 1, pp. 182–205.

    Article  Google Scholar 

  3. AGRAWAL (D.), CHOY (M.), LEONG (H. V.), SINGH (A.). Mixed consistency : a model for parallel programming.In Proc. 13th ACM Symposium on Principles of Dist. Computing, Los Angeles (1994), pp. 101-110.

  4. AHAMAD (M), BURNS (J. E.), HUTTO (P. W.), NEIGER (G.). Causal memory.In Proc. 5th Int. Workshop on Distributed Algorithms (WDAG-5) (1991),Springer Verlag, LNCS 579, pp. 9–30.

    Google Scholar 

  5. AHAMAD (M.), HUTTO (P. W.), NEIGER (G.), BURNS (J. E.), KOHLI (P.). Causal memory: definitions, implementations and programming.Distributed Computing (1995),9, pp. 37–49.

    Article  MathSciNet  Google Scholar 

  6. ARCHIBALD (J. L.), BAER (J. L.). Cache coherence protocols: evaluation multiprocessor simulation model.ACM Transactions on Computer Systems (1986),4, n° 4, pp. 276–298.

    Article  Google Scholar 

  7. ATTIYA (H.), WELCH (J. L.). Sequential consistency versus linearizability.ACM Transactions on Computer Systems (1994),12, n°2, pp. 91–122.

    Article  Google Scholar 

  8. ATTIYA (H.), FRIEDMAN (R.). A correctness condition for high performance multiprocessors.In Proc. 24th ACM Annual Symposium on the Theory of Computing (1992), pp. 679-690.

  9. ATTIYA (H.), CHAUDHURI (S.), FRIEDMAN (R.), WELCH (J. L.). Shared memory consistency conditions for non sequential executions : definitions and programming strategies.In Proc. 5th ACM Symposium on Parallel Algorithms and Architectures, Vale, Germany (July 1993).

  10. BAGRODIA (R. L.). Synchronization of asynchronous processes in CSP.ACM Transactions on Programming Languages and Systems (1989),11, n° 4, pp. 1053–1065.

    Article  Google Scholar 

  11. BAL (H. E.), KAASHOEK (F.), TANENBAUM (A. S.), JANSEN (J.). Replication techniques for speeding up parallel applications on distributed systems.Concurrency: Practice and Experience (1992),4, n° 5, pp. 337–355.

    Article  Google Scholar 

  12. BALDONI (R.), RAYNAL (M.). A graph-based characterization of communications modes in distributed executions.Journal of Foundations of Computing and Decision Sciences (1995),25, n° l,pp. 3–20.

    Google Scholar 

  13. BERSHAD (B. N.), ZEKAUSKAS (M. J.), SAWDON (W. A.). The Midway distributed shared memory system.Proc. of the Compcon 93 Conference (Feb. 1993), pp. 528-537.

  14. BIRMAN (K.), JOSEPH (T.). Reliable communications in the presence of failures.ACM Transactions on Computer Systems (1987),5, n° 1, pp. 47–76.

    Article  Google Scholar 

  15. BOUGé (L.). Repeated snapshots in distributed systems with synchronous communications and their implementation in CSP.Theoretical Computer Science (1987),49, pp. 145–169.

    Article  MATH  MathSciNet  Google Scholar 

  16. CHARRON-BOST (B.), MATTERN (R), TEL(G.). Synchronous and asynchronous communications in distributed systems.Tech. Report TR91.55, University of Paris 7 (Sep. 1991).

  17. GHARACHORLOO (K.), LENOSKI (D.), LAUDON (J.), GIBBONS (P.), GUPTA (A.), HENNESSEY (J.). Memory consistency and event ordering in scalable shared memory multiprocessors.Proc. 17th Annual ISCA (Int. Symposium on Computer Architecture), Seattle. WA (1990), pp. 15-26.

  18. GARCIA-MOLINA (H.), BARBARA (D.). HOW to assign votes in a distributed system?Journal of the ACM (1985),32, n° 4, pp. 841–850.

    Article  MATH  MathSciNet  Google Scholar 

  19. HERLIHY (M.), WING (J.). Linearizability: a correctness condition for concurrent objects.ACM Transactions on Programming Languages and Systems (1990),12, n° 3, pp. 463–492.

    Article  Google Scholar 

  20. HOARE (C. A. R.). Communicating sequential processes.Communications of the ACM (1978),21, n° 8, pp. 666–677.

    Article  MATH  MathSciNet  Google Scholar 

  21. KELEHER (P.), Cox (A. L.), ZWAENEPOEL (W.). Lazy release consistency for software distributed shared memory.Computer Architecture News (1992),22, n° 2, pp. 13–21.

    Article  Google Scholar 

  22. LAMPORT (L.). Time, clocks and the ordering of events in a distributed system.Communications of the ACM (1978),21, n° 7, pp. 558–565.

    Article  MATH  Google Scholar 

  23. LAMPORT (L.). HOW to make a multiprocessor computer that correctly executes multiprocess programs ?IEEE Transactions on Computers (1979),C28, n° 9, pp. 690–691.

    Article  Google Scholar 

  24. Li (K.), HUDAK (P.). Memory coherence in shared virtual memory systems.ACM Transactions on Computer Systems (1989),7, n° 4, pp. 321–359.

    Article  Google Scholar 

  25. LEVELT (W. G.), KAASHOEK (M. R), BAL (H. E.), TANENBAUM (A. S.). A comparison of two paradigms for distributed shared memory.Software Practice and Experience (1992),22, n° 11, pp. 985–1010.

    Article  Google Scholar 

  26. LIPTON (R. J.), SANDBERG (J. S.). PRAM : a scalable shared memory.Tech. Report CS-TR-180-88, Princeton University (Sep. 1988).

  27. MISRA (J.). Axioms for memory access in asynchronous hardware systems.ACM Transactions on Programming Languages and Systems (1986),8, n° 1, pp. 142–153.

    Article  MATH  Google Scholar 

  28. MIZUNO (M), RAYNAL (M.), ZHOU (J. Z.). 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. 227-241.

  29. MURTY (V. V.), GARG (V. K.). Synchronous message passing.Technical Report ECE-PDS-93-01, University of Texas at Austin, Dpt. of Elec. and Computer Engineering (1993).

  30. NITZBERG (B.), Lo (V.). Distributed shared memory: a survey of issues and algorithms.Computer (1991),24, n° 8, pp. 52–60.

    Article  Google Scholar 

  31. PAPADIMITRIOU (C). The theory of concurrency control.Computer Science Press (1986).

  32. PROTIC (J.), TOMASEVIC (M.), MILUTINOVIC (V.). A survey of distributed shared memory systems.Proc. 28th Annual Hawaii Int. Conf. on System Sciences, Vol. I (Architecture) (1995), pp. 74-84.

  33. RAYNAL (M.), SCHIPER (A.), TOUEG (S.). The causal ordering abstraction and a simple way to implement it.Information Processing Letters (1991),39, pp. 343–350.

    Article  MATH  MathSciNet  Google Scholar 

  34. RAYNAL (M.), SCHIPER (A.). From causal consistency to sequential consistency in shared memory systems.Proc. 15th Int. Conf. FST&TCS (Foundations of Software Technology and Theoretical Computer Science), Bangalore, India, Springer-Verlag LNCS Series 1026 (P. S. Thiagarajan Ed.) (Dec. 1995), pp. 180-194.

  35. SCHIPER (A.), EGGLI (J.), SANDOZ (A.). A new algorithm to implement causal ordering.In Proc. 3rd Intl. Workshop on Distributed Algorithms (WDAG-3), Springer Verlag LNCS 392 (J. C. Ber-mond and M. Raynal Eds) (1989), pp. 219-232.

  36. SONEOKA (T. S.), IBARAKI (T). Logically instantaneous message passing in asynchronous distributed systems.IEEE Transactions on Computers (1994),43, n° 5, pp. 513–527.

    Article  Google Scholar 

  37. THOMAS (R. H.). A majority consensus approach to concurrency control for multiple copies databases.ACM Transactions on Database Systems (1979),4, n° 2, pp. 180–209.

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding authors

Correspondence to Michel Raynal or André Schiper.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Raynal, M., Schiper, A. A suite of definitions for consistency criteria in distributed shared memories. Ann. Télécommun. 52, 652–661 (1997). https://doi.org/10.1007/BF02997620

Download citation

  • Received:

  • Accepted:

  • Issue Date:

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

Key words

Mots clés

Navigation