Distributed Shared Memory: To Relax or Not to Relax?

Choosing a memory consistency model is one of the main decisions in designing a Distributed Shared Memory (DSM) system. While Sequential Consistency (SC) provides a simple and intuitive programming model, relaxed consistency models allow memory accesses to be parallelized, improving runtime performance. In this article we compare the performance of two multithreaded memory coherence protocols. The first protocol implements Home-based Lazy Release Consistency (HLRC) memory semantics and the second one implements SC semantics using a MultiView (MV) memory mapping technique. This technique enables fine-grain access to shared memory while using the virtual memory hardware to track memory accesses. We perform an “apple-to-apple” comparison on the same testbed environment and benchmark suite, and investigate the effectiveness and scalability of both these protocols.

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

[2]  Assaf Schuster,et al.  Transparent adaptation of sharing granularity in MultiView‐based DSM systems , 2001, Softw. Pract. Exp..

[3]  Gabriel Antoniu,et al.  DSM-PM2: A Portable Implementation Platform for Multithreaded DSM Consistency Protocols , 2001, HIPS.

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

[5]  Angelos Bilas,et al.  Improving the performance of shared virtual memory on system area networks , 1998 .

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

[7]  Peter J. Keleher,et al.  The relative importance of concurrent writers and weak consistency models , 1996, Proceedings of 16th International Conference on Distributed Computing Systems.

[8]  Alan Heirich,et al.  ServerNet-II: a Reliable Interconnect for Scalable High Performance Cluster Computing , 1998 .

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

[10]  Alan L. Cox,et al.  TreadMarks: Distributed Shared Memory on Standard Workstations and Operating Systems , 1994, USENIX Winter.

[11]  Assaf Schuster,et al.  Multithreaded home-based lazy release consistency over VIA , 2004, 18th International Parallel and Distributed Processing Symposium, 2004. Proceedings..

[12]  Srinivasan Parthasarathy,et al.  Cashmere-2L: software coherent shared memory on a clustered remote-write network , 1997, SOSP.

[13]  Galen C. Hunt,et al.  Vm-based Shared Memory On Low-latency, Remote-memory-access Networks , 1996, Conference Proceedings. The 24th Annual International Symposium on Computer Architecture.

[14]  Kai Li,et al.  IVY: A Shared Virtual Memory System for Parallel Computing , 1988, ICPP.

[15]  Anoop Gupta,et al.  The SPLASH-2 programs: characterization and methodological considerations , 1995, ISCA.

[16]  Kourosh Gharachorloo,et al.  Shasta: a low overhead, software-only approach for supporting fine-grain shared memory , 1996, ASPLOS VII.

[17]  Michael L. Scott,et al.  Comparative evaluation of fine- and coarse-grain approaches for software distributed shared memory , 1999, Proceedings Fifth International Symposium on High-Performance Computer Architecture.

[18]  Liviu Iftode,et al.  Relaxed consistency and coherence granularity in DSM systems: a performance evaluation , 1997, PPOPP '97.