Системные установки для производительности Verbs
Содержание
Следующие установки могут улучшить производительность для исполнения глаголов и стабильности, а также, скорее всего, производительность для систем хранения, которые применяют эти протоколы.
Ускорение RDMA является протоколом расширения Глаголов (Verbs), для улучшения значения производительности операций записи RDMA и чтения RDMA в оборудовании Intel® Omni-Path. Данное расширение улучшает действенность обмена большими сообщениями для предоставления преимуществ, включая увеличение получения полосы пропускания при снижении использования ЦПУ. Эта функциональность ускоряет API Verbs OpenFabrics Alliance* (OFA) при том что не требует никаких изменений от потребителей API. Поскольку технология ускорения производится в самом драйвере хоста, сами приложения, исполняемые поверх API Verbs OFA, не требуют вносить никакие изменения в код.
Ускорение RDMA отключено по умолчанию. Для включения ускорения RDMA необходимо drk.xbnm dсе следующие условия.
Для разрешения Ускоренного RDMA выполните следующие шаги:
-
Внесите изменения в файл
/etc/modprobe.d/hfi1.conf
(см. Установка параметров драйвера HFI1). -
в строке "опции HFI1" этого файла добавьте настройку
cap_mask=0x4c09a01cbba
. -
Перезапустите свой драйвер hfi1 чтобы активировать сделанные установки, как это описано в разделе Установка параметров драйвера HFI1.
Для применения Ускоренного RDMA убедитесь что ваше приложение или программное обеспечение промежуточного уровня (такое как программное обеспечение файловой системы) соответствует следующим условиям:
-
Использует размер полезной нагрузки по крайней мере в 256 кБ.
-
Настрило размер полезной нагрузки на применение множителя в 4 кБ.
-
Выравнило все буферы данных на границы страниц в 4 кБ.
Обсуждаемые настройки Ускоренного RDMA следует рассматривать как более предпочтительные для обмена файловой системы с высокой степенью распараллеливания при сопоставлении с настройкой эвристического параметра Adaptive Cache Memcpy.
Если описываемые настройки Ускоренного RDMA не работают должным образом, в качестве альтернативы вы можете включить Adaptive Cache Memcpy,
установив параметр sge_copy_mode=2
аналогично прочим параметрам драйвера, как это описано в разделе
Установка параметров драйвера HFI1.
Другим настраиваемым параметром драйвера, который может улучшить масштабируемость параллельной файловой системы (хранилища) является
krcvqs
(kernel receive queues - очереди приёма ядра).
В вычислительном узле, который является узлом клиента системы хранения вы можете пожелать попробовать значения большие, чем установленное
по умолчанию krcvqs=2
.
-
Внесите изменения в файл
/etc/modprobe.d/hfi1.conf
(см. Установка параметров драйвера HFI1).New-VM -Name VM01 -Generation 2
-
Замените значение
krcvqs
как это отображено в приводимом далее примере:options hfi1 sge_copy_mode=2 krcvqs=4
Приводимая выше настройка подразумевает только один активный VL. Если, скажем, имеется три активных VL (00, 01, 02) и сам обмен параллельной
файловой системы осуществляется по VL 01, тогда хорошими установками krcvqs мугут быть
krcvqs=2,4,2
, чтобы избежать использования слишком большого объёма ресурсов в VL, применяемых не под
хранилище.
В узле сервера системы хранения обычно нет никакого исполняемого обмена MPI или активности по вычислениям с плавающей точкой, поэтому
для очередей приёма ядра можно использовать больше ядер. В этом случае применение таких установок как от
krcvqs=4
вплоть до krcvqs=8
может предоставить лучшую
пропускную способность и число операций IO в секунду для вашей файловой системы.
Рекомендуется применять Lustre* Version 2.8 или новее, либо программное обеспечение Intel® Enterprise Edition для Lustre* Version 3.0. Процесс загрузки модуля Lustre автоматически загрузит все необходимые регулировки для оптимальной производительности Intel® Omni-Path.
Lustre* Version 2.10 содержит улучшения производительности в отношении Intel® OmniPath и прочих инфраструктур, в особенности для I- клиента для тестов I- сервера.
Как уже упоминалось ранее, настройки Ускоренного RDMA должны быть предпочтительными установками для обмена в файловой системе с высоким
распараллеливанием, такой как некий кластер с параллельной файловой системой IBM Spectrum Scale (ранее имевшей название General Parallel
File System, GPFS {Прим. пер.: наш перевод GPFS 4.1: Концепции, планирование и руководство по установке}).
Такие установки Ускоренного RDMA следует выполнить на всех тех узлах, которые вовлечены в обен большими сообщениями/ блоками вашей файловой
системы. Например, в вашем файле /etc/modprobe.d/hfi1.conf
и в самом сервере NSD и в узлах клиентов должны
появиться установки cap_mask=0x4c09a01cbba
.
Все необходимые условия для задействования Ускоренного RDMA определены в разделе Ускоренный RDMA. Для первых двух условий - размера полезной нагрузки ≥ 256 кБ и кратности полезной нагрузки 4 кБ - воспользуйтесь следующими установками параметров Spectrum Scale (регулировками):
NSD Server:
mmchconfig verbsRdmaMaxSendBytes=1024k, scatterBufferSize=1024k,
verbsRdmaMaxSendSge=40, maxMBpS=32000
Client/compute node:
mmchconfig verbsRdmaMaxSendBytes=1024k, scatterBufferSize=1024k,
verbsRdmaMaxSendSge=40, pagepool=4096M, prefetchPct=50, maxMBpS=16000
Что касается третьего условия - выравнивания буфера драйвера на границу страниц в 4 кБ - это всегда имеет место для обмена RDMA Spectrum Scale.
Если какие- то из узлов, вовлечённых в обмен файловой системы Spectrum Scale, имеют два адаптера Intel® Omni-Path, и вы желаете применять их
оба для поддержки обмена в своей файловой системе, тогда для всех узлов воспользуйтесь командой mmchconfig
чтобы установить значение параметра verbsPorts
следующим образом:
verbsPorts="hfi1_0 hfi1_1"
Приводимые ниже регулировки BIOS семейств процессоров Intel® Xeon® E5 v3 и v4, которые берутся из Таблицы 2-1, были признаны особенно важными для рабочих нагрузок файловой системы Spectrum Scale:
IOU Non-posted Prefetch= Disabled
NUMA Optimized= Enable (aka Memory.SocketInterleave=NUMA)
Snoop Holdoff Count=9