HP Server ProLiant DL360 Gen9 против IBM System x3850 X5 ==> Использование группы процессоров Numa
Один и тот же исполняемый файл C#, запрограммированный для запуска на всех узлах, ведет себя по-разному:
- HP: запуск только на одном узле (одна группа процессоров) (любой из двух). Проблема: предполагается запускать на всех узлах.
- IBM: запуск на всех узлах (каждая группа процессоров)
Обе машины работают под управлением Windows Server 2012 R2 и имеют более 2 процессоров.
HP - 2x процессора Intel® Xeon®® E5-2697 v3 @ 2,60 ГГц, 2597 МГц, 14 ядер, 28 логических процессоров IBM - 4 процессора Intel® Xeon® R E7–4870 @ 2,40 ГГц, 2395 МГц, 10 ядер, 20 логических
Я пытаюсь ответить на свой вопрос в stackoverflow. Все подробности можно взять по этой ссылке.
На мой взгляд, это указывает на неисправный драйвер на сервере HP или конфигурацию в BIOS или Windows.
Есть идеи, что может быть причиной этого?
Дамп HP MsInfo32:
OS Name Microsoft Windows Server 2012 R2 Standard
Version 6.3.9600 Build 9600
Other OS Description Not Available
OS Manufacturer Microsoft Corporation
System Name EMTP6
System Manufacturer HP
System Model ProLiant DL360 Gen9
System Type x64-based PC
System SKU 755258-B21
Processor Intel(R) Xeon(R) CPU E5-2697 v3 @ 2.60GHz, 2597 Mhz, 14 Core(s), 28 Logical Processor(s)
Processor Intel(R) Xeon(R) CPU E5-2697 v3 @ 2.60GHz, 2597 Mhz, 14 Core(s), 28 Logical Processor(s)
BIOS Version/Date HP P89, 7/11/2014
SMBIOS Version 2.8
Embedded Controller Version 2.02
BIOS Mode UEFI
Platform Role Enterprise Server
Secure Boot State Off
PCR7 Configuration Not Available
Windows Directory ---removed
System Directory ---removed
Boot Device \Device\HarddiskVolume2
Locale United States
Hardware Abstraction Layer Version = "6.3.9600.17196"
User Name Not Available
Time Zone Eastern Standard Time
Installed Physical Memory (RAM) 256 GB
Total Physical Memory 256 GB
Available Physical Memory 246 GB
Total Virtual Memory 294 GB
Available Virtual Memory 283 GB
Page File Space 38.0 GB
Page File ---removed
Hyper-V - VM Monitor Mode Extensions Yes
Hyper-V - Second Level Address Translation Extensions Yes
Hyper-V - Virtualization Enabled in Firmware Yes
Hyper-V - Data Execution Protection Yes
Дамп IBM MsInfo32:
OS Name Microsoft Windows Server 2012 R2 Standard
Version 6.3.9600 Build 9600
Other OS Description Not Available
OS Manufacturer Microsoft Corporation
System Manufacturer IBM
System Model System x3850 X5
System Type x64-based PC
System SKU
Processor Intel(R) Xeon(R) CPU E7- 4870 @ 2.40GHz, 2395 Mhz, 10 Core(s), 20 Logical Processor(s)
Processor Intel(R) Xeon(R) CPU E7- 4870 @ 2.40GHz, 2395 Mhz, 10 Core(s), 20 Logical Processor(s)
Processor Intel(R) Xeon(R) CPU E7- 4870 @ 2.40GHz, 2395 Mhz, 10 Core(s), 20 Logical Processor(s)
Processor Intel(R) Xeon(R) CPU E7- 4870 @ 2.40GHz, 2395 Mhz, 10 Core(s), 20 Logical Processor(s)
BIOS Version/Date IBM Corp. -[G0E179BUS-1.79]-, 28-07-2013
SMBIOS Version 2.7
Embedded Controller Version 255.255
BIOS Mode UEFI
BaseBoard Manufacturer IBM
BaseBoard Model Not Available
BaseBoard Name Base Board
Platform Role Enterprise Server
Secure Boot State Unsupported
PCR7 Configuration Not Available
Hardware Abstraction Layer Version = "6.3.9600.17031"
User Name Not Available
Time Zone Romance Standard Time
Installed Physical Memory (RAM) 128 GB
Total Physical Memory 128 GB
Available Physical Memory 53,0 GB
Total Virtual Memory 147 GB
Available Virtual Memory 67,7 GB
Hyper-V - VM Monitor Mode Extensions Yes
Hyper-V - Second Level Address Translation Extensions Yes
Hyper-V - Virtualization Enabled in Firmware Yes
Hyper-V - Data Execution Protection Yes
1 ответ
Ошибка была (частично) исправлена новым, но неопубликованным HP Bios (на момент написания этой статьи).
В новой версии Bios (для HP Proliant DL360 и DL380 Gen9) введен новый параметр: "Оптимизация размера группы NUMA" с возможностью выбора [Кластер - по умолчанию] или [Плоский]. HP говорит, чтобы установить его на квартиру.
Насколько я знаю, ОС связывается с BIOS, чтобы узнать конфигурацию процессора (ов). Биос играют важную роль в том, как ОС представит логические процессоры, доступные для приложений (Processor Group, Affinity и т. Д.).
Я думаю, что ошибка только частично исправила проблему. Вот почему:
- Есть только одна группа процессоров, где я подумал, что было бы лучше иметь одну на узел numa.
- Кроме того, выполнение занятого потока (работающего 100% времени) для каждого логического процессора делает все (из всех узлов) логические процессоры занятыми только на ~40%. Я ожидал 100% использования.
- Я высоко ценю, что HP выпустит еще один BIOS, который исправит эту ситуацию (либо только одна группа и использование ~ 40%).