The weakest reasonable memory model

A memory model is some description of how memory behaves in a parallel computer s ystem. While there is consensus that sequential consistency [Lamport 1979] is the str onge t memory model, nobody seems to have tried to identify the weakest memory model. This thesis concerns itself with precisely this problem. We cannot hope to identify the weakest memory model unless we specify a minimal s et of properties we want it to obey. In this thesis, we identify five such propertie s: completeness, monotonicity, constructibility, nondeterminism confinement, and classica lity. Constructibility is especially interesting, because a nonconstructible model ca nnot be implemented exactly, and hence every implementation necessarily supports a str onger model. One nonconstructible model is, for example, dag consistency [Blumofe et al. 1996a]. We argue (with some caveats) that if one wants the five properties, then locat ion onsistency is the weakest reasonable memory model. In location consistency, every memory location is serialized, but different locations may be serialized independe ntly. (Location consistency is sometimes called coherence [Hennessy and Patterson 1996], and our location consistency isnot the model with the same name proposed by Gao and Sarkar [1994].) We obtain these results within a computation-centric theory of memory models, w here memory models are defined independently of scheduling issues and language semantics.

[1]  Michel Dubois,et al.  Memory access buffering in multiprocessors , 1998, ISCA '98.

[2]  Brian N. Bershad,et al.  The Midway distributed shared memory system , 1993, Digest of Papers. Compcon Spring.

[3]  Arvind,et al.  λS: An implicitly parallel λ-calculus with recursive bindings, synchronization and side effects , 1998 .

[4]  G. G. Stokes "J." , 1890, The New Yale Book of Quotations.

[5]  Vivek Sarkar,et al.  On the Importance of an End-To-End View of Memory Consistency in Future Computer Systems , 1997, ISHPC.

[6]  Sarita V. Adve,et al.  Shared Memory Consistency Models: A Tutorial , 1996, Computer.

[7]  Liviu Iftode,et al.  Scope Consistency: A Bridge between Release Consistency and Entry Consistency , 1996, SPAA '96.

[8]  Vivek Sarkar,et al.  Location consistency: stepping beyond the barriers of memory coherence and serializability , 1993 .

[9]  李幼升,et al.  Ph , 1989 .

[10]  David A. Patterson,et al.  Computer Architecture: A Quantitative Approach , 1969 .

[11]  Victor Luchangco,et al.  Precedence-Based Memory Models , 1997, WDAG.

[12]  Robert D. Blumofe,et al.  Executing multithreaded programs efficiently , 1995 .

[13]  Anoop Gupta,et al.  Memory consistency and event ordering in scalable shared-memory multiprocessors , 1990, ISCA '90.

[14]  Bradley C. Kuszmaul,et al.  Cilk: an efficient multithreaded runtime system , 1995, PPOPP '95.

[15]  Matteo Frigo,et al.  An analysis of dag-consistent distributed shared-memory algorithms , 1996, SPAA '96.

[16]  R. Bellman Dynamic programming. , 1957, Science.

[17]  Leslie Lamport,et al.  How to Make a Multiprocessor Computer That Correctly Executes Multiprocess Programs , 2016, IEEE Transactions on Computers.

[18]  James R. Goodman,et al.  Cache Consistency and Sequential Consistency , 1991 .

[19]  M. Hill,et al.  Weak ordering-a new definition , 1990, [1990] Proceedings. The 17th Annual International Symposium on Computer Architecture.

[20]  Michel Dubois,et al.  Correct memory operation of cache-based multiprocessors , 1987, ISCA '87.

[21]  Christopher F. Joerg,et al.  The Cilk system for parallel multithreaded computing , 1996 .

[22]  Matteo Frigo,et al.  DAG-consistent distributed shared memory , 1996, Proceedings of International Conference on Parallel Processing.