
Как DGX Spark собирается в кластер
Подберём сервер под задачи
Ответьте на несколько вопросов — подготовим предложение
Кластер DGX Spark нужен не только ради скорости. Иногда задача проще: разместить модель, для которой памяти одного компьютера недостаточно. Но соединение кабелем не превращает несколько устройств в один большой ускоритель. Потребуются настроенная сеть и программный движок, который умеет распределять вычисления.
Разберём подключение пары, кольцо из трёх систем и вариант с коммутатором: от проверки связи до оценки памяти и скорости LLM. Расчёты ёмкости ниже относятся к конфигурациям со 128 ГБ памяти.
Коротко о DGX Spark: что это за устройство
В основе устройства — GB10 Grace Blackwell: Arm-процессор и графический ускоритель Blackwell с общей когерентной памятью, или объединённой памятью. В рассматриваемой конфигурации её 128 ГБ. Часть этого объёма нужна операционной системе и приложениям, поэтому целиком отдать его весам нейросети нельзя.
Для объединения в кластер предусмотрены ConnectX-7 и два физических QSFP-порта. Отдельный RJ-45 поддерживает 10 GbE. Система работает под DGX OS. Общие характеристики и сценарии одного компьютера разобраны в обзоре NVIDIA DGX Spark.
Если сначала нужно оценить базовый узел без перехода к серверной инфраструктуре, ниже — готовый вариант DGX Spark.
Если задача уже известна — модель, объём памяти и характер нагрузки — станцию удобнее выбирать по этим параметрам, а не только по названию платформы.
Найдите станцию под ваши задачи
Готовые конфигурации для работы с большими массивами данных
Как соединяются два DGX Spark напрямую
Для пары достаточно одного совместимого QSFP-кабеля. Доступ по обычной LAN лучше сохранить: через неё можно обновлять ПО и диагностировать высокоскоростное соединение, пока оно ещё не настроено.
NVIDIA предлагает два пути: автоматическую настройку через NVIDIA Sync Cluster Assistant и ручную по инструкции. Ассистент проверяет устройства, создаёт сетевую конфигурацию и настраивает SSH. Он не устанавливает вместо пользователя всю инфраструктуру обслуживания моделей.
Какой кабель и порт нужны: ConnectX-7 и QSFP
Каждый QSFP-порт рассчитан на линк до 200 Гбит/с. QSFP обозначает семейство разъёмов, а не гарантированную скорость любого подключённого кабеля. Для покупки нужна совместимость конкретного артикула с портом и режимом 200 GbE.
В перечне одобренных NVIDIA кабелей есть, например, Amphenol NJAAKK-N911 и Luxshare LMTQF022-SD-R. У второго в описании указано 400G DAC, но на Spark он не сделает соединение 400-гигабитным. Надпись «400G» сама по себе тоже не подтверждает совместимость другого кабеля.
ConnectX-7 здесь работает в Ethernet-конфигурации. RDMA — механизм обмена с удалённой памятью — используется через RoCE, то есть поверх Ethernet. Называть эту сеть InfiniBand неправильно, даже если в диагностических утилитах встречаются имена с префиксом ib.
Для примера ниже соединяем правые QSFP-порты, если смотреть на заднюю панель. Они расположены дальше от RJ-45. Один физический порт представлен в Linux двумя Ethernet-интерфейсами. Это особенность подключения сетевого контроллера к GB10, а не две отдельные линии по 200 Гбит/с.
Пошаговая настройка: от кабеля до проверки RDMA
1. Подготовить системы. Обновить DGX OS и прошивки штатным способом, сверить версии драйверов и рабочее окружение. Для Cluster Assistant требуется системный выпуск апреля 2026 года или новее. Проверить SSH и права sudo. Одинаковое имя пользователя на обеих машинах соответствует ручному сценарию NVIDIA и упрощает запуск процессов.
Сохраните текущие сетевые настройки. Подсети примера не должны пересекаться с LAN или VPN. Не меняйте одновременно управляющее подключение, чтобы не потерять удалённый доступ.
2. Подключить кабель и найти интерфейсы. На каждом компьютере выполнить:
ibdev2netdev
Для правого порта ожидается соответствие rocep1s0f1 → enp1s0f1np1 и roceP2p1s0f1 → enP2p1s0f1np1, а рядом — состояние Up. Регистр букв в именах имеет значение. Если используется другой порт, имена будут другими: ориентируйтесь на фактический вывод команды.
3. Назначить адреса. Самый простой путь — добавить обе машины в NVIDIA Sync, открыть настройки, выбрать Cluster Assistant и создать кластер. Ассистент проверит кабельную схему и предложит сетевой план. После его применения не нужно поверх назначать адреса из ручного примера.
Для временной ручной настройки на первом узле:
sudo ip addr add 192.168.100.10/24 dev enp1s0f1np1
sudo ip link set enp1s0f1np1 up
sudo ip addr add 192.168.101.10/24 dev enP2p1s0f1np1
sudo ip link set enP2p1s0f1np1 up
На втором узле:
sudo ip addr add 192.168.100.11/24 dev enp1s0f1np1
sudo ip link set enp1s0f1np1 up
sudo ip addr add 192.168.101.11/24 dev enP2p1s0f1np1
sudo ip link set enP2p1s0f1np1 up
Команды предназначены для ещё не настроенных интерфейсов. Адреса через ip действуют до перезагрузки. Для постоянной конфигурации их закрепляют в netplan.
4. Проверить IP-связь и SSH. С первой машины проверить оба адреса второй:
ping -c 3 192.168.100.11
ping -c 3 192.168.101.11
Затем настроить SSH-ключи между узлами, проверив подлинность получателя. Нужен вход без интерактивного пароля, а не отключённая проверка сервера.
5. Проверить RDMA. В пакете perftest утилита ib_write_bw измеряет пропускную способность, а ib_write_lat — задержку. Для ручной схемы выше пример теста одного RDMA-интерфейса выглядит так. Сначала на первой машине:
ib_write_bw -d rocep1s0f1 -R --report_gbits
Затем на второй:
ib_write_bw -d rocep1s0f1 -R --report_gbits 192.168.100.10
На обеих сторонах нужны совместимые версии perftest и одинаковые параметры теста. Ключ -R включает установление RDMA-соединения через rdma_cm, -d выбирает устройство, --report_gbits задаёт вывод в Гбит/с. Для второго логического пути тест повторяют с его RDMA-именем и адресом из другой подсети.
Это тест одного пути с обычными буферами памяти, а не общей скорости порта или обмена GPU. Складывать показатели последовательных тестов нельзя.
6. Проверить коллективные операции и модель. Следующий уровень — NCCL tests, например all_gather_perf, запущенный через MPI на двух машинах. Для него нужны совместимые CUDA, NCCL и сборка тестов на обеих сторонах. В отдельной инструкции NVIDIA используется NCCL 2.30.7-1 со сборкой под SM 12.1. Это версия конкретного сценария, не требование вручную заменить NCCL внутри любого готового контейнера.
Затем запускают vLLM или TensorRT-LLM. Проверяют совместимость образа, доступ к RDMA-устройствам и настройки сети. Наличие GPU в nvidia-smi недостаточно: финальная проверка — запрос к модели и замер задержки.
Частые ошибки при настройке пары
Интерфейс Down — проверьте кабель и разъём. Линк поднялся, но ping не проходит — проверьте адреса и маршруты. Настраивать нужно оба логических интерфейса занятого порта.
Связь есть, а запуск зависает — проверьте SSH, пользователей, пути к файлам и версии контейнеров. Образ должен поддерживать Arm64 и GB10: наличия CUDA в сборке для x86 недостаточно.
Если тест работает, но обмен медленный, изучите журнал NCCL с NCCL_DEBUG=INFO. Параметр NCCL_SOCKET_IFNAME выбирает сокетный интерфейс, а NCCL_IB_HCA — RDMA-устройства. Это не одно и то же. Управляющий обмен через обычную LAN допустим, но он не должен незаметно подменять высокоскоростной транспорт данных модели.
Сколько памяти и какие модели становятся доступны в паре
У каждого компьютера своя память. Сумма 2 × 128 = 256 ГБ описывает ёмкость оборудования, но не создаёт единый аппаратный пул памяти одного GPU. Программный движок должен разделить веса, вычисления и промежуточные данные между системами.
| Конфигурация | Суммарная память | Соединение | Коммутатор |
|---|---|---|---|
| Один Spark | 128 ГБ | Межмашинной связи нет | Не нужен |
| Два Spark | 256 ГБ | Один прямой QSFP-кабель | Не нужен |
| Три Spark | 384 ГБ | Три QSFP-кабеля, кольцо | Не нужен |
| Четыре Spark | 512 ГБ | По кабелю от каждой машины к коммутатору | Нужен в описанной схеме |
Это суммы установленной памяти, а не объём под веса. На каждой машине остаются расходы на ОС, буферы обмена и работу движка. KV-кэш хранит данные внимания для уже обработанных токенов. Его потребление зависит от модели, длины контекста, числа одновременных запросов и формата хранения.
Для грубой оценки весов можно использовать формулу: число параметров × число бит / 8. Например, 235 млрд параметров при условных 4 битах занимают 117,5 млрд байт, то есть 117,5 ГБ в десятичной записи. Это нижняя арифметическая оценка: коэффициенты квантования, части модели в другой точности и служебные данные увеличивают объём.
Практический пример пары — Qwen3-235B-A22B в NVFP4. В официальном сценарии TensorRT-LLM NVIDIA запускает её с --tp_size 2. Обозначение A22B не означает, что нужно хранить только 22 млрд параметров: это MoE-модель, и объём полного набора весов гораздо больше активной части на один токен. Именно поэтому формат весов и запас памяти важнее одной цифры в названии.
Квантование модели снижает расход памяти, но требует поддержки со стороны движка. После загрузки проверьте свободный объём и доступную длину контекста. Настройки небольшой нейросети нельзя автоматически переносить на более крупную.
Не путайте два уровня связи:
| Технология | Где работает | Что соединяет | Роль |
|---|---|---|---|
| NVLink-C2C | Внутри GB10 | CPU и GPU | Когерентный доступ к локальной общей памяти |
| ConnectX-7 с RoCE | Между компьютерами | Отдельные системы по Ethernet | Передача данных распределённого приложения |
NVLink-C2C не выходит наружу через QSFP. Кластеризация не объединяет локальные области объединённой памяти аппаратно, а распределяет работу поверх сети.
Три DGX Spark без коммутатора: кольцевая топология
Для тройки у NVIDIA есть отдельная инструкция. Соединения A–B, B–C и C–A требуют трёх кабелей и обоих портов каждого устройства. В таком кольце каждый узел напрямую связан с двумя остальными.
В схеме NVIDIA порт 0 системы A соединён с портом 1 системы B, порт 0 B — с портом 1 C, порт 0 C — с портом 1 A. Порт 0 находится ближе к RJ-45. Для симметричной конфигурации адреса назначают всем четырём логическим Ethernet-интерфейсам каждого компьютера.
Нужны адресный план, проверка трёх соединений и NCCL-тест всей группы. Для настройки подойдут Cluster Assistant или скрипты трёхмашинного сценария NVIDIA, но не копия настроек пары.
Но исправная сеть ещё не означает поддержку TP3 любой нейросетью. Возможность разделить модель на три части зависит от её архитектуры и движка. Тройка полезна, например, для подходящего распределённого дообучения. Число компьютеров выбирают под задачу, а не наоборот.
Кластер из 4 и более узлов: когда нужен коммутатор
Типовая четырёхмашинная схема NVIDIA — по одному QSFP-соединению от каждого Spark к Ethernet-коммутатору с портами, работающими на 200 Гбит/с. Это удобнее расширять и диагностировать, чем проектировать нестандартные прямые соединения.
Важны не только число портов и цифра на лицевой панели. Проверяются совместимость кабелей, поддерживаемые режимы скорости, конфигурация L2 и требования RoCE к выбранной сети. Breakout 400G → 2 × 200G подходит лишь при поддержке такого режима коммутатором и кабельной сборкой.
Ручная инструкция NVIDIA допускает расширение схемы на большее число устройств. При этом Cluster Assistant рассчитан максимум на четыре. Это разные ограничения: возможность подключить ещё один компьютер к сети не означает, что его автоматически настроит ассистент или эффективно задействует выбранная модель.
Сетевая архитектура: вычислительная сеть и сеть управления
Сеть управления обслуживает SSH, обновления, мониторинг и доступ администратора. Для неё можно использовать RJ-45 10 GbE или доступную LAN. Вычислительная сеть на базе ConnectX-7 передаёт тензоры и другие данные распределённого приложения.
Физически изолировать две сети для любого эксперимента необязательно. Но отдельный управляющий путь позволяет чинить кластерную связь без потери доступа.
Служебные интерфейсы Ray и внутренние порты кластера не следует открывать в интернет. В документации vLLM отдельно отмечено, что межмашинный трафик такого окружения не шифруется. Внешний доступ к модели организуют через контролируемую точку входа, а не публикацию всей внутренней сети.
Для каких задач имеет смысл кластер на 4+ узла
Первая причина — ёмкость: веса и рабочие данные не помещаются в пару. Вторая — больше одновременных запросов. Но для этих целей могут требоваться разные схемы. Одну большую модель распределяют, а несколько независимых копий меньшей модели обслуживают разные запросы.
Третий сценарий — дообучение или набор относительно независимых вычислений. Если обмен происходит реже, накладные расходы сети легче компенсировать параллельной работой. Для конкретного сценария обучения отдельно считают память градиентов и оптимизатора: бюджет инференса для него не подходит.
Tensor parallelism или pipeline parallelism: что эффективнее на практике
Tensor parallelism, или TP, делит вычисления внутри слоёв между ускорителями. Частичные результаты приходится регулярно обменивать и объединять. Поэтому важны не только Гбит/с, но и задержки множества небольших операций.
Pipeline parallelism, или PP, распределяет последовательные группы слоёв. Данные проходят через них по очереди. Обмена может быть меньше, но при одиночном запросе часть оборудования ожидает свою работу. Конвейер лучше загружается при подходящей организации батчей. Неравномерные стадии тоже создают простои.
| Подход | Что распределяется | Что даёт | Главная оговорка |
|---|---|---|---|
| Tensor parallelism | Операции внутри слоёв | Совместное выполнение одной модели | Частый обмен между ускорителями |
| Pipeline parallelism | Группы последовательных слоёв | Размещение модели по стадиям | Простои конвейера и зависимость от батчинга |
| Data parallelism | В инференсе — запросы между копиями модели | Рост общей производительности сервиса | Каждая копия должна помещаться в выделенные ей ресурсы |
В парном сценарии vLLM используется --tensor-parallel-size 2. Вариант TensorRT-LLM для Qwen3-235B-A22B использует --tp_size 2. Ray может управлять распределённым выполнением vLLM, но сам по себе не превращает память разных компьютеров в общую и не заменяет NCCL.
Для четырёх систем есть опубликованный NVIDIA пример TP4: Llama 3.3 70B Instruct NVFP4 в TensorRT-LLM. Условия — вход 32K токенов, выход 1K, размер пакета 1. Результаты производителя, не измерения DigitalRazor:
| Показатель | Один Spark, TP1 | Два Spark, TP2 | Четыре Spark, TP4 |
|---|---|---|---|
| Время до первого токена, с | 33,42 | 21,38 | 15,55 |
| Время на выходной токен, мс | 269 | 133 | 72 |
По времени на выходной токен ускорение составляет 269 / 133 ≈ 2,02 раза для пары и 269 / 72 ≈ 3,74 раза для четырёх систем. Но время до первого токена в последнем случае уменьшается примерно в 2,15 раза, а не в четыре. Даже один тест нельзя описать единственным коэффициентом ускорения.
Модель в этом тесте запускается и на одной машине. Сравнивать TP и PP нужно при одинаковых весах, квантовании, контексте, числе запросов и версии ПО. Оценивайте задержку ответа и суммарные токены в секунду, а не только скорость линка.
Стоит ли собирать кластер из DGX Spark: честная оценка
Начните с одного компьютера и целевой модели. При нехватке памяти проверьте распределённый режим и KV-кэш. При нехватке скорости найдите задержку: обработка запроса, генерация или очередь пользователей.
К цене устройств добавляются кабели, коммутатор, питание и сопровождение нескольких ОС. Преимущество настольного кластера — возможность использовать уже купленные Spark вместе, не заменяя их сразу сервером.
Почему два узла — удобная отправная точка для инференса
Два узла — не технический предел. У NVIDIA есть схемы на три и четыре системы, а приведённый выше тест показывает полезное масштабирование TP4. Поэтому считать всё, что больше пары, бессмысленным было бы ошибкой.
Пара — удобная отправная точка: один кабель, нет коммутатора, меньше настроек. На ней разумно остановиться, если модель помещается и задержки устраивают. Иначе следующий шаг определяют измерения, а не правило «третью машину добавлять нельзя».
Когда лучше один мощный GPU-сервер, а не кластер Spark
Сервер стоит рассмотреть, когда важны длительная высокая загрузка, единое управление, большой поток запросов или более быстрый обмен между ускорителями. Но название «GPU-сервер» не гарантирует NVLink: часть конфигураций соединяет видеокарты только через PCIe. Проверять нужно конкретную платформу.
| Критерий | Несколько Spark | Multi-GPU сервер |
|---|---|---|
| Память и обмен | Локальная объединённая память, между системами — Ethernet/RoCE | VRAM или HBM конкретных GPU, обмен по PCIe и при наличии NVLink |
| Администрирование | Несколько ОС, сетевых настроек и контейнерных окружений | Один хост, но распределённый запуск и совместимость всё равно требуют настройки |
| Размещение | Настольные корпуса, отдельное питание, кабели | Требования к корпусу, охлаждению, электропитанию и иногда серверной |
| Типичный выбор | Разработка, локальные эксперименты, объединение уже имеющихся систем | Общий сервис, плотная конфигурация, высокая постоянная нагрузка |
В сервере память разных GPU тоже не складывается автоматически для любой программы. Выигрыш в обмене, доступе к весам и эксплуатации нужно сопоставлять с ценой под одну и ту же задачу.
Различия форматов подробнее разобраны в материале «Рабочая станция или GPU-сервер». Для конфигураций с несколькими ускорителями полезен и разбор Multi-GPU.
Когда кластер уже требует коммутатора, постоянной синхронизации окружения и серверного режима эксплуатации, стоит сравнить его с готовой GPU-серверной конфигурацией.
Если нужен именно серверный вариант, можно перейти к подбору конфигурации под модель, объём памяти и ожидаемый поток запросов.
Выберите GPU-сервер для нейросетей
Готовые решения для работы с большими массивами данных
Часто задаваемые вопросы (FAQ)
Заключение
Кластер DGX Spark имеет смысл, когда понятна цель: вместить модель, ускорить конкретный этап ответа или обслужить больше запросов. Пара соединяется одним кабелем, тройка — кольцом, четыре системы в типовой схеме используют коммутатор. Работоспособность сети и польза для LLM проверяются отдельно.
Для выбора оборудования подготовьте название модели, квантование, длину контекста и ожидаемое число одновременных запросов. С этими данными можно сравнить конфигурации Spark и GPU-сервер у специалистов DigitalRazor. Такой расчёт поможет оценить не только объём памяти, но и сложность эксплуатации до покупки.
























