<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On 9 July 2015 at 00:42, Christopher Samuel <span dir="ltr"><<a href="mailto:samuel@unimelb.edu.au" target="_blank">samuel@unimelb.edu.au</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On 09/07/15 08:43, Jonathan Barber wrote:<br>
<br>
> I think you're process is being moved between NUMA nodes and you're<br>
> losing locality to the data. Try confining the process and data to the<br>
> same NUMA node with the numactl command.<br>
<br>
</span>A friend of mine who hacks on MySQL (at a variety of companies, now at<br>
IBM) wrote yesterday about a long running "swap insanity" issue that<br>
sounds similar - the swap they are talking about is not paging to disk<br>
but memory getting moved between NUMA nodes.<br>
<br>
<a href="https://www.flamingspork.com/blog/2015/07/08/the-sad-state-of-mysql-and-numa/" rel="noreferrer" target="_blank">https://www.flamingspork.com/blog/2015/07/08/the-sad-state-of-mysql-and-numa/</a><br>
<br>
It would be interesting for David to try his program with one of the<br>
suggestions in the blog to see if that makes any difference:<br>
<br>
numactl –interleave all<br></blockquote><div><br></div><div>I think David's machine has two NUMA nodes, which means that each NUMA node should have 256GB of RAM, which is greater than the size of the file - so he should just bind the process to one node.<br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
The other thing that may shed some light is to run "perf top"<br>
whilst this is going on (as root) to see if there are any<br>
obvious culprits.<br></blockquote><div><br></div><div>Last time I tried to diagnose this kind of problem with perf it didn't help because although it would show which instructions were slow (presumably because they were waiting on data from the other NUMA node) it didn't say why they were slow. I'm not 100% sure but I think this was because the CPU didn't have instrumentation for this.</div><div><br></div><div>Of course, I may have been doing it wrong :)</div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Best of luck!<br>
Chris<br>
<span class="HOEnZb"><font color="#888888">--<br>
 Christopher Samuel        Senior Systems Administrator<br>
 VLSCI - Victorian Life Sciences Computation Initiative<br>
 Email: <a href="mailto:samuel@unimelb.edu.au">samuel@unimelb.edu.au</a> Phone: <a href="tel:%2B61%20%280%293%20903%2055545" value="+61390355545">+61 (0)3 903 55545</a><br>
 <a href="http://www.vlsci.org.au/" rel="noreferrer" target="_blank">http://www.vlsci.org.au/</a>      <a href="http://twitter.com/vlsci" rel="noreferrer" target="_blank">http://twitter.com/vlsci</a><br>
</font></span><div class="HOEnZb"><div class="h5">_______________________________________________<br>
Beowulf mailing list, <a href="mailto:Beowulf@beowulf.org">Beowulf@beowulf.org</a> sponsored by Penguin Computing<br>
To change your subscription (digest mode or unsubscribe) visit <a href="http://www.beowulf.org/mailman/listinfo/beowulf" rel="noreferrer" target="_blank">http://www.beowulf.org/mailman/listinfo/beowulf</a><br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature">Jonathan Barber <<a href="mailto:jonathan.barber@gmail.com" target="_blank">jonathan.barber@gmail.com</a>></div>
</div></div>