Coherence, Synchronization and State-sharing in Distributed Shared-memory Applications

Distributed shared memory consistency protocols suffer from poor performance due their lack of application spe cific knowledge which can be exploited in message passing systems. Explicit synchronization can be used in mem ory coherence activities to realize the benefits of applica tion specific information if the user is allowed to associate data with synchronization operations. In this paper, we present a refinement of synchronization and data sharing patterns and identify attributes that can be used to asso ciate data with suitably modified synchronization primi tives. We present modifications for semaphores, read-write locks, and barriers which can be used to implement a va riety of interaction patterns including mutual exclusion, producers-consumers, readers-writers etc. We claim that the performance of applications programmed using shared memory can be comparable to their message passing imple mentation which use intermediary entities such as mail boxes. On the other hand, programming is easier with our system, since it allows for richer patterns of interaction than when directly using low-level messages.

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

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

[3]  Mustaque Ahamad,et al.  Implementing and programming causal distributed shared memory , 1991, [1991] Proceedings. 11th International Conference on Distributed Computing Systems.

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

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

[6]  Mustaque Ahamad,et al.  Application specific coherence control for high performance distributed shared memory , 1992 .

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

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

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

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

[11]  John B. Shoven,et al.  I , Edinburgh Medical and Surgical Journal.

[12]  Masaaki Mizuno,et al.  A DAG-based algorithm for distributed mutual exclusion , 1991, [1991] Proceedings. 11th International Conference on Distributed Computing Systems.

[13]  Kerry Raymond,et al.  A tree-based algorithm for distributed mutual exclusion , 1989, TOCS.