<div dir="ltr">Let's make sure we are using the right language -- Unified does not guarantee that "public win == private win".  It guarantees that they are *eventually* the same, not immediately and always the same.  It is completely allowable for processes to have inconsistent views of the window (because there are cached copies of the data and buffered reads/writes).  The question we are debating is whether it is a reasonable semantic that those inconsistent views become eventually consistent without additional MPI calls by target processes.  And, if we choose to keep the "eventual" semantic that we currently have, whether any ordering imposed by other processes should be observed by the target process in load/store operations, provided that process performs no window synchronization calls.<div>
<div><br></div><div style> ~Jim.</div></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, Jul 31, 2013 at 7:30 PM, Pavan Balaji <span dir="ltr"><<a href="mailto:balaji@mcs.anl.gov" target="_blank">balaji@mcs.anl.gov</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im"><br>
On 07/31/2013 12:58 PM, Sur, Sayantan wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
On 07/31/2013 12:00 PM, Jim Dinan wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
I would bet that past Jim suggested striking the<br>
polling/eventually visibile clause and relying on window<br>
synchronization to see updates. :)<br>
</blockquote>
<br>
Yup, so did past, present, and future Pavan.  IMO, that's a useless<br>
guarantee.<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
The downside to this is that libraries like SHMEM that rely on<br>
passive progress and polling, would not be implementable on top<br>
of Unified.<br>
</blockquote>
<br>
It's pretty useless even for SHMEM, since the user doesn't know<br>
when the data is valid.  You could poll on a byte for it to turn to<br>
one, but at that point you only know about that one byte and<br>
nothing else.<br>
<br>
</blockquote>
<br>
Past Sayantan had missed this discussion, but present Sayantan does<br>
agree that "eventually" as defined is useless. But he is also<br>
confused by the guarantee given by MPI_Win_flush, that when the call<br>
returns, all previously issued RMA ops are complete locally and<br>
remotely + UNIFIED (public win == private win).<br>
</blockquote>
<br></div>
Unfortunately, that part slipped the checks of the folks who believed you need a WIN_SYNC.  So the standard is inconsistent.  We have now made a full circle and gotten back to where this email thread started :-).<div class="im HOEnZb">
<br>
<br>
-- <br>
Pavan Balaji<br>
<a href="http://www.mcs.anl.gov/~balaji" target="_blank">http://www.mcs.anl.gov/~balaji</a><br></div><div class="HOEnZb"><div class="h5">
______________________________<u></u>_________________<br>
mpi3-rma mailing list<br>
<a href="mailto:mpi3-rma@lists.mpi-forum.org" target="_blank">mpi3-rma@lists.mpi-forum.org</a><br>
<a href="http://lists.mpi-forum.org/mailman/listinfo.cgi/mpi3-rma" target="_blank">http://lists.mpi-forum.org/<u></u>mailman/listinfo.cgi/mpi3-rma</a><br>
</div></div></blockquote></div><br></div>