There have been major efforts in developing programming language and compiler support for distributed memory parallel machines.
On these machines, large data arrays are typically partitioned among the local memories of individual processors. Languages
supporting such distributed arrays include Fortran D [11, 19], Vienna Fortran [6, 32], and High Performance Fortran (HPF) [21]. Many compilers for these HPF-like languages produce Single Program Multiple Data (SPMD) code, combining sequential code
for operating on each processor’s data with calls to message-passing or runtime communication primitives for sharing data
with other processors.
An extended version of this paper has been submitted to IEEE Transactions on Computers.
This research was supported by ARPA under contract No. NAG-1-1485 and NSF under contract Nos. ASC 9213821 and ASC-9624987.
Springer-Verlag Berlin Heidelberg 2001