<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">I agree: I'd rather not have any more memory models, and we should make Unified do what we intended.  The change isn't going to affect any current users, so treating it as an errata makes sense.<div><br></div><div>Bill</div><div><br><div>
<span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><div style="font-size: 12px; ">William Gropp</div><div style="font-size: 12px; ">Director, Parallel Computing Institute</div><div style="font-size: 12px; ">Deputy Director for Research</div><div style="font-size: 12px; ">Institute for Advanced Computing Applications and Technologies</div></div></div></span><span class="Apple-style-span" style="font-size: 12px; ">Thomas M. Siebel Chair in Computer Science</span><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><div style="font-size: 12px; ">University of Illinois Urbana-Champaign</div></div><div><br></div></div></span><br class="Apple-interchange-newline"></span><br class="Apple-interchange-newline">
</div>
<br><div><div>On Aug 15, 2013, at 11:26 AM, Pavan Balaji wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div><br>Before I go out and start writing up the text for this, are there other comments on this?<br><br>Keith/Torsten/Jeff/Bill/Rajeev: thoughts?<br><br>On 08/06/2013 10:09 AM, Barrett, Brian W wrote:<br><blockquote type="cite">On 8/6/13 7:30 AM, "Jim Dinan" <<a href="mailto:james.dinan@gmail.com">james.dinan@gmail.com</a>> wrote:<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite"><blockquote type="cite">My preference would be to have the fewer memory models in the standard.<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">I prefer option #1 -- that a window synchronization (e.g. Win_sync) can<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">be used to order load/store operations with respect to actions performed<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">by other processes in the target's<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">window.  If no ordering is enforced, the MPI standard does not define<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">what is seen by load operations at the target process.  As a rationale,<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">the local process' view of the window may not be consistent with the<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">window because of performance optimizations or<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">the consistency model of the underlying architecture.  This would allow<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">e.g. SHMEM implementations to still use MPI-3 RMA, but they would have to<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">rely on a behavior that is defined by the architecture/implementation, as<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">they currently do.<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">I think there's also a good chance that this could be an erratum, whereas<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">a new memory model would have to go into a new version of the spec.  If<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">we were to decide later that we want a stronger memory model that defines<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">the ordering<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">seen by the target in the absence of synchronizations, this option would<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">still allow us to add it later.<br></blockquote></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">I tend to agree.  I also think the change can be quite small.  Section<br></blockquote><blockquote type="cite">11.4 (pg 436, line 37-38) already says that updates will eventually be<br></blockquote><blockquote type="cite">seen by a load in UNIFIED, meaning that the FLUSH/SYNC example that<br></blockquote><blockquote type="cite">started this thread already requires a SYNC in order to be correct (or a<br></blockquote><blockquote type="cite">while (!updated) loop).  So the primary thing we need to do is to clarify<br></blockquote><blockquote type="cite">that the "identical" refers to their view from memory, and not their view<br></blockquote><blockquote type="cite">from a reordering processor, so Sync (or other system-specific operations)<br></blockquote><blockquote type="cite">are required to force ordering.  This really feels like an erratum to me.<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">Brian<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">--<br></blockquote><blockquote type="cite">   Brian W. Barrett<br></blockquote><blockquote type="cite">   Scalable System Software Group<br></blockquote><blockquote type="cite">   Sandia National Laboratories<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">_______________________________________________<br></blockquote><blockquote type="cite">mpi3-rma mailing list<br></blockquote><blockquote type="cite"><a href="mailto:mpi3-rma@lists.mpi-forum.org">mpi3-rma@lists.mpi-forum.org</a><br></blockquote><blockquote type="cite"><a href="http://lists.mpi-forum.org/mailman/listinfo.cgi/mpi3-rma">http://lists.mpi-forum.org/mailman/listinfo.cgi/mpi3-rma</a><br></blockquote><blockquote type="cite"><br></blockquote><br>-- <br>Pavan Balaji<br><a href="http://www.mcs.anl.gov/~balaji">http://www.mcs.anl.gov/~balaji</a><br>_______________________________________________<br>mpi3-rma mailing list<br>mpi3-rma@lists.mpi-forum.org<br>http://lists.mpi-forum.org/mailman/listinfo.cgi/mpi3-rma<br></div></blockquote></div><br></div></body></html>