Привет, постоянные и не очень читатели!

CXL (Compute Express Link) — свежий стандарт интерконнекта, появившийся в 2019 году. Его главная фича — новый подход для работы с памятью и вычислениями: поддержка когерентного кэша и трафика между процессорами и ускорителями, возможность собирать инфраструктуру как конструктор, гибко распределяя ресурсы, и другой функционал.

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

Здесь будет всё, что вы хотели знать про CXL, но лень было искать, так что заваривайте чайничек листового — и приятного чтения! :)

История CXL: наследник PCIe, версии CXL, понятие интерконнекта и когерентности

Обычные компьютерные шины/интерфейсы для передачи данных, вроде PCIe (Peripheral Component Interconnect Express), перебрасывают данные из точки A в точку B (и обратно).

Важно! Расшифровку PCIe я сделал не просто так — эту технологию правильнее называть не шиной или интерфейсом, как это принято, а интерконнектом (Interconnect в названии я выделил специально).

Интерконнект — это по сути сеть точка-точка (P2P, Point-to-point), где каждое устройство подключено отдельной линией к коммутатору или напрямую к процессору/чипсету. Каждая линия (lane) — это выделенный двунаправленный канал.

Поэтому PCIe — это скорее система соединений с топологией звезда (через контроллер или свитч). У него есть адресация, маршрутизация пакетов, QoS, виртуальные каналы, а пропускная способность масштабируется за счёт количества линий (x1, x4, x8, x16) — всё это ближе к сетевому протоколу, чем к шине. Внутри PCIe есть своя логика того, как устройства договариваются о передаче данных, как не допустить коллизий, в какой форме данные пересылаются (пакеты) и т.д.

И да, CXL — это тоже интерконнект. Более того, он использует физическую и электрическую основу PCIe, а сверху предлагает свои протоколы — вот зачем я рассказал вам про PCIe.

Важно! CXL работает, начиная с PCIe 5.0, а старые платформы (Xeon Scalable до Sapphire Rapids или EPYC до Genoa) не поддерживают CXL. Так что поставить карточку CXL в старый сервер не получится.

CXL появился в 2019 году по инициативе Intel. У истоков стоял Джим Паппас (ныне директор технических инициатив в Intel). В начале 90-х он участвовал в разработке PCI и хорошо помнит, как стандартные слоты и гарантированная совместимость буквально перевернули рынок. PCI и PCIe обеспечили единые правила игры для производителей оборудования, и этот опыт лёг в основу CXL.

Позже несколько компаний образовали целый консорциум из членов-основателей: Intel Corporation, Alibaba Group, Cisco Systems, Dell EMC, Meta (экстремисты в РФ), Google, Hewlett Packard Enterprise (HPE), Huawei и Microsoft. За шесть лет консорциум CXL вырос в сообщество с сотнями участников. Формат участия гибкий: есть бесплатный уровень Adopter (Пользователь) и платный Contributor (Участник, около $10 000 в год), который позволяет влиять на развитие технологии, даёт доступ к рабочим группам и промежуточным версиям спецификаций.

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

Ремарка! Когерентность кэша и трафика в системе — когда все элементы системы (например CPU и GPU) работают с актуальными данными, даже если один из них внёс изменения. Представьте, что несколько человек читают один и тот же документ: стоит кому-то поправить строку — обновлённая версия сразу появляется у всех остальных.

Дальше в статье разберём это понятие подробно.

Эволюция CXL — это пошаговое развитие.

  • CXL 1.0 (11 марта 2019 года) — проверка концепций на базе PCIe 5.0. В июне 2019 года вышла CXL 1.1. Центральный процессор может взаимодействовать с общей памятью на устройствах-ускорителях через протокол когерентности кэша.

  • CXL 2.0 (10 ноября 2020 года) — появились коммутация, масштабируемость, дезагрегация (общая память и хранилище), безопасность (защита и шифрование). Пропускная способность CXL 1.x (PCIe 5.0) сохранилась.

  • CXL 3.0 (2 августа 2022) — основан на PCIe 6.0 и кодировании PAM-4, удвоена пропускная способность. Добавлены сетевые возможности с многоуровневым переключением для создания масштабируемых систем, поддержка разных типов устройств на одном порту, улучшена согласованность при прямом доступе и совместном использовании памяти (устройства могут напрямую обмениваться данными, минуя центральный процессор, что значительно снижает задержки).

  • Дальнейшее развитие  CXL 3.1 (14 ноября 2023) и CXL 3.2 (3 декабря 2024) с улучшениями в управлении памятью (например, внедряет Hot-Page Monitoring Unit для иерархий памяти), оптимизированным мониторингом устройств, улучшенной поддержкой ОС и приложений, плюс повышенной безопасностью (Trusted Security Protocol), которая включает новые функции хранения метабитов, расширяет возможности защиты IDE и усиливает проверку совместимости, обеспечивая более ⁤безопасную среду‌ для приложений, работающих с конфиденциальными данными.

Но важно уточнить, что CXL не заменяет PCIe, а развивает его возможности. PCIe отлично справляется с периферией, а CXL фокусируется на когерентных соединениях и позволяет сильно уменьшить накладные расходы в задачах, где требуется память. При этом при инициализации устройство CXL вначале определяется системой как PCIe-устройство (чтобы BIOS/UEFI и ОС могли корректно стартовать), а затем уже договаривается о поддержке CXL-протоколов.

И сразу ещё одно важное уточнение! В реальных ЦОДах CXL-память на сегодня не заменяет DRAM, а дополняет её — что-то вроде второго уровня.

Что такое CXL — подробный обзор

По сути дела, CXL — это высокоскоростной открытый стандарт интерконнекта для когерентной связи CPU-устройств (например, ускорителей, GPU, SSD) и CPU-памяти (позволяя процессору использовать память устройств как свою собственную и наоборот). CXL позволяет расширять память в форм-факторах, отличных от DIMM, например DRAM или PMem в виде накопителей EDSFF E1.S или E3.S. Дополнительные платы (AIC) можно вставлять в стандартные слоты PCIe, и они могут поддерживать стандартные модули DIMM

Модуль памяти SMART Modular Technologies E3.S CXL и дополнительная плата на 8 DIMM
Модуль памяти SMART Modular Technologies E3.S CXL и дополнительная плата на 8 DIMM

Важный момент — любое устройство CXL можно вставить в стандартный PCIe-слот (начиная с версии 5.0), ведь у них одинаковые разъёмы и базовая технология передачи данных. Так что CXL — это дальнейшее развитие PCIe, но при этом отдельная ветвь эволюции. PCI-SIG (разработчик PCI) учитывает эту особенность в спецификациях и формально закрепил возможность альтернативного протокола. Это не конкуренция, а развитие на общем фундаменте.

Если провести аналогию с автомобилестроением, PCIe — это добротный седан среднего класса со своим кузовом, шасси, колёсами и двигателем, а CXL — это комфортабельный кроссовер нового поколения, собранный на том же шасси седана, но у него совершенно другой салон, кузов, улучшенная аэродинамика, модифицированная подвеска, система управления, электроника, ПО и, самое главное, другая цель — он создан для дорог, где седан не проедет. Но, к слову, новый кроссовер требует другого обслуживания, как и CXL-системы требуют нового подхода к администрированию.

Пример CXL-платы, разработанной Корейским институтом передовых технологий (KAIST), для расширения DRAM
Пример CXL-платы, разработанной Корейским институтом передовых технологий (KAIST), для расширения DRAM

Итак, CXL основан на физическом слое PCIe, но вводит три новых протокола:

  • Сначала CXL.io — это, по сути, PCIe с некоторыми расширениями для работы в рамках CXL (например, новые типы транзакций для управления когерентностью на уровне протокола). Он не уступает в скорости PCIe и обеспечивает базовое взаимодействие. И да — CXL.io некогерентный. Одна физическая линия (lane) PCIe может нести трафик CXL.io, CXL.cache и CXL.mem одновременно, динамически распределяя полосу пропускания между ними, экономя ресурсы. PCIe так не умеет.

  • Дальше CXL.cache — этот протокол позволяет ускорителям (типа GPU или NIC) кэшировать данные из памяти хоста прямо у себя, с низкой задержкой, чтобы поддерживать когерентность своего локального кэша. Это снижает трафик на шине. Задержки минимальны — в диапазоне 60-100 нс для доступа к кэшу устройства, что кардинально меньше, чем у традиционных механизмов с программным обеспечением когерентности (которые могут занимать микросекунды).

  • Наконец, CXL.mem — он позволяет процессору хоста обращаться к памяти устройства как к своей собственной. Устройство выступает в роли агента памяти (Memory Device), и CPU использует обычные инструкции работы с памятью, как если бы это была его собственная DDR. Стандарт CXL изначально разрабатывался с учетом работы как с энергозависимой, так и с энергонезависимой памятью (Persistent Memory). В PCIe доступ к памяти устройства требует отдельного драйвера и происходит через барьеры и прерывания, что создает задержки и накладные расходы. CXL.mem интегрирует эту память в единое когерентное адресное пространство системы.

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

Зачем CXL нужен

Сегодня в ЦОДах есть проблемы, которые ограничивают производительность оборудования и повышают стоимость владения.

Например, разрыв в задержках между DRAM и твердотельными накопителями огромен — около 1000 раз. У DIMM-модуля Micron DDR5 объёмом 96 ГБ и скоростью 4800 МТ/с задержка записи — всего 15,44 нс, тогда как у SSD Micron 7450 NVMe она уже 15 мкс. Когда у процессора заканчивается доступная DRAM и он вынужден выгружать данные на SSD, большая часть времени уходит не на вычисления, а на ожидание. Итог — резкое падение производительности.

Что ещё? Количество каналов в контроллерах памяти не успевает за увеличением количества ядер в многоядерных процессорах. Процессорным ядрам может не хватать пропускной способности памяти, что сводит к минимуму преимущество в большом количестве ядер. Например, у Intel Xeon 6 до 288 ядер обслуживаются всего 12 каналами памяти — нагрузка распределяется крайне неравномерно.

Добавим сюда ещё и то, что ускорители работают с собственной памятью. Ресурсы изолированы, а значит, часть ёмкости простаивает

Но CXL решает эти проблемы.

Во-первых, объединение памяти (Memory Pooling) и дезагрегация (Disaggregation)

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

Но что самое крутое — пропускная способность складывается: если у CPU есть свой канал памяти с пропускной способностью X, а CXL-устройство добавляет еще память с пропускной способностью Y, то общая доступная полоса для системы становится X+Y. Для задач, которые могут использовать эту объединенную память, пропускная способность может увеличиться кратно (2x и более, зависит от конфигурации), по сравнению с использованием только локальной памяти CPU. Однако сама по себе скорость доступа к памяти на устройстве не обязательно выше, чем у нативной DDR памяти. Всё это справедливо, только если контроллеры памяти и приложения умеют эффективно распараллеливать доступ. На практике рост не всегда линейный.

Ремарка! Доступ к памяти через CXL чуть медленнее, чем к локальной DDR — это подтверждают тесты: задержки растут, особенно при увеличении числа потоков. Но разрыв не сопоставим с тем, что возникает при обращении к SSD-накопителям, и тем более с удалёнными сценариями уровня RDMA. Можно утверждать, что CXL очень близок к DRAM.

Важно учитывать NUMA-фактор. В экспериментах с numactl видно, что политика распределения памяти влияет на результаты: смешанный режим (interleave) позволяет получить результаты, близкие к локальной RAM, а при перекосе в сторону CXL-узла задержки растут. Админам стоит держать это в уме при проектировании систем. Для критически чувствительных к задержкам in-memory задач лучше предварительно тестировать систему, либо опираться на локальную память, но для сценариев вроде ML-обработки часть данных можно смело выносить в CXL-пул.

Оперативная память физически привязана к материнской плате конкретного сервера, что приводит к недоиспользованию ресурсов в дата-центре? У GPU своя память (HBM), у CPU — своя (DDR). Память одного простаивает, а другому не хватает? Эти проблемы решает объединение памяти и дезагрегация: все CXL-устройства имеют прямой доступ к пулу, а жёсктая привязка — больше не проблема.

Это как если бы у каждого отдела компании был не свой собственный сейф (локальная память), а доступ к центральному банковскому хранилищу (пул CXL-памяти). Любой отдел (CPU, GPU) может положить или взять ровно столько денег (данных), сколько ему нужно в данный момент, без перевозки денег курьером (копирование данных через драйверы и DMA). Все работают напрямую с банковским хранилищем.

Как объединение памяти работает на практике?

Проблема: в современных системах процессор (CPU) и ускорители (GPU, FPGA, ASIC для AI/ML) имеют свою собственную изолированную память. Чтобы GPU что-то посчитал, CPU должен:

Скопировать данные из своей памяти в память GPU.Дождаться, пока GPU выполнит вычисления.Скопировать результаты обратно из памяти GPU в свою.

Этот процесс копирования создаёт задержки и накладные расходы даже на быстрых интерконнектах.

Решение от CXL: можно создать единое когерентное пространство памяти. Это значит, что CPU и GPU могут работать с одними и теми же согласованными данными в общей памяти без копирования.

CPU может подготовить данные в памяти.GPU получает к ним прямой доступ и начинает вычисления практически мгновенно.Результаты сразу видны и CPU, и GPU.

Как дезагрегация работает на практике?

Можно сказать, что CXL — это аппаратная виртуализация ресурсов почти без накладных расходов и с минимальными задержками.

Но если классическая виртуализация на гипервизорах позволила (VMware, Hyper-V, KVM) абстрагировать ПО от железа, то CXL позволяет абстрагировать само железо от его физического местоположения в серверной стойке. Это основа для по-настоящему дезагрегированных ЦОДов.

Проблема: в традиционном сервере ресурсы жёстко привязаны. Вы покупаете серверы с конкретным количеством конкретных CPU, накопителей и планок памяти. Получается что-то вроде изолированных островов ресурсов, и иногда возникает дисбаланс:

Одному серверу для работы, например с Big Data, нужно огромное количество памяти, но не очень много высокопроизводительных ядер.Другому серверу для рендеринга нужны мощные GPU, но не так много оперативной памяти.А какой-нибудь сервер для тестирования может большую часть времени простаивать, и его дорогая память и процессоры не используются.

Решение от CXL: Вместо покупки дополнительного железа для каждого сервера можно создать общие когерентные пулы ресурсов (памяти, ускорителей) в масштабах стойки или целого ЦОДа из 4000 узлов (в версии CXL 3.0).

Серверу для данных выделяется большое количество памяти из общего пула CXL-памяти.Серверу для рендеринга подключаются дополнительные GPU из пула ускорителей.А простаивающий сервер может вернуть свои ресурсы в общий пул, чтобы их могли использовать другие.

Получаем дезагрегированную серверную архитектуру.

Во-вторых, вышеупомянутая когерентность памяти и трафика

Это позволяет устройствам, например процессору и ускорителю, работать с одной и той же областью памяти без противоречий в данных (коллизий). Важно, что это аппаратная когерентность, и она работает без участия ядра ОС. То есть ядро не перегружено синхронизацией страниц — огромный плюс для Linux/Windows Server.

Кто последний изменил данные? Чью версию видит CPU, а чью GPU? Как избежать копирования? Эти проблемы решает когерентность — все видят одну и ту же актуальную версию данных в одном месте.

Представьте: у завода и автосалона есть единая система логистики (CXL), позволяющая конвейеру завода (процессор) напрямую поставлять нужное количество автомобилей (данные) в магазин (GPU), минуя склад (копирование в буфер/память HBM). Магазин (GPU) отправляет запрос (запрос DMA), а завод производит и сразу отгружает только нужное количество авто. Нет посредников (когерентность) и перепроизводства/недопроизводства (не нужен большой запас/избыток памяти), уменьшаются издержки (коллизии, задержки), а товар не простаивает, ожидая перевозки (память используется эффективно).

Как когерентность памяти работает на практике?

Проблема: в традиционных системах с ускорителями (GPU, FPGA) каждый участник вычислений — CPU, GPU, другие устройства — имеют свои собственные кэши для ускорения доступа к данным. Проблема в том, что не существует быстрого аппаратного механизма, который бы автоматически синхронизировал копии одних и тех же данных в разных кэшах. Это приводит к ситуации, когда:

CPU может изменить значение в своей памяти, но GPU продолжит использовать устаревшую копию из своего кэша.GPU вычисляет новый результат и сохраняет его в своём кэше, но CPU об этом не узнает, пока данные не будут скопированы обратно.

Решение от CXL: аппаратно-реализованный протокол когерентности памяти, который в реальном времени следит за всеми операциями чтения и записи.

Все устройства подчиняются одному протоколу (как CXL.cache), который определяет, как сообщать об изменениях в данных.Если CPU изменяет данные в своей памяти, которые тоже есть в кэше GPU, аппаратный блок когерентности внутри CPU автоматически и немедленно отправляет GPU сигнал-уведомление (snoop).GPU получает этот сигнал и помечает свою устаревшую копию данных как невалидную. При следующем обращении к этим данным GPU автоматически запросит свежую версию непосредственно из памяти CPU или из кэша другого устройства.Весь этот процесс происходит на аппаратном уровне почти без накладных расходов. Для программного обеспечения и драйверов это выглядит так, словно все они работают с одной большой, общей и всегда актуальной памятью.

В-третьих, гетерогенные вычисления (гибридные вычисления)

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

Ну а раз мы заговорили про ASIC-модули, то самое время поговорить про типы CXL-устройств — там тоже не всё так очевидно.

Типы устройств CXL

CXL классифицирует устройства по возможностям на три основных типа.

Type 1
Type 1

Type 1 — простые ускорители без своей памяти, наподобие Smart NIC. Они используют только CXL.io и CXL.cache, чтобы кэшировать данные из хоста. Идеально для сетевых задач (парсинг, шифрование, фаерволы), где локальная память не нужна, а скорость доступа к данным CPU — очень даже.

Type 2
Type 2

Type 2 — это многофункциональные устройства, вроде GPU, ASIC или FPGA. Они работают по всем трём протоколам: CXL.io для базового обмена, CXL.cache для кэширования памяти хоста и CXL.mem для доступа к собственной памяти (например, GDDR или HBM). Здесь возможны два режима смещения: device bias, когда приоритет у устройства, и host bias, когда баланс сохраняется за хостом. На практике это удобно, например, при обучении нейросетей — GPU может напрямую обращаться к общему пулу памяти, минуя лишние копирования.

Type 3
Type 3

Type 3 — это чистые расширители памяти без вычислительных блоков. Они используют только CXL.io и CXL.mem и позволяют добавлять дополнительную память или persistent storage (хранит данные надёжно, как SSD или HDD, но быстро, например через NVDIMM, Intel Optane). По сути, это как внешний жёсткий диск, но с когерентным доступом и минимальными задержками. Основной сценарий — создание пулов памяти в дата-центрах, где, например, один модуль на 512 ГБ может обслуживать сразу несколько серверов.

Пример CXL-устройства — Teledyne LeCroy Oakgate CD240-G5: универсальная система тестирования для проверки и отладки каналов и устройств расширения памяти CXL; поддерживает до 4 устройств расширения памяти Type 3 CEM и E.3 CXL
Пример CXL-устройства — Teledyne LeCroy Oakgate CD240-G5: универсальная система тестирования для проверки и отладки каналов и устройств расширения памяти CXL; поддерживает до 4 устройств расширения памяти Type 3 CEM и E.3 CXL

Почему CXL важен бизнесу не меньше специалистов

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

Но бизнесу важно другое — CXL повышает утилизацию оборудования (степень использования) и снижает общие расходы на инфраструктуру: капитальные расходы (CAPEX), и совокупную стоимость владения (TCO).

Например, Google Cloud в своём исследовании сообщает, что до 40 % его памяти не используется; Azure сообщает, что 25 % памяти не используется, а 50 % арендованной памяти простаивает. Дезагрегация позволяет сократить общее использование памяти на 10 %, что в масштабах крупных гиперскейлеров может сэкономить миллиарды рублей.

В средних же компаниях выгода будет видна, скорее всего, при консолидации инфраструктуры (например, отказ от лишних серверов при тестовых средах или внедрении AI-решений).

Кроме того, CXL упрощает интеграцию нового оборудования в уже существующую IT-инфраструктуру, масштабирование, администрирования и т.д.

Также у бизнеса есть проблема, что огромное массивы корпоративной информации (60-73%) хранятся без дела — их не используют для аналитики, а со временем удаляют. CXL как раз ускоряет обработку массивов данных (или делает то же самое за меньшие деньги), и крайне эффективен в HPC-задачах: AI, машинное обучение и аналитика больших данных.

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

Доступные серверы/устройства с CXL и в каком статусе технология

Если кратко, то картина такая. CXL 1.1/2.0 активно используется в продуктах, а 3.0/3.1/3.2 на подходе — в следующих поколениях. Новейшие устройства обычно появляются в продаже лишь через два-три года после выхода спецификации, так что ориентируемся на 2026-2027 года.

То что есть на рынке, это не прототипы — а готовые платформы, устройства и процессоры, которые можно купить и внедрить прямо сейчас. Современные прошивки серверов (например, iDRAC 10 у Dell, iLO 7 у HPE) уже интегрируют поддержку CXL-ресурсов в мониторинг. То есть админ в консоли управления сможет видеть загрузку и состояние CXL-модулей наряду с памятью, процессорами и накопителями. Это снижает порог внедрения.

Давайте расскажу о новинках с CXL.

Dell PowerEdge R770
Dell PowerEdge R770

Dell выпустила PowerEdge R670, R770 и R7725 с нативной поддержкой CXL 1.1/2.0. Эти модели на базе Intel Xeon 6 или AMD EPYC 9005, с слотами для CXL-памяти (Type 3, до 2 ТБ на узел).

HPE ProLiant DL380 Gen11
HPE ProLiant DL380 Gen11

HPE ProLiant DL380 Gen11 — флагман с CXL 2.0, позволяет объединять серверные ресурсы в общие пулы и динамически распределять их между задачами, повышая эффективность и снижая простои, идеален для AI/HPC. В ProLiant DL380 Gen12 добавили поддержку хранилища CXL — до 8 ТБ.

Lenovo ThinkSystem SR650 V4
Lenovo ThinkSystem SR650 V4

Lenovo ThinkSystem SR650 V4 тоже предлагает CXL 2.0 из коробки, с опциями для до 4 ТБ расширения.

Marvell Structera — семейство продуктов на основе CXL для масштабируемой и эффективной архитектуры ЦОДов. Structera CXL первыми в отрасли поддерживают четыре канала памяти, встроенное сжатие LZ4 и используют 5-нанометровый техпроцесс.

Marvell Structera A 2504
Marvell Structera A 2504

По сути это готовая платформа для CXL-контроллеров и ускорителей (модели Structera A и Structera X) для расширения памяти и обработки данных. Structera прошла полевое тестирование с DDR4/DDR5 и сертифицирована как с 5-м поколением Intel Xeon, так и с AMD EPYC.

Structera A — это CXL-ускорители с 16 ядрами ARM и четырьмя каналами памяти (для задач с высокой пропускной способностью, например, DLRM), а Structera X — это CXL-контроллеры расширения памяти, позволяющие добавить терабайты ОЗУ в сервер.

Gigabyte AI Top CXL R5X4
Gigabyte AI Top CXL R5X4

У Gigabyte есть AI Top CXL R5X4 — плата расширения на PCIe, добавляющая 512 ГБ регистровой DDR5 через CXL 2.0. Отличное решение для рабочих станций с чипсетами TRX50 (AMD Threadripper) и W790 (Intel Xeon W). Запущена недавно, в августе 2025, — просто вставляете в слот, и получаете когерентную память. Идеально для разработки, малых проектов AI или локальных/небольших внедрений ИИ, где нужно быстро апгрейдиться без замены всей системы.

Заключение: куда CXL движется

CXL начинался как очередной стандарт от Intel (коих бесчисленное множество), но всего за шесть лет вырос в полноценную экосистему, в которую инвестируют, пожалуй, все крупные игроки. Его сила не только в технических преимуществах над PCIe — когерентность, объединение памяти, дезагрегация, но и в том, что он предлагает новое видение архитектуры для ЦОДов и крупных IT-инфраструктур. В том, что он может сэкономить деньги бизнесу и упростить жизнь айтишникам.

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

Ближайшее будущее — внедрение CXL 3.x в массовых продуктах, стандартизация поддержки в ОС и ПО, а также первые примеры крупных дезагрегированных инфраструктур в дата-центрах у гиперскейлеров. Следующий шаг — выход за пределы Enterprise, HPC и облаков. CXL пойдёт (и в каком-то роде уже пошел) в средние и малые корпоративные среды, где каждый специалист и каждый рубль на счету.

Можно спорить о сроках — станет ли CXL повсеместным стандартом через 5 лет или потребуется десятилетие. Но я делаю ставку на то, что эпоха, когда память и вычисления были жёстко привязаны к одному устройству, подходит к концу.

Спасибо, что прочитали этот лонгрид, друзья!

Комментарии (46)


  1. nerudo
    03.10.2025 12:10

    С введением про Intrconnect есть один нюанс... PCIe - это ни что иное, как PCI Express, унаследованный из PCI. В котором слово Interconnect использовалось совместно с топологией разделяемой шины.


  1. Javian
    03.10.2025 12:10

    Дежавю

    в современных системах процессор (CPU) и ускорители (GPU, FPGA, ASIC для AI/ML) имеют свою собственную изолированную память.

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


    1. here-we-go-again
      03.10.2025 12:10

      Ну конкретно псие может и не помог, но те же маки уже 5й год на унифицированной быстрой памяти и это явно сильно круче традиционного разделения памяти между цпу и гпу.


      1. GidraVydra
        03.10.2025 12:10

        те же маки уже 5й год на унифицированной быстрой памяти

        У нормальных людей это уже лет -дцать называется интегрированной видеокартой, но у макеров как всегда своя атмосфера.

        это явно сильно круче традиционного разделения памяти между цпу и гпу.

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


        1. here-we-go-again
          03.10.2025 12:10

          У нормальных людей у интегрированной видеокарты пропускная способность на уровне обычной DDR 5, а у М процессоров, особенно старших, на уровне видеокарт с GDDR, на вообще всю память в том числе оперативную в обычных задачах. Там в макс чипах 546 ГБ/сек. RTX 5070 если что выдает 192 ГБ/сек имея GDDR7 на борту.

          А так да, одно и то же, но есть нюанс, как в анекдоте.


          1. GidraVydra
            03.10.2025 12:10

            RTX 5070 если что выдает 192 ГБ/сек имея GDDR7 на борту.

            А это где такие интересные повести пишут? Официальная документация выдает 672 GB/s. И это далеко не пердел, у 5090 все 1792 GB/s.

            У нормальных людей у интегрированной видеокарты пропускная способность на уровне обычной DDR 5, а у М процессоров, особенно старших, на уровне видеокарт с GDDR

            Ага, вот только с "докинуть плашечку", как хотел автор соседнего поста про ноут от леново, возникнут определенные трудности.


          1. WASD1
            03.10.2025 12:10

            RTX 5070 если что выдает 192 ГБ/сек имея GDDR7 на борту.

            Что называется - давайте обратимся к источника.


            1. here-we-go-again
              03.10.2025 12:10

              Да, я не туда посмотрел, но, это же никак не ломает мой поинт. М4 макс выдает 546, это совершенно не сопоставимо с тем, что в обычных системах выдает "интегрированная видеокарта", у нее скорость обычной ддр.

              По сути ничего не изменилось в моем тейке, а минусы зря поставили, не разобравшись в сути.


              1. logran
                03.10.2025 12:10

                Распаяйте ей 8 каналов DDR5 вместо того, чтобы вставлять её в слоты на 2 канала - и будет вам то же самое на интегрированной памяти.

                Другое дело, что пока что никто в здравом уме не делает серверные CPU с встроенной графикой, а потребительские APU рассчитаны обычно на десктнопный лоу/мид сегмент и это не про 8 каналов.


        1. Zalechi
          03.10.2025 12:10

          Интересно говорите. А кейсы ATX и макбук сравнивать будем?

          Соотвественно подаваемую мощность и охлаждение всего этого великолепия, учитывать будем?

          Миниатюризация в собственном соку, без потери качества, а то и круче.

          PS: я не яблочников защищаю, если что…


    1. PerroSalchicha
      03.10.2025 12:10

      Такое же аргументировали когда говорили что AGP устарело, а новое PCIe позволит делать видеокарты без собственной памяти

      Я достаточно стар, чтобы помнить те времена, когда говорили, что обычная PCI устарела, а новая вчетверо более быстрая AGP позволит делать видеокарты без собственной памяти.

      Есть некоторые подозрения, что когда-то до этого говорили, что обычная ISA устарела, а новая PCI позволит делать видеокарты без собственной памяти.


      1. gazkom
        03.10.2025 12:10

        Нет, они говорили, что ISA устарела, а шина VLB позволит драматически ускорить всё. А потом, что PCI заменит VLB.


        1. PerroSalchicha
          03.10.2025 12:10

          Что PCI не сравнивали по скорости с VLB, это ожидаемо, они же плюс-минус одинаковые были, PCI была более удобной, а не более быстрой - пропускная способность не зависела от скорости процессора, не было ограничений по нагрузочной способности и т.д.


      1. Zalechi
        03.10.2025 12:10

        Говорить говорили, но и прогресс на лицо?


  1. Dhwtj
    03.10.2025 12:10

    CXL позволит удешевить облачные ноды с большим объёмом одну ОЗУ?

    Думаю, провайдеры уже экспериментируют


  1. SlavikF
    03.10.2025 12:10

    Из статьи как-то не очень понятно - если несколько серверов будут использовать одну общую ноду с памятью через CXL - как они все будут подключаться к этой CXL ноде?

    Есть специальные CXL порты?

    Сколько серверов может подключиться к одной CXL ноде?


    1. mayorovp
      03.10.2025 12:10

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


      1. Heggi
        03.10.2025 12:10

        Судя по

        Решение от CXL: Вместо покупки дополнительного железа для каждого сервера можно создать общие когерентные пулы ресурсов (памяти, ускорителей) в масштабах стойки или целого ЦОДа из 4000 узлов (в версии CXL 3.0).

        Серверу для данных выделяется большое количество памяти из общего пула CXL-памяти.Серверу для рендеринга подключаются дополнительные GPU из пула ускорителей.А простаивающий сервер может вернуть свои ресурсы в общий пул, чтобы их могли использовать другие.

        Все-таки возможно объединение нескольких серверов в пул. Но конкретики в статье не нашел


        1. lelik363
          03.10.2025 12:10

          Вероятно, CXL поверх PCIe.


    1. duronus
      03.10.2025 12:10

      Оперативку крайне затруднительно тащить из другой железяки, задержки будут бешанные, проще будет сразу с ssd грузить


      1. avelor
        03.10.2025 12:10

        Вот в том числе и для этого cxl придумали, и в статье было - понятно что оперативка локальная быстрее, но вот оперативка из cxl-пула уже будет пошустрее ssd…


        1. RadioPizza
          03.10.2025 12:10

          Вот только с такими частотами придётся оптику использовать, речь о том что физически нельзя разместить оперативную память подальше от процессора - придётся понижать скорости.


    1. avelor
      03.10.2025 12:10

      Да, строится cxl-фабрика, можно провести аналогию с SAN (сети ранения данных). Можно почитать всякого по запросу cxl fabric или cxl switch


      1. SlavikF
        03.10.2025 12:10

        Спасибо. Почитал, действительно интересно.

        Вот только трэнд последних лет - уход от единой точки отказа: отваливается один сервер, то другие серверы в кластере продолжают работать.

        А вот с CXL памятью получается наоборот: если сдохнет такая "общая" память, то упадут все серверы, которые используют эту память... Единая точка отказа.

        Впрочем я думаю, что про этот сценарий умные люди тоже подумали, просто я не углублялся...


        1. avelor
          03.10.2025 12:10

          по идее тут тоже можно провести аналогию с SAN-сетями - общая память тоже не единое устройство, а несколько, с отказоустойчивостью\репликацией + локальной оперативки это не отменяет. в общем штука довольно забавная, даже не столько для памяти, сколько для других ресурсов, вроде тех же видях. так что будем наблюдать за развитием:)


        1. Sulerad
          03.10.2025 12:10

          Всё зависит от масштаба. Если вы облачный провайдер и серверов у вас как на серверной фабрике, то в рамках одного ДЦ часто единицей отказа является целая стойка, потому что в ней уже есть один ToR-свитч, который является единой точкой отказа для всех серверов в этой стойке. Если туда добавить ещё и CXL-память, то по большому счету ничего не меняется (хотя вероятность отказа подрастет).


          1. avelor
            03.10.2025 12:10

            Ну, чаще всё ж встречал два TOR.. соответственно от каждого по линку на каждый сервак и аплинк двойной..


        1. FireWolf7
          03.10.2025 12:10

          Уже представляю RAID из CXL серверов... Можно пойти дальше - что мешает сделать CXL оптосетевуху, которая будет подтягивать память вообще из другого ЦОДа? Пусть и медленно, зато совершенно прозрачно и для БД или хостинга сайтов сойдёт.


    1. blind_oracle
      03.10.2025 12:10

      Через PCIe кабели внешние. Всякие SFF-**** интерконнекты, вроде OCuLink.

      Например такие: https://www.dolphinics.com/products/PCI_Express_Gen4_SFF-8644_cables.html


      1. Zalechi
        03.10.2025 12:10

        Плюс на крайний случай в качестве последнего рубежа падения, может выступать ethernet через оптический линк. Да медленно, но всякие ЧП - сойдет еще как! Банки успеют сохранить данные на резервные сервера, а тиктокеры подождут замены стойки.


  1. Ankair
    03.10.2025 12:10

    'Если провести аналогию с автомобилестроением, PCIe — это добротный седан среднего класса со своим кузовом, шасси, колёсами и двигателем, а CXL — это комфортабельный кроссовер нового поколения, собранный на том же шасси седана, но у него совершенно другой салон, кузов, улучшенная аэродинамика, модифицированная подвеска, система управления, электроника, ПО и, самое главное, другая цель — он создан для дорог, где седан не проедет. '

    Какое забавное совпадение.

    Буквально вчера Гемини мне одно сравнение на примере двух автомобилей ровно так же объяснял.


    1. Barseadar Автор
      03.10.2025 12:10

      Одобрил ваш комментарий, так как за свободу слова :) Всё так — мы, сисадмины, делаем сравнения с автомобилями с 1946 года :) В блоге можно найти ещё штук 100, ещё до того, как LLM появились.


      1. ronden
        03.10.2025 12:10

        Ну так себе сравнение. Маркетологи конечно вещают что кроссоверы проходимее и больше седанов, но это обман. Цифры говорят что кроссоверы дороже, тяжелее и жрут больше топлива. А некоторые не кроссоверы по салону больше и по проходимости лучше.

        Кроссовер и аэродинамика это из разных вселенных.


      1. Lagovi
        03.10.2025 12:10

        Мм, вы так пытаетесь сказать что заметная часть статьи вовсе не копипаста нейросетки? Я считаю что само по себе это не хорошо, не плохо, сейчас странно было бы не использовать LLM, и удачно сгенерированный пример лучше плохого выдуманного/отсутствующего. Но именно сам факт привкуса генерации от вашей статьи, на лицо.

        И да, очень похоже на Gemini)


  1. N0mad0leg
    03.10.2025 12:10

    Извините, но за такие заголовки называю: "журнашлюхи".
    Статья большая, познавательная, но заголовок демотивировал на её чтение.
    Пришел я "в истерике" (шутка) от того что у меня есть несколько PCIe плат и вдруг может оказаться что они станут ненужными как старенькие AGP видео.
    По факту оказалось что CXL это надстройка над PCIe, и никуда он не умер.
    А так конечно, мне "дионозавру" этого не понять и не оценить, мне увы недоступно работать там где эксплуатируется такое железо. Дома же, у меня максимум 16Gb на n5095, и в углу стоят всякие Пентиумы да Сайрексы... Хотя начинал ещё с Нейрон-И9.66 с целыми 256кб памяти...


    1. SWATOPLUS
      03.10.2025 12:10

      "Журналжисты" более цензурный термин, пользуйтесь.


      1. nicknamenull
        03.10.2025 12:10

        Вам снобизм черепную коробку изнутри не жмёт?


  1. Sun-ami
    03.10.2025 12:10

    Поддержка CXL сейчас нужна уже далеко не только в серверах, но и в рабочих станциях, на которых работает локальный ИИ. Думаю, что вскоре это в том или ином виде распространится и на высокопроизводительные ПК. Вообще, CXL - это недостающее звено для обеспечения возможности непрерывного апгрейда ПК и рабочих станций с сохранением в работе старых вычислительных модулей и памяти при добавлении новых и более производительных. Для этого нужно оказаться от концепции материнской платы с CPU, и перейти к концепции компьютера как сети из множества вычислительных модулей с CPU, GPU и NPU, соединённых кабелями и пассивными соединительными платами. CXL позволяет сделать ресурсы всех этих модулей в значительной степени общими.

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


    1. Ndochp
      03.10.2025 12:10

      Для этого нужно оказаться от концепции материнской платы с CPU, и перейти к концепции компьютера как сети из множества вычислительных модулей с CPU, GPU и NPU, соединённых кабелями и пассивными соединительными платами

      Угу, и зачем вам PU запрошлых поколений после смены версии CXL?
      И куда вы будете втыкать 40 пиновый IDE на плате с CXL. Не, я даже верю что переходник будет. Правда дороже нового жесткого диска.


      1. Sun-ami
        03.10.2025 12:10

        От IDE отказались уже лет 10 назад, а я говорю об использовании оборудования возрастом до 3-4 лет. Обеспечение возможности непрерывного апгрейда позволит проводить апгрейд ПК чаще, примерно раз в год, чтобы он соответствовал очень быстрому росту аппетитов локального или частично-локального ИИ. При этом разумеется, все используемые вычислительные модули должны поддерживать ту или иную версию CXL. А между версиями CXL, насколько я понимаю, есть обратная совместимость. IDE же - это периферийный интерфейс, который может быть на одном из вычислительных модулей, если он вдруг почему-то нужен, и доступ к нему будет расшариваться этим модулем. А может быть и на плате PCIe версии от 5.0, которая тоже обратно совместима с CXL.


        1. Ndochp
          03.10.2025 12:10

          Ну я брал АМ4 топовую мать с целью долго на ней сидеть. Сейчас все говорят АМ5 рулит, опять же DDR4 против 5. Да, я по прежнему могу играть с видео (но топовое будет избыточно для проца), но проц под замену, а он в любом случае идет в обнимку с памятью. Старый проц не может воспользоваться новой памятью, так как в любом случае будет не готов по интерфейсам, аналогично новый проц не развернется на старой памяти.

          Итого, материнка все равно нужна каждый раз новая. Ну или делать блейды проц+память, и уже они будут втыкаться в некую шину к которой будет подключаться медленная периферия. Что там будет с видео я честно говоря не понимаю, с одной стороны я привык что ему нужна максимальная близость к процу, с другой есть внешние карты с USB интерфейсом.


          1. PerroSalchicha
            03.10.2025 12:10

            Итого, материнка все равно нужна каждый раз новая.

            Собственно говоря, сейчас замена всей платформы на АМД как раз и подвязана под переход на новый вид памяти. Память же живет достаточно долго, сколько там DDR4 была актуальна, лет десять? Вот, это время вы можете платформу не менять. Естественно, будут какие-то программные ограничения, а-ля "новый процессор-то с сокетом совместим, но для вашей семилетней материнки производитель решил не выпускать обновление биос с микрокодом для новых процессоров, или новый микрокод просто не влезает во флешку биотса"


          1. Sun-ami
            03.10.2025 12:10

            Вот я как раз и говорю про блейды проц+память формата большой видеокарты, которые могут втыкаться в пассивную кросс плату, куда подключается их периферия, а между собой соединены ленточными шлейфами CXL подобно тому, как видеокарты могут соединяться по NVlink. При этом GPU и NPU так же могут подключаться по CXL через кросс-плату, а остальная периферия по PCIe. За счёт того, что кросс недорогой и универсальный, и его можно подобрать по количеству слотов точно под конфигурацию, в корпус можно поместить несколько таких кроссов для разных поколений процессорных плат, и добавлять их в порядке апгрейда. Другой вариант - сделать корпус плоским, с креплением за монитор, и соединять несколько расположенных рядом таких корпусов по CXL через кабель.


            1. Heggi
              03.10.2025 12:10

              Было уже такое. В промышленном компьютере в стоечном корпусе была пассивная "материнская" плата, к ней подключался БП и так же в неё втыкалась процессорная плата (пень 4 вроде был) и все карты расширения (тогда еще ISA популярен был).

              К сожалению название уже не вспомню, давно это было...

              Адд: бывший коллега подсказал - это был Advantech 510


              1. Sun-ami
                03.10.2025 12:10

                Почему было? В промышленных ПК пассивные кросс-платы не прекращали применяться, в том числе и с PCI-express. Но это только часть подхода.


  1. st_kup
    03.10.2025 12:10

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