[Mpi3-rma] Updated Proposal 1

Pavan Balaji balaji at mcs.anl.gov
Wed Dec 8 01:49:12 CST 2010

On 12/08/2010 01:14 AM, Jeff Hammond wrote:
> Yes, but Put followed by Get is ordered, so one has to round-trip
> complete the Put for the Get to make sense.

It's not necessary, though I believe that's how much networks implement it.

For example, on InfiniBand you can set a "FENCE bit" when you do a GET 
operation, which means that it'll wait for all previous PUTs to have 
finished. A simple implementation of this is to just do a FENCE 
operation, and then initiate the GET. But this *can* be more efficiently 
implemented by having the target network adapter look at the sequence 
number of the messages. If this GET message is in-order, satisfy it and 
if not send a receiver-not-ready NAK back to the sender to retry. This 
will not require a FLUSH after the previous PUT messages.

However, I don't believe this is how it is currently implemented (at 
least for Mellanox). I believe they just use the simple approach. I'm 
checking with the Mellanox folks to confirm.

But we should probably keep such optimization potential in mind?

  -- Pavan

Pavan Balaji

More information about the mpiwg-rma mailing list