SSP 1995 project summary:
Datatype checking in Cray T3D native MPI
[EPCC home] [SSP home] [2001 projects] [2000 projects] [1999 projects] [1998 projects] [1997 projects] [1996 projects] [1995 projects] [1994 projects] [1993 projects]

The goal of the Message Passing Interface (MPI), simply stated, is to develop a widely used standard for writing message-passing programs. MPI provides a rich interface supporting datatyping of messages. This allows the user to specify messages of arbitary complexity.

An efficient native implementation of MPI has been developed for the Cray T3D. It provides the full MPI interface using a mixture of intrinsics and shared memory library calls. All previous versions of MPI native to the T3D had no message datatype checking. It was felt that the overhead associated with this was not compatible with the efficiency goals of the development. It was expected that MPI-based code would be developed and debugged on another machine and then production runs would use the T3D. Although this is generally true some bugs may only show up with production scale data. Extending the implementation to check datatypes would therefore be a useful addition to the functionality.

This project incorporated run-time structural datatype checking into the latest Cray T3D version of MPI. It had three primary goals:

  1. to implement datatype checking with a minimal of overhead
  2. to allow full structural type checking based on every datatype's fundamental type
  3. to write removable code to facilitate the compilation of an MPI library without any datatype checking
All goals have been satisfied by using distributed global tables to store datatype information. Each datatype is associated with a globally unique integer handle. This design minimizes the overhead on each send and receive operation to be only an integer assignment and integer comparison. This project has added full run-time structural datatype checking to the MPI library with no significant overhead.

Jason Hunter worked on this project.

Compressed PostScript of the project's final report is available here (180154 bytes) .

Webpage maintained by mario@epcc.ed.ac.uk