<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Thu, Aug 13, 2015 at 3:22 PM, Justin Chang <span dir="ltr"><<a href="mailto:jychang48@gmail.com" target="_blank">jychang48@gmail.com</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 Thu, Aug 13, 2015 at 1:04 PM, Jed Brown <<a href="mailto:jed@jedbrown.org">jed@jedbrown.org</a>> wrote:<br>
> It looks like with one core/socket, all your memory sits over one<br>
> channel.  You can play tricks to avoid that or use 4 cores/socket in<br>
> order to use all memory channels.<br>
<br>
</span>How do I play these tricks?<br>
<div><div class="h5"><br>
> So this is a pretty low fraction (55%) of 59.7*2 = 119.4.  I suspect<br>
> your memory or motherboard is at most 1600 MHz, so your peak would be<br>
> 102.4 GB/s.<br>
<br>
> You can check this as root using "dmidecode --type 17", which should<br>
> give one entry per channel, looking something like this:<br>
><br>
> Handle 0x002B, DMI type 17, 34 bytes<br>
> Memory Device<br>
>         Array Handle: 0x002A<br>
>         Error Information Handle: 0x002F<br>
>         Total Width: Unknown<br>
>         Data Width: Unknown<br>
>         Size: 4096 MB<br>
>         Form Factor: DIMM<br>
>         Set: None<br>
>         Locator: DIMM0<br>
>         Bank Locator: BANK 0<br>
>         Type: <OUT OF SPEC><br>
>         Type Detail: None<br>
>         Speed: Unknown<br>
>         Manufacturer: Not Specified<br>
>         Serial Number: Not Specified<br>
>         Asset Tag: Unknown<br>
>         Part Number: Not Specified<br>
>         Rank: Unknown<br>
>         Configured Clock Speed: 1600 MHz<br>
<br>
</div></div>I have no root access. Is there another way to confirm the clock speed?<br>
<br>
---<br>
<br>
So if I have two sockets per node, then the theoretical peak bandwidth<br>
is actually double than what I thought (whether it be 119.4 GB/s or<br>
102.4 GB/s). And if 8 cores really is the optimal number to use for a<br>
single compute node, why are there 20 totals to begin with? Or would<br>
this depend on the particular application?<br></blockquote><div><br></div><div>Kind Answer: Different application have different needs</div><div><br></div><div>Cynical Answer: Computer companies sell you what they can produce,</div><div>lots of cores, not what you need, lots of bandwidth. Bandwidth is very</div><div>expensive and there are technical limits.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Also, can someone elaborate on the difference between the words<br>
"core", "processor", and "thread"?<br>
</blockquote></div><br>A core and a processor are hardware terms. I think they are both fuzzy,</div><div class="gmail_extra">but I understand a core to be something that can carry a thread of execution,</div><div class="gmail_extra">namely a program counter, instruction and data stream, and compute something.</div><div class="gmail_extra">A thread is a logical construct for talking about an execution stream.</div><div class="gmail_extra"><br></div><div class="gmail_extra">   Matt<br clear="all"><div><br></div>-- <br><div class="gmail_signature">What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.<br>-- Norbert Wiener</div>
</div></div>