Next: Java RMI
Up: Parallel and Distributed Computing
Previous: Parallel Virtual Machine (PVM)
Contents
MPI and MPJ
The Message-Passing Interface (MPI) [39] is the first
message-passing standard for programming parallel processors.
It provides a rich set of communication libraries, application topologies and
user defined data types.
Language-independent specification and language-specific (C and Fortran)
bindings are provided in the MPI standard documents.
The MPI-2 release of the standard added a C++ binding [29].
A binding of MPI for Java has not been offered and is not planned
by the MPI Forum. With the evident success of Java as a programming
language, and its inevitable use in connection with parallel as well as
distributed computing, the absence of a well-designed language-specific
binding of message-passing with Java will lead to divergent, non-portable
practices. A likely prerequisite for parallel programming in a distributed
environment is a good message passing API.
In 1998, the Message-Passing Working Group of Java Grande Forum
was formed in response to the independent development by several
groups of Java APIs for MPI-like systems. Discussion of a common API for
MPI-like Java libraries was an immediate goal. An initial draft for a common
API specification was distributed at Supercomputing '98 [14].
Minutes of meetings that held in San Francisco, Syracuse and Supercomputing '99
are available at
http://mailer.csit.fsu.edu/mailman/listinfo/java-mpi/.
To avoid confusion with standards published by the original MPI Forum (which
is not presently convening) the nascent API is now called MPJ.
Its reference implementation can be implemented two
ways. A pure Java reference implementation of that API has been
proposed, and Java wrapper to a native MPI reference implementation,
which will be discussed in section 3.4.1. We will discuss
a proposed pure Java reference implementation in section 5.5.4.
Next: Java RMI
Up: Parallel and Distributed Computing
Previous: Parallel Virtual Machine (PVM)
Contents
Bryan Carpenter
2004-06-09