[Mpi3-rma] MPI-3 ordering semantics (was Re: mpi3-rma post from bradc at cray.com requires approval)

Pavan Balaji 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).

  -- Pavan

Pavan Balaji

More information about the mpiwg-rma mailing list