next up previous contents
Next: Rice University Up: CCDD/CCDMI Previous: Systems analyzed.   Contents

CCDMI Derivation.

For each of the four parallel runtime systems, we derived lists of calls to MPI functions. We then compared the usage patterns of each runtime system. Some parts of the MPI specification (the ``core'') were exercised by the majority of codes; these features included initialzation and finalization, basic communicator size and rank inquiry functions, basic synchronous and asynchronous send and receive, and barrier synchronization.

Other parts of MPI were used by only one or two applications, and could be omitted from the CCDMI core specification. In particular, MPI's derived datatypes impose significant overhead and do not provide significant abstraction benefits in the context of a runtime system invoked by an automated tool (an HPC compiler). Similarly, Cartesian and graph topology information, user-defined buffering, key-attribute database functions, error handlers, intercommunicators, ready sends, etc. could all safely be omitted from the CCDMI core. The resulting specification is a better match to the performance and portability requirements of HPC runtime systems than the more generic MPI standard.



Bryan Carpenter 2002-07-12