Annales Des Télécommunications

, Volume 52, Issue 11–12, pp 652–661 | Cite as

A suite of definitions for consistency criteria in distributed shared memories

  • Michel Raynal
  • André Schiper


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.

Key words

Distributed system Ressource sharing Memory Computer theory Semantics Logics relation Consistency 

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


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.

Mots clés

Système réparti Partage ressource Mémoire Informatique théorique Sémantique Relation logique Cohérence 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [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.Google Scholar
  2. [2]
    AFEK (Y.), BROWN (G.), MERRITT (M.). Lazy caching.ACM Transactions on Programming Languages and Systems (1993),15, n° 1, pp. 182–205.CrossRefGoogle Scholar
  3. [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.Google Scholar
  4. [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. [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.CrossRefMathSciNetGoogle Scholar
  6. [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.CrossRefGoogle Scholar
  7. [7]
    ATTIYA (H.), WELCH (J. L.). Sequential consistency versus linearizability.ACM Transactions on Computer Systems (1994),12, n°2, pp. 91–122.CrossRefGoogle Scholar
  8. [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.Google Scholar
  9. [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).Google Scholar
  10. [10]
    BAGRODIA (R. L.). Synchronization of asynchronous processes in CSP.ACM Transactions on Programming Languages and Systems (1989),11, n° 4, pp. 1053–1065.CrossRefGoogle Scholar
  11. [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.CrossRefGoogle Scholar
  12. [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. [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.Google Scholar
  14. [14]
    BIRMAN (K.), JOSEPH (T.). Reliable communications in the presence of failures.ACM Transactions on Computer Systems (1987),5, n° 1, pp. 47–76.CrossRefGoogle Scholar
  15. [15]
    BOUGé (L.). Repeated snapshots in distributed systems with synchronous communications and their implementation in CSP.Theoretical Computer Science (1987),49, pp. 145–169.MATHCrossRefMathSciNetGoogle Scholar
  16. [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).Google Scholar
  17. [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.Google Scholar
  18. [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.MATHCrossRefMathSciNetGoogle Scholar
  19. [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.CrossRefGoogle Scholar
  20. [20]
    HOARE (C. A. R.). Communicating sequential processes.Communications of the ACM (1978),21, n° 8, pp. 666–677.MATHCrossRefMathSciNetGoogle Scholar
  21. [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.CrossRefGoogle Scholar
  22. [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.MATHCrossRefGoogle Scholar
  23. [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.CrossRefGoogle Scholar
  24. [24]
    Li (K.), HUDAK (P.). Memory coherence in shared virtual memory systems.ACM Transactions on Computer Systems (1989),7, n° 4, pp. 321–359.CrossRefGoogle Scholar
  25. [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.CrossRefGoogle Scholar
  26. [26]
    LIPTON (R. J.), SANDBERG (J. S.). PRAM : a scalable shared memory.Tech. Report CS-TR-180-88, Princeton University (Sep. 1988).Google Scholar
  27. [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.MATHCrossRefGoogle Scholar
  28. [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.Google Scholar
  29. [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).Google Scholar
  30. [30]
    NITZBERG (B.), Lo (V.). Distributed shared memory: a survey of issues and algorithms.Computer (1991),24, n° 8, pp. 52–60.CrossRefGoogle Scholar
  31. [31]
    PAPADIMITRIOU (C). The theory of concurrency control.Computer Science Press (1986).Google Scholar
  32. [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.Google Scholar
  33. [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.MATHCrossRefMathSciNetGoogle Scholar
  34. [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.Google Scholar
  35. [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.Google Scholar
  36. [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.CrossRefGoogle Scholar
  37. [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.CrossRefGoogle Scholar

Copyright information

© Springer-Verlag 1997

Authors and Affiliations

  1. 1.IRISA, Campus de BeaulieuRennes CedexFrance
  2. 2.Dept d’lnformatiqueEPFLLausanneSwitzerland

Personalised recommendations