Re: GR proposal

Rajeev Thakur (thakur@mcs.anl.gov)
Thu, 16 Jan 1997 15:56:57 -0600

I have now read the new proposal. As others pointed out, the main
differences from the current proposal are:

1. all GRs are persistent
2. the "GR template" model is no longer possible

In the interest of simplicity, I am open to the idea of not using a
template model. With the new proposal, I could implement MPI_Iwrite as
follows:

MPI_Iwrite()
{
MPI_Request_Init(...);
MPI_Start(...);
}

The user would sometime later call MPI_Test/MPI_Wait, and nothing else.

The problem is, how would the request be freed? Who would call
MPI_Request_free? The user will not, because he/she doesn't know that
a persistent request has been started. I won't be able to free it
until MPI_Finalize, and too many such requests may pile up until then.

An alternative that I suggest is to let GRs be nonpersistent, and let
MPI_Request_init take all the callback functions as well as extra
state, and actually start the nonpersistent GR. The it would
require just one function call:

MPI_Iwrite()
{
MPI_Request_Init(callback fns, extra_state, request);
}

Won't that be the simplest?

Rajeev