
Оптимизация производительности серверов Dell PowerEdge 17-го поколения: влияние настроек BIOS на примере R770
Содержание
В современных двухпроцессорных серверах каждое устройство PCIe физически подключено к определенному процессору, а во многих архитектурах - и к конкретному NUMA-домену внутри него. Если операции ввода-вывода выполняются на ядре, не локальном для устройства, запросы проходят через межпроцессорное соединение UPI и контроллеры памяти другого процессора. Это увеличивает задержки и дополнительно загружает межпроцессорные каналы.
Настройки BIOS определяют, насколько явно операционная система видит такую топологию и на что ориентирована конфигурация платформы - минимальные задержки и максимальную производительность либо снижение энергопотребления.
Почему настройки BIOS имеют значение
Заводские параметры BIOS обычно выбираются как компромисс между совместимостью, производительностью и энергоэффективностью. Для нагрузок, ограниченных подсистемой ввода-вывода, такой баланс может заметно снижать доступную производительность.
Глубокие энергосберегающие состояния процессора (C-states) увеличивают задержку при возвращении ядер к активной работе, динамическое управление частотами повышает вариативность времени отклика, чередование памяти скрывает NUMA-топологию, а механизм энергосбережения PCIe ASPM может переводить линии PCIe в режим пониженного энергопотребления между всплесками нагрузки.
Для оценки влияния настроек BIOS на производительность NVMe-накопителей PCIe использовался двухпроцессорный сервер Dell PowerEdge R770 17-го поколения на базе Intel Xeon 6. В одинаковых условиях FIO были протестированы пять конфигураций - от заводских параметров до оптимизированного варианта с Sub-NUMA Clustering (SNC), линейной нумерацией ядер MADT, производительным системным профилем и привязкой операций ввода-вывода к ядрам, локальным относительно NVMe-устройств. Результаты сравнивались по двум основным показателям - IOPS при случайном чтении и пропускной способности.
Разница оказалась существенной. При заводских настройках PowerEdge R770 показал 165 767 IOPS и 80,3 МБ/с, а после полной оптимизации - 903 834 IOPS и 428 МБ/с. Это соответствует росту количества операций ввода-вывода на 445%, пропускной способности - на 433%, или примерно 5,5-кратному увеличению производительности. Эти результаты были достигнуты только настройкой BIOS и привязкой нагрузки к процессорным ядрам, без модернизации оборудования.
Методика тестирования сервера Dell PowerEdge R770
Тестовая платформа
Все измерения проводились на Dell PowerEdge R770 с восемью NVMe SSD, подключенными по PCIe. Накопители были разделены на две группы по четыре устройства, всего использовались /dev/sda–/dev/sdh. Память работала со скоростью 6400 МТ/с в режиме Optimizer. Для процессоров использовалась рабочая точка Intel Speed Select с базовой частотой 2,4 ГГц, TDP 350 Вт и 64 активными ядрами на каждый процессор.
Нагрузка и измерения
Для создания нагрузки использовался Flexible I/O Tester (FIO). Тест выполнял исключительно случайное чтение блоками по 512 байт через асинхронный механизм Linux libaio. Большая глубина очереди и большое количество параллельных заданий использовались для максимальной нагрузки на подсистему NVMe.
fio --direct=1 --rw=randread --ioengine=libaio --bs=512B --iodepth=128 --numjobs=128 --runtime=300 --group_reporting --name=test \
--filename=/dev/sda:/dev/sdd:/dev/sdc:/dev/sdb:/dev/sde:/dev/sdh:/dev/sdg:/dev/sdf
Параметр direct=1 обеспечивает прямой ввод-вывод в обход страничного кэша операционной системы, iodepth=128 задает глубину очереди, а numjobs=128 - число параллельных заданий. Каждый тест выполнялся в течение 300 секунд, после чего фиксировались суммарные IOPS и пропускная способность.
Тестовые конфигурации
Последовательно были протестированы пять конфигураций Dell PowerEdge R770, каждая из которых дополняла предыдущую:
-
Заводские настройки BIOS - исходная конфигурация без изменений.
-
Заводские настройки + SNC Round Robin - включение Sub-NUMA Clustering с циклической нумерацией ядер MADT.
-
Заводские настройки + SNC Linear - SNC с линейной нумерацией ядер MADT.
-
Оптимизированный профиль + SNC Linear - пользовательский System Profile максимальной производительности с отключенными C-states и PCIe ASPM L1, фиксированной частотой uncore и режимом нагрузки I/O Sensitive.
-
Оптимизированный профиль + привязка к ядрам - предыдущая конфигурация с дополнительным закреплением заданий FIO за ядрами процессора, локальными относительно соответствующих NVMe-устройств.
Анализ настроек BIOS
В таблице ниже приведены настройки BIOS, зафиксированные в конфигурации Dell PowerEdge R770, использованной в исследовании. Параметры сгруппированы по разделам Processor, Memory и System Profile. Для каждой настройки указаны ее назначение, заводское значение, протестированные варианты, оценка влияния на производительность, рекомендуемое значение для PCIe/NVMe-нагрузок с высоким IOPS и дополнительные комментарии.
Наибольшее влияние на полученный прирост производительности оказали Sub-NUMA Cluster, MADT Core Enumeration, System Profile, CPU Power Management, C-States, Latency Optimized Mode, PCI ASPM L1 и Workload Configuration.
Настройки BIOS Dell PowerEdge R770
|
Параметр BIOS |
Назначение / функция |
По умолчанию |
Протестированные значения / варианты |
Влияние |
Рекомендуемое значение |
Примечания |
|---|---|---|---|---|---|---|
|
Настройки процессора |
||||||
|
Logical Processor |
Включает Intel Hyper-Threading (SMT), предоставляя два логических потока на каждое физическое ядро |
Enabled |
Enabled / Disabled |
Низкое |
Enabled |
Оставлено включенным для максимального числа потоков при большом количестве заданий FIO |
|
Sub-NUMA Cluster (SNC) |
Разделяет ядра, LLC и контроллеры памяти каждого процессора на несколько NUMA-доменов для повышения локальности доступа |
Disabled |
Disabled / Enabled |
Высокое |
Enabled |
Один из основных параметров локальности ввода-вывода; включение SNC лежит в основе конфигураций SNC Linear |
|
MADT Core Enumeration |
Определяет порядок представления ядер ОС в таблице ACPI MADT - чередующийся либо последовательный внутри NUMA-узла |
Round Robin |
Round Robin / Linear |
Высокое |
Linear |
Linear сохраняет последовательную нумерацию логических ядер внутри каждого NUMA-узла, что упрощает однозначную привязку нагрузки к ядрам |
|
UPI Prefetch |
Выполняет упреждающую выборку данных через UPI для снижения задержек удаленного доступа |
Enabled |
Enabled / Disabled |
Среднее |
Enabled |
Полезно при обмене данными между процессорами |
|
XPT Prefetch |
Упреждающая выборка на основе расширенной таблицы прогнозирования, заранее формирующая запросы чтения памяти к контроллеру |
Enabled |
Enabled / Disabled |
Среднее |
Enabled |
Снижает задержки чтения при потоковом вводе-выводе |
|
LLC Prefetch |
Упреждающая выборка данных в кэш последнего уровня LLC |
Disabled |
Enabled / Disabled |
Низкое |
Disabled |
Оставлено отключенным: влияние на случайное чтение малыми блоками минимально |
|
Dead Line LLC Alloc |
Управляет размещением неактивных строк кэша в LLC |
Enabled |
Enabled / Disabled |
Низкое |
Enabled |
Сохранено значение по умолчанию |
|
Directory AtoS |
Управляет переходами состояния каталога A-to-S для поддержания когерентности кэша |
Disabled |
Enabled / Disabled |
Низкое |
Disabled |
Сохранено значение по умолчанию для стабильности задержек |
|
AVX P1 |
Задает уровень лицензирования базовой частоты AVX |
Normal |
Normal / Level 1 / Level 2 |
Низкое |
Normal |
Тестовая нагрузка ограничена вводом-выводом, а не вычислениями AVX |
|
SST-Performance Profile |
Рабочая точка Intel Speed Select, определяющая частоту, TDP и число активных ядер |
Operating Point 1 |
OP 1 (2.4 GHz, 350 W, 64 cores) / others |
Среднее |
Operating Point 1 |
Фиксирует заданную высокочастотную рабочую точку для воспроизводимости результатов |
|
Intel SST-BF |
Intel Speed Select Base Frequency повышает частоту части приоритетных ядер |
Disabled |
Enabled / Disabled |
Низкое |
Disabled |
Не требуется при равномерном распределении потоков ввода-вывода |
|
AVX ICCP Pre-Grant License |
Предварительно активирует разрешение AVX по току и мощности для сокращения задержек при изменении частоты |
Disabled |
Enabled / Disabled |
Низкое |
Disabled |
Сохранено значение по умолчанию |
|
Number of Cores per Processor |
Определяет число активных физических ядер каждого процессора |
All |
All / 2 / 4 / 8 / ... |
Низкое |
All |
Использование всех ядер позволяет задействовать максимальное число параллельных очередей ввода-вывода |
|
CPU Physical Address Limit |
Управляет ограничением физического адресного пространства процессора |
Enabled |
Enabled / Disabled |
Низкое |
Enabled |
Сохранено значение по умолчанию |
|
AMP Prefetch |
Адаптивный механизм многоканальной упреждающей выборки |
Enabled |
Enabled / Disabled |
Среднее |
Enabled |
Повышает эффективность упреждающего чтения последовательных данных |
|
Homeless Prefetch |
Обрабатывает упреждающую выборку, для которой не назначен целевой Home Agent |
Enabled |
Enabled / Disabled / Auto |
Среднее |
Enabled |
Сохранено значение по умолчанию |
|
CPU Interconnect Speed |
Задает рабочую скорость соединения UPI между процессорами |
Maximum data rate |
Max data rate / 20.0 GT/s / 16.0 GT/s |
Среднее |
Maximum data rate |
Максимальная скорость UPI уменьшает вероятность ограничений при обмене между процессорами |
|
Virtualization Technology |
Включает аппаратные расширения виртуализации Intel VT-x |
Enabled |
Enabled / Disabled |
Низкое |
Disabled |
В тесте без гипервизора отключено для исключения накладных расходов виртуализации |
|
Directory Mode |
Включает размещаемый в памяти каталог когерентности |
Enabled |
Enabled / Disabled |
Среднее |
Enabled |
Снижает служебный трафик проверки когерентности в многопроцессорных системах |
|
Adjacent Cache Line Prefetch |
При промахе кэша дополнительно загружает соседнюю 64-байтную строку |
Enabled |
Enabled / Disabled |
Среднее |
Enabled |
Полезно для схем доступа с пространственной локальностью |
|
Hardware Prefetcher |
Аппаратный потоковый механизм упреждающей выборки MLC |
Enabled |
Enabled / Disabled |
Среднее |
Enabled |
Сохранено значение по умолчанию в пользу пропускной способности |
|
DCU Streamer Prefetcher |
Потоковый механизм упреждающей выборки данных в кэш L1 |
Enabled |
Enabled / Disabled |
Среднее |
Enabled |
Сохранено значение по умолчанию |
|
DCU IP Prefetcher |
Упреждающая выборка данных в L1 на основе указателя команд |
Enabled |
Enabled / Disabled |
Среднее |
Enabled |
Сохранено значение по умолчанию |
|
Virtual NUMA |
Предоставляет ОС или гипервизору виртуальную NUMA-топологию |
Disabled |
Enabled / Disabled |
Среднее |
Disabled |
Отключено, чтобы физическая топология SNC была доступна напрямую |
|
Local Machine Check Exception |
Включает локальную для ядра обработку MCE |
Enabled |
Enabled / Disabled |
Низкое |
Enabled |
Сохранено значение по умолчанию для функций RAS |
|
Настройки памяти |
||||||
|
System Memory Speed |
Рабочая скорость установленных модулей DIMM, информационный параметр с автоматическим выбором |
6400 MT/s |
Auto (DIMM-dependent) |
Среднее |
6400 MT/s |
Максимальная поддерживаемая скорость для установленных модулей |
|
System Memory Testing |
Выполняет тестирование памяти во время POST |
Disabled |
Enabled / Disabled |
Низкое |
Disabled |
Отключено для сокращения времени загрузки; на производительность после запуска не влияет |
|
Memory Operating Mode |
Выбирает режим работы DIMM и функции защиты RAS |
Optimizer Mode |
Optimizer / Mirror / Spare |
Среднее |
Optimizer Mode |
Optimizer Mode дает максимальную пропускную способность без накладных расходов резервирования памяти RAS |
|
Node Interleaving |
Чередует память между процессорами и при включении скрывает NUMA-топологию |
Disabled |
Enabled / Disabled |
Высокое |
Disabled |
Должно оставаться отключенным для сохранения локальности SNC/NUMA при привязке нагрузки к ядрам |
|
Memory Training |
Управляет процедурой калибровки DIMM при загрузке |
Fast |
Fast / Retrain at Next Boot / Enable |
Низкое |
Fast |
Сохранено значение по умолчанию |
|
DIMM Self-Healing (PPR) |
Использует Post-Package Repair для исправления дефектов установленных модулей памяти |
Enabled |
Enabled / Disabled |
Низкое |
Enabled |
Функция RAS; измеримого влияния на производительность не отмечено |
|
Correctable Error Logging |
Включает журналирование исправимых ошибок ECC |
Disabled |
Enabled / Disabled |
Низкое |
Disabled |
Отключено, чтобы исключить накладные расходы журналирования во время тестов |
|
Memory Paging Policy |
Определяет политику открытия и закрытия страниц DRAM |
Closed Paging |
Closed / Adaptive Paging |
Среднее |
Closed Paging |
Closed Paging способствует более стабильным задержкам при случайном доступе |
|
Настройки System Profile |
||||||
|
System Profile |
Основной профиль энергопотребления и производительности, определяющий зависимые настройки |
Performance Per Watt (DAPC) |
Perf / PerfPerWatt / Custom ... |
Высокое |
Custom |
Custom позволяет отдельно управлять C-states, uncore и поведением Turbo |
|
CPU Power Management |
Управляет политикой P-states и Turbo процессора |
OS DBPM |
Max Performance / OS DBPM / ... |
Высокое |
Maximum Performance |
Поддерживает ядра на высокой частоте и устраняет задержки переключения, связанные с DVFS |
|
Memory Frequency |
Ограничивает рабочую частоту контроллера памяти |
Maximum Performance |
Max Performance / lower |
Среднее |
Maximum Performance |
Поддерживает максимальную пропускную способность памяти |
|
Turbo Boost |
Включает динамическое повышение частоты при наличии доступного запаса |
Enabled |
Enabled / Disabled |
Среднее |
Enabled |
Позволяет процессору работать выше базовой частоты |
|
Energy Efficient Turbo |
Снижает интенсивность использования Turbo для экономии энергии |
Enabled |
Enabled / Disabled |
Среднее |
Disabled |
Отключено, чтобы отдать приоритет производительности вместо энергоэффективности |
|
C1E |
Включает расширенное энергосберегающее состояние простоя C1E |
Enabled |
Enabled / Disabled |
Среднее |
Disabled |
Отключено для устранения задержки выхода из простоя неактивных потоков |
|
C-States |
Включает более глубокие энергосберегающие состояния простоя процессора |
Enabled |
Enabled / Disabled / Autonomous |
Высокое |
Disabled |
Отключение устраняет вариативность задержек выхода из C-states, что важно для ввода-вывода с низкими задержками |
|
Memory Patrol Scrub |
Определяет периодичность фоновой проверки и коррекции ошибок памяти |
Standard |
Standard / Extended / Disabled |
Низкое |
Standard |
Сохранено значение по умолчанию |
|
Memory Refresh Rate |
Задает множитель интервала регенерации DRAM |
1x |
1x / 2x |
Низкое |
1x |
1x не добавляет дополнительных накладных расходов на регенерацию |
|
Uncore Frequency (Compute) |
Управляет частотой mesh/uncore вычислительного кристалла |
Dynamic |
Dynamic / Manual |
Среднее |
Manual |
Фиксированная частота устраняет вариативность uncore, связанную с DVFS |
|
Custom Uncore Frequency (Compute) |
Задает фиксированную частоту uncore вычислительного кристалла в режиме Manual |
n/a |
0.8 max GHz |
Среднее |
1.6 GHz |
Стабилизирует задержки mesh на пути ввода-вывода |
|
Uncore Frequency (IO) |
Управляет частотой mesh кристалла ввода-вывода |
Dynamic |
Dynamic / Manual |
Среднее |
Manual |
Позволяет вручную управлять частотой mesh кристалла ввода-вывода |
|
Custom Uncore Frequency (IO) |
Задает фиксированную частоту uncore кристалла ввода-вывода в режиме Manual |
n/a |
0.8 max GHz |
Среднее |
1.6 GHz |
Стабильная частота mesh ввода-вывода способствует повышению пропускной способности PCIe |
|
Dynamic Load Line Switch |
Адаптивно управляет линией нагрузки регулятора напряжения |
Enabled |
Enabled / Disabled |
Низкое |
Enabled |
Сохранено значение по умолчанию |
|
Latency Optimized Mode |
Настраивает mesh и память на минимальные задержки |
Disabled |
Enabled / Disabled |
Высокое |
Enabled |
Включено для минимизации задержек доступа при случайном вводе-выводе малыми блоками |
|
Energy Efficient Policy |
Задает прошивке приоритет между энергосбережением и производительностью |
Balanced Performance |
Performance / Balanced / Efficiency |
Среднее |
Performance |
Смещает настройки платформы в сторону производительности |
|
Monitor/Mwait |
Включает инструкции MONITOR/MWAIT для режима простоя |
Enabled |
Enabled / Disabled |
Низкое |
Enabled |
Сохранено значение по умолчанию |
|
Workload Profile |
Готовый шаблон настройки системы под определенный тип нагрузки |
Not Configured |
Various / Not Configured |
Низкое |
Not Configured |
Не задан; отдельные параметры настраивались вручную |
|
CPU Interconnect Bus Link Power Mgmt. |
Управляет энергопотреблением соединений UPI в состояниях L0p/L1 |
Enabled |
Enabled / Disabled |
Среднее |
Enabled |
Оставлено включенным: энергосбережение UPI не повлияло на результаты привязанной к одному узлу нагрузки ввода-вывода |
|
PCI ASPM L1 Link Power Management |
Управляет энергосберегающим состоянием L1 для линий PCIe |
Enabled |
Enabled / Disabled |
Высокое |
Disabled |
Отключение исключает переход линии PCIe в L1 и связанную с ним задержку выхода из энергосберегающего режима на пути к NVMe |
|
Workload Configuration |
Настраивает платформу с приоритетом вычислительной нагрузки либо операций ввода-вывода |
Balanced |
Balanced / I/O Sensitive |
Высокое |
I/O Sensitive |
I/O Sensitive смещает настройки uncore и PCIe в пользу пропускной способности подсистемы хранения |
Настройки с наибольшим влиянием
-
Sub-NUMA Cluster (SNC) - разделяет каждый процессор на несколько NUMA-доменов, что позволяет операционной системе размещать потоки и данные ближе к контроллерам, обслуживающим соответствующие NVMe-накопители.
-
MADT Core Enumeration - режим Linear сохраняет последовательную нумерацию логических ядер внутри каждого NUMA-узла. Это упрощает точную привязку нагрузки к нужным ядрам с учетом физической топологии системы.
-
System Profile - для максимальной производительности используется профиль Custom с параметром CPU Power Management = Maximum Performance, отключенными энергосберегающими состояниями C-States и C1E и фиксированной частотой uncore. Такая конфигурация снижает задержки и вариативность времени отклика, связанные с динамическим управлением энергопотреблением.
-
PCI ASPM L1 - отключение энергосберегающего режима PCIe ASPM L1 не позволяет линиям NVMe переходить в состояние пониженного энергопотребления между всплесками ввода-вывода и тем самым исключает дополнительную задержку при их активации.
-
Workload Configuration - режим I/O Sensitive настраивает работу uncore и PCIe с приоритетом производительности подсистемы хранения, а не сбалансированной вычислительной нагрузки.
Результаты производительности
IOPS
Количество операций ввода-вывода последовательно увеличивалось по мере оптимизации конфигурации — со 165 767 IOPS при заводских настройках до 903 834 IOPS после полной настройки и привязки нагрузки к ядрам процессора. Включение SNC с нумерацией ядер Round Robin дало лишь 1,9% прироста. Переход на Linear увеличил результат до 266 667 IOPS — на 61% относительно исходной конфигурации. Наибольший скачок обеспечил пользовательский System Profile максимальной производительности: до 885 008 IOPS, или еще на 232%. Привязка процессов FIO к локальным ядрам добавила 2,1%, доведя итоговый результат до 903 834 IOPS.
График наглядно показывает разницу между первыми тремя конфигурациями на основе заводских параметров BIOS и двумя оптимизированными вариантами. Переход на производительный профиль увеличил IOPS более чем втрое относительно конфигурации SNC Linear. Это показывает, что раскрытие NUMA-топологии и настройка BIOS на максимальную производительность не заменяют, а дополняют друг друга.
На рисунке выше показано, как каждый этап настройки повлиял на итоговый результат: исходная производительность, прирост после включения SNC Linear, дополнительный эффект от оптимизации System Profile и заключительный прирост после привязки нагрузки к локальным ядрам процессора. Основной вклад обеспечила настройка System Profile, тогда как привязка к ядрам дала меньший, но дополнительный прирост.
Максимальный результат 903 834 IOPS показала оптимизированная конфигурация Dell PowerEdge R770 с привязкой нагрузки к ядрам — в 5,45 раза больше исходных 165 767 IOPS при заводских настройках BIOS.
Пропускная способность (Bandwidth)
Поскольку в тесте использовался фиксированный размер блока 512 байт, пропускная способность изменялась практически пропорционально IOPS. Суммарный показатель вырос с 80,3 МБ/с при заводских настройках до 428 МБ/с после полной оптимизации — на 433%.
Конфигурация SNC Linear достигла 129 МБ/с, что на 61% выше исходного результата. После перехода на оптимизированный System Profile пропускная способность увеличилась до 428 МБ/с.
При этом конфигурации Optimized + SNC Linear и Optimized + Core Pinning показали одинаковые 428 МБ/с. Это указывает на достижение предела пропускной способности NVMe-подсистемы для данной тестовой нагрузки. В то же время привязка процессов к локальным ядрам продолжила давать небольшой дополнительный прирост IOPS.
Суммарная пропускная способность для пяти конфигураций BIOS Dell PowerEdge R770
Вклад отдельных этапов оптимизации в итоговую пропускную способность
Обе оптимизированные конфигурации достигли 428 МБ/с — в 5,33 раза больше исходных 80,3 МБ/с при заводских настройках BIOS. Для данной конфигурации NVMe и выбранной тестовой нагрузки это значение стало пределом пропускной способности.
Сравнительный анализ
В таблице ниже сведены результаты по обоим показателям — IOPS и пропускной способности, их изменение относительно заводской конфигурации BIOS, а также общая оценка каждого варианта настроек.
Сводные результаты производительности Dell PowerEdge R770
|
Конфигурация BIOS |
IOPS |
Пропускная способность, МБ/с |
Изменение IOPS относительно базовой |
Изменение пропускной способности относительно базовой |
Общая оценка |
|---|---|---|---|---|---|
|
R770 — заводские настройки BIOS |
165 767 |
80,3 |
— |
— |
Базовая |
|
R770 — заводские настройки + SNC Round Robin |
168 839 |
81,2 |
+1,9% |
+1,1% |
Незначительная |
|
R770 — заводские настройки + SNC Linear |
266 667 |
129 |
+60,9% |
+60,6% |
Средняя |
|
R770 — оптимизированный профиль + SNC Linear |
885 008 |
428 |
+433,9% |
+433,0% |
Высокая |
|
R770 — оптимизированный профиль + привязка к ядрам |
903 834 |
428 |
+445,2% |
+433,0% |
Оптимальная |
Соотношение IOPS и пропускной способности
Ограничения и компромиссы
Энергопотребление и охлаждение. Настройки максимальной производительности дольше удерживают процессорные ядра и интерфейсы в высокопроизводительных состояниях. Это приводит к увеличению энергопотребления как под нагрузкой, так и в режиме простоя, а также повышает тепловыделение.
Сложность эксплуатации. Привязка нагрузки к ядрам с учетом NUMA-топологии требует определить соответствие между NUMA-узлами и устройствами PCIe и поддерживать правила привязки при изменениях конфигурации. Такой подход оправдан прежде всего для длительных нагрузок, критичных к производительности и задержкам.
Зависимость от сценария использования. Отключение энергосберегающих состояний C-states, аппаратной виртуализации и PCIe ASPM может быть оправдано для выделенных серверов хранения без гипервизора. Для консолидированных или виртуализированных серверов такие настройки могут оказаться нежелательными из-за других требований к энергопотреблению, функциональности и распределению ресурсов.
Ключевые выводы
-
NUMA-топология. Для высокопроизводительной системы ввода-вывода важно явно учитывать NUMA-топологию. Включение SNC совместно с линейной нумерацией ядер MADT увеличило IOPS примерно на 61% относительно заводской конфигурации.
-
Профиль производительности. Переход от стандартного профиля с управлением энергопотреблением к пользовательскому профилю максимальной производительности - с отключением C-states, фиксированной частотой uncore и отключением PCIe ASPM L1 - дал наибольший прирост: еще около 232%.
-
Привязка нагрузки к ядрам. Закрепление процессов FIO за ядрами, локальными относительно NVMe-устройств, дополнительно увеличило IOPS на 2,1% и повысило стабильность результатов между запусками.
-
Компромисс. Такая конфигурация наиболее полезна для NVMe-систем и серверов с GPU-ускорителями, где критичны минимальные задержки и высокий IOPS. Обратная сторона оптимизации - повышенное энергопотребление ради более стабильной и предсказуемой производительности.
Результаты тестирования показывают, что настройки BIOS могут быть одним из ключевых факторов производительности PCIe/NVMe-подсистемы Dell PowerEdge R770. В исследованной конфигурации включение SNC с линейной нумерацией ядер, переход на пользовательский System Profile максимальной производительности, отключение энергосбережения линий PCIe и привязка нагрузки к локальным ядрам увеличили IOPS случайного чтения на 445%, а пропускную способность - на 433% относительно заводских настроек. Итоговый прирост составил примерно 5,5 раза без изменения аппаратной конфигурации. Наибольший вклад обеспечила настройка System Profile, затем - корректное представление NUMA-топологии; привязка к ядрам дала меньший дополнительный эффект и повысила стабильность результатов.
Однако такой прирост имеет свою цену. Поддержание высокой частоты процессорных ядер, отключение C-states и предотвращение перехода PCIe в состояние L1 увеличивают энергопотребление и тепловую нагрузку, а также уменьшают гибкость эксплуатации сервера. Привязка нагрузки с учетом NUMA-топологии дополнительно требует контролировать соответствие NUMA-узлов и устройств PCIe и поддерживать эти правила после обновлений BIOS, ядра ОС или изменения аппаратной конфигурации.
Поэтому полностью оптимизированный профиль следует рассматривать прежде всего как отправную точку для выделенных систем, чувствительных к задержкам и требующих высокого IOPS: NVMe-серверов хранения, транзакционных баз данных и СУБД в памяти, систем обработки финансовых данных с минимальными задержками и ИИ-серверов. Для универсальных, виртуализированных или ограниченных по энергопотреблению платформ разумнее использовать частичную оптимизацию - сохранить SNC с Linear MADT и режим I/O Sensitive, не отключая без необходимости все механизмы энергосбережения.
Dell, ITELON
Вам может быть интересно


Инфраструктура для ИИ на Dell PowerEdge 17G с AMD: рекомендации по оптимизации

Настройки BIOS серверов Dell PowerEdge 17-го поколения для оптимальной производительности: R7725, R6725, R7715 и R6715
Подпишитесь на новости
Обратитесь к экспертам компании Itelon



Оцените статью и добавьте комментарий — будьте первым
Спасибо!
Комментарий успешно отправлен на модерацию! После модерации комментарий будет опубликован в ближайшее время!