Проблема «зеленых помидоров» и gray-отказов
В распределенном обучении моделей часто возникает ситуация, когда метрики в целом выглядят нормально, но производительность падает. NVIDIA описывает это как gray failure (серый отказ): оборудование не «упало», но деградирует. Классический пример — дрейф битовой ошибки (BER) в одном из каналов InfiniBand. В модели Bulk Synchronous Parallel (BSP) этот медленный ранг блокирует всю коллективную операцию NCCL all-reduce, заставляя остальные GPU простаивать. Без точечного мониторинга сети такие потери вычислительных ресурсов могут длиться часами.
Карта компонентов и инструментов
Ключевая рекомендация NVIDIA — не собирать все метрики подряд, а закрыть «зеленые» зоны покрытия минимальным набором инструментов. Ниже приведена матрица соответствия компонентов инфраструктуры и специализированных решений для их мониторинга:
| Компонент | DCGM | NVSM | UFM | NetQ | Run:ai / NIM |
|---|---|---|---|---|---|
| GPU (util, power, XID, ECC) | 🟢 Full | 🟡 Partial | — | — | — |
| Node interconnects (NVLink) | 🟢 Full | — | — | — | — |
| InfiniBand fabric | — | — | 🟢 Full | — | — |
| Ethernet / RoCE | — | — | — | 🟢 Full | — |
| Jobs & Scheduling | — | — | — | — | 🟢 Full |
| System Health (BMC, PSU) | — | 🟢 Full | — | — | — |
Правила выбора стека
Для построения эффективного мониторинга NVIDIA предлагает следующие правила:
- DCGM против NVSM: Используйте DCGM для глубокой телеметрии GPU (температура, XID, NVLink) с экспортом в Prometheus. Оставляйте NVSM для агрегации системного здоровья на узлах DGX (диски, питание).
- UFM против NetQ: Выбор зависит от типа сети. InfiniBand мониторится через UFM, Ethernet/RoCE — через NetQ. Оба инструмента нужны только при гибридных сетях.
- NMX: Обязателен только для rack-scale NVLink. В классических многоузловых топологиях DCGM покрывает межузловые соединения.
- Run:ai и NIM: Вводятся, когда планировщик задач или SLI для инференса становятся критичными. Они не заменяют мониторинг «железа».
Практический кейс: DGX + InfiniBand + Slurm
Для кластера с обучением моделей (без инференса) оптимальный стек выглядит так:
- Redfish/IPMI: Базовое здоровье узлов (вентиляторы, PSU, BMC).
- DCGM: На каждом GPU-узле для контроля утилизации, питания и XID.
- NVSM: Агрегация системного здоровья на узлах DGX.
- UFM: Мониторинг портов InfiniBand, BER и перегрузок.
- BCM: Агрегатор кластера для задач, резерваций и консолидации алертов.
Главный вывод: DCGM один не увидит регрессию BER в сети, а UFM не поймет шторм XID на GPU. Только связка инструментов с единым дашбордом триажа (например, в Grafana) позволяет выявить причину сбоя до того, как будут потеряны часы вычислений.
Источник: NVIDIA dev blog ↗
