Re: Accessing whole filetypes

Rajeev Thakur (thakur@mcs.anl.gov)
Thu, 17 Apr 1997 16:26:33 -0500

In the MPI communication model, there is only one datatype passed to
a send/recv call. The smallest unit of access is this datatype and
"count" contiguous copies of this datatype are sent/received.

The equivalent model for I/O is to have one datatype describing the
file layout. That datatype represents the smallest unit of access
and some number of contiguous copies of this datatype are read/written
depending on how much was requested in the read/write call.

The type matching restriction is that the "type signature"
of the data being read/written from the file must match the "type
signature" of the data layout in memory.

"etype" adds another level of mapping in the file.
I think it exists for historical reasons (because it was always
there).

If MPI uses a one-level mapping in memory for communication, do
we have good reasons for providing a two-level mapping for I/O?
One can come up with examples where a two-level mapping is useful (for
both I/O and communication), but they are not common cases.

If someone new to MPI-IO asks me why there are both etypes and
filetypes, where filetypes also define a tiling, I'm not sure
I can give a convincing answer.

Therefore, I am in favor of eliminating etypes. It will simplify the
interface.

Rajeev