First we outline the the API and describe various special issues that arise in Java. Implications of object serialization for the Java MPI interface are explored briefly. Difficulties due to the lack of true multidimensional arrays in Java are mentioned.
This discussion is followed by a description of an implementation of the proposed Java binding through a set of wrappers that use the Java native methods interface (JNI) to call existing MPI implementations. The virtues and problems of this implementation strategy are discussed, and results of tests and benchmarks on Solaris and Windows NT are presented.