[Mpi3-rma] MPI-3 ordering semantics (was Re: mpi3-rma post from bradc at cray.com requires approval)
balaji at mcs.anl.gov
Sat Jun 5 10:15:15 CDT 2010
On 06/05/2010 09:47 AM, Jeff Hammond wrote:
> If unordered is an optional assert, no one will optimize for it since
> any implementor gets unordered for free with ordered.
> If ordered is the default, let's forget about unordered altogether.
> It will save those who wanted unordered the frustration of finding
> this feature to be worthless down the road.
I can't quite tell which one you are advocating.
If unordered has benefits on a platform, the implementor will optimize
it. For example, applications that will not write to the same memory
location without explicit synchronization might be OK with unordered
communication. As long as these are not just toy applications (e.g., if
GFMC and NWChem use it), implementors will optimize this mode.
Btw, someone not being able to "find" a feature is not at all good
argument for not providing it. This is especially true when MPI is used
by high-level libraries such as GA, ADLB, etc. (who are a lot more
knowledgeable about MPI) and not application writers directly (who
mainly only care about their science and not what MPI features they are
> MPI RMA implementations have a history of failing to deliver
> performance, so let us not add unordered to the list of features that
> fail to live up to their potential.
Every feature in MPI (not just RMA) that is used by applications is
optimized. The problem with MPI-2 RMA was with the semantics -- it was
too hard for applications to use; and so nothing was optimized (as
implementors knew that even if the performance was very good,
applications wouldn't use it).
More information about the mpiwg-rma