Системы высокопроизводительных вычислений и задачи глубокого обучения крайне чувствительны к задержкам. Потеря пакетов вызывает повторную передачу или задержки в канале связи, что напрямую увеличивает задержку и нарушает синхронизацию между ГПУ. Это может ухудшить производительность коллективных операций, таких как all-reduce или broadcast, где требуется участие каждой ГПУ перед продолжением.
В этом посте речь идет о решении NVIDIA на основе Ethernet для AI-инфраструктуры East-West — Spectrum-X. Я обсуждаю устойчивость в AI-инфраструктурах и последствия сбоев соединений и их влияние на AI-выгрузки, а также библиотеку коллективной связи NVIDIA (NCCL).
Чувствительность к потере пакетов
NCCL разработана для высокоскоростных и малозадержочных сред, часто через безошибочные сети с поддержкой RDMA, такие как Infiniband, NVLink или Spectrum-X для Ethernet. На ее производительность могут существенно повлиять сетевые события:
- Задержка и джиттер: Коллективные операции NCCL зависят от плотной синхронизации между ГПУ. Высокая задержка или джиттер могут нарушить эту синхронизацию и снизить общую эффективность и производительность AI-выгрузки.
- Потеря пакетов и таймауты: NCCL обычно предполагает надежный (безошибочный) уровень передачи и не реализует тяжелые механизмы восстановления ошибок. Потеря пакетов или таймауты могут приводить к ошибкам связи, снижению производительности или прерываниям в операциях NCCL.
Для оптимальной производительности NCCL должна работать в сетях с минимальными задержками, джиттером и потерями пакетов.
Когда я говорю о потерях пакетов и таймаутах, предполагайте, что инфраструктура полностью безошибочная. Spectrum-X имеет безупречный механизм контроля перегрузки (SPCX-CC), поэтому единственным источником потерь пакетов являются сбои соединений и их колебания.
Сбои соединений и их колебания обычно вызваны внешними факторами, находящимися вне контроля функций уровня передачи данных и управления. Они часто происходят из-за условий окружающей среды, таких как пыль в разъемах, проблемы с оптоволоконными кабелями или сбои в оптических модулях из-за избыточного тепла или времени между отказами (MTBF) оптических компонентов и интегральных схем.
Благодаря контролю перегрузок Spectrum-X вы можете избежать потерь пакетов, вызванных очередями и перегрузками в безошибочной среде. Однако вы не можете избежать потерь пакетов из-за падения интерфейса или, что еще хуже, его колебаний. Последствия таких потерь для AI-выгрузок и коллективов NCCL могут быть серьезными.
NCCL полагается на собственные коммуникационные протоколы, которые предполагают почти идеальную, надежную передачу данных. В отличие от протоколов, использующих надежное исправление ошибок или стратегии повторной передачи (например, TCP), дизайн NCCL предполагает минимальные потери пакетов для поддержания высокой производительности. Даже небольшие количества потерянных пакетов могут вызывать задержки, так как система должна ждать восстановления ошибок, что снижает общую пропускную способность и время, необходимое для обучения вашей LLM.
NCCL также часто использует агрегацию потоков и конвейерную связь для максимального использования пропускной способности. Потеря пакетов прерывает этот плавный поток данных. Когда пакет теряется, весь конвейер может остановиться, пока не начнут действовать механизмы восстановления, что снижает преимущества конвейерной передачи и приводит к значительному снижению эффективной пропускной способности.
NCCL обычно используется в высокопроизводительных инфраструктурах дата-центров (например, NVLink, InfiniBand и Spectrum-X на основе Ethernet), которые имеют низкие показатели потери пакетов.
Для достижения этого ее коммуникационные процедуры оптимизированы с минимальными затратами на проверку ошибок и восстановление.
Это работает отлично, когда потери пакетов почти равны нулю, но если пакет теряется, встроенных резервов для быстрой коррекции не так много. Когда используются сети с более высокими потерями пакетов (например, традиционные Ethernet-сети) или в условиях, когда потери пакетов неизбежны из-за колебаний соединений, система может столкнуться с неожиданными повторными передачами, которые не были предусмотрены в дизайне NCCL, что приводит к несоразмерному ухудшению производительности.
В целом, чувствительность NCCL к потерям пакетов возникает из-за ее зависимости от жестко связанных, малозадержочных коммуникационных протоколов и оптимизированных стратегий потоковой передачи данных. Даже незначительные потери пакетов могут нарушить синхронизацию, вынуждать к повторной передаче и вызывать значительные падения производительности, делая надежные и качественные сетевые условия необходимыми для достижения высокой производительности NCCL.
Больше устойчивости для AI-инфраструктур дата-центров
В случае неизбежного события потери пакетов, такого как сбой или колебание соединения, вы должны убедиться, что время, необходимое сети для сходимости, минимально, и что сеть способна сходиться последовательным и предсказуемым образом, независимо от своего масштаба и размера. Это крайне важно с точки зрения NCCL и AI-выгрузок, так как это влияет на время обучения и на то, как NCCL ведет себя в зависимости от каждого события сбоя.
Согласно дизайну современных AI-инфраструктур дата-центров, для обеспечения устойчивости и сходимости мы полагаемся на мощные и масштабируемые возможности BGP. События, такие как сбои соединений, создают изменения в топологии и заставляют всю инфраструктуру перерасчитывать лучшие пути, перераспределяя группы маршрутизации с равной стоимостью (ECMP) и обновляя и распространяя информацию о взвешенных ECMP.
С другой стороны, способ работы BGP на бэкенде может создавать ситуации, которые будут препятствовать достижению целей быстрой сходимости сложных AI-инфраструктур.
Когда размер кластера ГПУ увеличивается с добавлением больше ГПУ, таблицы маршрутизации и BGP RIB также растут. Существует взаимосвязь один-к-одному между количеством ГПУ в вашем кластере и размером вашей таблицы маршрутизации.
Способ, которым BGP изначально был спроектирован, заставляет его пересчитывать лучший путь для каждого префикса, и такая информация должна распространяться по инфраструктуре. Это приводит к тому, что чем больше размер кластера, тем медленнее вы наблюдаете сходимость BGP. Данные взвешенных ECMP распространяются медленнее. Время, в течение которого NCCL испытывает прерывания, увеличивается. В результате задачи обучения LLM занимают больше времени и не завершаются в предсказуемые сроки.
Именно поэтому вам нужны механизмы, такие как BGP Convergence Independent по префиксам (PIC), которые могут быть использованы для достижения наилучшего времени сходимости для вашей AI-инфраструктуры. Преимущества BGP PIC основаны на наличии более чем одного пути к цели в виде либо ECMP, либо предварительно рассчитанных резервных путей.
Введение в BGP PIC
Стандартная сходимость BGP зависит от префикса; BGP по своей сути обрабатывает и обновляет каждый маршрут на основе префикса.
Вот более подробное объяснение, почему это так:
- Обработка маршрутов по префиксам
- Независимое принятие решений
- Таймеры и задержки передачи
- Проблемы масштабируемости
По сути, стандартная сходимость BGP зависит от префикса, потому что протокол разработан для обработки решений о маршрутизации, обновлений и отмен на уровне отдельных префиксов. Этот дизайн, хоть и гибкий и детализированный, приводит к более медленной сходимости, когда большое количество префиксов подвержено сетевым событиям.
Обработка маршрутов по префиксам
BGP рассматривает каждый сетевой префикс как независимый маршрут. Когда происходит изменение — например, сбой соединения или обновление политик — BGP должен отдельно оценить и обновить лучший путь для каждого затронутого префикса.
Если сбой затрагивает множество префиксов, каждый из них проходит свой процесс сходимости.
Независимое принятие решений
Алгоритм выбора лучшего пути BGP работает отдельно для каждого префикса. Атрибуты, такие как местное предпочтение, путь AS и MED, оцениваются на основе каждого префикса. Нет коллективного процесса принятия решений, который применялся бы к группам префиксов, что способствует зависимости сходимости от префикса.
Таймеры и задержки передачи
Механизмы, такие как таймер Минимального интервала рекламы маршрутов (MRAI), применяются по префиксам.
Когда маршруты отменяются или обновляются, каждый префикс может подлежать своим собственным задержкам таймеров, что еще больше способствует общему времени сходимости по мере увеличения числа префиксов.
Проблемы масштабируемости
В крупных сетях с миллионами префиксов необходимость индивидуально обрабатывать каждый маршрут может привести к значительным задержкам. Именно поэтому был разработан BGP PIC, чтобы предвычислить резервные пути и обеспечить более быстрое восстановление без ожидания, пока каждый префикс независимо сойдется.
Заключение
BGP PIC представляет собой новое решение для проблемы устойчивости в крупных AI-инфраструктурах. Оно минимизирует время сходимости для очень крупных кластеров ГПУ до уровня малой инфраструктуры, делая количество префиксов независимым от времени сходимости. Это делает NVIDIA Spectrum-X таким уникальным решением на рынке.
BGP PIC и Spectrum-X делают задачи NCCL и AI-выгрузки гораздо более устойчивыми к сбоям и колебаниям соединений и предсказуемыми по времени обучения LLM.
Для получения дополнительной информации смотрите следующие ресурсы: