Even more IO issues

Jeff Squyres (squyres@cse.nd.edu)
Thu, 10 Apr 1997 19:06:20 -0400

John May cited in a previous letter that MPI IO is supposed to be
layered on top of MPI-2.

If this is so, I should point out that there is no text to support this
position. If this is specifically a goal of the IO chapter, it needs to
be stated somewhere. Also, was there talk that the IO section was
"optional" to an MPI-2 implementation (I don't remember)? I ask because
on page 2, in section 1.1, it says "MPI-2 compliance will mean
compliance with all of MPI-2." This doesn't seem to imply that the IO
library can be separate.

There should also probably be a few goals listed like there are in
MPI-1, such as users are supposed to link to the library with "-liompi"
or something like that (this would make a uniform way to link to the IO
library, even for MPI implementations that do provide an IO library). I
don't have MPI-1 with me, but I seem to recall reading stuff like that
in there.

Has anyone thought how this will work with the profiling interface
requirements? One problem that I can think off offhand would be the
following situation:

A user is trying to gather stats on their program. The user links in a
profiling library and uses a bunch of MPI-IO calls in the profiling
run. What is the correct output? An example best shows this (the
numbers are completely fictional):

- The user's program invokes MPI_SEND 10 times.
- The user's program invokes MPI_WRITE 5 times.
- MPI_WRITE invokes MPI_SEND 3 times per call.
- Each MPI_SEND takes an average of 3ms.
- Each MPI_WRITE takes an average of 12ms.

What should the user see as the output from the profiler?

! Option 1: ! Option 2:
! Times called Time spent ! Times called Time spent
----------------------------------------------------------------
MPI_SEND ! 10 30ms ! 25 75ms
MPI_WRITE ! 5 60ms ! 5 60ms
----------------------------------------------------------------

Which output should be shown by the profiler? The main point being,
should the user see the overhead taken up by the calls internal to the
MPI-IO library? I don't pretend to have the answers to this, I just
bring it up for discussion.

{+} Jeff Squyres
{+} squyres@cse.nd.edu
{+} Perpetual Obsessive Notre Dame Student Craving Utter Madness
{+} "I came to Notre Dame for 4 years and ended up staying for a
decade."