2002 International Conference on Parallel Processing Workshops (ICPPW'02)
Specifying Synchronization in Distributed Shared Memory Programs
Vancouver, B.C., Canada
August 18-August 21
ISBN: 0-7695-1680-7
The abstraction of distributed shared memory (DSM) has received considerable attention in high performance scientific computing. system. Several notions of consistency have been proposed to provide a consistent view of the shared memory. A consistency notion imposes constraints on the order in which updates to shared variables are made visible to various processes. We classify such constraints as intra-process constraints and many existing consistency notions provide flexible mechanisms to specify such constraints. We may also need to specify inter-process constraints to restrict the sequence in which updates issued by different processes are made visible. Such inter-process constraints are related to the synchronization structure of the program. In this paper, we propose the notion of invariant consistency that allows specification of such inter-process synchronization constraints. For this propose, we allow a programmer to label program operations and specify an invariant I constraining the execution of labeled operations at different processes. The implementation of invariant consistency ensures that the labeled operations are made visible in an order that satisfies I. Wealso givean implementation of invariant consistency that involves a mechanical translation of invariants to synchronization code. We show that invariant consistency simplifies programming as it eliminates application-level synchronization code to enforce inter-process constraints.