Supermicro H8DCL-IF NUMA clarifications

Notice: Page may contain affiliate links for which we may earn a small commission through services like Amazon Affiliates or Skimlinks.

lpallard

Member
Aug 17, 2013
276
11
18
Not sure if its the right place to post this but if not, please an Admin move the thread to a better place...

So our server has been running flawlessly for about 3 months now with a slackware14-64 and kernel 3.2.45 migration from an older setup. The current running kernel is configured with the following flags:

CONFIG_X86_64_SMP=y
CONFIG_SMP=y
CONFIG_NR_CPUS=32

And returns this when probed about type and version:

Code:
root@lhost2:~# uname -a
Linux lhost2 3.2.45 #2 SMP Fri May 31 20:14:55 CDT 2013 x86_64 AMD Opteron(tm) Processor 4334 AuthenticAMD GNU/Linux
Now to the question: when building this machine, we were made aware that there was such a thing as NUMA and UMA... Reading about the topic on Google and provided I understand correctly, NUMA is an architecture where in multi-socket machines, memory populated together with a CPU consists of a node. A certain chip (CPU) would be allowed to access its local memory bank(s) faster than accessing remote memory bank(s) located on another node. Hardware wise, the H8DCL-IF motherboard I am using complies with this. RAM is also populated as per Supermicros guidelines, that is, with 4 identical sticks (a kit of 4X 16GB), 2 on each node on channels A of each chips.

The BIOS is currently set to "Enable NUMA", has bank and channel interleaving ON and has Node interleaving OFF. In my world, that means NUMA is fully activated, yet when I run the utility "numactl --hardware" it causes a segmentation fault and crashes. According to the numactl maillist, this would be because my platform doesnt support NUMA (or is not properly configured). This is consistent with running "numactl --show" which returns

Code:
physcpubind: 0 1 2 3 4 5 6 7 8 9 10 11 
No NUMA support available on this system.
The running kernel doesnt seems to support (with its current config) NUMA as I could only find this flag in the config:

# CONFIG_NUMA is not set

So the questions:

1-Should I make NUMA work or will I suffer a performance penalty?
2-Do I need to recompile the kernel with NUMA activated? Threads on other Linux forums seemed to indicate that the modern kernels were automatically NUMA aware and did not require special flags...
3-Is my BIOS config OK? (Node interleave OFF, Bank interleave ON, Channel interleave ON, NUMA enabled)
4-The numactl page (https://www.sharcnet.ca/help/index.php/Using_numactl) talks about NUMA:

This is in contrast to symmetric multiprocessing or SMP architecture in which each processor is connected to the whole of main memory at uniform speed
I am currently using a SMP kernel. According to their statement, that would mean that my current config uses a UMA architecture... Is it why numactl seems to think that NUMA is not available?

Thanks for any insight or help!