Почему количество узлов NUMA влияет на группировку процессоров
На сервере HPE DL380 G10 с 2 процессорами Xeon(R) Gold 6246R (32 физических ядра, 64 лог. с HT) в BIOS используйте следующую настройку:
Конфигурация системы > Конфигурация BIOS/платформы (RBSU) > Параметры производительности > Расширенные параметры настройки производительности > Оптимизация размера группы NUMA
Мы можем выбрать один из двух вариантов:
- Кластеризованный — оптимизирует группы по границам NUMA, обеспечивая лучшую производительность.
- Плоский — позволяет приложениям, которые не оптимизированы для использования процессоров, охватывающих несколько групп, использовать больше логических процессоров.
Опция «Кластерный» заставит Windows сообщать только об ОДНОМ узле NUMA, НО о двух группах процессоров, каждая из которых имеет 32 ядра. Вариант «Плоский» на другой стороне показывает 2 узла NUMA и только 1 группу процессоров с 64 логическими ядрами.
Конечно, я уже много знаю о группах NUMA и процессоров, поэтому я действительно не прошу никаких рекомендаций по поводу лучших настроек для моего варианта использования или около того. Вместо этого возникает вопрос: почему для Windows имеет смысл использовать две группы процессоров, когда есть только один узел NUMA, и наоборот? Кроме того, я никогда не нашел документации о том, что Windows (Server 2019) разделяет 64 ядра на 2 группы. Ожидается ли это вообще?