Top.Mail.Ru
PCIe-свичи: что это такое, как работают и зачем они нужны | Блог Serverflow Скачать
прайс-лист
Бесплатная
доставка по РФ
Бонус за
обратную связь
В связи с праздниками в Китае с 4 по 5 мая срок уточнения цен может быть увеличен. Благодарим за понимание!
Интернет-магазин
Серверного оборудования
8 (800) 222-70-01 Консультация IT-специалиста Сравнение

PCIe-свичи: что это такое, как работают и зачем они нужны

~ 15 мин
73
Средний
Статьи
PCIe-свичи: что это такое, как работают и зачем они нужны

Введение

Какими бы крутыми не были современные центральные процессоры, у них есть одно узкое место, и оно не в количестве ядер, потоков, или производительности, а в количестве линий PCIe, ведь даже топовые AMD EPYC 9005 имеют всего лишь 128 линий. При этом, среднестатистический 2U-сервер имеет до 24 отсеков для установки NVMe-накопителей, каждый из которых использует 4 линии. Вот и получается, что 96 линий PCIe будут эксплуатироваться лишь хранилищем, а ведь нужно еще подключать GPU, NIC, требующие до 16 линий на устройство… Конечно, можно использовать несколько емких U.2 SSD, минимизировав расход линий PCIe, но и это влечет за собой проблемы с гибкостью хранилища. А теперь представьте, что всем этим многочисленным устройствам нужно постоянно обмениваться информацией друг с другом. В обычной парадигме обмен будет происходить через центральный процессор, что будет резать скорости и добавлять задержки. Вам не кажется, что CPU мог бы заниматься более полезной работой, чем просто выполнять примитивную передачу данных? Не зря же инженеры Intel и AMD так старались масштабировать количество ядер… Но есть решение, которое возложит на себя эту тяжелую ношу и освободит ущемленный центральный процессор от доставки пакетов данных многочисленных PCIe-устройств, и имя ему — PCIe-свич. В этой статье специалисты компании ServerFlow расскажут, что такое PCIe-свичи, как они устроены, какие задачи решают и почему они становятся краеугольным камнем в GPU-серверах и высокопроизводительных хранилищах.

Что такое PCIe-свич?

PCIe-свич (PCI Express Switch) — это устройство, которое расширяет возможности шины PCI Express, позволяя подключать к одному корневому хосту (CPU/чипсету) больше устройств, занимающих PCIe-линии, чем есть физических линий от процессора. Функционал PCIe-свича максимально схож с SAS-экспандерами или сетевыми коммутаторами, но в отличие от двух последних, свичи работают на уровне протокола PCIe. Внутри PCIe-свича находится ASIC-чип, который является головным мозгом устройства — именно он выполняет маршрутизацию пакетов данных на основе адресов, управляет очередями, выполняет буферизацию и изолирует домены ошибок. Но ключевая функция ASIC-чипа — поддержка несколько портов, каждый из которых может работать как восходящий (в сторону CPU), так и как нисходящий (в сторону устройств). Именно это позволяет PCIe-свичу не просто разветвлять линии, а работать как интеллектуальный коммутатор, способный одновременно передавать данные между разными парами портов. При этом, PCIe-свич остается невидим для ОС — система видит подключенные конечные устройства, но не взаимодействует со свичом напрямую как с отдельным объектом (хотя есть и управляемые свичи с дополнительным интерфейсом). Таким образом, каждое устройство получает свой набор адресных пространств, а свич обеспечивает трансляцию транзакций между восходящим и нисходящими портами, строго соблюдая свой протокол и обходя хоста — вот она, магия PCIe!

PCIe-свич и NVMe-накопители Intel
PCIe-свичи нужны для масштабирования подключаемых NVMe-устройств.

Зачем нужны PCIe-свичи

Давайте рассмотрим несколько сценариев, где PCIe-раскрывают весь свой потенциал.

Масштабирование количества устройств в сервере

Как мы уже говорили, центральный процессор имеет строго фиксированное количество линий PCIe. Если требуется установить в сервер больше накопителей NVMe, чем есть линий, свич позволяет подключить к одному восходящему порту несколько нисходящих, каждый из которых ведет к одному или нескольким накопителям. Например, без свича в порт x16 можно подключить только 4 NVMe-диска (каждый использует x4). Даже самый бюджетный PCIe-свич может позволить подключить в два раза больше — аж 8 дисков, а более продвинутые модели могут дать еще большую плотность размещения.

Подключение большого числа ускорителей (GPU, DPU, NIC)

В серверах для машинного обучения используется как минимум 8 GPU-ускорителей, каждый из которых требует x16 линий. При прямом подключении к процессору невозможно разместить более 8 GPU из-за нехватки линий (PCI-E x16 x 8 = 128 lanes) — даже у флагманских CPU AMD EPYC со 128 линиями PCIe восемь GPU будут абсолютным максимумом, а ведь нередко нужно подключать куда больше ИИ-ускорителей. Кроме того, каждому GPU придется передавать данные процессору на обработку, и только после этого обмениваться ими с другими ускорителями. PCIe-свичи позволяют подключить 10 и более GPU к одному процессору, при этом сохраняя полную связность и возможность обмена данными между ускорителями через свич без участия хоста. 

Dual-root подключение

В обычных двухсокетных системах (Dual Root) PCIe-решения подключаются к линиям конкретного процессора, в результате чего для обмена данными трафик от NVMe-дисков или GPU-ускорителей сначала должен перейти через обоими CPU по межпроцессорной шине, что вызывает огромные задержки. Но при интеграции PCIe-свича все кардинально меняется — видеокарты или NVMe-накопители обмениваться данными напрямую друг с другом, минуя центральные процессоры, что многократно снижает задержки. Благодаря этому PCIe-свич стал неотъемлемой частью серверов с двумя и более сокетами.

Создание кластеров NVMe-накопителей (All‑Flash) 

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

Типы PCIe-свичей и форм-факторы

Существует два основных вида PCIe-свичей:
  • Платы расширения (PCIe add-in card). Это готовые изделия, которые устанавливаются в стандартный слот PCIe и предоставляют несколько внутренних портов для подключения NVMe-дисков или других устройств. Такие платы часто используются для увеличения числа NVMe-накопителей в сервере без замены материнской платы. Питание плата получает через PCIe-слот, данные тоже передаются через него. В отличие от SAS-экспандеров, которым плевать на PCIe-подключение (они работают на другом протоколе), PCIe-свичи вставляются в PCIe-слот и именно через него расширяют линии.
PCIe-свич в виде платы расширения
PCIe-свич в виде платы расширения.
  • Интегрированные свичи на материнских платах и бэкплейнах. Многие производители серверов (Supermicro, Dell, HPE) распаивают свичи непосредственно на материнских платах или на платах дисковых корзин. Это позволяет создавать компактные системы с большим количеством NVMe-слотов без использования дополнительных плат расширения. Интеграция упрощает кабель-менеджмент и повышает надежность, так как уменьшается количество разъемов и кабелей.
Бэкплейн Supermicro X9DRG-O-PCIE
Бэкплейн Supermicro X9DRG-O-PCIE с интегрированным PCIe-свичом.

Ключевые производители PCIe-свичей

Мы живем в эпоху огромных корпораций, которые подминают под себя абсолютно каждый сегмент рынка, и рынок PCIe-свичей — не исключение. Здесь образовалась дуополия, где два технологических гиганта борются за влияние ци охваты:
  • Broadcom (после приобретения PLX и Avago) занимает наибольшую долю, предлагая широкую линейку свичей серий Express Fabric Switch и PEX — от маломощных решений для NVMe-хранилищ до высокопроизводительных свичей с десятками портов для GPU-кластеров. Их продукты стали основным стандартом во многих серверных платформах. Интересно, что свичи PEX опытные айтишники по старой памяти до сих пор называют PLX, так как именно компания PLX стала первооткрывателем технологии PCIe-свичей еще до того, как была поглощена Avago, а затем Broadcom.
  • Microchip Technology (через приобретение Microsemi) является вторым крупным игроком. Их свичи широко используются в корпоративных хранилищах и системах, где критична отказоустойчивость. Microchip делает акцент на функции телеметрии, поддержку NVMe-oF и работу в самых жестких условиях эксплуатации, поэтому нередко их свичи можно встретить в системах периферийных вычислений.
Чип PSIe-свича от компании Avago
Раритетная PCIe-плата от компании Avago.

Но на рынке PCIe-свичей все же есть еще один игрок, который способен вырвать власть у Broadcom и Microchip Technolog, предложив потребителям достойные, доступные и, что самое главное, перспективные решения — речь идет об Astera Labs. Эта компания — относительно новая компания в этой нише, которая уже зарекомендовала себя как надежный поставщик передовых чипов-ретрансляторов и PCIe-свичей для передовых протоколов PCIe 5.0, PCIe 6.0, а также CXL. Продукты Astera Labs ориентированы на решение проблем целостности сигнала в крупных ЦОД-инфраструктурах с большим количеством устройств и кабельных соединений. Astera Labs активно пробивается в системы гиперскейлеров и все чаще устанавливаются в решения топовых производителей серверов, где важна стабильность на высоких скоростях.

Также существуют собственные разработки крупных производителей, самым известным из которых является NVIDIA. Для своих GPU-серверов DGX и HGX компания использует кастомизированные свичи NVSwitch на базе технологии NVLink, которые представляют собой эволюцию PCIe-свичей, но с оптимизацией под межсоединения GPU и существенно большую пропускную способность. Тем не менее, в открытых экосистемах доминируют решения Broadcom и Microchip.

Преимущества и недостатки PCIe-свичей

Давайте соберем все в кучу и перечислим все ключевые преимущества использования PCIe-свичей:
  • Увеличение количества подключаемых PCIe-устройств. Свич позволяет эффективно использовать имеющиеся линии PCIe, подключая к одному восходящему порту десятки конечных устройств.
  • Уменьшение задержки в передаче данных. Топовые современные PCIe-свичи для GPU-кластеров проектируются для обеспечения минимальных задержек до сотен наносекунд во избежание “правила мертвой микросекунды”. Использование PCIe-свича позволяет маршрутизировать обмен между GPU без участия процессора и системной памяти, сокращая путь пакета и снижая джиттер.
  • Гибкость топологии и возможность динамического распределения ресурсов. Свичи с поддержкой программной конфигурации позволяют переназначать устройства между разными хостами, что лежит в основе концепции плотной компоновки ресурсов. В отличие от фиксированной архитектуры, где каждое устройство жестко привязано к своему слоту, свичи дают свободу проектирования.
  • Снижение нагрузки на процессор. Если два GPU или NVMe-диска обмениваются данными через свич, им не придется передавать их через центральный процессор и память хоста. Это снижает задержки и освобождает вычислительные ресурсы CPU для прикладных задач.
Но как и у любой технологии, у PCIe-свичей есть ряд недостатков, которые накладывают определенные нюансы при их использовании:
  • Сложность проектирования и расчет конфигурации. Правильно спроектировать топологию со свичами, особенно с каскадированием, очень не просто. Нужно учитывать соотношение восходящих и нисходящих портов, балансировку нагрузки, ограничения по питанию и тепловыделению. Неграмотно спроектированная архитектура может привести к появлению узких мест в инфраструктуре.
  • Стоимость. Высокопортовые свичи с поддержкой последних версий стандарта являются дорогими компонентами, что увеличивает стоимость серверов и систем хранения. Однако в задачах, где требуется масштабирование, затраты на свич окупаются возможностью использовать более доступные по цене накопители и ускорители, а также уменьшением количества необходимых процессоров.
  • Энергопотребление и тепловыделение. Многие думают, что ASIC-чипы потребляют мало энергии, но это совсем не так. ASIC-чипы для свичей PCIe 5.0 обрабатывают 32 Гбит/с только на одну линию. Если этих линий будет, например, 48, то суммарная обработка трафика вырастет до 3 072 Гбит/с (32 Гбит/с × 48 линий × 2). Так что TDP в 50-95 Вт — обычное дело для PCIe-свичей.
Тем не менее, все инженерные вызовы, связанные с PCIe-свичами, обычно решаются самими производителями вычислительных систем, а не конечными пользователями: они проектируют серверы со свичами, интегрированными в бэкплейн, грамотно проектируют топологию, подбирают подходящие компоненты и т.д.. В общем, бояться PCIe-свичей не стоит — все проблемы уже решили за вас.

PCIe-свичи от Gooxi
PCIe-свичи от компании Gooxi, подключенные для масштабирования количества NVMe-дисков в системе.

Будущее PCIe-свичей

Как когда-то протокол PCIe стал революцией в мире вычислительных технологий, так и сейчас протокол CXL (Compute Express Link) постепенно отвоевывает свое место под солнцем, активно внедряясь в топовых ЦОД. CXL надстраивается поверх физического уровня PCIe и позволяет организовать когерентную общую память между процессором и устройствами (GPU, FPGA, Smart NIC, память). Уже сейчас многие PCIe-свичи поддерживают не только PCIe, но и CXL-маршрутизацию, превращаясь в CXL-коммутаторы. Такие устройства позволят объединять память и ИИ-ускорители в единый пул, доступный множеству процессоров с минимальными задержками.

Концепция модульных ЦОД предполагает, что в ближайшие годы PCIe/CXL-свичи станут центральным элементом инфраструктуры, аналогично сетевым коммутаторам в нынешних инфраструктурах. Вместо того чтобы наращивать вычислительные узлы вертикально, добавляя больше CPU, GPU, дисков и т.д., ресурсы будут масштабироваться горизонтально, соединяясь через свичи оптическими кабелями. Это позволит создавать системы, где вычислительные мощности, память и хранение могут независимо масштабироваться и выделяться в зависимости от текущих требований.

Важно понимать, что никто не собирается убирать PCIe в долгий ящик, ведь индустрия постепенно выполняет переход с уже устоявшийся интерфейса PCIe 4.0 на новейший PCIe 5.0 и грядущий PCIe 6.0, и PCIe-свичи обязаны не отставать. Свичи нового поколения должны обеспечивать ту же пропускную способность на линию (32 ГТ/с для PCIe 5.0, 64 ГТ/с для PCIe 6.0), сохраняя целостность сигнала на длинных трассах. Это требует более сложной конструкции чипов, активных ретаймеров и переосмысления топологии печатных плат. Производители уже выпускают свичи, способные работать с длинными кабельными соединениями, что открывает дорогу к полной развязке компонентов внутри дата-центра.

Выводы

Как мы выяснили, PCIe-свичи стали важнейшей частью современных вычислительных систем, так как без них преодолеть дефицит количества PCIe-линий невозможно разумными методами. Конечно, были и другие попытки решить эту проблему, например, ранее Intel предлагала покупать серверные платформы на 8 сокетов с чипами Xeon Platinum для получения линий от каждого процессора. Но когда всем стало очевидно, что это не просто невыгодно, а еще и неэффективно с точки зрения сокращения задержек, все по достоинству оценили ценность PCIe-свичей, особенно производители GPU-платформ. Именно благодаря свичам мы можем проектировать системы с десятками NVMe-дисков, интегрировать в сервер большое количество ИИ-ускорителей и эффективно распределять ресурсы системы в рамках одной высокопроизводительной инфраструктуры. Без свичей создание таких систем было бы просто невозможным. Но не забывайте, что с PCIe-свичами всегда нужно учитывать баланс между восходящей и нисходящей пропускной способностью, задержками, энергопотреблением и стоимостью. Если вы хотите приобрести PCIe-свич, соответствующий вашим требованиям и подходящий для вашей вычислительной инфраструктуры, обращайтесь в компанию ServerFlow. Мы поможем подобрать лучшее решение под ваши задачи, соберем систему со сложной компоновкой ресурсов и предоставим сервер, готовый к эксплуатации с первого дня после покупки.
Автор: Serverflow Serverflow
Поделиться

Комментарии 2

Написать комментарий
Jojigan
В статье PCIe-свичи подаются почти как универсальное решение, но по факту они не убирают главное ограничение - восходящая пропускная способность к CPU всё равно остаётся конечной и может стать узким местом.
Serverflow
Комментатор упускает, что материал как раз отдельно предупреждает о необходимости учитывать баланс между восходящей и нисходящей пропускной способностью. Статья не обещает магии, а объясняет, где свич реально помогает, а где нужна грамотная архитектура.
Lilu
Сравнение PCIe-свичей с сетевыми коммутаторами и SAS-экспандерами может ввести в заблуждение, потому что создаёт ощущение, будто их можно применять так же просто и свободно в любой системе.
Serverflow
Это скорее упрощение для понимания, а не ошибка материала. В тексте прямо сказано, что PCIe-свич работает именно на уровне протокола PCIe и требует продуманной топологии, так что авторы не сводят всё к примитивной аналогии.
Написать отзыв
До 6 фото, размером до 12Мб каждое
Мы получили ваш отзыв!

Он появится на сайте после модерации.

Написать комментарий

Комментарий появится на сайте после предварительной модерации

До 6 фото, размером до 12Мб каждое
Мы получили ваш отзыв!

Он появится на сайте после модерации.

Мы свяжемся с вами утром

График работы: Пн-Пт 10:00-18:30 (по МСК)

Обработаем вашу заявку
в ближайший рабочий день

График работы: Пн-Пт 10:00-18:30 (по МСК)