Operating Systems Enhancements for Distributed Shared Memory

Publisher Summary This chapter focuses on distributed shared memory (DSM) systems supported primarily through software modifications to existing virtual memory management facilities, These DSM systems are characterized by a larger unit of sharing, typically at the page level, and are designed for loosely coupled workstation networks. The chapter discusses some of the important issues regarding design and implementation of DSM systems. It discusses techniques to reduce the latency attributable to memory coherence algorithms and the methods to reduce the communication overhead incurred by the underlying network software and hardware. It categorizes the sources of latency reduction as latency stemming from the choice of coherence semantics and the design of the coherence algorithms, latency attributable to communications overhead generated by network software and hardware, and latency because of unnecessary message-passing overhead because of large page sizes and false sharing. The chapter also discusses innovations in the design of DSM systems to minimize the impact of large page sizes and false sharing. It concludes with a summary of the lessons learned and achievements attained in performance during the past five years.

[1]  Henri E. Bal,et al.  Parallel programming using shared objects and broadcasting , 1992, Computer.

[2]  Andrew P. Black,et al.  Fine-grained mobility in the Emerald system , 1987, TOCS.

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

[4]  Umakishore Ramachandran,et al.  An implementation of distributed shared memory , 1991, Softw. Pract. Exp..

[5]  Umakishore Ramachandran,et al.  Coherence of Distributed Shared Memory: Unifying Synchronization and Data Transfer , 1989, International Conference on Parallel Processing.

[6]  Michel Dubois,et al.  Access ordering and coherence in shared memory multiprocessors , 1989 .

[7]  Brian N. Bershad,et al.  Midway : shared memory parallel programming with entry consistency for distributed memory multiprocessors , 1991 .

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

[9]  Alan L. Cox,et al.  Evaluation of release consistent software distributed shared memory on emerging network technology , 1993, ISCA '93.

[10]  Jean-Loup Baer,et al.  Proceedings of the 39th Annual International Symposium on Computer Architecture , 1983, International Symposium on Computer Architecture.

[11]  Alessandro Forin,et al.  Design, implementation, and performance evaluation of a distributed shared memory server for Mach , 1988 .

[12]  R. G. Minnich,et al.  Mether: supporting the shared memory model on computing clusters , 1993, Digest of Papers. Compcon Spring.

[13]  Yuval Tamir,et al.  Hierarchical Coherency Management for Shared Virtual Memory Multicomputers , 1992, J. Parallel Distributed Comput..

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

[15]  Nicholas Carriero,et al.  Linda in context , 1989, CACM.

[16]  Mosur Ravishankar,et al.  PLUS: a distributed shared-memory system , 1990, ISCA '90.

[17]  Ronald Minnich,et al.  Reducing host load, network load, and latency in a distributed shared memory , 1990, Proceedings.,10th International Conference on Distributed Computing Systems.

[18]  Kai Li,et al.  Shared virtual memory on loosely coupled multiprocessors , 1986 .

[19]  Bill Nitzberg,et al.  Distributed shared memory: a survey of issues and algorithms , 1991, Computer.

[20]  Divyakant Agrawal,et al.  Type-specific coherence protocols for distributed shared memory , 1992, [1992] Proceedings of the 12th International Conference on Distributed Computing Systems.

[21]  Henri E. Bal,et al.  Programming languages for distributed computing systems , 1989, CSUR.

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

[23]  Allan Gottlieb Proceedings of the 19th Annual International Symposium on Computer Architecture. Gold Coast, Australia, May 1992 , 1992, ISCA.

[24]  Michel Dubois,et al.  Memory Access Dependencies in Shared-Memory Multiprocessors , 1990, IEEE Trans. Software Eng..

[25]  Jeffrey S. Chase,et al.  The Amber system: parallel programming on a network of multiprocessors , 1989, SOSP '89.

[26]  Paul Hudak,et al.  Memory coherence in shared virtual memory systems , 1989, TOCS.

[27]  Jenq Kuen Lee,et al.  Object oriented parallel programming: experiments and results , 1991, Proceedings of the 1991 ACM/IEEE Conference on Supercomputing (Supercomputing '91).

[28]  Richard P. LaRowe,et al.  Hiding Shared Memory Reference Latency on the Galactica Net Distributed Shared Memory Architecture , 1992, J. Parallel Distributed Comput..

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

[30]  L. Iftode,et al.  Memory servers for multicomputers , 1993, Digest of Papers. Compcon Spring.

[31]  Dennis Gannon,et al.  Object-oriented parallel programming , 1995, International Conference on Software Composition.

[32]  Michael Stumm,et al.  Algorithms implementing distributed shared memory , 1990, Computer.

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

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

[35]  Kai Li,et al.  Cache coherence for shared memory multiprocessors based on virtual memory support , 1993, [1993] Proceedings Seventh International Parallel Processing Symposium.