This paper was presented by Jeff Squyres at the MPI Developer's
Conference (MPIDC) 2000, at Cornell University, Ithica, New York, USA.
Interoperable MPI (IMPI) is a protocol specification to allow multiple
MPI implementations to cooperate on a single MPI job.
Unlike portable MPI implementations, an IMPI-connected parallel job
allows the use of vendor-tuned message passing libraries on given
target architectures, thus potentially allowing higher levels of
performance than previously possible. Additionally, the IMPI protocol
uses a low number of connections, which may be suitable for parallel
computations across WAN distances.
The IMPI specification defines a low-level wireline protocol that MPI
implementations use to communicate with each other; each
point-to-point and collective function in MPI-1 automatically uses
this low-level protocol when communicating with a remote a MPI
When running IMPI jobs, the only change visible to the user is the
sequence of steps necessary to run the job; any correct MPI program
will run correctly under IMPI.
In this paper, we provide an overview of IMPI, describe its
incorporation into the LAM implementation of MPI, and show an example
of its use.
PDF tends to render better than postscript (for us), but both should
print equally well.