Открыть сервис

Спецификация CXL

Compute Express Link (CXL) — это открытый стандарт высокоскоростного последовательного интерконнекта, предназначенный для соединения центрального процессора (CPU) с ускорителями вычислений, памятью и другими периферийными устройствами в гетерогенных вычислительных системах. CXL разработан для обеспечения когерентности кэш-памяти, эффективного обмена данными и унификации доступа к памяти между CPU и специализированными чипами (FPGA, GPU, ASIC), что критически важно для современных дата-центров, высокопроизводительных вычислений (HPC) и систем искусственного интеллекта (AI).

История

Стандарт CXL был анонсирован в марте 2019 года консорциумом, основанным компаниями Intel, AMD, Google, Microsoft, Hewlett Packard Enterprise, Dell EMC, Huawei и другими. Основной целью создания CXL стало преодоление ограничений существующих интерфейсов (например, PCI Express) в части обеспечения когерентности памяти и снижения задержек при взаимодействии CPU с ускорителями. Первая версия спецификации CXL 1.0 была опубликована в том же году. В 2020 году вышла версия 1.1, а в 2022 году — CXL 2.0, которая добавила поддержку коммутации и управления памятью. В 2023 году была представлена CXL 3.0, обеспечивающая более высокую пропускную способность и улучшенную поддержку многопроцессорных конфигураций. Консорциум CXL (CXL Consortium) продолжает развивать стандарт, включая в него поддержку новых типов памяти и протоколов. В 2023 году консорциум объявил о переходе под управление организации JEDEC, что должно способствовать более широкому внедрению стандарта.

Архитектура и протоколы

CXL базируется на физическом уровне PCI Express (PCIe) 5.0 и 6.0, что позволяет использовать существующую инфраструктуру и разъёмы. Однако на логическом уровне CXL добавляет три ключевых протокола, работающих поверх одного физического соединения:

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

Эти протоколы работают в режиме разделения времени (time-division multiplexing) на одном физическом канале, что позволяет устройству поддерживать как традиционные операции ввода-вывода, так и когерентный доступ к памяти.

Версии спецификации

CXL 1.0/1.1

Первая версия стандарта, опубликованная в 2019 году. Она поддерживала протоколы CXL.io, CXL.cache и CXL.mem для одного устройства на порт. Максимальная пропускная способность составляла 32 ГБ/с на линию (на основе PCIe 5.0 x16). CXL 1.1, выпущенная в 2020 году, уточнила спецификации и исправила ошибки.

CXL 2.0

Опубликована в 2022 году. Основные нововведения:

  • Поддержка коммутации (switching) — возможность подключать несколько устройств CXL через один коммутатор.
  • Возможность управления памятью (memory pooling) — объединение нескольких устройств памяти в единый пул, доступный нескольким хостам.
  • Поддержка горячей замены устройств.
  • Улучшенная поддержка безопасности и изоляции.

CXL 3.0

Опубликована в 2023 году. Ключевые улучшения:

  • Увеличение пропускной способности до 64 ГБ/с на линию (на основе PCIe 6.0 x16).
  • Поддержка многопроцессорных конфигураций (multi-headed) — возможность подключения нескольких CPU к одному устройству CXL.
  • Улучшенная поддержка когерентности для больших систем.
  • Поддержка технологии Fabric — возможность построения масштабируемых сетей из устройств CXL.

Применение

CXL находит применение в следующих областях:

  • Ускорители вычислений: Подключение GPU, FPGA, ASIC и других специализированных процессоров к CPU с когерентным доступом к памяти. Это позволяет эффективно ускорять задачи машинного обучения, обработки больших данных, научных симуляций и криптографии.
  • Расширение памяти: Использование CXL для подключения модулей памяти (CXL-attached memory) к серверу. Это позволяет увеличить объём доступной оперативной памяти без замены материнской платы или процессора, а также создавать пулы памяти, разделяемые между несколькими серверами.
  • Гетерогенные вычисления: Объединение различных типов вычислительных устройств (CPU, GPU, FPGA) в единую когерентную систему, что упрощает программирование и повышает производительность.
  • Центры обработки данных (ЦОД): CXL используется для оптимизации использования ресурсов памяти и ускорителей в облачных и корпоративных ЦОД, снижая затраты и повышая гибкость инфраструктуры.
  • Высокопроизводительные вычисления (HPC): Для построения кластеров с высокой пропускной способностью и низкой задержкой между узлами.

Преимущества и ограничения

Преимущества

  • Когерентность памяти: Обеспечивает единую модель памяти для CPU и ускорителей, упрощая разработку программного обеспечения.
  • Низкая задержка: Протоколы CXL.cache и CXL.mem обеспечивают значительно меньшую задержку по сравнению с традиционными интерфейсами (например, PCIe или Ethernet).
  • Высокая пропускная способность: Использование физического уровня PCIe 5.0/6.0 обеспечивает высокую скорость передачи данных.
  • Совместимость: CXL использует стандартные разъёмы и кабели PCIe, что упрощает интеграцию.
  • Масштабируемость: Поддержка коммутации и многопроцессорных конфигураций позволяет строить системы любого размера.

Ограничения

  • Зависимость от PCIe: CXL требует физической инфраструктуры PCIe, что может быть ограничением для некоторых архитектур.
  • Сложность реализации: Поддержка когерентности и управления памятью требует сложной логики как на стороне CPU, так и на стороне устройства.
  • Энергопотребление: Высокая пропускная способность может приводить к повышенному энергопотреблению.
  • Экосистема: На момент начала 2025 года поддержка CXL в массовом оборудовании и операционных системах всё ещё находится на стадии развития.

Перспективы развития

CXL рассматривается как ключевая технология для построения будущих гетерогенных вычислительных систем. Ожидается, что стандарт будет активно внедряться в серверных процессорах Intel (Xeon Scalable), AMD (EPYC) и ARM-архитектурах. В 2024–2025 годах ожидается появление первых коммерческих продуктов с поддержкой CXL 3.0, включая коммутаторы, модули памяти и ускорители. Развитие CXL также связано с технологиями CXL-attached memory и CXL-based memory pooling, которые могут существенно изменить архитектуру дата-центров, сделав память более гибкой и экономичной. В долгосрочной перспективе CXL может стать основой для построения «вычислительных фабрик» (computing fabrics), объединяющих тысячи процессоров и ускорителей в единую вычислительную среду.

Источники

  • CXL Consortium. «Compute Express Link (CXL) Specification, Revision 3.0». 2023.
  • Intel Corporation. «Compute Express Link: The New Standard for High-Speed Interconnects». 2022.
  • JEDEC Solid State Technology Association. «CXL Overview». 2023.
  • AMD. «CXL in AMD EPYC Processors». 2024.
  • Google Cloud. «CXL for Memory Pooling in Data Centers». 2023.
  • Статья «Compute Express Link» в Википедии (англ. язык).

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →