Выполняя шаги по определению того, какие логические ядра совместно используют одно и то же физическое ядро на моем процессоре AMD Opteron™ 6234, я обнаружил, что 2 логических ядра, совместно использующих одно и то же физическое ядро, не находятся в одном узле NUMA.
Мои шаги заключались в том, чтобы сделать lscpu
, чтобы получить ядро, связанное с узлами NUMA:
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 24
On-line CPU(s) list: 0-23
Thread(s) per core: 2
Core(s) per socket: 6
Socket(s): 2
NUMA node(s): 4
Vendor ID: AuthenticAMD
CPU family: 21
Model: 1
Model name: AMD Opteron(TM) Processor 6234
Stepping: 2
CPU MHz: 1400.000
CPU max MHz: 2400.0000
CPU min MHz: 1400.0000
BogoMIPS: 4799.98
Virtualization: AMD-V
L1d cache: 16K
L1i cache: 64K
L2 cache: 2048K
L3 cache: 6144K
NUMA node0 CPU(s): 0-5
NUMA node1 CPU(s): 6-11
NUMA node2 CPU(s): 12-17
NUMA node3 CPU(s): 18-23
Затем cat /proc/cpuinfo | grep "core id"
для того, чтобы сгруппировать ядра:
core id : 0
core id : 1
core id : 2
core id : 3
core id : 4
core id : 5
core id : 0
core id : 1
core id : 2
core id : 3
core id : 4
core id : 5
core id : 0
core id : 1
core id : 2
core id : 3
core id : 4
core id : 5
core id : 0
core id : 1
core id : 2
core id : 3
core id : 4
core id : 5
И, наконец, cat /proc/cpuinfo | grep "physical id"
для того, чтобы ядра имели один и тот же идентификатор ядра и один и тот же физический процессор:
physical id : 0
physical id : 0
physical id : 0
physical id : 0
physical id : 0
physical id : 0
physical id : 0
physical id : 0
physical id : 0
physical id : 0
physical id : 0
physical id : 0
physical id : 1
physical id : 1
physical id : 1
physical id : 1
physical id : 1
physical id : 1
physical id : 1
physical id : 1
physical id : 1
physical id : 1
physical id : 1
physical id : 1
Из этого я делаю вывод, что ядра 0 и 6 используют одно и то же физическое ядро, однако ядро 0 находится в узле NUMA 0, а ядро 6 — в узле NUMA 1.
Я нахожу это очень тревожным, возможно ли это?
Спасибо заранее за вашу помощь.