InfiniBand
InfiniBand
InfiniBand — высокоскоростная сетевая технология для GPU-кластеров, обеспечивающая до 400 Гбит/с на порт с поддержкой RDMA. Стандарт де-факто для backend-сети в AI-суперкомпьютерах.
Что такое InfiniBand
InfiniBand (IB) — сетевая технология, разработанная для HPC и AI-кластеров. Обеспечивает прямой доступ к памяти удалённого узла (RDMA) без участия CPU, что критично для распределённого обучения.
Поколения
| Стандарт | Скорость на порт | Типичная конфигурация | Пример |
|---|---|---|---|
| EDR | 100 Gbps | 4× = 400 Gbps | Старые кластеры |
| HDR | 200 Gbps | 4× = 800 Gbps | A100 кластеры |
| NDR | 400 Gbps | 4× = 1600 Gbps | H100 кластеры |
| XDR | 800 Gbps | 4× = 3200 Gbps | B200 кластеры |
Зачем InfiniBand для ML
При распределённом обучении GPU обмениваются градиентами через коллективные операции (All-Reduce, All-Gather). Скорость сети напрямую определяет, какую долю времени GPU реально вычисляют, а какую — ждут данных.
Пример: обучение 70B модели на 64 GPU (8 нод). На каждом шаге нужно синхронизировать ~140 GB градиентов.
- InfiniBand NDR (400 Gbps): ~3 сек на All-Reduce
- Ethernet 100 Gbps: ~12 сек
- При forward+backward ~10 сек → InfiniBand: 77% MFU, Ethernet: 45% MFU
Backend vs Frontend сеть
В AI-кластере две сети:
| Сеть | Назначение | Типичная скорость |
|---|---|---|
| Backend | GPU-to-GPU (All-Reduce, TP) | 400-3200 Gbps (InfiniBand) |
| Frontend | Интернет, NFS, оркестрация | 100-400 Gbps (Ethernet) |
Backend-сеть — самая дорогая и важная часть кластера. По данным из практики Stas Bekman (BLOOM-176B), узкие места в InfiniBand-фабрике (плохие кабели, баги маршрутизации) могут снижать производительность в 100× на отдельных маршрутах.
RDMA
InfiniBand поддерживает RDMA (Remote Direct Memory Access) — данные передаются напрямую из GPU-памяти одного узла в GPU-память другого, минуя CPU, ОС и кэши. Это ключевое преимущество перед TCP/IP.
Альтернатива: RoCE v2 (RDMA over Converged Ethernet) — RDMA поверх Ethernet. Дешевле, но менее надёжно и медленнее при высокой нагрузке.
Диагностика проблем
# Счётчик ошибок (главный индикатор проблем)
perfquery -x | grep symbol_errors
# Пропускная способность
ib_write_bw --size=4096 --duration=10
# NCCL тест (реальная производительность для ML)
mpirun --npernode 8 ./all_reduce_perf -b 1G -e 8G -g 1
Ключевой совет: мониторьте symbol_errors автоматически — это первый признак деградации кабеля или порта.