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.
Similar content being viewed by others
References
ADVE (S. V.), HILL (M. D.). Weak ordering - a new definition.Proc. 17th Annual ISCA (Int. Symposium on Computer Architecture) (1990), pp. 2-20.
AFEK (Y.), BROWN (G.), MERRITT (M.). Lazy caching.ACM Transactions on Programming Languages and Systems (1993),15, n° 1, pp. 182–205.
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.
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.
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.
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.
ATTIYA (H.), WELCH (J. L.). Sequential consistency versus linearizability.ACM Transactions on Computer Systems (1994),12, n°2, pp. 91–122.
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.
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).
BAGRODIA (R. L.). Synchronization of asynchronous processes in CSP.ACM Transactions on Programming Languages and Systems (1989),11, n° 4, pp. 1053–1065.
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.
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.
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.
BIRMAN (K.), JOSEPH (T.). Reliable communications in the presence of failures.ACM Transactions on Computer Systems (1987),5, n° 1, pp. 47–76.
BOUGé (L.). Repeated snapshots in distributed systems with synchronous communications and their implementation in CSP.Theoretical Computer Science (1987),49, pp. 145–169.
CHARRON-BOST (B.), MATTERN (R), TEL(G.). Synchronous and asynchronous communications in distributed systems.Tech. Report TR91.55, University of Paris 7 (Sep. 1991).
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.
GARCIA-MOLINA (H.), BARBARA (D.). HOW to assign votes in a distributed system?Journal of the ACM (1985),32, n° 4, pp. 841–850.
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.
HOARE (C. A. R.). Communicating sequential processes.Communications of the ACM (1978),21, n° 8, pp. 666–677.
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.
LAMPORT (L.). Time, clocks and the ordering of events in a distributed system.Communications of the ACM (1978),21, n° 7, pp. 558–565.
LAMPORT (L.). HOW to make a multiprocessor computer that correctly executes multiprocess programs ?IEEE Transactions on Computers (1979),C28, n° 9, pp. 690–691.
Li (K.), HUDAK (P.). Memory coherence in shared virtual memory systems.ACM Transactions on Computer Systems (1989),7, n° 4, pp. 321–359.
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.
LIPTON (R. J.), SANDBERG (J. S.). PRAM : a scalable shared memory.Tech. Report CS-TR-180-88, Princeton University (Sep. 1988).
MISRA (J.). Axioms for memory access in asynchronous hardware systems.ACM Transactions on Programming Languages and Systems (1986),8, n° 1, pp. 142–153.
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.
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).
NITZBERG (B.), Lo (V.). Distributed shared memory: a survey of issues and algorithms.Computer (1991),24, n° 8, pp. 52–60.
PAPADIMITRIOU (C). The theory of concurrency control.Computer Science Press (1986).
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.
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.
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.
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.
SONEOKA (T. S.), IBARAKI (T). Logically instantaneous message passing in asynchronous distributed systems.IEEE Transactions on Computers (1994),43, n° 5, pp. 513–527.
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.
Author information
Authors and Affiliations
Corresponding authors
Rights 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
Received:
Accepted:
Issue Date:
DOI: https://doi.org/10.1007/BF02997620