[Mpi-forum] MPI One-Sided Communication

Jeff Hammond jeff.science at gmail.com
Sat Apr 25 07:16:05 CDT 2009

Patrick and Keith,

You both make very helpful points.  Yes, I am from the Church of
One-sided, but only because I've got hundreds of papers showing that
one-sided implementations scale very well for my application and zero
papers showing scaling for two-sided.  You argue against one-sided
using the prevalence of MPI-1 use, but if you look at my field, the
exact same argument goes against MPI-1.

The reason I am trying to participate in the MPI-3 discussion is
because whenever you all finish the standard and the various
implementations, I am the one who has to develop applications with it.
 I don't know all the low-level issues, but what I want is something
that quacks like ARMCI.  If MPI-3 RMA doesn't do that, I will continue
not to use MPI.  The reason I wanted MPI-3 RMA to take over for ARMCI
is that vendors port and tune MPI first and I don't like having to
wait a year to run NWChem, etc. on the leadership-class hardware.  I
don't care what happens under the hood (active-messages versus RDMA,
etc.) as long as I can Put, Get and Accumulate without interrupting
the remote processor.

Why do almost everyone use MPI-1?  Find me a syllabus for course on
parallel computing which teaches one-sided anything.  Find me on that
doesn't teach MPI-1 exclusively.  Yes, there will be a few out
Berkeley for UPC, UIUC for Charm++, etc. but the overwhelming majority
of parallel programming education today focuses exclusively on MPI-1.
If you teach a man to fish, he will fish, not farm wheat.

I often confuse RDMA and one-sided, among other things.  I am a HPC
code developer not a hardware designer or NIC-protocol writer.  I'd
love it if someone can tell me the (accessible) book I can read to
figure these things out.  I'm willing to plead ignorance on some of
the low-level issues here if, in return, try not to claim that
everything in my field can easily be done with MPI-1, since 20 years
of papers say it can't (at least easily).  All I'm trying to say
telling me I should be using MPI-1 instead is not an argument.


Jeff Hammond
The University of Chicago

More information about the mpi-forum mailing list