Okay, since Steve has brought this up, here's an attempt to keep the ball
rolling:
MPI was supposedly designed to allow for multi-threaded implementations; that's
supposed to be one if its advantages, right? Since we already have this, we get
non-blocking collective ops for free once threads are actually implemented. On
the other hand, it is not obvious to me that even if we do decide to implement
non-blocking collective ops, we won't still have to deal with threads at some
later time. I therefore would argue that threads are the way to go and that
special non-blocking collective ops are pretty much a waste of time.
Actually, MPI was designed to be `thread safe'. It was widely acknowledged
that designing integrated thread support was beyond the means of the committee.
Given that, my own view is that thread support would be great if it were
possible to make sufficiently generic to allow many (all) platforms to use it.
Is it the case that threads packages (either vendor supplied, or third party)
are sufficiently similar to allow this? Is the POSIX threads specification
stable and widely represented on platforms of interest?
moose
Now let's hear from someone on the other side...
--
Eric Salo Silicon Graphics Inc. "Do you know what the
(415)390-2998 2011 N. Shoreline Blvd, 7L-802 last Xon said, just
salo@sgi.com Mountain View, CA 94043-1389 before he died?"
*-----------------------------------------------------------------------------*
The opinions expressed herein are my own. They do not represent Epsilon in any
way.
Adam Greenberg
Quadruped Systems, Inc. Epsilon Data Management
68 Putnam Ave. High Performance Computing, 4th Floor
Cambridge, MA. 02139-2952 50 Cambridge St.
Burlington MA 01803-4692
617 273 2630 x6455
moose@epsilon.com