This thesis presents high-performance, portable and efficient
techniques for communication between parallel programs
written using the Message Passing Interface (MPI) libraries
and High Performance Fortran (HPF).
Our techniques, communication with UNIX sockets,
communication with MPI, and communication using shared
memory, have been tested and evaluated on a distributed
memory machine (IBM SP-2), shared memory machines (HP
Exemplar, SGI Origin 2000) and the Globus metacomputing
toolkit. The characteristics of the techniques on each
platform are discussed.
We believe our techniques are useful for integrating existing
MPI and HPF codes. In addition, MPI-HPF communication
will be useful, where a mixture of data and task parallelism
is desired. This is because MPI is popularly used for
implementing task parallelism and HPF is an effective
language for implementing data parallel applications. The
behavior and integration of application codes with our
communication techniques is also presented in this thesis.