Specified in MPI by starting address, datatype, and
count, where datatype is:
-- elementary (all C and Fortran datatypes)
-- contiguous array of datatypes
-- strided blocks of datatypes
-- indexed array of blocks of datatypes
-- general structure
Datatypes are constructed recursively.
Specifications of elementary datatypes allows heterogeneous
communication.
Elimination of length in favor of count is clearer.
Specifying application-oriented layout of data allows maximal use of
special hardware.