Каталог
ZV
ездный б-р, 19
+7 (495) 974-3333 +7 (495) 974-3333 Выбрать город: Москва
Подождите...
Получить токен
Соединиться
X
Сюда
Туда
x
Не выбрано товаров для сравнения
x
Корзина пуста
Итого: 
Оформить заказ
Сохранить заказ
Открыть корзину
Калькуляция
Очистить корзину
x
Главная
Магазины
Каталог
Мои заказы
Корзина
Магазины Доставка по РФ
Город
Область
Ваш город - ?
От выбранного города зависят цены, наличие товара и
способы доставки

Вторник, 31 октября 2023 09:45

Интерфейс Compute Express Link, или CXL

короткая ссылка на новость:
Одна из самых горячих тем серверного сегмента, которая стала особенно актуальной в 2022 году, – интерфейс Compute Express Link, или CXL. Мы узнали о CXL в 2019 году, когда он был впервые анонсирован. В основу проекта легли усилия Intel, направленные на расширение отраслевого консорциума, условия для реализации которых сложились в 2022 году, когда мы вступили в эру PCIe Gen5. Тем не менее, многие еще не в курсе, что такое CXL, и мы попробуем объяснить это.

Что такое CXL?

Compute Express Link – это кэш-когерентный интерфейс, позволяющий повысить эффективность работы вычислительных систем, особенно с ускорителями. CXL занимает верхний уровень в инфраструктуре PCIe Gen5. К системе могут быть подключены устройства PCIe Gen5, но многие устройства PCIe Gen5 (или PCIe 5.0) поддерживают опциональное использование линий интерфейса в режиме PCIe или CXL. В некоторых аспектах это аналогично использованию процессорами AMD EPYC своих линий I/O как соединений PCIe или Infinity Fabric. Только теперь подобное решение предлагается не в рамках экосистемы конкретного производителя, а как общий отраслевой стандарт. Ключевое преимущество CXL – в том, что он позволяет объединять и распределять оперативную память между несколькими различными подключенными устройствами, о которых речь пойдет ниже.

2

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

Почему CXL не использовали во времена PCIe Gen3/ Gen4?

Дожидаться эры PCIe 5.0, чтобы начать широко внедрять CXL, пришлось по ряду причин. Во-первых, нужно учесть сроки выпуска аппаратного обеспечения самого CXL, который был анонсирован в 2019 году, что подразумевало появление первого поколения чипов с поддержкой CXL не ранее конца 2021 – начала 2022 года.

Однако ключевым катализатором внедрения CXL стало быстрое распространение PCIe Gen5. Переход отрасли с PCIe Gen3 на Gen4 занял около семи лет. Процесс перехода с Gen4 на Gen5 продолжается уже примерно три года. Переход на Gen5 означает двукратное увеличение пропускной способности интерфейса по сравнению с PCIe Gen4. Поскольку иерархический уровень CXL лежит выше уровня PCIe Gen5, мы обычно имеем контроллер с интерфейсом 32 GT/s x16, но CXL также поддерживает бифуркацию (разделение) линий по восемь и по четыре (x8 и x4). Также поддерживаются опции выделения одной и двух линий (x1 и x2) в режиме под названием “Degraded”. Важно иметь в виду, что пропускной способности интерфейса PCIe Gen5 x4 достаточно для поддержания скорости соединения 100 GbE, то есть на уровне пропускной способности PCIe Gen3 x16 – опции интерфейса, которая использовалась в топовых предложениях Intel еще в первом квартале 2021 года.

3

Такое увеличение пропускной способности PCIe означает возможность поддержки принципиально новых сценариев, в частности – удаленной работы с памятью посредством команд load/ store (извлечение данных из памяти/ запись в память), для которых предыдущие поколения PCIe не обладали достаточной скоростью.

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

4

Три протокола Compute Express Link

CXL использует три основных протокола.

  • Протокол CXL.io используется для инициализации, установки соединения, распознавания и создания списка устройств и регистрового доступа. Он обеспечивает некогерентный интерфейс load/ store для устройств I/O и аналогичен PCIe Gen5. Также обязательным требованием является поддержка CXL.io со стороны устройств CXL.
  • Протокол CXL.cache определяет взаимодействие между хостом (обычно центральным процессором) и устройством (таким как модуль памяти CXL или ускоритель). Он позволяет подключенным CXL-устройствам кэшировать (с низкой задержкой) память хоста, аналогично тому, как видеокарта может использовать системную память при нехватке графической.
  • Протокол CXL.memory/ CXL.mem обеспечивает хост-процессору прямой доступ к памяти подключенных устройств с использованием команд load/ store, аналогично тому, как процессор использует выделенную память накопителя или память видеокарты/ускорителя.

Поддержка протокола CXL.io для подключаемого устройства является обязательной, но отсюда следует, что вообще возможны три комбинации поддерживаемых протоколов CXL, где в дополнение к CXL.io идет CXL.cache и/или CXL.mem. Таким образом, устройства CXL бывают трех типов: Type 1 (CXL.io + CXL.cache), Type 2 (все три протокола) и Type 3 (CXL.io + CXL.mem).

5

Устройство Type 1 можно представить как ускоритель типа сетевой карты, имеющий прямой доступ к памяти хоста. Type 2 – это ускоритель типа графического со своей памятью, при этом GPU имеет доступ к хост-памяти, а хост-процессор – к памяти GPU. Устройство Type 3 можно представить как специальный модуль памяти, основное назначение которого – предоставлять пространство CXL-памяти хост-процессору.

CXL 1.1 vs. 2.0

Большинство устройств, выпущенных в начале 2022 года, используют версию CXL 1.1. Они работают в системных топологиях под управлением хост-процессора, где CXL используется внутри системы. Версия CXL 2.0 предлагает действительно интересные сценарии. В CXL 2.0 мы получаем опцию CXL-коммутирования. Возможность CXL-коммутирования и создания пулов памяти позволяет нескольким хостам и устройствам подключаться коммутатору, после чего устройства могут «привязываться», целиком или в виде виртуальных логических блоков, к разным хостам. CXL 2.0 открывает принципиально новые сценарии развертывания серверов.

6

Помимо коммутирования и создания пулов памяти, CXL 2.0 предлагает дополнительные уровни безопасности протоколов.

7

Версии CXL 1.0/ 1.1 положили начало использованию новой технологии, в то время как CXL 2.0 радикально меняет ландшафт CXL, делая возможным появление новых серверных архитектур и вариантов развертывания. CXL 1.1 можно считать необходимым минимумом для сценариев с использованием ускорителей и GPU. CXL 2.0, при соответствующем усовершенствовании программного обеспечения, действительно может революционизировать серверный сегмент.

Источник: www.servethehome.com

подписаться   |   обсудить в ВК   |