Top.Mail.Ru
Что такое стандарт CXL — будущий преемник PCIe | Блог Serverflow Скачать
прайс-лист
Бесплатная
доставка по РФ
Distribution of
Server Components
8 (800) 222-70-01 Консультация IT-специалиста Сравнение
Что такое стандарт CXL — будущий преемник PCIe

Автор:

Что такое стандарт CXL — будущий преемник PCIe

Все об особенностях, преимуществах и перспективах интерфейса CXL.

Введение Интерфейс PCIe плотно вошел в индустрию микроэлектроники с самого начала своего появления в 2002 году. Сейчас эта шина для передачи данных активно применяется как в пользовательских устройствах, вроде ПК и ноутбуков, так и в сегменте высокопроизводительных вычислений, включая ИИ-кластеры и суперкомпьютеры. Однако, в некоторых сферах стандарт PCIe не так хорош, как может показаться — недостаток линий, некогерентный доступ к ресурсам (затухание сигнала в крупных системах) и закрытая архитектура интерфейса вынуждают владельцев дата-центров искать более гибкие платформы для развертывания серверных кластеров. Одним из таких стандартов является интерфейс CXL. В этой статье мы расскажем вам, что такое CXL, какие версии CXL существуют, в чем их преимущества и недостатки, а также сравним CXL с PCIe. Что такое CXL? Compute Express Link (CXL) — это открытый стандарт межсоединения, который появился в 2019 году из-под крыла корпорации Intel. В консорциуме по разработке CXL также принимали участие ведущие IT-компании, производящие собственные чипы, включая Alibaba, Cisco, Dell, Meta*, Google, HPE, Huawei и Microsoft. Интерфейс CXL в первую очередь предназначен для высокоскоростного соединения между центральным процессором и устройствами хранения данных с большой емкостью, что делает его особенно полезным в таких направлениях, как высокопроизводительные вычисления и дата-центры. Примечательно, что за основу открытого стандарта CXL взят его главный конкурент — закрытый стандарт PCIe, от которого первый унаследовал, последовательный интерфейс, а также различные протоколы передачи данных. При этом, CXL привносит и свои нововведения, вроде блочного протокола ввода/вывода, новые протоколы для доступа к системной памяти, обеспечивающие последовательную связь и объединение устройств. Благодаря этому, CXL позволяет объединять память разных типов в единую систему, преодолевая ограничения производительности и памяти DIMM. Выражаясь простыми словами, CXL работает следующим образом: Иллюстрация, показывающая принцип работы интерконнекта CXL. Источник: Compute Express Link. Когда процессору необходимо выполнить задачу, которую можно выполнить на вычислительном ускорителе, он отправляет запрос по интерфейсу CXL на ускоритель. Затем ускоритель извлекает необходимые данные из когерентно памяти, выполняет задачу и отправляет результаты обратно на процессор по интерфейсу CXL. Если система запущена на виртуальной машине, интерфейс CXL можно использовать для передачи задач с центрального процессора на ускоритель, назначенный конкретно для виртуальной машины.Ускоритель связывается с виртуальной машиной через CXL, выполняя задачи и обмениваясь данными по мере необходимости, при этом не обращаясь к CPU. В случае с контейнерами, интерфейс CXL можно использовать для того, чтобы несколько контейнеров могли совместно использовать доступ к одному и тому же ускорителю. Центральный процессор также будет взаимодействовать с ускорителем через интерфейс CXL, а сам ускоритель будет работать с контейнерами аналогичным образом, выполняя задачи и обмениваясь данными без обращения к CPU. Протоколы CXL Как и у любого другого интерфейса, у CXL есть несколько уникальных протоколов передачи данных: CXL.io. Универсальный протокол, основанный на PCIe 5.0 с рядом модификаций, обеспечивающий настройку, инициализацию, обнаружение, прямой доступ к памяти и регистрам ввода/вывода, а также другие возможности с использованием когерентных сигналов загрузки/сохранения данных. По сути, этот протокол повторяет функциональность протокола PCIe. CXL.cache. Протокол, определяющий взаимодействие между хостом и устройством, который позволяет периферийным устройствам согласовано обращаться к памяти процессора и кэшировать информацию с с низкой задержкой. CXL.mem. Протокол, позволяющий центральному процессору согласовано обращаться к памяти, подключенной к устройству, с помощью команд ввода/вывода как для оперативной памяти, так и для флэш-памяти. Благодаря этим протоколам, CXL может настроить доступ к памяти минуя прямое обращение к процессору, обеспечивая минимальные задержки и увеличить производительность систему. Это обуславливается возможностью кэширования данных как CPU, так и вычислительных ускорителей. Ранее, в устройствах PCIe, память не подвергалась высокой нагрузке, но интерфейс CXL позволяет задействовать вычислительные ресурсы памяти, увеличивая общую эффективность работы сетевой инфраструктуры. Устройства, поддерживающие CXL Существует 3 типа устройств, которые поддерживают протоколы интерфейса CXL: Первый тип — ускорители без интегрированной оперативной памяти, поддерживающие протоколы CXL.io и CXL.cache. К таким решениям относятся различные сопроцессоры и умные сетевые карты SmartNIC. Подобные продукты имеют контентный доступ к оперативной памяти CPU с кэшированием информации при обработке данных. Схема работы CXL-ускорителей без интегрированной памяти. Источник: Smart MT. Второй тип — ускорители вычислений, уже имеющие встроенную оперативную память и поддерживающие протоколы CXL.io, CXL.cache и CXL.mem. Примеры подобных решений: чипы GPU, ASIC или FPGA. Такие решения могут самостоятельно получать доступ к оперативной памяти хоста, а также предоставлять ее CPU, предварительно кэшируя данные и образуя адаптивную систему вычислений. Схема работы CXL-экспандера с интегрированной памятью. Источник: Smart MT. Третий тип — расширители памяти, использующие протоколы CXL.io и CXL.mem. Эти решения не имеют собственных вычислительных ресурсов, но могут предоставлять центральному процессору кешируемый доступ к дополнительной оперативной или персистентной памяти. Схема работы модуля CXL-памяти. Источник: Smart MT. Все три типа CXL-решений совместимы со стандартным набором PCIe-устройств, увеличивая количество решений, которые можно интегрировать в современные вычислительные системы. Версии стандартов CXL  С момента 2019 года на рынок успели выйти 6 версий стандарта, которые отличаются техническими характеристиками, функционалом и особенностями. Рассмотрим каждую версию по отдельности: Возможности, поддерживаемые разными поколениями стандартов CXL. Источник: Compute Express Link. CXL 1.0 Самая первая версия стандарта CXL, выпущенная в 2019 году. CXL 1.0 с самого начала базировался на интерфейсе PCIe 5.0 и был предназначен на обеспечение максимальной скорости передачи данных, имея пропускную способность до 32 ГТ/с. Примечательно, что в 2019 году PCIe 5.0 был весьма нишевым интерфейсом, но уже тогда разработчики CXL заложили в основу своего стандарта один из самых перспективных стандартов PCIe. Основные функции включают аппаратную когерентность памяти между CPU и ускорителями благодаря поддержке протоколов CXL.cache и CXL.mem, а также базовое управление устройствами через протокол CXL.io. CXL 1.0 отличается низкими задержками (до 100 нс), а также полной совместимостью с устройствами, поддерживающими стандарт PCIe 5.0, что делает его идеальным решением для синхронизации данных в задачах сектора ИИ и HPC. Однако, первая версия CXL также имеет ряд недостатков, среди которых отсутствие поддержки коммутации и объединения памяти, вследствие чего CXL-системы сложно масштабировать.  Эспандеры памяти Smart Modular Technologies с поддержкой интерфейса CXL 1.1, увеличивающие объем оперативной памяти до 4 ТБ. Поскольку интерфейс CXL 1.0 был ранней, тестовой версией, более широкое распространение получила версия CXL 1.1. Источник: Smart MT. CXL 1.1  CXL 1.1 — модифицированный вариант первой версии CXL, которая стала первой успешной спецификацией открытого стандарта межсоединения. В этой версии были добавлены расширенные функции управления памятью, включая динамическое выделение ресурсов и оптимизацию кэширования. Также в CXL 1.1 была улучшена стабильность и введена поддержка гибридных коммутаторов (например, XConn Apollo Switch XC50256), вследствие чего упрощается интеграция CXL-устройств в существующую вычислительную инфраструктуру. Однако, возможности этих коммутаторов были ограничены, что исключало возведение сложных топологий из большого количества устройств. Тем не менее, у CXL 1.1 все-таки есть ряд условностей, среди которых отсутствие возможности горячей замены, что ограничивает гибкость и отказоустойчивость системы, а также невозможность поддержки энергонезависимой оперативной памяти PMEM.  Процессор AMD EPYC 9004 с поддержкой интерфейса CXL 1.1. Источник: Arrow. CXL 2.0 Новая версия стандарта CXL, выпущенная в 2020 году. Ключевые нововведения CXL включают поддержку коммутации до 16 устройств на хост, энергонезависимой памяти, например, Intel Optane, шифрование данных по алгоритму CXL IDE и объединение памяти в пулы для лучшего масштабирования. Благодаря использованию гибридных коммутаторов, пользователи систем CXL могли снизить стоимость владения инфраструктурой, при этом создавая гибридную систему памяти объемом до нескольких сотен ТБ, что особенно полезно для задач сектора искусственного интеллекта. Однако, введение алгоритма шифрования увеличило задержки в передаче данных, что могло негативно сказаться на производительности некоторых систем. CXL 2.0 поддерживает наибольшее количество устройств, от флагманских процессоров Intel Xeon 6700-6900, CPU AMD EPYC 9004/9005 Turin и до бюджетных экспандеров LR-Link LRDR9G91-2I и гибридных модулей памяти Samsung CMM-H (сочетание DRAM, флеш-памяти, ARM CPU и FPGA). Бюджетный эспандер памяти LR-Link LRDR9G91-2I с поддержкой CXL 2.0. Источник: LR-Link.  CXL 3.0 Представленный в 2022 году, CXL 3.0 представляет собой стандарт, разработанный на базе интерфейса PCIe 6.0 с пропускной способностью до 64 ГТ/с. CXL 3.0 выделяется от своих предшественников поддержкой многоуровневой коммутации с одноранговым доступом между устройствами, расширенной когерентностью памяти и возможностью интеграции до 4096 устройств в единой системе, что обеспечивает беспрецедентную масштабируемость для крупных дата-центров с целью создания огромных вычислительных кластеров. Кроме того, CXL 3.0 позволяет значительно снизить нагрузку на центральный процессор благодаря возможности прямого взаимодействия с вычислительными ускорителями. Тем не менее, такие инновационные возможности обходятся ценой сложности интеграции CXL 3.0 устройств в уже готовые инфраструктуры из-за повышенных требований к администрированию. На сайте консорциума CXL нет информации об устройствах, которые поддерживают интерфейс CXL 3.0. Однако, с учетом приближающихся IT-конференций и ожидаемых анонсов от компаний AMD и Nvidia, можно предположить, что на этих событиях будут представлены новейшие решения с поддержкой CXL 3.0 и CXL 3.1. Вычислительная нода, полностью состоящая из модулей оперативной памяти, что возможно благодаря интерфейсам CDFP (CXL 3.0) и CXL-коммутаторам. Система состоит из 96 модулей DIMM DDR5 и обеспечивает до 24 ТБ памяти. Источник: ServeTheHome. CXL 3.1 CXL 3.1 представляет собой минорное обновление CXL 3.0 2023 года выпуска, оптимизированное для лучшей работы и совместимости с решениями на базе PCIe 6.0. К примеру, к устройствам CXL 3.1 можно отнести FPGA-схемы AMD Versal Premium Series Gen 2 с улучшенной энергоэффективностью и собственной оперативной памятью с пропускной способностью 250 ГБ/с. Наиболее значимым нововведением CXL 3.1 является улучшенная энергоэффективность в 15%-20% по сравнению со стандартом CXL 3.0, а также совместимость с новейшими чипсетами. Среди недостатков: узкая специализация решения (поддержка только определенных типов устройств), что ограничивает массовое применение CXL 3.1 в современных вычислительных системах. Схема работы интерфейса CXL 3.1. Источник: Compute Express Link. CXL 3.2 CXL 3.2 является новейшей версией интерфейса, которая вышла в конце 2024 года. Это решение имеет обновленный модуль мониторинга горячих страниц CXL (CHMU) для многоуровневой памяти, расширенную функциональность и возможности управления CXL-устройствами для оптимизации работы приложений и ОС, а также различные улучшения механизмов безопасности, например, интеграция протокола TSP и расширенная защита IDE. По сути, эта версия не приносит каких-либо инновационных решений и является минорным улучшением версии CXL 3.1. Кроме того, версия CXL 3.2 имеет полную обратную совместимость с предыдущими версиями интерфейса. Разработчики интерфейса постепенно обкатывают новые функции и стремятся довести третье поколение CXL до идеала, сделав стандарт максимально привлекательным для интеграции в новейшие чипы крупнейших IT-брендов. CXL против PCIe Несмотря на то, что CXL и PCIe являются высокоскоростными интерфейсами передачи данных, их функциональные возможности и сценарии использования принципиально отличаются. CXL, построенный на физическом уровне PCIe 5.0/6.0, расширяет его функционал за счет поддержки когерентности памяти, что позволяет CPU, GPU, FPGA и другим акселераторам эффективно разделять общие ресурсы памяти без избыточного копирования данных, что критично для задач искусственного интеллекта, машинного обучения и высокопроизводительных вычислений. CXL фокусируется на снижении задержек и обеспечении согласованного доступа к памяти, устраняя “узкие места” в гетерогенных средах, где традиционные PCIe-устройства не могут синхронизировать кэш. В свою очередь, стандарт PCIe остается универсальным интерфейсом, который используется для подключения периферийных устройств (видеокарт, SSD, сетевых карт), в особенности в потребительском сегменте рынка. Это говорит о том, что оба стандарта, по всей видимости, будут использоваться в разных направлениях вычислительных устройств — PCIe в пользовательских решениях, а CXL в коммерческом сегменте с масштабируемыми кластерами. Альтернативные технологии Помимо интерфейса CXL, на рынке существует ряд других открытых стандартов межсоединения, которые имели большие перспективы, но в процессе были поглощены консорциумом CXL. Ознакомимся со стандартами, которые вошли в экосистему CXL: CCIX (Cache Coherent Interconnect for Accelerators) — интерфейс, который разработан для обеспечения когерентности между CPU и сторонними ускорителями (FPGA, GPU) через PCIe 4.0, поддерживая симметричную модель когерентности, что позволяет подключать разные компоненты в одной системе без зависимости от бренда устройств. С появлением CXL 3.0 часть функций CCIX была интегрирована в его экосистему, что снизило конкурентоспособность CCIX.  Схема работы интерфейса CCIX. Источник: wikichip. Gen-Z — стандарт, который фокусируется на масштабировании памяти на уровне серверных стоек и центров обработки данных, используя семантику памяти для прямого доступа к распределенным пулам памяти с низкой задержкой, что минимизирует перемещение данных и энергопотребление. К 2021 году Gen-Z прекратил самостоятельное развитие, передав свои спецификации консорциуму CXL.  Обзор технологии интерконнекта Gen-Z. Источник: Pinterest. OpenCAPI (Open Coherent Accelerator Processor Interface) — интерфейс, созданный IBM для систем POWER, обеспечивает высокую пропускную способность (до 25 ГБ/с на канал) и когерентность между CPU и ускорителями, но в 2022 году также был интегрирован в CXL, что ограничило его независимое применение.  Схема работы интерконнекта OpenCAPI. Источник: IBM. Выводы Несмотря на то, что в данный момент интерфейс CXL не так распространен, как его главный конкурент PCIe, открытый стандарт активно развивается и все больше высокотехнологичных IT-компаний интегрируют его в свои передовые устройства. Ввиду всех преимуществ, которые предлагает CXL, уже не за горами тот момент, когда этот стандарт полностью вытеснит PCIe из коммерческого сегмента рынка, полностью закрыв все потребности современных кластерных систем. Тем не менее, конкуренты не дремлют, и в индустрии постепенно появляются новые игроки, которые предлагают более интересный функционал, который сможет удовлетворить требования как современных, так и будущих вычислительных систем, причем, включая даже пользовательские устройства.

Что такое стандарт CXL — будущий преемник PCIe

~ 15 мин
58
Средний
Статьи
Что такое стандарт CXL — будущий преемник PCIe

Введение

Интерфейс PCIe плотно вошел в индустрию микроэлектроники с самого начала своего появления в 2002 году. Сейчас эта шина для передачи данных активно применяется как в пользовательских устройствах, вроде ПК и ноутбуков, так и в сегменте высокопроизводительных вычислений, включая ИИ-кластеры и суперкомпьютеры. Однако, в некоторых сферах стандарт PCIe не так хорош, как может показаться — недостаток линий, некогерентный доступ к ресурсам (затухание сигнала в крупных системах) и закрытая архитектура интерфейса вынуждают владельцев дата-центров искать более гибкие платформы для развертывания серверных кластеров. Одним из таких стандартов является интерфейс CXL. В этой статье мы расскажем вам, что такое CXL, какие версии CXL существуют, в чем их преимущества и недостатки, а также сравним CXL с PCIe.

Что такое CXL?

Compute Express Link (CXL) — это открытый стандарт межсоединения, который появился в 2019 году из-под крыла корпорации Intel. В консорциуме по разработке CXL также принимали участие ведущие IT-компании, производящие собственные чипы, включая Alibaba, Cisco, Dell, Meta*, Google, HPE, Huawei и Microsoft. Интерфейс CXL в первую очередь предназначен для высокоскоростного соединения между центральным процессором и устройствами хранения данных с большой емкостью, что делает его особенно полезным в таких направлениях, как высокопроизводительные вычисления и дата-центры. Примечательно, что за основу открытого стандарта CXL взят его главный конкурент — закрытый стандарт PCIe, от которого первый унаследовал, последовательный интерфейс, а также различные протоколы передачи данных. При этом, CXL привносит и свои нововведения, вроде блочного протокола ввода/вывода, новые протоколы для доступа к системной памяти, обеспечивающие последовательную связь и объединение устройств. Благодаря этому, CXL позволяет объединять память разных типов в единую систему, преодолевая ограничения производительности и памяти DIMM. Выражаясь простыми словами, CXL работает следующим образом:

Принцип работы CXL
Иллюстрация, показывающая принцип работы интерконнекта CXL. Источник: Compute Express Link.
  • Когда процессору необходимо выполнить задачу, которую можно выполнить на вычислительном ускорителе, он отправляет запрос по интерфейсу CXL на ускоритель. Затем ускоритель извлекает необходимые данные из когерентно памяти, выполняет задачу и отправляет результаты обратно на процессор по интерфейсу CXL.
  • Если система запущена на виртуальной машине, интерфейс CXL можно использовать для передачи задач с центрального процессора на ускоритель, назначенный конкретно для виртуальной машины.Ускоритель связывается с виртуальной машиной через CXL, выполняя задачи и обмениваясь данными по мере необходимости, при этом не обращаясь к CPU.
  • В случае с контейнерами, интерфейс CXL можно использовать для того, чтобы несколько контейнеров могли совместно использовать доступ к одному и тому же ускорителю. Центральный процессор также будет взаимодействовать с ускорителем через интерфейс CXL, а сам ускоритель будет работать с контейнерами аналогичным образом, выполняя задачи и обмениваясь данными без обращения к CPU.

Протоколы CXL

Как и у любого другого интерфейса, у CXL есть несколько уникальных протоколов передачи данных:
  • CXL.io. Универсальный протокол, основанный на PCIe 5.0 с рядом модификаций, обеспечивающий настройку, инициализацию, обнаружение, прямой доступ к памяти и регистрам ввода/вывода, а также другие возможности с использованием когерентных сигналов загрузки/сохранения данных. По сути, этот протокол повторяет функциональность протокола PCIe.
  • CXL.cache. Протокол, определяющий взаимодействие между хостом и устройством, который позволяет периферийным устройствам согласовано обращаться к памяти процессора и кэшировать информацию с с низкой задержкой.
  • CXL.mem. Протокол, позволяющий центральному процессору согласовано обращаться к памяти, подключенной к устройству, с помощью команд ввода/вывода как для оперативной памяти, так и для флэш-памяти.
Благодаря этим протоколам, CXL может настроить доступ к памяти минуя прямое обращение к процессору, обеспечивая минимальные задержки и увеличить производительность систему. Это обуславливается возможностью кэширования данных как CPU, так и вычислительных ускорителей. Ранее, в устройствах PCIe, память не подвергалась высокой нагрузке, но интерфейс CXL позволяет задействовать вычислительные ресурсы памяти, увеличивая общую эффективность работы сетевой инфраструктуры.

Устройства, поддерживающие CXL

Существует 3 типа устройств, которые поддерживают протоколы интерфейса CXL:

  • Первый тип — ускорители без интегрированной оперативной памяти, поддерживающие протоколы CXL.io и CXL.cache. К таким решениям относятся различные сопроцессоры и умные сетевые карты SmartNIC. Подобные продукты имеют контентный доступ к оперативной памяти CPU с кэшированием информации при обработке данных.
Схема работы CXL-ускорителей без интегрированной памяти
Схема работы CXL-ускорителей без интегрированной памяти. Источник: Smart MT.
  • Второй тип — ускорители вычислений, уже имеющие встроенную оперативную память и поддерживающие протоколы CXL.io, CXL.cache и CXL.mem. Примеры подобных решений: чипы GPU, ASIC или FPGA. Такие решения могут самостоятельно получать доступ к оперативной памяти хоста, а также предоставлять ее CPU, предварительно кэшируя данные и образуя адаптивную систему вычислений.
Схема работы CXL-экспандера с интегрированной памятью
Схема работы CXL-экспандера с интегрированной памятью. Источник: Smart MT.
  • Третий тип — расширители памяти, использующие протоколы CXL.io и CXL.mem. Эти решения не имеют собственных вычислительных ресурсов, но могут предоставлять центральному процессору кешируемый доступ к дополнительной оперативной или персистентной памяти.
Схема работы модуля CXL-памяти
Схема работы модуля CXL-памяти. Источник: Smart MT.

Все три типа CXL-решений совместимы со стандартным набором PCIe-устройств, увеличивая количество решений, которые можно интегрировать в современные вычислительные системы.

Версии стандартов CXL 

С момента 2019 года на рынок успели выйти 6 версий стандарта, которые отличаются техническими характеристиками, функционалом и особенностями. Рассмотрим каждую версию по отдельности:

Возможности разных версий CXL
Возможности, поддерживаемые разными поколениями стандартов CXL. Источник: Compute Express Link.

CXL 1.0

Самая первая версия стандарта CXL, выпущенная в 2019 году. CXL 1.0 с самого начала базировался на интерфейсе PCIe 5.0 и был предназначен на обеспечение максимальной скорости передачи данных, имея пропускную способность до 32 ГТ/с. Примечательно, что в 2019 году PCIe 5.0 был весьма нишевым интерфейсом, но уже тогда разработчики CXL заложили в основу своего стандарта один из самых перспективных стандартов PCIe. Основные функции включают аппаратную когерентность памяти между CPU и ускорителями благодаря поддержке протоколов CXL.cache и CXL.mem, а также базовое управление устройствами через протокол CXL.io. CXL 1.0 отличается низкими задержками (до 100 нс), а также полной совместимостью с устройствами, поддерживающими стандарт PCIe 5.0, что делает его идеальным решением для синхронизации данных в задачах сектора ИИ и HPC. Однако, первая версия CXL также имеет ряд недостатков, среди которых отсутствие поддержки коммутации и объединения памяти, вследствие чего CXL-системы сложно масштабировать. 

Эспандеры памяти Smart Modular Technologies
Эспандеры памяти Smart Modular Technologies с поддержкой интерфейса CXL 1.1, увеличивающие объем оперативной памяти до 4 ТБ. Поскольку интерфейс CXL 1.0 был ранней, тестовой версией, более широкое распространение получила версия CXL 1.1. Источник: Smart MT.

CXL 1.1 

CXL 1.1 — модифицированный вариант первой версии CXL, которая стала первой успешной спецификацией открытого стандарта межсоединения. В этой версии были добавлены расширенные функции управления памятью, включая динамическое выделение ресурсов и оптимизацию кэширования. Также в CXL 1.1 была улучшена стабильность и введена поддержка гибридных коммутаторов (например, XConn Apollo Switch XC50256), вследствие чего упрощается интеграция CXL-устройств в существующую вычислительную инфраструктуру. Однако, возможности этих коммутаторов были ограничены, что исключало возведение сложных топологий из большого количества устройств. Тем не менее, у CXL 1.1 все-таки есть ряд условностей, среди которых отсутствие возможности горячей замены, что ограничивает гибкость и отказоустойчивость системы, а также невозможность поддержки энергонезависимой оперативной памяти PMEM. 

AMD EPYC 9004
Процессор AMD EPYC 9004 с поддержкой интерфейса CXL 1.1. Источник: Arrow.

CXL 2.0

Новая версия стандарта CXL, выпущенная в 2020 году. Ключевые нововведения CXL включают поддержку коммутации до 16 устройств на хост, энергонезависимой памяти, например, Intel Optane, шифрование данных по алгоритму CXL IDE и объединение памяти в пулы для лучшего масштабирования. Благодаря использованию гибридных коммутаторов, пользователи систем CXL могли снизить стоимость владения инфраструктурой, при этом создавая гибридную систему памяти объемом до нескольких сотен ТБ, что особенно полезно для задач сектора искусственного интеллекта. Однако, введение алгоритма шифрования увеличило задержки в передаче данных, что могло негативно сказаться на производительности некоторых систем. CXL 2.0 поддерживает наибольшее количество устройств, от флагманских процессоров Intel Xeon 6700-6900, CPU AMD EPYC 9004/9005 Turin и до бюджетных экспандеров LR-Link LRDR9G91-2I и гибридных модулей памяти Samsung CMM-H (сочетание DRAM, флеш-памяти, ARM CPU и FPGA).

LR-Link LRDR9G91-2I
Бюджетный эспандер памяти LR-Link LRDR9G91-2I с поддержкой CXL 2.0. Источник: LR-Link

CXL 3.0

Представленный в 2022 году, CXL 3.0 представляет собой стандарт, разработанный на базе интерфейса PCIe 6.0 с пропускной способностью до 64 ГТ/с. CXL 3.0 выделяется от своих предшественников поддержкой многоуровневой коммутации с одноранговым доступом между устройствами, расширенной когерентностью памяти и возможностью интеграции до 4096 устройств в единой системе, что обеспечивает беспрецедентную масштабируемость для крупных дата-центров с целью создания огромных вычислительных кластеров. Кроме того, CXL 3.0 позволяет значительно снизить нагрузку на центральный процессор благодаря возможности прямого взаимодействия с вычислительными ускорителями. Тем не менее, такие инновационные возможности обходятся ценой сложности интеграции CXL 3.0 устройств в уже готовые инфраструктуры из-за повышенных требований к администрированию. На сайте консорциума CXL нет информации об устройствах, которые поддерживают интерфейс CXL 3.0. Однако, с учетом приближающихся IT-конференций и ожидаемых анонсов от компаний AMD и Nvidia, можно предположить, что на этих событиях будут представлены новейшие решения с поддержкой CXL 3.0 и CXL 3.1.

Вычислительная нода, полностью состоящая из модулей оперативной памяти
Вычислительная нода, полностью состоящая из модулей оперативной памяти, что возможно благодаря интерфейсам CDFP (CXL 3.0) и CXL-коммутаторам. Система состоит из 96 модулей DIMM DDR5 и обеспечивает до 24 ТБ памяти. Источник: ServeTheHome.

CXL 3.1

CXL 3.1 представляет собой минорное обновление CXL 3.0 2023 года выпуска, оптимизированное для лучшей работы и совместимости с решениями на базе PCIe 6.0. К примеру, к устройствам CXL 3.1 можно отнести FPGA-схемы AMD Versal Premium Series Gen 2 с улучшенной энергоэффективностью и собственной оперативной памятью с пропускной способностью 250 ГБ/с. Наиболее значимым нововведением CXL 3.1 является улучшенная энергоэффективность в 15%-20% по сравнению со стандартом CXL 3.0, а также совместимость с новейшими чипсетами. Среди недостатков: узкая специализация решения (поддержка только определенных типов устройств), что ограничивает массовое применение CXL 3.1 в современных вычислительных системах.

Схема работы CXL 3.1
Схема работы интерфейса CXL 3.1. Источник: Compute Express Link.

CXL 3.2

CXL 3.2 является новейшей версией интерфейса, которая вышла в конце 2024 года. Это решение имеет обновленный модуль мониторинга горячих страниц CXL (CHMU) для многоуровневой памяти, расширенную функциональность и возможности управления CXL-устройствами для оптимизации работы приложений и ОС, а также различные улучшения механизмов безопасности, например, интеграция протокола TSP и расширенная защита IDE. По сути, эта версия не приносит каких-либо инновационных решений и является минорным улучшением версии CXL 3.1. Кроме того, версия CXL 3.2 имеет полную обратную совместимость с предыдущими версиями интерфейса. Разработчики интерфейса постепенно обкатывают новые функции и стремятся довести третье поколение CXL до идеала, сделав стандарт максимально привлекательным для интеграции в новейшие чипы крупнейших IT-брендов.

CXL против PCIe

Несмотря на то, что CXL и PCIe являются высокоскоростными интерфейсами передачи данных, их функциональные возможности и сценарии использования принципиально отличаются. CXL, построенный на физическом уровне PCIe 5.0/6.0, расширяет его функционал за счет поддержки когерентности памяти, что позволяет CPU, GPU, FPGA и другим акселераторам эффективно разделять общие ресурсы памяти без избыточного копирования данных, что критично для задач искусственного интеллекта, машинного обучения и высокопроизводительных вычислений. CXL фокусируется на снижении задержек и обеспечении согласованного доступа к памяти, устраняя “узкие места” в гетерогенных средах, где традиционные PCIe-устройства не могут синхронизировать кэш. В свою очередь, стандарт PCIe остается универсальным интерфейсом, который используется для подключения периферийных устройств (видеокарт, SSD, сетевых карт), в особенности в потребительском сегменте рынка. Это говорит о том, что оба стандарта, по всей видимости, будут использоваться в разных направлениях вычислительных устройств — PCIe в пользовательских решениях, а CXL в коммерческом сегменте с масштабируемыми кластерами.

Альтернативные технологии

Помимо интерфейса CXL, на рынке существует ряд других открытых стандартов межсоединения, которые имели большие перспективы, но в процессе были поглощены консорциумом CXL. Ознакомимся со стандартами, которые вошли в экосистему CXL:
  • CCIX (Cache Coherent Interconnect for Accelerators) — интерфейс, который разработан для обеспечения когерентности между CPU и сторонними ускорителями (FPGA, GPU) через PCIe 4.0, поддерживая симметричную модель когерентности, что позволяет подключать разные компоненты в одной системе без зависимости от бренда устройств. С появлением CXL 3.0 часть функций CCIX была интегрирована в его экосистему, что снизило конкурентоспособность CCIX. 
Схема работы CCIX
Схема работы интерфейса CCIX. Источник: wikichip.
  • Gen-Z — стандарт, который фокусируется на масштабировании памяти на уровне серверных стоек и центров обработки данных, используя семантику памяти для прямого доступа к распределенным пулам памяти с низкой задержкой, что минимизирует перемещение данных и энергопотребление. К 2021 году Gen-Z прекратил самостоятельное развитие, передав свои спецификации консорциуму CXL. 
Обзор технологии Gen-Z
Обзор технологии интерконнекта Gen-Z. Источник: Pinterest.
  • OpenCAPI (Open Coherent Accelerator Processor Interface) — интерфейс, созданный IBM для систем POWER, обеспечивает высокую пропускную способность (до 25 ГБ/с на канал) и когерентность между CPU и ускорителями, но в 2022 году также был интегрирован в CXL, что ограничило его независимое применение. 
Схема работы OpenCAPI
Схема работы интерконнекта OpenCAPI. Источник: IBM.

Выводы

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

Автор: Serverflow Serverflow
Поделиться

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

Написать комментарий
Сейчас тут ничего нет. Ваш комментарий может стать первым.

Написать отзыв

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

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

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

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

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

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

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

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

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

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