next up previous
Next: General Features Up: Collective Communication for the Previous: Implementation of Collectives


mpjdev

The mpjdev API is designed with the goal that it can be implemented portably on network platforms and efficiently on parallel hardware. It needs to support communication of intrinsic Java types, including primitive types, and objects. It should transfer data between the Java program and the network while keeping the overheads of the Java Native Interface as low as practical.
Figure 16: An HPJava communication stack.
3.3in1.5in./mpjdev.eps
Unlike MPI which is intended for the application developer, mpjdev is meant for library developers. Application level communication libraries like the Java version of Adlib, or MPJ [6] might be implemented on top of mpjdev. mpjdev itself may be implemented on top of Java sockets in a portable network implementation, or--on HPC platforms--through a JNI interface to a subset of MPI. The positioning of the mpjdev API is illustrated in Figure 16. The initial version of the mpjdev has been targeted to HPC platforms--through a JNI interface to a subset of MPI. A Java sockets version that will provide more portable network implementation will be added in the future.

Subsections
next up previous
Next: General Features Up: Collective Communication for the Previous: Implementation of Collectives
Bryan Carpenter 2003-01-23