У современного серверного процессора обычно хватает и ядер, и потоков, и вычислительной мощности. Дефицитным ресурсом оказываются линии PCIe: даже флагманские AMD EPYC 9005 предлагают их всего 128. Для платформ, где одновременно живут десятки накопителей, ускорителей и сетевых адаптеров, этого мало. Решает проблему отдельный компонент, который берёт на себя раздачу линий и маршрутизацию трафика между устройствами, — PCIe-свич. Ниже разберём, как он устроен, где применяется, кто его производит и что ждёт технологию дальше.
Откуда берётся нехватка линий
Посчитаем на типичном примере. В 2U-сервере может быть до 24 отсеков под NVMe-накопители, и каждый накопитель занимает 4 линии. Только на хранилище уходит 96 линий из доступных 128. А ведь в машину нужно поставить ещё и GPU, и сетевые карты, которым требуется до 16 линий на устройство.
Можно выбрать меньше накопителей большего объёма и сэкономить линии, но тогда страдает гибкость хранилища. Есть и вторая проблема: устройствам нужно обмениваться данными друг с другом. Без дополнительных компонентов весь этот трафик идёт через центральный процессор, что режет скорость и добавляет задержки. CPU при этом занят простой пересылкой пакетов, хотя мог бы выполнять прикладные задачи.
Что такое PCIe-свич
PCIe-свич (PCI Express Switch) расширяет шину PCI Express: он позволяет подключить к одному корневому хосту (CPU или чипсету) больше устройств, чем есть физических линий. По логике работы он близок к SAS-экспандерам и сетевым коммутаторам, но оперирует именно протоколом PCIe.
Как он устроен
В основе лежит ASIC-чип. Он:
- маршрутизирует пакеты по адресам;
- управляет очередями и буферизацией;
- изолирует домены ошибок;
- поддерживает несколько портов, каждый из которых может быть восходящим (в сторону CPU) или нисходящим (в сторону устройств).
Благодаря этому свич не просто размножает линии, а работает как интеллектуальный коммутатор: разные пары портов могут обмениваться данными одновременно. Для операционной системы свич обычно прозрачен — она видит конечные устройства, а не сам коммутатор (хотя встречаются и управляемые модели с дополнительным интерфейсом). Каждое устройство получает собственные адресные пространства, а свич транслирует транзакции между восходящим и нисходящими портами по правилам протокола, не привлекая хост.
Где свичи нужны на практике
Больше накопителей на тех же линиях
Без свича в порт x16 можно подключить лишь 4 NVMe-диска, по x4 каждый. Даже самый бюджетный свич удваивает эту цифру до 8 дисков, а более продвинутые модели обеспечивают ещё большую плотность.
Много ускорителей: GPU, DPU, NIC
Серверы для машинного обучения используют минимум 8 GPU, каждому нужно x16. Арифметика простая: 8 × 16 = 128 линий, то есть даже у топового EPYC восемь ускорителей — абсолютный предел. Между тем задач на десять и более ускорителей хватает. Кроме того, без свича данные каждого GPU сначала попадают к процессору и лишь затем к другим ускорителям.
PCIe-свичи позволяют подключить 10 и более GPU к одному процессору и сохранить полную связность: обмен между ускорителями идёт внутри свича, без участия хоста. Если вы подбираете платформу под обучение или инференс, загляните в раздел ИИ-серверов.
Двухсокетные системы (Dual Root)
В обычной двухпроцессорной конфигурации устройства привязаны к линиям конкретного CPU. Чтобы обменяться данными, NVMe-дискам или GPU из разных доменов приходится пересылать трафик через оба процессора по межпроцессорной шине, и задержки получаются большими. Свич позволяет устройствам общаться напрямую, минуя CPU, и задержки заметно падают. Поэтому в серверах с двумя и более сокетами он стал практически обязательным элементом.
All-Flash хранилища
Системы на базе одних только NVMe-накопителей существуют благодаря свичам. Они собирают десятки дисков в единый пул, доступный одному или нескольким процессорам, дают эффективную адресацию большого числа устройств и позволяют реализовать многопутевой доступ для отказоустойчивости.
Форм-факторы
| Тип | Как устроен | Где применяется |
|---|---|---|
| Плата расширения (add-in card) | Устанавливается в обычный слот PCIe, питание и данные получает через него, предоставляет несколько внутренних портов для NVMe и других устройств | Увеличить число NVMe-накопителей без замены материнской платы |
| Интегрированный свич | Распаивается на материнской плате или на плате дисковой корзины (бэкплейне) | Компактные системы с большим числом NVMe-слотов; такие решения делают Supermicro, Dell, HPE |
Важное отличие от SAS-экспандеров: тем PCIe-подключение не нужно, они работают на другом протоколе, а PCIe-свич расширяет именно линии PCIe через слот. Интеграция на плату упрощает кабель-менеджмент и повышает надёжность — меньше разъёмов и кабелей. Пример — бэкплейн Supermicro X9DRG-O-PCIE со встроенным PCIe-свичом.
Кто делает PCIe-свичи
Рынок фактически поделён между двумя крупными игроками.
Broadcom (после покупки PLX и Avago) занимает наибольшую долю. В линейке серии Express Fabric Switch и PEX: от недорогих решений для NVMe-хранилищ до свичей с десятками портов для GPU-кластеров. Продукты Broadcom стали стандартом во многих серверных платформах. Многие опытные специалисты по привычке продолжают называть чипы PEX «PLX»: именно PLX первой выпустила PCIe-свичи, до того как её поглотили сначала Avago, а затем Broadcom.
Microchip Technology (через приобретение Microsemi) — вторая сторона дуополии. Её свичи популярны в корпоративных хранилищах и там, где критична отказоустойчивость. Microchip делает ставку на телеметрию, поддержку NVMe-oF и работу в жёстких условиях, поэтому их решения встречаются в системах периферийных вычислений.
Astera Labs — относительно молодая компания, способная потеснить лидеров. Она уже зарекомендовала себя поставщиком чипов-ретрансляторов и PCIe-свичей для PCIe 5.0, PCIe 6.0 и CXL. Продукты ориентированы на проблемы целостности сигнала в больших ЦОД с множеством устройств и кабельных соединений. Astera Labs активно проникает в системы гиперскейлеров и всё чаще попадает в решения топовых серверных вендоров.
NVIDIA развивает собственное направление: в серверах DGX и HGX работают кастомные NVSwitch на базе NVLink. Это эволюция идеи PCIe-свича с оптимизацией под межсоединения GPU и существенно большей пропускной способностью. В открытых экосистемах при этом доминируют Broadcom и Microchip.
Плюсы и минусы
Преимущества
- Больше устройств на тех же линиях. К одному восходящему порту можно подключить десятки конечных устройств.
- Меньшие задержки. Топовые свичи для GPU-кластеров проектируют так, чтобы задержка составляла сотни наносекунд. Обмен между GPU идёт без участия процессора и системной памяти, путь пакета короче, джиттер ниже.
- Гибкая топология. Свичи с программной конфигурацией позволяют переназначать устройства между хостами, что лежит в основе идеи плотной компоновки ресурсов. Устройства не привязаны жёстко к своим слотам.
- Разгрузка CPU. Если два GPU или два NVMe-диска общаются через свич, процессору и памяти хоста не нужно пропускать этот трафик через себя.
Недостатки
- Сложность проектирования. Особенно при каскадировании приходится учитывать соотношение восходящих и нисходящих портов, балансировку нагрузки, ограничения по питанию и тепловыделению. Ошибки в архитектуре порождают узкие места.
- Цена. Многопортовые свичи с актуальной версией стандарта стоят дорого и удорожают сервер или СХД. Впрочем, там, где нужно масштабирование, расходы окупаются: можно использовать более доступные накопители и ускорители и обойтись меньшим числом процессоров.
- Энергопотребление и нагрев. ASIC для PCIe 5.0 обрабатывают 32 Гбит/с на одну линию. Для 48 линий суммарный трафик составит 3072 Гбит/с (32 Гбит/с × 48 линий × 2). Поэтому TDP в 50–95 Вт для PCIe-свича — обычное дело.
Хорошая новость для покупателя: основные инженерные проблемы решают производители платформ. Они встраивают свичи в бэкплейн, продумывают топологию и подбирают компоненты. Пользователю достаточно выбрать готовую конфигурацию под свои задачи.
Иллюстрация из практики: PCIe-свичи Gooxi, подключённые для масштабирования количества NVMe-дисков в системе.
Что дальше: CXL, PCIe 5.0 и PCIe 6.0
Подобно тому как PCIe когда-то перевернул вычислительную индустрию, сейчас свои позиции в топовых ЦОД занимает CXL (Compute Express Link). Он надстраивается поверх физического уровня PCIe и позволяет организовать когерентную общую память между процессором и устройствами: GPU, FPGA, Smart NIC, модулями памяти. Многие свичи уже поддерживают и PCIe, и CXL-маршрутизацию, превращаясь в CXL-коммутаторы. Такие устройства объединят память и ИИ-ускорители в общий пул, доступный множеству процессоров с минимальными задержками.
Концепция модульных ЦОД предполагает, что в ближайшие годы PCIe/CXL-свичи станут центральным элементом инфраструктуры, как сегодня сетевые коммутаторы. Вместо вертикального наращивания узлов (больше CPU, GPU, дисков в одном корпусе) ресурсы будут масштабироваться горизонтально и связываться через свичи оптическими кабелями. Вычисления, память и хранение смогут расти независимо и выделяться по текущим потребностям.
При этом PCIe никуда не уходит: индустрия переходит с устоявшегося PCIe 4.0 на PCIe 5.0 и готовится к PCIe 6.0, и свичи должны успевать. От них требуется та же скорость на линию, что и у стандарта: 32 ГТ/с для PCIe 5.0 и 64 ГТ/с для PCIe 6.0, при сохранении целостности сигнала на длинных трассах. Для этого нужны более сложные чипы, активные ретаймеры и пересмотр топологии печатных плат. Производители уже выпускают свичи, работающие с длинными кабельными соединениями, а это шаг к полному разделению компонентов внутри дата-центра.
Выводы
Преодолеть дефицит линий PCIe разумными способами без свичей невозможно. Были и другие попытки: например, Intel предлагала брать 8-сокетные платформы с Xeon Platinum, чтобы получить линии от каждого процессора. Но такое решение оказалось не только невыгодным, но и неэффективным с точки зрения задержек, и ценность PCIe-свичей оценили по-настоящему, прежде всего производители GPU-платформ.
Именно свичи позволяют строить системы с десятками NVMe-дисков, ставить в один сервер много ИИ-ускорителей и гибко распределять ресурсы внутри единой инфраструктуры. Выбирая такую платформу, помните о балансе между восходящей и нисходящей пропускной способностью, задержками, энергопотреблением и стоимостью.
Если вам нужен сервер или хранилище с PCIe-свичами под конкретную задачу, команда «СервакМастер» поможет подобрать конфигурацию, соберёт систему со сложной компоновкой ресурсов и поставит сервер, готовый к работе с первого дня. Посмотрите каталог серверов или свяжитесь с нами.
