Проблема каскадных сбоев в распределенных системах
В распределенных AI-задачах (например, обучение больших моделей) одна аппаратная ошибка часто вызывает лавину симптомов. Сбой на одном GPU или сетевом порту может проявиться как ошибки NCCL на десятках других рангов, изменения состояния планировщика и тысячи сообщений об ошибках. Традиционные логи показывают, где остановилась задача, но не объясняют, почему она упала. NVIDIA Attribution решает эту проблему, связывая логи, метрики и состояние планировщика в единую картину.
Как работает NVIDIA Attribution
Система состоит из двух основных компонентов:
- NVIDIA Attribution Service: Ядро системы, предоставляющее REST API для анализа. Оно использует детерминированные правила для корреляции событий.
- NVIDIA Attribution Blueprint: Оркестратор на Python, который собирает данные из планировщиков (Slurm, Kueue) и источников телеметрии (Loki, Prometheus, локальные логи) и передает их в Service.
Процесс диагностики проходит четыре этапа: определение контекста workload, сбор наблюдений, извлечение и корреляция событий по правилам, и возврат структурированного отчета.
Пример из практики: NVLink и NCCL
В статье приведен пример, где на одном узле (node-02) возникает аппаратная ошибка XID 149 (проблема целостности сигнала NVLink). Это вызывает каскадные ошибки NCCL на других узлах. Attribution не просто фиксирует ошибки NCCL, а определяет XID 149 как первопричину (root cause), а ошибки NCCL — как поддерживающие симптомы. Это позволяет инженерам чинить конкретное оборудование, а не перезапускать задачи вслепую.
Масштаб и интеграция
В продакшене инфраструктуры NVIDIA Attribution еженедельно анализирует миллионы workload'ов на сотнях тысяч GPU. Система уже помогла выявить паттерны сбоев, связанные с конкретными портами коммутаторов и хостов, что позволило оптимизировать настройку fabric и сократить время простоя.
| Компонент | Функция | Интеграции |
|---|---|---|
| Attribution Service | Ядро анализа, REST API, применение правил | Независимый сервис |
| Attribution Blueprint | Сбор данных, оркестрация, вывод результатов | Slurm, Kueue, Loki, Prometheus, Kubernetes |
| Core Engine | Корреляция событий, определение root cause | Детерминированные правила |
Где взять
Инструмент полностью открыт. Разработчики рекомендуют клонировать репозиторий NVIDIA Attribution, запустить quickstart для проверки на примерах и настроить Blueprint под свою инфраструктуру. Это критически важно для команд, управляющих крупными GPU-кластерами, где время простоя стоит дорого.
Источник: NVIDIA dev blog ↗
