Аннотация
Недавно в Dell EMC PowerEdge C4140 было добавлено новое решение «Конфигурация M». Эта новейшая опция входит в семейство C4140, в этой статье представлены результаты исследования, посвященного оценке производительности конфигурации M по сравнению с конфигурацией K для различных HPC-приложений, включая HPL, GROMACS и NAMD.
Обзор
PowerEdge C4140 — это 2-процессорный стоечный сервер в корпусе 1U. Он включает поддержку процессоров Intel Skylake, до 24 разъемов DIMM и четырех графических плат NVIDIA Volta двойной ширины. В семействе серверов C4140 две конфигурации, поддерживающие NVLINK: конфигурация K и конфигурация M. Сравнение обеих топологий показано на Рис. 1. Ниже описаны два основных различия между этими конфигурациями.
p2pBandwidthLatencyTest
Рис. 2: Задержка между платами с отключенной P2P в конфигурациях C4140 K и М
P2pBandwidthLatencyTest — это эталонный микротест, включенный в комплект CUDA SDK. Он измеряет задержку и пропускную способность между платами с включенной и отключенной функцией одноранговой сети GPUDirect™. В данном тесте основное внимание уделяется задержке, поскольку эта программа не измеряет пропускную способность одновременно. Обсуждение доступной реальной пропускной способности для приложений находится в сеансе HPL ниже. Цифры, приведенные на Рис. 2, представляют собой среднее значение 100-кратной однонаправленной задержки между платами в микросекундах. Каждый раз, когда код отправляет один байт с одной платы на другую, в этой таблице отбирается номер с отключенной P2P, а если P2P включена, данные передаются через NVLINK. Задержка PCIe в конфигурации M на 1,368 мкс меньше, чем в конфигурации K из-за различных топологий PCIe.
High Performance Linpack (HPL)
На рисунке 3 (а) показана производительность HPL на платформе C4140 с графическими процессорами 1, 2, 4 и 8 графическими процессорами V100-SXM2. Результаты для 1–4 графических процессоров получены с помощью одного C4140, производительность 8 графических процессоров измерена на двух серверах. В этом тесте используемая версия HPL предоставляется NVIDIA, и соотносится с недавно выпущенными CUDA 10 и OpenMPI. В результатах HPL можно наблюдать следующие характеристики:
1) Один узел. При тестировании всех 4 графических процессоров конфигурация M на ~16% быстрее, чем конфигурация K. Перед началом вычислений приложение HPL измеряет доступную пропускную способность PCIe на путях устройство-хост (D2H) и хост-устройство (H2D) для каждой платы графического процессора, когда все платы передают данные одновременно. Эта информация предоставляет полезные данные о реальной пропускной способности PCIe для каждой платы, когда HPL копирует таблицу N*N в память всех графических процессоров одновременно. Как показано на Рис. 3 (б), значения для D2H и H2D в конфигурации M намного выше и теоретически достигают пропускной способности PCIe x16. Это соответствует топологии оборудования, так как каждый графический процессор в конфигурации M имеет выделенные каналы PCIe x16 для ЦП. В конфигурации K все четыре V100 должны использовать один канал PCIe x16 через коммутатор PLX PCIe, чтобы для каждого из них был доступен только канал 2,5 Гбайт/с. Из-за разницы в пропускной способности, в конфигурации M потребовалось 1,33 секунды, чтобы скопировать 4 элемента таблицы N*N в глобальную память каждого графического процессора, а в конфигурации K — 5,33 секунды. Полный цикл приложения HPL занимает от 23 до 25 секунд. Поскольку все модели V100-SXM2 одинаковы, время вычислений остается одинаковым, поэтому экономия 4 секунд при копировании данных делает конфигурацию M на 16% быстрее.
2) Несколько узлов. Результаты для 2 узлов C4140 с 8 графическими процессорами показывают улучшение HPL более чем на 15% на двух узлах. Это означает, что конфигурация M имеет лучшую масштабируемость на нескольких узлах, чем конфигурация K, по той же причине, что и на отдельном узле с 4 графическими платами в приведенном выше примере.
3) Эффективность. Потребляемая мощность измерена с помощью iDRAC, на Рис. 3 (в) показана потребляемая мощность в Вт⋅ч. В обеих системах достигается пиковая мощность около 1850 Вт, из-за увеличения числа GFLOPS, конфигурация M обеспечивает более высокую эффективность HPL и производительность на ватт.
HPL — это эталонный тест системного уровня, результаты которого определяются такими компонентами, как ЦП, графический процессор, память и пропускная способность PCIe. Конфигурация M имеет сбалансированную конструкцию для двух ЦП, поэтому она превосходит конфигурацию K в данном эталонном тесте HPL.
GROMACS
GROMACS представляет собой приложение с открытым исходным кодом для молекулярной динамики, предназначенное для моделирования биохимических молекул, таких как белки, липиды и нуклеиновые кислоты, которые имеют много сложных связанных взаимодействий. Версия 2018.3 протестирована на наборе данных «water 3072», который содержит 3 миллиона атомов.
Рис. 4. Производительность GROMACS при использовании нескольких V100 в конфигурации C4140 K и M
На Рис. 4 показано повышение производительности конфигурации M по сравнению с K. Производительность одной платы одинакова в обеих конфигурациях, так как нет различий в пути данных. При использовании 2 или 4 графических процессоров конфигурация M на 5% быстрее K. При тестировании на 2 узлах конфигурация M имеет на 10% более высокую производительность; основной причиной является увеличение количества подключений PCIe, которые обеспечивают большую пропускную способность и позволяют быстро передавать больше данных на графические процессоры. GROMACS значительно ускоряется с помощью графических процессоров, но это приложение использует ЦП и графические процессоры для параллельного расчета; поэтому, если GROMACS является главным приложением в кластере, рекомендуется мощный ЦП. На этом графике также показано масштабирование производительности GROMACS с большим количеством серверов и большим количеством графических процессоров. Хотя производительность приложения увеличивается с увеличением количества графических процессоров и серверов, увеличение производительности при использовании дополнительных графических процессоров не является линейным.
NAnoscale Molecular Dynamics (NAMD)
NAMD — это код молекулярной динамики, предназначенный для высокопроизводительного моделирования больших биомолекулярных систем. В этих тестах не использовался предварительно построенный двоичный файл. Вместо этого NAMD был построен с использованием последнего исходного кода (NAMD_Git-2018-10-31_Source) с CUDA 10. На рисунке 4 показаны результаты производительности с использованием набора данных STMV (1066628 атомов, периодический, PME). Тесты для небольших наборов данных, таких как f1atpase (327 506 атомов, периодические, PME) и apoa1 (92 224 атомов, периодические, PME), привели к аналогичным результатам сравнения между конфигурацией M и конфигурацией K, но не представлены здесь для краткости.
Рис. 5. Результаты производительности NAMD с несколькими V100 в конфигурации C4140 K и M
Как и в GROMACS, в 4 раза большая пропускная способность PCIe улучшает производительность в NAMD. На Рис. 5 показано, что производительность конфигурации M с 2 и 4 платами на 16% и на 30% выше, чем у конфигурации K, соответственно, в наборе данных STMV. Производительность одной платы должна быть одинаковой, поскольку при тестировании только одного графического процессора пропускная способность PCIe одинакова.
Выводы и планы на будущее
В этой статье блога сравнивалась производительность приложений HPC с HPL, GROMACS и NAMD в двух различных конфигурациях NVLINK PowerEdge C4140. HPL, GROMACS и NAMD работают в конфигурации M на ~10% лучше, чем в конфигурации K. Во всех тестах, как минимум, конфигурация M обеспечивает одинаковую производительность с конфигурацией K, так как она обладает всеми отличными характеристиками конфигурации K, а также большим количеством каналов PCIe и не использует коммутаторы PCIe. В будущем планируется проведение дополнительных тестов с большим количеством приложений, таких как RELION, HOOMD и AMBER, а также тестов с использованием графического процессора V100 32G.