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?"