Towards Compliant Distributed Shared Memory

There exists a wide spectrum of coherency models for use in distributed shared memory (DSM) systems. The choice of model for an application should ideally be based on the application's data access patterns and phase changes. However, in current systems, most, if not all of the parameters of the coherency model are fixed in the underlying DSM system. This forces the application either to structure its computations to suit the underlying model or to endure an inefficient coherency model. This paper introduces a unique approach to the provision of DSM based on the idea of compliance. Compliance allows an application to specify how the system should most effectively operate through a separation between mechanism, provided by the underlying system, and policy, pro-vided by the application. This is in direct contrast with the traditional view that an application must mold itself to the hard-wired choices that its operating platform has made. The contribution of this work is the definition and implementation of an architecture for compliant distributed coherency management. The efficacy of this architecture is illustrated through a worked example.

[1]  David S. Munro,et al.  Mosaic: a non-intrusive complete garbage collector for DSM systems , 2001, Proceedings First IEEE/ACM International Symposium on Cluster Computing and the Grid.

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

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

[4]  David S. Munro,et al.  A compliant persistent architecture , 2000, Softw. Pract. Exp..

[5]  Mauricio J. Serrano,et al.  Thin locks: featherweight synchronization for Java , 1998, PLDI '98.

[6]  Alan L. Cox,et al.  A comparison of entry consistency and lazy release consistency implementations , 1996, Proceedings. Second International Symposium on High-Performance Computer Architecture.

[7]  Graham N. C. Kirby,et al.  Reflection and hyper-programming in persistent programming systems , 2010, ArXiv.

[8]  Alan L. Cox,et al.  An Evaluation of Software Distributed Shared Memory for Next-Generation Processors and Networks , 1993, ISCA 1993.

[9]  R. MayesDepartment,et al.  Trends in Operating Systems towards Dynamic User-level Policy Provision , 1994 .

[10]  Ricardo Bianchini,et al.  Efficiently adapting to sharing patterns in software DSMs , 1998, Proceedings 1998 Fourth International Symposium on High-Performance Computer Architecture.

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

[12]  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.

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

[14]  Willy Zwaenepoel,et al.  Techniques for reducing consistency-related communication in distributed shared-memory systems , 1995, TOCS.

[15]  Alan L. Cox,et al.  Adaptive protocols for software distributed shared memory , 1999 .

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

[17]  Mauricio J. Serrano,et al.  Thin locks: featherweight Synchronization for Java , 2004, SIGP.