Разбираем редкого зверя от Nvidia — DGX A100
Крупные IT-компании располагают дорогими «игрушками», которые скрыты от взоров большинства пользователей. Сегодня мы приоткроем завесу тайны и расскажем про систему, которая оптимизирована для работы с искусственным интеллектом.
Задачи ИИ предъявляют высокие требования к вычислительным и сетевым ресурсам, поэтому наш сегодняшний «гость» приятно порадует своей конфигурацией. Встречайте: NVIDIA DGX A100.
Встречают по одежке
NVIDIA DGX A100 — это стоечный сервер, высотой в 6U и массой более 130 килограмм. Сервер даже в коробке способен повергнуть в легкий трепет. Большой корпус и красивый золотистый цвет притягивают взгляды проходящих мимо коллег.
Сервер прибыл в сопровождении инженера, который оказывал нам как физическую, так и моральную поддержку. Пока наши сотрудники снимали упаковку и готовили инструменты для транспортировки сервера к месту установки, инженер рассказывал интересные факты об этом сервере. Так, техника безопасности предписывает использовать лифт для монтажа в стойку, а для разборки сервера нужно минимум два человека.
Корпус сервера не открывается сверху. Вместо этого в задней части сервера есть два трея — это составные части сервера, которые содержат «начинку» сервера. Обратите внимание, что винты-фиксаторы треев в шасси окрашены в зеленый цвет, а фиксаторы крышки трея — в черный.
В глаза бросается шесть блоков питания по 3 КВт каждый с возможностью горячей замены. Интересно, что максимальное заявленное энергопотребление — 6.5 КВт. Разгадка проста: блоки питания работают по схеме 3+3, то есть резервирование 2N. Большинство обычных корпусов для GPU предоставляют 4 блока питания и схему 3+1.
На нижнем трее видно десять портов сетевых карт с пропускной способностью до 200 Гбит/с. По умолчанию двухпортовая карта сконфигурирована в режиме Ethernet, а остальные — в режиме Infiniband. Эти сетевые карты используются для объединения нескольких DGX в вычислительный кластер. У нас всего один DGX, поэтому порты не используются.
Один из суперкомпьютеров России, Кристофари, собран из 75 серверов DGX-2, в основе которого лежат графические ускорители предыдущего поколения.
Передняя панель сервера выглядит ожидаемо для сервера с GPU: много больших вентиляторов. Они способны развивать скорость до 18000 оборотов в минуту, что позволяет эффективно охлаждать богатый внутренний мир сервера. Софт сервера сам управляет скоростью вращения вентиляторов и не предоставляет пользователю возможности вмешаться в этот процесс.
Сперва мы хотели попытаться запустить DGX самостоятельно, но, к сожалению, столкнулись с неожиданной проблемой. Во время пуско-наладочных работ сервер вывел ошибку связи с BMC и раскрутил все вентиляторы до 18 000 оборотов в минуту. При помощи сопровождающего инженера ошибка была устранена, и сервер стал работать в штатном режиме. Даже в процессе стресс-тестирования на такие обороты он больше не выходил.
Передняя панель закрывается специальной крышкой на магнитных креплениях. Издалека кажется, что на передней панели изображен белый шум, но на самом деле это металл с множеством отверстий, пропускающих воздух.
В ходе тестов было выявлено, что данная крышка не имеет значительного влияния на теплоотвод, вентиляторы сервера отлично справляются со своей работой.
После внешнего осмотра сервер был перенесен на прочный стол и разобран.
Как уже говорилось ранее, сервер состоит из двух треев: CPU и GPU. Каждый трей — это часть сервера, заключенная в свою железную коробку, которая установлена в шасси. Связь между треями, вентиляторами и корзинами на передней панели обеспечивает объединительная плата, установленная в корпусе. В некотором смысле DGX — это классическое blade-шасси, только вместо отдельных серверов (лезвий) устанавливаются части одного сервера.
Вверху находится GPU-трей, занимающий 3U. Он тяжеловат даже для двух человек. На верхней крышке трея также есть предупреждающий знак о тяжести объекта и необходимости работать с ним вдвоем.
В этом трее установлены восемь видеокарт NVIDIA Tesla A100 в модификации 40 GB. Их особенностью является форм-фактор SXM4. Данная версия видеокарты отличается мезонинным исполнением и повышенным тепловыделением: 400 Вт против 300 у PCIe-версии.
Помимо восьми больших радиаторов видеокарт, на трее расположены шесть радиаторов поменьше. Эти радиаторы охлаждают микросхемы, которые реализуют интерконнект видеокарт. Технологии NVLINK и NVSWITCH соединяют восемь видеокарт многосвязной топологией (каждая видеокарта соединена с каждой) с пропускной способностью 600 Гбит/с.
CPU-трей имеет два способа извлечения: полное и частичное.
Во втором случае трей выезжает из шасси чуть больше чем на длину части с PCIe-слотами и фиксируется, а крышка трея открывается вверх. Это позволяет провести работы с сетевыми картами или накопителем для ОС, не извлекая трей целиком.
Со стороны CPU-трей выглядит как обычный 2U сервер без блоков питания. Под большими радиаторами прячется пара процессоров AMD EPYC 7742, суммарно 128 физических ядер или 256 логических. Рядом стоят шестнадцать планок DDR4 с частотой 3200 МГц и объемом 64 ГБ каждая. Суммарный объем оперативной памяти 1 ТБ.
Интересно, что радиаторы процессоров расположены друг за другом, то есть второй процессор охлаждается теплом первого. Тем не менее, с системой охлаждения DGX это выглядит незначительно. Непривычно большие радиаторы заметны и на этом трее. Взаимодействие с GPU-треем создает большую нагрузку на PCIe-мосты, которые тоже требуют охлаждения.
Между слотами находится небольшая плата с максимальной плотностью электронных компонентов. Это выглядит как маленький электронный город. Здесь узнается чип ASPEED, который является «сердцем» BMC-модуля. Помимо этого, здесь есть модули доверенной загрузки, которые обеспечивают безопасность платформы.
Существует «старшая» модификация DGX A100 на 640 ГБ видеопамяти. В ней объем оперативной памяти расширен до 2 ТБ, а также увеличен объем постоянного хранилища.
На этом знакомство с внутренним миром DGX закончено. Давайте посмотрим на него в работе.
Душа титана
В коробке с DGX лежит флешка, а на флешке — подготовленный образ операционной системы для начала работы. Основой образа является операционная система Ubuntu 20.04.3 LTS с предустановленными драйверами и специальными утилитами.
Сервер, который мы запускаем, прошел длинный путь, в ходе которого был разобран и собран. После транспортировки и манипуляций стоит проверить целостность систем сервера. По регламенту установки операции, сопряженные с первым запуском DGX, должен проводить сопровождающий инженер, но нам было очень любопытно, поэтому все операции проводились совместно.
Часть операций производится через утилиту nvsm, консольный интерфейс для nvidia system management. Всего одна команда проверит «теоретическое» состояние сервера:
nvsm show health
Команда проверяет все, до чего может «дотянуться», а именно:
- наличие всех заявленных PCIe-устройств: NVMe, сетевых карт и видеокарт;
- использование PCIe 4.0 и максимально доступного количества линий для каждого устройства;
- топологию видеокарт и доступность всех соседей для каждой видеокарты через NVLINK;
- количество установленных планок памяти и их P/N;
- количество логических ядер процессора.
В конце мы получили ожидаемую строчку о полном здоровье платформы.
Health Summary
--------------
168 out of 168 checks are healthy
0 out of 168 checks are unhealthy
0 out of 168 checks are unknown
0 out of 168 checks are informational
Overall system status is healthy
100.0% [=========================================]
Status: healthy
Следующий этап регламента — запуск стресс-теста. Это не только проверит систему в работе, но заодно предоставит нам информацию о максимальном практическом энергопотреблении и температуре на различных компонентах сервера. В этой задаче также помогает утилита nvsm.
nvsm stress-test
Стресс-тест сделан достаточно удобно. Утилита нагружает процессор, видеокарты, оперативную память и постоянное хранилище и начинает отслеживать системные события, температуры, обороты вентиляторов и энергопотребление. Через 20 минут, в конце теста, выводится табличка статистики.
System Resource Metrics
Component Pre-test Min Avg Max Unit
CPU_LOAD 76.65 0.69 87.79 103.12 %
CPU_TEMP 46.50 46.50 66.61 68.50 C
DISK_LOAD 0.11 0.00 16.44 37.87 %
GPU_LOAD 0.00 0.00 84.72 100.00 %
GPU_TEMP 33.13 33.13 62.49 67.88 C
MEM_LOAD 0.88 0.88 74.11 89.56 %
MEM_TEMP 33.75 33.75 36.10 36.75 C
FANSPEED 4812.09 4812.09 7269.36 7538.64 RPM
POWERDRAW 1586.00 1586.00 4437.73 4745.00 W
System stress test successful.
No alerts seen.
Здесь видно, что температура процессоров и видеокарт не превышала 69 градусов, при этом вентиляторы работали чуть меньше, чем в полсилы. Энергопотребление составило 4.7 КВт, что почти на два киловатта меньше заявленного в спецификации. Впрочем, данный стресс-тест не учитывает десяти внешних сетевых карт, да и наша версия DGX не старшая.
Теперь, когда сервер проверен и готов к работе, хочется провести тесты, чтобы узнать, на что способна эта машина для вычислений. Хотя данный сервер больше предназначен для задач ИИ, желания провести обычные тесты никто не отменял.
Мы начали с GeekBench 5 Compute. К сожалению, данный бенчмарк не задействует интерконнект между видеокартами и тестирует исключительно одно устройство за раз. Тем не менее, с его помощью можно сравнить, насколько SXM4-версия Tesla A100 лучше, чем PCIe-версия.
Категория | PCIe Tesla A100 40G | SXM4 Tesla A100 40G |
OpenCL | 170137 | 188380 (+11%) |
CUDA | 213899 | 234890 (+10%) |
Второй тест, который мы провели, — ai-benchmark, тест производительности, который замеряет скорость обучения и применения различных нейронных сетей на задачах распознавания и классификации. Хотя данный тест использует Tensorflow GPU и даже в логах отмечает наличие интерконнекта между видеокартами, но запускается только на одной видеокарте. Таким образом этот тест показателен только для сравнения разных форм-факторов Tesla A100.
Категория | PCIe Tesla A100 40G | SXM4 Tesla A100 40G |
Inference Score | 25177 | 30158 (+20%) |
Training Score | 23775 | 27837 (+17%) |
AI Score | 48952 | 57995 (+19%) |
В качестве тестирования задач ИИ был выбран MLPerf от MLCommons. На сайте NVIDIA упоминается этот тест, а в турнирных таблицах MLPerf встречаются результаты старшей версии DGX A100 за авторством производителя.
Несмотря на наличие инструкции и четкий регламент, большинство тестов не запускалось из-за ошибок в зависимостях Docker-контейнеров. Однако вместе с DGX A100 поставляется контракт на техническую поддержку, который включает в себя в том числе возможность пообщаться с экспертами в области ИИ, а также удаленную помощь с настройкой ПО.
На данный момент у нас нет возможности сравнить DGX A100 с сервером с восемью Tesla A100 без интерконнекта, поэтому тестирование MLPerf пока отложено до момента появления тестового стенда с необходимой конфигурацией.
Заключение
NVIDIA DGX A100 — мощный сервер, призванный ускорить решение задач, связанных с искусственным интеллектом. DGX имеет множество сложных технических нюансов и особенностей, но их нельзя прочувствовать на паре общих тестов производительности. Чтобы узреть настоящую мощь этого сервера, нужно «потрогать» его самостоятельно.
Сервер предоставлен компанией Forsite. Forsite — российский производитель суперкомпьютеров и провайдер решений NVIDIA уровня Elite.