LAM/MPI logo

LAM/MPI General User's Mailing List Archives

  |   Home   |   Download   |   Documentation   |   FAQ   |   all just in this list

From: Rusty Lusk (lusk_at_[hidden])
Date: 2001-12-08 12:21:50


A somewhat more abstract way to look at it is this: The send buffer is a
valuable resource that the application lends to the MPI implementation. The
MPI implementation is allowed to use it however it wants, *until* the
application program wants it back, presumably to reuse it. The application
tells the MPI implementation that it requires permission to re-use the buffer,
and that the implementation must finish its use of it, by calling MPI_Wait on
the request by which the loan of the buffer was made.

Regards,
Rusty Lusk

| On Sat, 8 Dec 2001, Bora Ucar wrote:
|
| > If you have time could you please explain why it is required that
| > we need to call MPI_Wait after MPI_Isend? Irecv case is needed from the
| > programmers perspective, but as a programmer I do not need to wait for the
| > completion of MPI_Isend. It is the programmers responsibility to ensure
| > the re-usage of his/her programs buffers as in the some other send modes.
| > I really want to know the MPI developers' rationale behind this.
|
| The main rational is that MPI makes no guarantee that a non-blocking send
| will make progress "in the backgroup" - an implementation can only make
| progress during calls to MPI_Test and MPI_Wait and still be a full
| conformant MPI implementation. So, a programmer must make calls to
| MPI_Test and MPI_Wait in order to make progress on the MPI_Isend.
|
| From an implementer's standpoint, it is very difficult to make progress
| "in the background" unless you have some type of threading or IPC
| mechanism. I would venture to guess (although I was not at the MPI forum
| meetings - I was still in high school ;-) that there were probably systems
| in existance at the time where it would have been nearly impossible to
| make realy progress "in the background".
|
| I would recommend reading Snir, et al. "MPI - The Complete Reference" for
| more information on MPI design. It is based off the MPI standards and
| contains many insights into design descions such as this one.
|
|
| Hope this helps,
|
| Brian
|
| --
| Brian Barrett
| LAM/MPI developer and all around nice guy
| Have a LAM/MPI day: http://www.lam-mpi.org/
|
| _______________________________________________
| This list is archived at http://www.lam-mpi.org/MailArchives/lam/
|

_______________________________________________
This list is archived at http://www.lam-mpi.org/MailArchives/lam/