<div dir="ltr">i really wonder how a team can work on rma technologies without<div>understanding the basics of todays computer systems ?</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">2014-08-05 20:01 GMT+02:00 Dave Goodell (dgoodell) <span dir="ltr"><<a href="mailto:dgoodell@cisco.com" target="_blank">dgoodell@cisco.com</a>></span>:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="">On Aug 5, 2014, at 12:37 PM, Rolf Rabenseifner <<a href="mailto:rabenseifner@hlrs.de">rabenseifner@hlrs.de</a>> wrote:<br>

<br>
> Dave,<br>
><br>
> thank you for this helpful answer.<br>
><br>
> My question was related to<br>
><br>
>> The sentence p436:45-46<br>
>> "The order in which data is written is not<br>
>> specified unless further synchronization is used."<br>
><br>
> Your citation helps, because it tells the usual expectation:<br>
>> 1. Each CPU will always perceive its own memory accesses as occurring<br>
>> in program order.<br>
> But in the MPI Standard nothing should be expected as usual.<br>
<br>
</div>Right, since the MPI Standard is at least one more level removed from the architecture.  The behavior of an MPI program is also dependent on the behavior of the C or Fortran programming language implementation, which isn't addressed at all by the McKenney model.<br>

<br>
I think Bronis made an important, valid point earlier:<br>
> Simply put, shared memory programming without compiler<br>
> assistance is not something ordinary programmers should do.<br>
<div class=""><br>
<br>
> The text p436:43-48 may be modified into<br>
> Advice to users.<br>
> If accesses in the RMA unified model are not synchronized (with<br>
> locks or flushes, see Section 11.5.3), load and store operations might observe changes<br>
> to the memory while they are in progress. The order in which data is written is not<br>
> specified unless further synchronization is used. This might lead to inconsistent views<br>
> on memory and programs that assume that a transfer is complete by only checking<br>
> parts of the message are erroneous.<br>
> NEW: The only consistent view is that each process will always<br>
> perceive its own memory accesses as occurring in program order.<br>
> (End of advice to users.)<br>
><br>
> But one can argue that this is already expected by everyone.<br>
> In my opinion, it is better to expect on MPI shared Memory<br>
> windows only semantics that is written black on White<br>
> in the MPI Standard.<br>
<br>
</div>I'll defer to the more active members of the RMA working group on this proposed modification.  In general, I'm really not fond of the entire MPI RMA shared memory feature.  I think it is something that should have been left to a library outside of MPI, and that it's impossible to clearly specify shared memory programming behavior in the MPI Forum's vernacular.<br>

<div class="HOEnZb"><div class="h5"><br>
-Dave<br>
<br>
_______________________________________________<br>
mpiwg-rma mailing list<br>
<a href="mailto:mpiwg-rma@lists.mpi-forum.org">mpiwg-rma@lists.mpi-forum.org</a><br>
<a href="http://lists.mpi-forum.org/mailman/listinfo.cgi/mpiwg-rma" target="_blank">http://lists.mpi-forum.org/mailman/listinfo.cgi/mpiwg-rma</a><br>
</div></div></blockquote></div><br></div>