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: General Features
Up: Collective Communication for the
Previous: Implementation of Collectives
Bryan Carpenter
2003-01-23