Shared Memory Consistency Models: A Tutorial

The memory consistency model of a system affects performance, programmability, and portability. We aim to describe memory consistency models in a way that most computer professionals would understand. This is important if the performance-enhancing features being incorporated by system designers are to be correctly and widely used by programmers. Our focus is consistency models proposed for hardware-based shared memory systems. Most of these models emphasize the system optimizations they support, and we retain this system-centric emphasis. We also describe an alternative, programmer-centric view of relaxed consistency models that describes them in terms of program behavior, not system optimizations.

[1]  Robert Sims,et al.  Alpha architecture reference manual , 1992 .

[2]  V AdveSarita,et al.  Shared Memory Consistency Models , 1996 .

[3]  K. Gharachodoo,et al.  Memory consistency models for shared memory multiprocessors , 1996 .

[4]  Norman P. Jouppi Cache write policies and performance , 1993, ISCA '93.

[5]  Sarita V. Adve,et al.  Designing memory consistency models for shared-memory multiprocessors , 1993 .

[6]  J. Bradley Chen,et al.  Software methods for system address tracing , 1993, Proceedings of IEEE 4th Workshop on Workstation Operating Systems. WWOS-III.

[7]  David W. Wall,et al.  Link-time optimization of address calculation on a 64-bit architecture , 1994, PLDI '94.

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

[9]  Anoop Gupta,et al.  Memory consistency and event ordering in scalable shared-memory multiprocessors , 1990, [1990] Proceedings. The 17th Annual International Symposium on Computer Architecture.

[10]  Katherine A. Yelick,et al.  Optimizing Parallel SPMD Programs , 1994, LCPC.

[11]  Jeffrey C. Mogul,et al.  Observing TCP dynamics in real networks , 1992, SIGCOMM '92.

[12]  Anoop Gupta,et al.  Programming for Different Memory Consistency Models , 1992, J. Parallel Distributed Comput..

[13]  David W. Wall,et al.  Global register allocation at link time , 1986, SIGPLAN '86.

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

[15]  Ramsey W. Haddad,et al.  Recursive layout generation , 1995, Proceedings Sixteenth Conference on Advanced Research in VLSI.

[16]  W. Hamburgen,et al.  Packaging a 150-W bipolar ECL microprocessor , 1992, 1992 Proceedings 42nd Electronic Components & Technology Conference.

[17]  Joel F. Bartlett,et al.  Experience with a wireless world wide web client , 1995, Digest of Papers. COMPCON'95. Technologies for the Information Superhighway.

[18]  K. J. Richardson Component Characterization for I / O Cache Designs , 1995 .

[19]  Jean-Loup Baer,et al.  A performance study of memory consistency models , 1992, ISCA '92.

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

[21]  Francisco Corella,et al.  Specification of the powerpc shared memory architecture , 1993 .

[22]  R. Acevedo,et al.  Research report , 1967, Revista odontologica de Puerto Rico.

[23]  Jeffrey C. Mogul,et al.  Measured capacity of an Ethernet: myths and reality , 1988, CCRV.

[24]  S. McFarling Combining Branch Predictors , 1993 .

[25]  R. BoggsD.,et al.  Measured capacity of an Ethernet , 1995 .

[26]  Norman P. Jouppi,et al.  A simulation based study of TLB performance , 1992, ISCA '92.

[27]  Sarita V. Adve,et al.  An evaluation of memory consistency models for shared-memory systems with ILP processors , 1996, ASPLOS VII.

[28]  David W. Wall,et al.  Systems for Late Code Modification , 1991, Code Generation.

[29]  Jeffrey C. Mogul,et al.  Operating systems support for busy Internet servers , 1995, Proceedings 5th Workshop on Hot Topics in Operating Systems (HotOS-V).

[30]  David W. Wall,et al.  Link-Time Code Modification , 1989 .

[31]  Anoop Gupta,et al.  Hiding memory latency using dynamic scheduling in shared-memory multiprocessors , 1992, ISCA '92.

[32]  Mark D. Hill,et al.  A Unified Formalization of Four Shared-Memory Models , 1993, IEEE Trans. Parallel Distributed Syst..

[33]  Anoop Gupta,et al.  Two Techniques to Enhance the Performance of Memory Consistency Models , 1991, ICPP.

[34]  Jeffrey C. Mogul,et al.  The case for persistent-connection HTTP , 1995, SIGCOMM '95.

[35]  Scott McFarling,et al.  Procedure merging with instruction caches , 1991, PLDI '91.

[36]  Jeffrey C. Mogul Network locality at the scale of processes , 1991, SIGCOMM 1991.

[37]  W. R. Hamburgen,et al.  Precise robotic paste dot dispensing , 1989, Proceedings., 39th Electronic Components Conference.

[38]  Paul John Asente,et al.  Editing graphical objects using procedural representations , 1988 .

[39]  Anoop Gupta,et al.  Specifying system requirements for memory consistency models , 1993 .

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

[41]  Joel F. Bartlett,et al.  Ramonamap—an example of graphical groupware , 1994, UIST '94.

[42]  D. B. Davis,et al.  Sun Microsystems Inc. , 1993 .

[43]  Jeffrey C. Mogul,et al.  Fragmentation considered harmful , 1987, SIGCOMM '87.

[44]  Jeffrey C. Mogul Observing TCP dynamics in real networks , 1992, SIGCOMM 1992.

[45]  Jeremy Dion,et al.  Fast Printed Circuit Board Routing , 1987, 24th ACM/IEEE Design Automation Conference.

[46]  Norman P. Jouppi,et al.  Tradeoffs in two-level on-chip caching , 1994, ISCA '94.

[47]  C MogulJeffrey Network locality at the scale of processes , 1992 .

[48]  Anoop Gupta,et al.  Performance evaluation of memory consistency models for shared-memory multiprocessors , 1991, ASPLOS IV.

[49]  Dennis Shasha,et al.  Efficient and correct execution of parallel programs that share memory , 1988, TOPL.

[50]  B. K. Reid,et al.  The USENET cookbook—an experiment in electronic , 1989 .

[51]  William R. Hamburgen,et al.  Optimal Finned Heat Sinks , 1986 .

[52]  Amitabh Srivastava,et al.  Unreachable procedures in object-oriented programming , 1992, LOPL.

[53]  Robert N. Mayo,et al.  Boolean matching for full-custom ECL gates , 1993, ICCAD '93.

[54]  Jeffrey C. Mogul Recovery in Spritely NFS , 1994, Comput. Syst..

[55]  Jeffrey C. Mogul,et al.  A Better Update Policy , 1994, USENIX Summer.

[56]  Cathy May,et al.  The PowerPC Architecture: A Specification for a New Family of RISC Processors , 1994 .