Just booted Arch Linux on a Ryzen Threadripper 1950X server that I built and use in my company. Please don't close this question. It is relevant for anyone using Linux on Threadripper and running NUMA-aware software. In fact I've found the answer and would like to post it.
numactl --hardware
reports:
available: 1 nodes (0)
node 0 cpus: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
node 0 size: 128876 MB
node 0 free: 2114 MB
node distances:
node 0
0: 10
Threadripper is a NUMA platform and the memory latency increases from ~90ns to ~140ns when crossing dies (source: https://www.servethehome.com/amd-epyc-infinity-fabric-latency-ddr4-2400-v-2666-a-snapshot/). I would like NUMA-aware software to apply its optimizations.
Is this a known problem? How can I fix it?
My hardware:
- Ryzen Threadripper 1950X
- ASRock Fatal1ty X399 Professional Gaming
- Samsung DDR4-2400 ECC UDIMM (8 DIMMs)
My software:
- Linux 4.12.13 (Arch Linux) (various CONFIG_NUMA kernel options enabled)