Shared memory and distributed shared memory systems: A survey

Publisher Summary This chapter illustrates distributed shared memory (DSM) systems that are intended to combine the ease of programming of the shared-memory model with the scalability of the distributed-memory system. DSM systems aim to unify parallel processing systems that rely on message passing with the shared-memory systems. The chapter explores the design space for such systems and includes descriptions of both hardware- and software-supported DSM systems. The implementation prototypes of some of the systems are based on older technology and older software designs, making them appear to perform poorly.

[1]  Donald Yeung,et al.  The MIT Alewife Machine , 1999, Proc. IEEE.

[2]  Robbert van Renesse,et al.  Experiences with the Amoeba distributed operating system , 1990, CACM.

[3]  Anoop Gupta,et al.  The Stanford Dash multiprocessor , 1992, Computer.

[4]  Edward S. Davidson,et al.  KSR1 multiprocessor: analysis of latency hiding techniques in a sparse solver , 1993, [1993] Proceedings Seventh International Parallel Processing Symposium.

[5]  James K. Archibald,et al.  Cache coherence protocols: evaluation using a multiprocessor simulation model , 1986, TOCS.

[6]  Gordon Bell,et al.  C.mmp: a multi-mini-processor , 1972, AFIPS '72 (Fall, part II).

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

[8]  Michael J. Flynn,et al.  Very high-speed computing systems , 1966 .

[9]  Anant Agarwal,et al.  Directory-based cache coherence in large-scale multiprocessors , 1990, Computer.

[10]  John K. Bennett,et al.  Brazos: a third generation DSM system , 1997 .

[11]  J. Rothnie,et al.  The KSR 1: bridging the gap between shared memory and MPPs , 1993, Digest of Papers. Compcon Spring.

[12]  T. Joe,et al.  Evaluating the memory overhead required for COMA architectures , 1994, Proceedings of 21 International Symposium on Computer Architecture.

[13]  Shreekant S. Thakkar,et al.  Synchronization algorithms for shared-memory multiprocessors , 1990, Computer.

[14]  John K. Bennett,et al.  Using multicast and multithreading to reduce communication in software DSM systems , 1998, Proceedings 1998 Fourth International Symposium on High-Performance Computer Architecture.

[15]  Erik Hagersten,et al.  DDM - A Cache-Only Memory Architecture , 1992, Computer.

[16]  Willy Zwaenepoel,et al.  Munin: distributed shared memory based on type-specific memory coherence , 1990, PPOPP '90.

[17]  Lawrence C. Stewart,et al.  Firefly: a multiprocessor workstation , 1987, IEEE Trans. Computers.

[18]  Henri E. Bal,et al.  Orca: A Language For Parallel Programming of Distributed Systems , 1992, IEEE Trans. Software Eng..

[19]  Donald Yeung,et al.  Sparcle: an evolutionary processor design for large-scale multiprocessors , 1993, IEEE Micro.

[20]  Sarita V. Adve,et al.  Recent advances in memory consistency models for hardware shared memory systems , 1999, Proc. IEEE.

[21]  Kirk L. Johnson,et al.  CRL: high-performance all-software distributed shared memory , 1995, SOSP.

[22]  D. Lenoski,et al.  The SGI Origin: A ccnuma Highly Scalable Server , 1997, Conference Proceedings. The 24th Annual International Symposium on Computer Architecture.

[23]  Bruce Walker,et al.  The LOCUS distributed operating system , 1983, SOSP '83.

[24]  Anoop Gupta,et al.  The directory-based cache coherence protocol for the DASH multiprocessor , 1990, ISCA '90.

[25]  Michael L. Scott,et al.  Algorithms for scalable synchronization on shared-memory multiprocessors , 1991, TOCS.

[26]  Alexander V. Veidenbaum,et al.  A version control approach to Cache coherence , 1989, ICS '89.

[27]  Alan L. Cox,et al.  Lazy release consistency for software distributed shared memory , 1992, ISCA '92.

[28]  R. Sarnath,et al.  Proceedings of the International Conference on Parallel Processing , 1992 .

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

[30]  Henri E. Bal,et al.  Performance evaluation of the Orca shared-object system , 1998, TOCS.

[31]  David V. James The Scalable Coherent Interface: scaling to high-performance systems , 1994, Proceedings of COMPCON '94.

[32]  Alan L. Cox,et al.  TreadMarks: shared memory computing on networks of workstations , 1996 .

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

[34]  David Chaiken,et al.  The Alewife CMMU: Addressing the Multiprocessor Communications Gap , 1994 .

[35]  Mateo Valero,et al.  Multiple-banked register file architectures , 2000, Proceedings of 27th International Symposium on Computer Architecture (IEEE Cat. No.RS00201).

[36]  Greg Thiel,et al.  LOCUS a network transparent, high reliability distributed system , 1981, SOSP.

[37]  Roy Friedman,et al.  MILLIPEDE: Easy Parallel Programming in Available Distributed Environments , 1997 .

[38]  Willy Zwaenepoel,et al.  Implementation and performance of Munin , 1991, SOSP '91.

[39]  Brett D. Fleisch,et al.  Mirage: a coherent distributed shared memory design , 1989, SOSP '89.

[40]  Thomas E. Anderson,et al.  The Performance of Spin Lock Alternatives for Shared-Memory Multiprocessors , 1990, IEEE Trans. Parallel Distributed Syst..

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

[42]  Assaf Schuster,et al.  MultiView and Millipage — fine-grain sharing in page-based DSMs , 1999, OSDI '99.

[43]  A. Gupta,et al.  The Stanford FLASH multiprocessor , 1994, Proceedings of 21 International Symposium on Computer Architecture.

[44]  H. Cheong,et al.  A cache coherence scheme with fast selective invalidation , 1988, [1988] The 15th Annual International Symposium on Computer Architecture. Conference Proceedings.

[45]  Alexander V. Veidenbaum,et al.  A Compiler-Assisted Cache Coherence Solution for Multiprcessors , 1986, ICPP.

[46]  Marco Fillo,et al.  Architecture and implementation of MEMORY CHANNEL 2 , 1997 .

[47]  Alan L. Cox,et al.  Combining compile-time and run-time support for efficient software distributed shared memory , 1999 .

[48]  Mark D. Hill,et al.  Weak ordering—a new definition , 1998, ISCA '98.