Professional Documents
Culture Documents
DISTRIBUTED SYST EM
T H A N G AVE L . S
MPI
Message Passing Interface (MPI) is a standardized and portable message-passing system designed
by a group of researchers from academia and industry to function on a wide variety of parallel
computing architectures.
The standard defines the syntax and semantics of a core of library routines useful to a wide range of
users writing portable message-passing programs in C, C++, and Fortran.
There are several well-tested and efficient implementations of MPI, many of which are open-source or
in the public domain. These fostered the development of a parallel software industry, and encouraged
development of portable and scalable large-scale parallel applications.
mpiJava
Syracuse University/Florida State University/Indiana University
DOGMA MPIJ
Brigham Young University
JMPI
MPI Software Technology
JavaPVM (jPVM)
Georgia Tech.
JPVM
University of Virginia
av a J
ht iw gni s s a P
e g a s s eM
JAVA MPI :
java MPI is a software package that provides
Java wrappers to a native MPI, through the Java
Native Interface.
Java RMI:
It is restrictive and overhead is
high.
(un)marshaling of data is costly
than socket
Contributors:
Overview
mpiJava features
Fully featured Java interface to MPI 1.1
Object-oriented API based on MPI 2 standard C++ interface
Initial implementation through JNI to native MPI
Comprehensive test suite translated from IBM MPI suite
Available for Solaris, Windows NT and other platforms
Commercial message-passing environment for Java
announced by MPI Software Technology.
Crawford, Dandass and Skjellum, 1997
Installing mpiJava
The current release (1.2.5) has been tested on Linux, Solaris and
AIX (SPseriesmachines).
Windows is also possible, but currently not well supported.
First you must have a native MPI installed. In general this can be
MPICH,
LAM, SunHPC or IBM MPI (SPX).
Other platforms are possible but will need work to port.
./configure, make,
PATH,
and
put
Assuming this completes successfully (you can live with a few warning
messages)try running some examples in the
mpiJava/examples/directory.
e.g, Go into mpiJava/examples/simple and try:
$ javac Hello.java
$ prunjava 2 Hello
It takes just two arguments: the number of processes to run in, and the class
MPI Exception