This article discusses our current work on use of object serialization to marshal arguments of MPI communication operations. It builds on earlier work on the mpiJava interface to MPI [1], which is implemented as a set of JNI wrappers to native C MPI packages for various platforms. The original implementation of mpiJava supported MPI derived datatypes, but not object types.
Section 2 reviews the parts of the API of [4] relating to derived datatypes and object serialization. Section 3 describes an implementation of automatic object serialiation in mpiJava. In section 4 we discuss benchmarks for this initial implementation. The results confirm that naive use of existing Java serialization technology does not provide the performance needed for high performance message passing environments. Section 5 illustrates how various overheads of serialization can be eliminated by customizing the object serialization stream classes. The final section relates these results to other work, and draws some conclusion.