<div dir="ltr"><div>Hi David (and everyone else),</div><div><br></div><div>Thank you for your feedback. Your comment about hyperthreading helping in instances when the system is IO-limited is one that I thought of too, and I tested it during the summer; I've attached a plot of the results as a .PNG file. What I found when using the default benchPET.mac output options (ROOT Singles, Coincidences, and Delays enabled) was that on a mechanical hard disk drive, hyperthreading does not provide any performance gain and in fact causes simulation times to begin to increase as the system becomes more and more limited by competing IO tasks even with 16 GB of RAM. In the attached figure, "Ideal" is a line that would be a 1/n decrease in simulation times with added simultaneous threads.</div><div><br></div><div>So far I haven't submitted it anywhere more formal than the mailing list, so "published" essentially means "available to the public." I don't think there's enough here for a PMB technical note, but if I had some additional data from newer Intel CPUs (including Xeons) and AMD's Threadripper CPUs there could be enough to make it attractive to a larger journal. At this point I'm a bit limited by equipment that I have on hand; this was all done with my own hardware at home before and after I upgraded from the old i5-3470 to a Ryzen 2600X, and having to save up for a new roof for the house is taking precedence over building a home computer lab. ;)</div><div><br></div><div>Cheers,</div><div><br></div><div>-Bryan<br></div></div><br><div class="gmail_quote"><div dir="ltr">On Tue, Nov 20, 2018 at 8:00 AM David Boersma <<a href="mailto:david.boersma@acmit.at">david.boersma@acmit.at</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div>
<div id="m_7362116853203586170divtagdefaultwrapper" style="font-size:12pt;color:#000000;font-family:Calibri,Helvetica,sans-serif" dir="ltr">
<p>Hi Bryan,</p>
<p><br>
</p>
<p>Thanks for sharing this report with us! It reminds me that we should update/upgrade that guidance (about number of cores to use) a bit on the wiki.</p>
<p><br>
</p>
<p>I see that in your test you tried to make the benchmark use case as CPU-dominated as possible. In my very crude understanding of hyperthreading (a core pretends to be two cores by switching very quickly between two processes), this kind of guarantees your
conclusion (1); hyperthreading is mostly useful for jobs in which for a single instance the CPU is waiting for other resources about half of the time, because then with many instances instead of waiting a core can do CPU-work for some other instance. So if
you add back all the IO-intensive tasks, it may turn out that hyperthreading actually does help a bit to increase efficiency. (This might be out of scope for your report.)</p>
<p><br>
</p>
<p>You write at the top of your report that it was "published" on November 19. Did it get published elsewhere, e.g. on a website or magazine or forum (other than gate-users), or do you just mean that you saved it publicly readable on OneDrive?</p>
<p><br>
</p>
<p>Best regards,</p>
<p>David Boersma<br>
</p>
</div>
<hr style="display:inline-block;width:98%">
<div id="m_7362116853203586170divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" style="font-size:11pt" color="#000000"><b>Von:</b> Gate-users <<a href="mailto:gate-users-bounces@lists.opengatecollaboration.org" target="_blank">gate-users-bounces@lists.opengatecollaboration.org</a>> im Auftrag von Bryan McIntosh <<a href="mailto:mcintoshster@gmail.com" target="_blank">mcintoshster@gmail.com</a>><br>
<b>Gesendet:</b> Dienstag, 20. November 2018 05:12:50<br>
<b>An:</b> <a href="mailto:gate-users@lists.opengatecollaboration.org" target="_blank">gate-users@lists.opengatecollaboration.org</a><br>
<b>Betreff:</b> [Gate-users] Report - Investigating Intel Meltdown/Spectre patches and Ryzen hyperthreading benchmarks</font>
<div> </div>
</div>
<div>
<div dir="ltr">
<div dir="ltr">
<div dir="ltr">
<div>Hi everyone,</div>
<div><br>
</div>
<div>I've been using GATE for a while, and one thing that has been a bit lacking in our community is benchmarks for various CPU architectures. When the patches for the Meltdown and Spectre vulnerabilities were revealed to reduce performance quite substantially
in some applications, I wondered how GATE and Geant4 would be affected by installing them on an older Intel CPU that is missing some of the alternate instructions used to mitigate some of the slowdowns. I also was frustrated that no one had released any data
on how well AMD Ryzen CPUs perform in GATE, so I ran a series of benchmarks investigating the following questions:</div>
<div><br>
</div>
<div>1) How does memory speed affect the performance of second-generation AMD Ryzen CPUs?</div>
<div><br>
</div>
<div>2) Does the hyperthreading offered on Ryzen CPUs and some higher-end Intel CPUs provide any performance benefit for GATE? Previous guidance on this was that it did not, but that was written years ago with different CPU architectures on the market.</div>
<div><br>
</div>
<div>3) How much performance impact do the Meltdown/Spectre patches have on GATE simulation times on older (ie. second and third generation Core i5 and Core i7) Intel CPUs?</div>
<div><br>
</div>
<div>I've written my results in a report that is available for download at <a href="https://1drv.ms/b/s!Al3r4ajL5Z4jkLs7LVyGSI_MmA-uzg" target="_blank">
https://1drv.ms/b/s!Al3r4ajL5Z4jkLs7LVyGSI_MmA-uzg</a>. Any comments or questions you have would be welcome, and if anyone is interested in running the same benchmark scripts on their GATE installation I would be glad to upload them for testing.</div>
<div><br>
</div>
<div>Best regards,</div>
<div><br>
</div>
<div>-Bryan McIntosh</div>
</div>
</div>
</div>
</div>
</div>
</blockquote></div>