<html><head><style type='text/css'>p { margin: 0; }</style></head><body><div style='font-family: Arial; font-size: 12pt; color: #000000'><br>Mark Hahn wrote:<br><br>&gt;&gt; Doesn't this assume worst case all-to-all type communication<br>&gt;&gt; patterns.<br>&gt;<br>&gt;I'm assuming random point-to-point communication, actually.<div><br></div><div>A sub-case of all-to-all (possibly all-to-all). So you are assuming</div><div>random point-to-point is a common pattern in HPC ... mmm ... I</div><div>would call it a worse case pattern, something more typical of&nbsp;</div><div>graph searching codes like they run at the NSA. &nbsp;Sure a high</div><div>radix switch (or better yet a global memory address space, Cray</div><div>X1E) is good and designed for this worst-case, but not sure this</div><div>is the common case data reference pattern in HPC ... if it were</div><div>they would be selling more global memory systems at Cray and</div><div>SGI (not just to the NSA).</div><div><br></div><div>There you might also want&nbsp;a machine like the Cray XMT where</div><div>the memory is flat and stalled threads can be switched out for</div><div>another thread. &nbsp;</div><div><br>&gt;&gt; If you are just trading ghost cell data with your neighbors<br>&gt;&gt; and you have placed your job smartly on the torus the fan out<br>&gt;&gt; advantage mentioned is irrelevant. No?<br>&gt;<br>&gt;if your comms are nearest-neighbor, then yes, a nearest-neighbor</div><div>&gt;fabric is your friend ;)</div><div><br></div><div>I think that if you look at the HPC space globally there is still a lot</div><div>of locality that you can rely on. &nbsp;Familiar with the "7 dwarves" paper</div><div>from Berkeley? &nbsp;<br><br>&gt;how often does that actually happen? &nbsp;to work out so neatly would <br>&gt;preclude, for instance, adaptive meshes, right? &nbsp;it seems like mostly<br>&gt;I see jobs with no obvious regular structure to their communication.<br></div><div><br></div><div>Really ... must be doing a lot of turbulent flow simulations with shedding</div><div>vortices, crash simulations with self-penetrating meshes ... tough stuff</div><div>for your average cluster or even your above average cluster. &nbsp;Even AMR</div><div>codes usually attempt to discover new neighbors and localize them. &nbsp;</div><div><br></div><div>Not disrespecting switches, but they are in a sense designed for worse</div><div>case scenarios (the design asserts that "there are no neighborhoods")&nbsp;</div><div>... a torus design appeals to the middle ground were locality is not banished. &nbsp;</div><div><br></div><div>rbw</div></div></body></html>