Skip to Main Content
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.