MPJ – Implementation
Between the socket API and the MPJ API there will be an intermediate “MPJ device” level – modelled on the Abstract Device Interface (ADI) of MPICH.
Although the role is slightly different here - we do not really anticipate a need for multiple platform-specific implementations - this still seems like a good layer of abstraction to have in our design.
The API is actually not modelled in detail on the MPICH device, but the level of operations is similar (based on isend/irecv/waitany calls).