[Mpi3-rma] Updated Proposal 1
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?
More information about the mpiwg-rma