Система Linux Opteron выглядит как UMA, но должна быть NUMA

Согласно numactl, этот двухъядерный процессор Opteron является UMA, а не ожидаемой NUMA:

$ numactl --hardware
available: 1 nodes (0)
node 0 cpus: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
node 0 size: 65534 MB
node 0 free: 381 MB
node distances:
node   0 
  0:  10 

Я думаю, что это должно быть NUMA, потому что есть четыре 4-ядерных процессора *. Насколько я понимаю, у каждого процессора свой канал памяти; если ЦПУ необходим доступ к памяти в нелокальном узле, он должен использовать гипертранспорт, который стоит больше времени, чем доступ к памяти в локальном узле. AMD объясняет это здесь.

Материнская плата имеет 16 слотов оперативной памяти, по 8 на каждый процессор. Все 16 заполнены 4 ГБ каждый на общую сумму 64 ГБ. Еще некоторые подробности:

Почему numactl сообщает, что это поле UMA?

* В каждом пакете два процессора, поэтому на материнской плате только два разъема для процессора.

1 ответ

Решение

BIOS скрывает реальность NUMA за node interleaving установка. Если для этого параметра установлено значение "Отключено", это даст вам истинную систему NUMA в том, что касается ОС. Не многие системы действительно эффективно используют NUMA, поэтому производители материнских плат предпочитают делать все одинаково медленно, а не позволять ОС выяснять, что требует быстрого и медленного доступа.

Другие вопросы по тегам