> I'd like to add something that I left implicit in my previous statement. In
> addition to being "thread-safe" in the sense of not having "thread-unsafe"
> constructs such as "last message" or "last error", it is important that the
> design have no point where a busy wait MUST occur. That is, if a thread needs
> to block waiting for an operation to complete, there must be some way to
> express it in a way that does not require a busy wait. The current MPI-2
> generalized request proposal does NOT have this property. Adding an
> MPI_IO_WAIT would allow an implementation to block rather than spin in a
> thread.
>
> Note, of course, that an implementation may spin anyway, but that is a matter
> of implementation, just as Jim notes.
>
> Bill
Bill, it would be useful if you explained why, in your mind, the current
generalized request proposal of MPI2 requires spinning, rather than blocking
on a WAIT. I fail to see that. As far as I understand the issue, the
generalized request proposal admits both types of implementations. As long as
an incoming message can wake up a blocked process, in order to execute the
receive handler, there is no reason to implement generalized requests using
spin waits.
Marc Snir
IBM T.J. Watson Research Center
P.O. Box 218, Yorktown Heights, NY 10598
email: snir@watson.ibm.com
phone: 914-945-3204
fax: 914-945-4425
URL: http://www.research.ibm.com/people/s/snir