<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
</head>
<body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; color: rgb(0, 0, 0); font-size: 14px; font-family: Calibri, sans-serif; ">
<span id="OLK_SRC_BODY_SECTION">
<div>
<div>On 8/2/13 7:29 PM, "Pavan Balaji" <<a href="mailto:balaji@mcs.anl.gov">balaji@mcs.anl.gov</a>> wrote:</div>
</div>
<div><br>
</div>
<blockquote id="MAC_OUTLOOK_ATTRIBUTION_BLOCKQUOTE" style="BORDER-LEFT: #b5c4df 5 solid; PADDING:0 0 0 5; MARGIN:0 0 0 5;">
<div>
<div>
<div>On 08/02/2013 08:27 PM, Underwood, Keith D wrote:</div>
<blockquote id="MAC_OUTLOOK_ATTRIBUTION_BLOCKQUOTE" style="BORDER-LEFT: #b5c4df 5 solid; PADDING:0 0 0 5; MARGIN:0 0 0 5;">
<div>That was specifically *not* the point of unified.  The point of</div>
<div>unified was that "if the platform can support it, the user can get</div>
<div>something better".  Remember all those conversations about</div>
<div>synchronization using hands waving across the machine room?  Unless</div>
<div>you guys want to go get rid of UNIFIED?  There really isn't a point</div>
<div>to unified if you have to call MPI_Win_sync, is there?</div>
</blockquote>
<div><br>
</div>
<div>Yes, I remember that discussion.  However, what I took away from that </div>
<div>discussion was that the user *could* do something outside of MPI, not </div>
<div>*must*, to ensure correct behavior.</div>
<div><br>
</div>
<div>If that was not the intention, then there needs to be a memory model </div>
<div>where that's the case.</div>
</div>
</div>
</blockquote>
</span>
<div><br>
</div>
<div>I took away from our discussions that very few platforms would be able to support unified today, because of these ordering concerns.</div>
<div><br>
</div>
<div>However, there's a couple things to note:</div>
<div><br>
</div>
<div>1) there have been platforms where UNIFIED would work (and, arguably, x86_64 still provides the required ordering to make UNIFIED work</div>
<div>2) Just because we hang NICs off the dumbest interface possible (PCIe) today does not mean we will continue to do so.  A NIC sitting off the right parts of the processor could, with the right design, provide UNIFIED even on a processor with aggressive
 reordering by being properly integrated into the reorder engine.</div>
<div><br>
</div>
<div>So, I guess I really don't see a problem with what we have today.  As soon as you require a target side WIN_SYNC, there's no point in using Unified; the user and the implementation can live quite happily with SEPARATE.  And, I believe, make SEPARATE go
 fast on platforms that only need a memory barrier to ensure target side ordering, rather than a complicated cache protocol.</div>
<div><br>
</div>
<div>Brian</div>
<div>
<div>
<div><br>
</div>
<div>
<div>
<div style="font-family: Tahoma; font-size: 13px; "><font size="2" face="Tahoma">--</font></div>
<div style="font-family: Tahoma; font-size: 13px; "><font size="2" face="tahoma">  Brian W. Barrett</font></div>
<div style="font-family: Tahoma; font-size: 13px; "><font size="2" face="tahoma">  Scalable System Software Group</font></div>
<div style="font-family: Tahoma; font-size: 13px; "><font size="2" face="tahoma">  Sandia National Laboratories</font></div>
</div>
</div>
</div>
</div>
</body>
</html>