Skip to Main Content
In applications where a large array is distributed over multiple machines, the programming task is simplified if a common global indexing structure is used on all nodes. Distributed Shared Memory (DSM) can be used to achieve this. However most implementations of DSM are too general and too inefficient for this task. We present a special form of DSM, targeted specifically at numerical distributed applications. This technique decouples the two aspects of DSM systems: the global view and the consistency protocols. The global view allows a program to access each element using its global index even if only a partition of an array is allocated locally. The consistency protocol allows two copies to be synchronized, but leaves the decision of when to synchronize up to the programmer using explicit export/import primitives. The two mechanisms can be used separately or together The technique provides the advantages of easier programming, flexibility, scalability, and good performance.