Компания OpenAI совместно с AMD, Broadcom, Intel, Microsoft и NVIDIA представила технологию Multipath Reliable Connection (MRC) — сетевой протокол, предназначенный для увеличения производительности и устойчивости крупных GPU-кластеров, используемых для интенсивных задач в сфере ИИ. MRC в настоящее время применяется во всех значительных кластерах OpenAI, работающих на NVIDIA GB200, включая первый дата-центр Stargate, а также в ЦОД Microsoft в рамках проекта Fairwater.
Сообщается, что в процессе обучения больших языковых моделей (LLM) каждый этап требует колоссального объёма передачи данных между узлами кластера. При этом любая задержка в таких операциях способна затронуть весь процесс, что может привести к простоям тысяч ИИ-ускорителей. Подобные сбои снижают эффективность использования доступных вычислительных ресурсов и увеличивают временные затраты. Наиболее частыми источниками задержек и нестабильности при передаче данных служат перегрузка сети, отказы каналов связи и коммутационного оборудования. Причём с ростом масштабов кластеров эти проблемы становятся более серьёзными: неисправности возникают чаще, а их исправление усложняется.
Протокол MRC, по заявлениям разработчиков, решает ряд основных недостатков сетей Ethernet в контексте ИИ-инфраструктур. В частности, внедряются такие функции, как адаптивная многопутевая передача данных, многоканальные перекрёстные Ethernet-фабрики, «распыление» пакетов, быстрое восстановление после ошибок и другие. MRC кардинально изменяет подход к передаче трафика в сети.
Источник изображений: OpenAI
Обычные платформы RoCE, как правило, привязывают поток данных к одному сетевому маршруту, что может снижать эффективность при возникновении проблем. MRC, напротив, распределяет пакеты из одной серии одновременно по сотням маршрутов и нескольким физическим сетевым каналам. Пакеты содержат информацию о конечном пункте назначения, что позволяет ускорителям выстраивать данные в правильной последовательности, даже если пакеты прибывают не по порядку. MRC отслеживает состояние множества используемых путей: при обнаружении перегрузки на каком-либо из них выбирается альтернативный маршрут, что даёт возможность быстро перераспределить нагрузку по всей сети.
Другой ключевой характеристикой MRC выступает многослойная архитектура, которая трансформирует саму физическую концепцию построения интерконнекта. К примеру, сетевой интерфейс 800GbE можно разбить на каналы по 100GbE, каждый из которых соединяется с восемью разными коммутаторами отдельными линиями. Это позволяет сформировать восемь независимых параллельных сетей. Подобный подход существенно влияет на структуру кластера. В частности, коммутатор с 64 портами 800GbE можно применить в конфигурации на 512 × 100GbE. Это даёт возможность построить сеть, объединяющую около 131 тысячи GPU, используя всего два уровня коммутации, в отличие от традиционных трёх- или четырёхуровневых топологий.
В протоколе MRC применяется иной метод обработки перегрузок и потери пакетов в сетях Ethernet. Традиционно используется технология PFC (Priority Flow Control) — управление потоками на основе приоритетов: этот механизм предполагает приостановку передачи данных для конкретных классов трафика, а не для всего порта целиком. В случае MRC задействован другой подход, основанный на выборочных подтверждениях, явных запросах на повторную передачу и обрезке пакетов. Когда коммутатор сталкивается с перегрузкой, он может отрезать полезную нагрузку и переслать в пункт назначения только заголовок пакета, что позволяет получателю быстро идентифицировать отсутствующие данные и запросить повторную передачу. Утверждается, что это даёт возможность восстанавливаться после сбоев и перегрузок в течение микросекунд, что на порядки быстрее по сравнению с обычными архитектурами.
С внедрением технологии MRC потребность в динамической маршрутизации значительно снижается. Если на каком-то пути происходят потери пакетов, система, построенная на MRC, просто перестает задействовать этот маршрут. Вместо динамической маршрутизации применяется так называемая сегментная маршрутизация IPv6 (IPv6 Segment Routing, SRv6), которая позволяет источнику напрямую указать маршрут следования пакета, перечислив последовательность идентификаторов коммутаторов. При передаче данных каждый коммутатор проверяет, присутствует ли его собственный идентификатор. Если он есть, устройство удаляет его из пакета и обращается к статической таблице маршрутизации, чтобы найти следующий идентификатор и определить, куда направить пакет дальше.
В отличие от динамической маршрутизации, такая статическая таблица создается один раз при начальной настройке коммутатора и впоследствии остается неизменной. MRC использует SRv6 для доставки пакетов по всем физическим каналам и уровням, а также по множеству маршрутов внутри каждого из них. Если какой-либо путь становится недоступным, система просто его игнорирует. При этом коммутаторам не нужно пересчитывать маршруты или выполнять какие-либо дополнительные операции — им достаточно строго следовать статическим маршрутам, заложенным в таблице.
Протокол MRC был представлен в рамках проекта OCP. В целом, как отмечается, MRC обеспечивает три ключевых преимущества перед стандартными Ethernet-сетями для кластеров ИИ. Во-первых, MRC позволяет строить многоуровневые высокоскоростные инфраструктуры для платформ, насчитывающих более 131 072 конечных точек, используя всего два уровня коммутаторов. Во-вторых, адаптивное распределение пакетов обеспечивает эффективную балансировку нагрузки, благодаря чему перегрузки в ядре сети практически отсутствуют. В-третьих, использование SRv6 позволяет быстро обходить сбои и отправлять пакеты только по работающим маршрутам.
Корпорация Broadcom сообщила, что её сетевые адаптеры Thor Ultra, а также коммутаторы Tomahawk 5 и Tomahawk 6 с самого начала поддерживают функционал MRC. В частности, Thor Ultra позволяет задействовать 2, 4 или 8 параллельных сетей на одном порту и одновременно распределять трафик по 128 каналам. При этом Tomahawk 5 обеспечивает пропускную способность до 51,2 Тбит/с, а Tomahawk 6 — до 102,4 Тбит/с. В свою очередь, NVIDIA указывает, что протокол MRC, являясь расширением RoCE, совместим с решениями Spectrum-X Ethernet. OpenAI уже применяла MRC при обучении нескольких ИИ-моделей, используя коммутаторы Broadcom и NVIDIA. Конкурентом MRC выступает во многом схожий Ultra Ethernet.
Источники: