Re: tabled issues for generalized requests

Eric Salo (salo@mrjones.engr.sgi.com)
Tue, 3 Dec 1996 12:56:17 -0800

> Why have blocking? Clearly you can get the blocking version by doing
> the nonblocking followed by a wait. Why did we not do this elsewhere
> in MPI? In the case of collective we didn't want all the non-blocking
> versions because then you can have multiple ones active at a time.
> Clearly this does not hold for generalized requests. In
> point-to-point I think it was to avoid needing the request argument.
> It was viewed as inconvenient in these common functions and had some
> overhead. In generalized requests, the overhead probably isn't an
> issue and the added complexity of the request argument is minimal
> compared to everything else.

I completely agree. For the point-to-point routines, performance is extremely
important. With a blocking send and/or recv, implementations have the option of
optimizing away the creation of the request object, which can be quite
expensive. It's also a more convenient form to use, especially for the recvs.

For the generalized requests, neither of these concerns are particularly
significant.

> Ok. this note is already too long. What do people think about
> limiting generalized requests to nonpersistent, nonblocking only?

Perfect!

-- 
Eric Salo         Silicon Graphics Inc.             "Do you know what the
(415)933-2998     2011 N. Shoreline Blvd, 8U-802     last Xon said, just
salo@sgi.com      Mountain View, CA   94043-1389     before he died?"