Next: Proposed joint efforts
Up: Current status
Previous: Automatic generation of MPI
MPIJ is a completely Java-based implementation of MPI which runs as part
of the Distributed Object Group Metacomputing Architecture (DOGMA)
system. Being closely based on the C++ binding, MPIJ implements a large
subset of MPI functionality including point-to-piont communication (all
modes), intracommunicator operations, groups, user-defined reduction
operations. Noteable capabilities that are not yet implemented include
process topologies, caching, intercommunicators, and user-defined
datatypes (these are arguably needed for legacy code only).
MPIJ communication uses native marshaling of primitive Java types.
This technique allows MPIJ to achieve communication speeds comparable
to, and frequently exceeding that, of native MPI implementations. (Java
communication speed would be greatly increased if native marshaling were
a core Java function.)
Current MPIJ work involves porting native marshalling to platforms
other than Win32, investigation of standard libraries (e.g. BLAS)
for improved performance, and porting to an improved version of DOGMA.