Анализ сетевых технологий кластера графических процессоров: NVLink, InfiniBand, ROCE, DDC

Для достижения хорошей производительности обучения сети графических процессоров должны соответствовать следующим условиям:

1. Сквозная задержка. Поскольку обмен данными с графическим процессором происходит часто, уменьшение общей задержки передачи данных между узлами помогает сократить общее время обучения.

2. Передача без потерь. Это критически важно для обучения ИИ, поскольку любая потеря градиентов или промежуточных результатов приведет к возврату обучения к предыдущей контрольной точке, сохраненной в памяти, и перезапуску, что серьезно повлияет на эффективность обучения.

3. Эффективный механизм сквозного контроля перегрузки. В древовидной топологии временная перегрузка неизбежна, когда несколько узлов передают данные одному узлу. Постоянная перегрузка приведет к увеличению задержки хвоста системы. Из-за последовательной зависимости между графическими процессорами, даже если на обновление градиента одного графического процессора влияет задержка сети, это может привести к прекращению работы нескольких графических процессоров. Медленного канала достаточно, чтобы снизить производительность обучения.

В дополнение к вышеперечисленным факторам также необходимо комплексно учитывать общую стоимость системы, энергопотребление и затраты на охлаждение. Основываясь на этих предпосылках, мы рассмотрим различные варианты проектирования архитектуры графического процессора, а также их плюсы и минусы.

I. Система коммутации NVLink

Коммутатор NVLink, который соединяет 8 графических процессоров на сервере графических процессоров, также можно использовать для создания сети коммутации, соединяющей серверы графических процессоров. Nvidia продемонстрировала топологию, использующую архитектуру NVSwitch для подключения 32 узлов (или 256 графических процессоров) на конференции Hot Chips в 2022 году. Поскольку NVLink разработан специально для соединения графических процессоров с помощью высокоскоростных каналов «точка-точка», он имеет более высокую производительность и более низкие накладные расходы, чем в традиционных сетях.

nvidia-nvswitch-топология-два

NVswitch третьего поколения оснащен 64 портами NVLink, обеспечивающими пропускную способность до 12.8 Тбит/с, поддерживая при этом функции многоадресной рассылки и агрегации сети. Сетевая агрегация может собирать все градиенты, генерируемые работающими графическими процессорами внутри NV-переключателей, и возвращать обновленные градиенты графическим процессорам для следующей итерации. Эта функция помогает уменьшить объем передачи данных между графическими процессорами во время процесса итерации обучения.

По данным Nvidia, архитектура NVswitch в два раза быстрее коммутационной сети InfiniBand при обучении модели GPT-3, демонстрируя впечатляющую производительность. Однако стоит отметить, что пропускная способность этого коммутатора в четыре раза меньше, чем у коммутатора 51.2 Тбит/с, предоставляемого поставщиками коммутаторов высокого класса.

Если кто-то попытается использовать NVswitches для создания крупномасштабной системы, содержащей более 1000 графических процессоров, это не только нерентабельно, но также может быть ограничено самим протоколом, что делает его неспособным поддерживать крупномасштабные системы. Кроме того, Nvidia не продает NVswitch отдельно, а это означает, что если центры обработки данных захотят расширить свои существующие кластеры путем смешивания и сопоставления графических процессоров от разных поставщиков, они не смогут использовать NVswitch, поскольку графические процессоры других поставщиков не поддерживают эти интерфейсы. .

nvidia-nvswitch-диаграмма

II. Сеть InfiniBand

InfiniBand (IB) — это технология, которая служит высокоскоростной альтернативой с момента ее запуска в 1999 году, эффективно заменяя технологии шины PCI и PCI-X и широко используемая для подключения серверов, хранилищ и сети. Хотя первоначальное видение InfiniBand было сокращено из-за экономических факторов, оно по-прежнему широко применяется в таких областях, как высокопроизводительные вычисления, кластеры искусственного интеллекта/машинного обучения и центры обработки данных. В основном это связано с превосходной скоростью, низкой задержкой, передачей без потерь и удаленным прямым доступом к памяти (РДМА) возможности.

бесконечная зона

Протокол InfiniBand (IB) призван обеспечить эффективную и легкую конструкцию, эффективно избегая типичных накладных расходов в протоколах Ethernet. Он поддерживает связь как на основе каналов, так и на основе памяти, а также может эффективно обрабатывать различные сценарии передачи данных.

Используя управление потоком на основе кредитов между устройствами отправки/получения, IB обеспечивает передачу без потерь (на уровне очереди или виртуального канала). Такое пошаговое управление потоком гарантирует отсутствие потери данных из-за переполнения буфера. Кроме того, он также поддерживает уведомление о перегрузке между конечными точками (аналогично ECN в стеке протоколов TCP/IP). IB обеспечивает превосходное качество обслуживания, позволяя назначать приоритеты определенным типам трафика, чтобы уменьшить задержку и предотвратить потерю пакетов.

Стоит отметить, что все коммутаторы IB поддерживают протокол RDMA, который позволяет передавать данные напрямую из памяти одного графического процессора в память другого графического процессора, без вмешательства операционной системы процессора. Этот режим прямой передачи повышает пропускную способность и значительно снижает сквозную задержку.

Однако, несмотря на свои многочисленные преимущества, система коммутации InfiniBand не так популярна, как система коммутации Ethernet. Это связано с тем, что систему коммутации InfiniBand относительно сложно настраивать, обслуживать и масштабировать. InfiniBand Плоскость управления обычно централизованно контролируется одним менеджером подсети. Хотя он может хорошо работать в небольших кластерах, его масштабируемость может стать проблемой для сетей с 32 XNUMX и более графических процессоров. Более того, сеть IB также требует специального оборудования, такого как адаптеры хост-каналов и кабели InfiniBand, что делает стоимость ее расширения выше, чем для сети Ethernet.

NVIDIA LinkX

В настоящее время Nvidia является единственным поставщиком, предоставляющим высокопроизводительные коммутаторы IB для кластеров HPC и AI GPU. Например, OpenAI использовала 10,000 100 графических процессоров Nvidia A3 и коммутационную сеть IB для обучения своей модели GPT-16 в облаке Microsoft Azure. Недавно Meta построила кластер с 100 тыс. графических процессоров, в котором используются серверы Nvidia A2 с графическим процессором и коммутаторы Quantum-2021 IB (Nvidia представила на конференции GTC 25.6 новую сетевую платформу InfiniBand с коммутационной способностью 400 Тбит/с и портами 10,000 Гбит/с). Этот кластер используется для обучения их генеративных моделей искусственного интеллекта, включая LLaMA. Стоит отметить, что при подключении более XNUMX XNUMX графических процессоров переключение между графическими процессорами внутри сервера осуществляется с помощью NV-переключателей внутри сервера, а за соединение серверов отвечает сеть IB/Ethernet.

Чтобы удовлетворить потребность в обучении для более крупных параметров, сверхкрупные поставщики облачных услуг стремятся создавать кластеры графических процессоров с графическими процессорами 32 КБ или даже 64 КБ. В этом масштабе может быть более экономически целесообразным использовать сети Ethernet. Это связано с тем, что Ethernet сформировал сильную экосистему среди многих поставщиков полупроводниковых/системных и оптических модулей и стремится к открытым стандартам, обеспечивая совместимость между поставщиками.

RoCE Ethernet без потерь

Ethernet широко используется в различных приложениях, от центров обработки данных до магистральных сетей, со скоростями от 1 Гбит/с до 800 Гбит/с, а в будущем ожидается даже достижение скорости 1.6 Тбит/с. По сравнению с Infiniband Ethernet имеет преимущество по скорости межсетевого порта и общей емкости коммутатора. Более того, коммутаторы Ethernet относительно дешевле и имеют более низкую стоимость за единицу пропускной способности благодаря жесткой конкуренции среди поставщиков высокопроизводительных сетевых чипов, которая заставляет их интегрировать большую полосу пропускания в ASIC, тем самым снижая стоимость гигабита.

чип коммутатора Ethernet

Основные поставщики высокопроизводительных ASIC-схем Ethernet-коммутаторов могут обеспечить пропускную способность коммутатора до 51.2 Тбит/с, оснащенного портами 800 Гбит/с, что вдвое превышает производительность Quantum-2 (новая сетевая платформа InfiniBand, представленная на NVIDIA GTC 2021, с пропускной способностью 25.6 Тбит/с). пропускная способность коммутатора и порты 400 Гбит/с). Это означает, что если пропускная способность коммутатора удвоится, количество коммутаторов, необходимых для построения сети графических процессоров, можно сократить вдвое.

Ethernet также может обеспечить передачу без потерь посредством управления приоритетным потоком (PFC). PFC поддерживает восемь классов обслуживания, каждый из которых может управляться потоком, а некоторые могут быть обозначены как классы без потерь. При обработке и прохождении через коммутаторы трафик без потерь имеет более высокий приоритет, чем трафик с потерями. В случае перегрузки сети коммутаторы или сетевые карты могут управлять вышестоящими устройствами посредством управления потоком, а не просто отбрасывать пакеты.

Кроме того, Ethernet также поддерживает RDMA (прямой удаленный доступ к памяти) через RoCEv2 (RDMA через конвергентный Ethernet), где кадры RDMA инкапсулируются в IP/UDP. Когда пакеты RoCEv2 поступают на сетевой адаптер (NIC) на сервере графического процессора, сетевой адаптер может напрямую передавать данные RDMA в память графического процессора без вмешательства процессора. Между тем, можно развернуть мощные схемы сквозного контроля перегрузки, такие как DCQCN, чтобы уменьшить сквозную перегрузку и потерю пакетов RDMA. С точки зрения балансировки нагрузки протоколы маршрутизации, такие как BGP, используют многопутевую маршрутизацию с равной стоимостью (ECMP) для распределения пакетов по нескольким путям с одинаковой «стоимостью» для пункта назначения. Когда пакеты поступают на коммутатор, который имеет несколько путей равной стоимости до цели, коммутатор использует хэш-функцию для определения пути пакетов. Однако хэш не всегда идеален и может привести к неравномерной загрузке некоторых ссылок, что приведет к перегрузке сети.

Приложение РДМА

С точки зрения балансировки нагрузки протоколы маршрутизации, такие как BGP, используют многопутевую маршрутизацию с равной стоимостью (ECMP) для распределения пакетов по нескольким путям с одинаковой «стоимостью». Когда пакет поступает на коммутатор, который имеет несколько путей равной стоимости до пункта назначения, коммутатор использует хеш-функцию, чтобы решить, по какому пути отправить пакет. Однако хэш не всегда идеален, и это может привести к неравномерной загрузке некоторых ссылок, что приведет к перегрузке сети.

Чтобы решить эту проблему, можно использовать некоторые стратегии, такие как резервирование небольшого избытка пропускной способности или внедрение адаптивной балансировки нагрузки, которая позволяет коммутатору маршрутизировать новые потоковые пакеты на другие порты, когда путь перегружен. Многие коммутаторы уже поддерживают эту функцию. Более того, балансировка нагрузки на уровне пакетов RoCEv2 может равномерно распределять пакеты по всем доступным каналам для поддержания баланса каналов. Но это может привести к тому, что пакеты прибудут в пункт назначения не по порядку, и потребуется, чтобы сетевая карта поддерживала обработку этих неупорядоченных данных на транспортном уровне RoCE, чтобы гарантировать, что графический процессор получает данные в порядке. Для этого требуется дополнительная аппаратная поддержка со стороны сетевой карты и коммутатора Ethernet.

Кроме того, Ethernet-коммутаторы ROCE некоторых производителей также могут объединять градиенты от графических процессоров внутри коммутатора, что помогает уменьшить трафик между графическими процессорами во время процесса обучения, например, высокопроизводительные Ethernet-коммутаторы NVIDIA.

Таким образом, высокопроизводительные Ethernet-коммутаторы и сетевые карты обладают мощным контролем перегрузки, балансировкой нагрузки и поддержкой RDMA, и их можно масштабировать до более крупных конструкций, чем коммутаторы IB. Некоторые поставщики облачных услуг и крупные кластерные компании начали использовать сети графических процессоров на базе Ethernet для подключения более 32 тысяч графических процессоров.

Полностью запланированная сеть DDC

Недавно несколько производителей микросхем коммутаторов/маршрутизаторов объявили о выпуске чипов, поддерживающих полностью запланированную Fabric или AI Fabric. Эта полностью запланированная сеть уже более десяти лет применяется во многих конструкциях модульных шасси, включая маршрутизаторы серии Juniper PTX, которые используют сеть виртуальной очереди вывода (VOQ).

В архитектуре VOQ пакеты буферизуются только один раз на входном конечном коммутаторе и сохраняются в очередях, соответствующих конечному выходному конечному коммутатору/порту WAN/выходной очереди. Эти очереди на входном коммутаторе называются виртуальными очередями вывода (VOQ). Таким образом, каждый входной листовой коммутатор обеспечивает буферное пространство для каждой очереди вывода во всей системе. Размера этого буфера обычно достаточно для размещения пакетов каждого VOQ, когда они сталкиваются с перегрузкой через 40-70 микросекунд. Когда объем данных в VOQ невелик, они сохраняются во встроенном буфере; когда очередь начинает расти, данные передаются в глубокий буфер внешней памяти.

Когда VOQ на входном конечном коммутаторе накапливает несколько пакетов, он отправляет запрос на выходной коммутатор с просьбой передать эти пакеты в сеть. Эти запросы передаются по сети на выходной листовой коммутатор.

Планировщик выходного листового коммутатора утверждает эти запросы на основе строгой иерархии планирования и доступного пространства в его мелком выходном буфере. Скорость этих утверждений ограничена, чтобы избежать превышения подписки на каналы коммутатора (за пределами диапазона приема буфера очереди).

Как только подтверждение поступает на входной листовой коммутатор, он отправляет утвержденный набор пакетов на выход и передает их по всем доступным восходящим каналам связи.

Пакеты, отправленные определенному VOQ, могут быть равномерно распределены по всем доступным выходным каналам для достижения идеальной балансировки нагрузки. Это может привести к переупорядочению пакетов. Однако выходной коммутатор имеет логическую функцию, которая может изменить порядок этих пакетов, а затем передать их узлам графического процессора.

Поскольку выходной планировщик контролирует утвержденные данные до того, как они поступают в коммутатор, избегая чрезмерного использования полосы пропускания канала, он устраняет 99% проблем перегрузки, вызванных incast в плоскости данных Ethernet (когда несколько портов пытаются отправить трафик на один выходной порт). ) и устраняет блокировку начала строки (блокировку HOL). Следует отметить, что в этой архитектуре данные (включая запросы и подтверждения) по-прежнему передаются через Ethernet.

Блокировка HOL относится к явлению сетевой передачи, когда первый пакет в серии пакетов сталкивается с препятствием, в результате чего все последующие пакеты блокируются и не могут продолжить передачу, даже если выходной порт следующих пакетов свободен. Это явление серьезно влияет на эффективность и производительность передачи сети.

Некоторые архитектуры, такие как серия Juniper Express и Broadcom Jericho, реализуют виртуальные очереди вывода (VOQ) через свою собственную ячеистую плоскость данных.

В этом методе листовой коммутатор разбивает пакеты на сегменты фиксированного размера и равномерно распределяет их по всем доступным выходным каналам. По сравнению с равномерным распределением на уровне пакетов это может улучшить использование каналов, поскольку сложно полностью использовать все каналы при сочетании больших и малых пакетов. Путем пересылки сегмента мы также избегаем еще одной задержки сохранения/пересылки на выходном канале (выходной интерфейс Ethernet). В плоскости данных сегмента коммутаторы, используемые для пересылки сегментов, заменяются специальными коммутаторами, которые могут эффективно выполнять пересылку сегментов. Эти коммутаторы сегментной плоскости данных превосходят коммутаторы Ethernet с точки зрения энергопотребления и задержки, поскольку им не требуется поддерживать накладные расходы на коммутацию L2. Таким образом, плоскость данных на основе сегментов может не только улучшить использование канала, но и уменьшить общую задержку плоскости данных VOQ.

Механизм пересылки VOQ+Cell на основе сотовой связи

Существуют некоторые ограничения архитектуры VOQ:

Входной порт каждого листового коммутатора должен иметь разумный буфер для хранения пакетов для всех VOQ в системе во время перегрузки. Размер буфера пропорционален количеству графических процессоров и количеству очередей приоритетов на каждый графический процессор. Увеличение масштаба графического процессора напрямую приводит к увеличению потребности в входном буфере.

Буфер выходной очереди должен иметь достаточно места для покрытия двусторонней задержки через плоскость данных, чтобы предотвратить исчерпание этих буферов во время подтверждения запроса. В более крупных кластерах графических процессоров, использующих трехуровневую плоскость данных, эта двусторонняя задержка может увеличиться из-за задержки кабеля и наличия дополнительных коммутаторов. Предположим, что буфер выходной очереди не настроен должным образом, чтобы учесть увеличенную двустороннюю задержку. В этом случае выходной канал не сможет достичь 3% использования, что снизит производительность системы.

Хотя система VOQ уменьшает задержку хвоста, вызванную блокировкой начала линии за счет планирования исходящего трафика, минимальная задержка пакета увеличивается за счет дополнительной двусторонней задержки, поскольку входной конечный коммутатор должен выполнить подтверждение запроса перед передача пакета.

Несмотря на эти ограничения, полностью запланированный VOQ (фабрика) имеет значительно лучшую производительность в снижении задержки хвоста, чем типичный трафик Ethernet. Если за счет увеличения буфера загрузка канала увеличится более чем на 90 %, возможно, стоит инвестировать в дополнительные накладные расходы, вызванные расширением масштаба графического процессора.

Кроме того, привязка к поставщику — это проблема, с которой сталкивается VOQ (фабрика). Поскольку каждый поставщик использует свой собственный протокол, смешивание и согласование коммутаторов в одной структуре очень сложно.

Краткое описание: Применение основных сетевых технологий кластеров графических процессоров

Система коммутации NVLink обеспечивает эффективное решение для взаимодействия графических процессоров, но поддерживаемый масштаб графических процессоров относительно ограничен и в основном применяется для связи графических процессоров внутри сервера и мелкомасштабной передачи данных между узлами сервера. Сеть InfiniBand, как собственная сеть RDMA, превосходно работает в средах без перегрузок и с низкой задержкой. Однако из-за относительно закрытой архитектуры и высокой стоимости он больше подходит для малых и средних клиентов, которым требуются проводные соединения.

ROCE Ethernet без потерь, основанный на зрелой экосистеме Ethernet, самой низкой стоимости сети и самой высокой скорости итерации полосы пропускания, демонстрирует более высокую применимость в сценарии средних и крупных обучающих кластеров графических процессоров.

Что касается полностью запланированной сети DDC, она сочетает в себе технологии коммутации ячеек и виртуальной очереди вывода (VOQ), что дает значительное преимущество в решении проблемы перегрузки Ethernet. Будучи новой технологией, отрасль все еще находится на стадии исследований для оценки ее долгосрочного потенциала и перспектив применения.

Оставьте комментарий

Наверх