Консорциум CXL представил новый открытый стандарт — Compute Express Link (CXL). Он поможет организовать высокоскоростную связь между процессором и другими устройствами — GPU, FPGA и памятью. В основу CXL 1.0 лег интерфейс PCIe 5.0, спецификация которого ожидается в этом году. Поговорим о технических подробностях и аналогах решения.


/ Wikimedia / CINECA / CC BY

Зачем потребовался новый стандарт


Потребность в обработке и шифровании больших объемов данных, развитие систем ИИ и алгоритмов МО привели к росту популярности гетерогенных решений. В них процессоры общего назначения работают вместе с ускорителями — графическими процессорами, FPGA и микросхемами ASIC. Каждый компонент специализируется на выполнении конкретной задачи, что повышает производительность системы.

При обработке больших объемов данных (например, в дата-центрах), каналы для обмена информацией между гетерогенными компонентами порой становятся «бутылочным горлышком». Чтобы свести задержки к минимуму, консорциум CXL (в который входят облачные провайдеры и разработчики оборудования для ЦОД) представил стандарт Compute Express Link.

Что известно о стандарте


Он основан на интерфейсе PCI Express 5.0, предназначенном для подключения серверных компонентов. Это означает, что стандарт будет поддерживать пропускную способность между вычислительными элементами до 128 Гбайт/с на 16 линиях. При этом будет использоваться экономное кодирование 128b/130b, реализованное еще в PCI Express 3.0.

Схематически подключение можно изобразить следующим образом:


CXL имеет три метода интерфейса. Первый — режим ввода-вывода для передачи команд и обновления статусов устройств. Второй — протокол памяти для разделения RAM между хостом и ускорителем. Третий — интерфейс, который обеспечит когерентность памяти.

О чем мы пишем в корпоративном блоге:


Потенциал и недостатки


Шина PCIe 5.0 специально разработана для решения задач, которые требуют максимальной пропускной способности — работы с графическими процессорами, сетевыми технологиями, высоконагруженными системами. Поэтому разработчики CXL ожидают, что новый стандарт будет пользоваться спросом у институтов, занимающихся машинным обучением, и операторов дата-центров. Поскольку технология «заточена» под GPU, FPGA, ASIC и другие ускорители, в архитектуре пользовательских ПК она, скорее всего, применяться не будет.

В ИТ-сообществе есть мнение, что новый стандарт может не получить широкого распространения. Так как в отрасли и так достаточно аналогичных стандартов и спецификаций, например CCIX и GenZ (о них мы поговорим ниже). Широкой адаптации стандарта может помешать модель его распространения. Хотя Compute Express Link и является открытым стандартом, доступ к его полной спецификации имеют только члены консорциума. И пока непонятно, будут ли они конкурировать друг с другом на рынке после релиза.


/ Wikimedia / BiomedNMR / CC BY-SA

Похожие стандарты


Как мы упоминали выше, у CXL есть несколько аналогов, среди которых GenZ и CCIX.

Спецификация шины GenZ, которую называют «возможным преемником PCIe», вышла в феврале 2018. В ее разработке приняли участие около пятидесяти крупных ИТ-компаний. Цель создания стандарта не отличается от целей CXL — повысить скорость обмена данными между процессором, памятью и графическими картами.

Представители консорциума утверждают, что Gen-Z обходит ограничение связи точка-точка, которое присутствует в PCIe, и обращается к памяти напрямую. Спецификация уже готова и лежит в открытом доступе на сайте консорциума.

CCIX — еще один консорциум, в составе которого числятся именитые корпорации. Первая спецификация одноименного стандарта вышла летом 2018. Она основана на PCIe 4.0, что позволяет добиться пропускной способности в 25 Гбайт/с.

Концепцию архитектуры на базе первой спецификации CCIX уже реализовала компания Xilinx в своем чипе Versal на FPGA. В ближайшее время CCIX планируют внедрить и другие игроки рынка, некоторые из них уже представили тестовые реализации.

Будущее стандарта


Как минимум два консорциума уже опережают CXL по скорости разработки спецификаций. Однако есть шанс, что достоинства стандарта PCIe 5.0 помогут CXL опередить конкурентов и стать отраслевым стандартом для производителей процессоров и гетерогенных систем. Устройства на базе этой технологии помогут ускорить работу с данными в ЦОД и облаке, найдут применение в области разработки систем ИИ и HPC-решений.

Что еще почитать в нашем блоге на Хабре:

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


  1. torgeek
    16.03.2019 17:37

    Странно, по поводу интеловского CXL уже вторая заметка на Хабре.
    А про полностью открытый и только что вошедший под крыло фонда Linux стандарт OmniXtend ни слова.
    А там главные застрельщики Western Digital и NVIDIA. Плюс нативно используется физический уровень Ethernet наравне с PCIe. И так как OmniXtend планируется широко использовать в проектах реализации RISC-V процессоров, то перспективы для тех кому выбирать достойный протокол широкие :)


    1. qw1
      17.03.2019 10:46

      Intel же поставит в процессорах и чипсетах свою шину. NVidia невыгодно будет поддерживать два стандарта в PCIe-картах. Либо разные картые, отдельно для Intel, отдельно для RISC-процессоров (что дороже в проектировании и поддержке), либо от своего стандарта откажутся.


      1. torgeek
        17.03.2019 12:34

        Хороший довод.
        Если продолжить, то надо учесть, что внутри своих процессоров NVIDIA уже использует RISC-V архитектуру. И при наличии выбора под кого подстраиваться, я уверен, через 2-3 года будет существенно больший выбор между x86/AArch64/RISC-V.
        Евросоюз, Индия и Китай сделали однозначную ставку на RISC-V. Так что выбор не однозначен :)


        1. qw1
          17.03.2019 15:37
          +1

          Что значит «уже использует»? Есть какие-то конкретные продукты, которые вышли на рынок?


          1. torgeek
            17.03.2019 15:59

            Это значит NVIDIA «использует в проектах своих новых управляющих ядрер в GPU» на новой системе команд. С 2005 года использовали при проектировании собственную RISC архитектуру Falcon. C 2017 года перешли на открытый RISC-V, который реализуют под рабочим названием NV-RISCV.
            Срок от начала проектирования до открытой продажи готовых чипов примерно 3 года. Вот и считайте.


            1. a5b
              18.03.2019 05:29

              У Nvidia есть решения на ARM, как на лицензированных ядрах, так и на собственных — https://en.wikipedia.org/wiki/Tegra https://en.wikichip.org/wiki/nvidia и они уже часто используются в автомобилях.
              Если посмотреть внутрь новейшего https://en.wikipedia.org/wiki/Tegra#Xavier — ни один из крупных блоков не использует RISC-V — https://en.wikichip.org/wiki/nvidia/tegra/xavier (cpu — 10wide superscalar, armv8; gpu — cc7 set, dissecting; PVA — 7slot vliw; DLA — nvdla; Optical Flow Engine)


              Falcon который они собирались заменять на RISC-V — это служебный микроконтроллер (управляющее, вспомогательное ядро) — размером менее 0.1мм2; само ядро 0.05-0.06 мм2 и еще кэши; "Falcon is NVIDIA proprietary control processor"; их пучок в каждом gpu — "Avg. #Falcons / GPU 10"; на 11 слайде есть схема TX2 где видны некоторые служебные ядра). В планах даже указывали, что будут встраивать в gpu сразу и старый falcon и новый nv-riscv, для упрощения миграции управляющего кода.


              С недавним объявлением о приобретении появляется доступ еще к такому продукту: mellanox bluefield "BlueField SoC combines up to 16 ARMv8 A72" + "integrates the Mellanox ConnectX-5 network controller" + "PCIe switch… up to 32 lanes of PCIe Gen 3.0/4.0" (16 ports… Root Complex or Endpoint) + DDR4. К нему можно добавить nvme диски и получить сервер хранения данных, или несколько GPU и получить узел машинного обучения или суперкомпьютера. В форм-факторе ATX материнской платы такое решение не требует каких-либо Xeon, zen/epyc или POWER.
              Для ARM софта, как мне кажется, чуть больше, чем для RISC-V (дебиан недопортирован — fosdem19 — Porting Debian to the RISC-V architecture, слайд 28 = 87% против 93-98% для arm).
              Лицензии на высокопроизводительные ядра (и разработка своих Denver/Carmel) уже оплачены, продукты уже отлажены. Высокопроизводительных ядер для RISC-V не видно. (Зато у ARM есть заказчики, которые хотят в top500 — Fuji A64FX + Post-K.)
              Больше вероятность увидеть продукты новой Nvidia с ARM. (… NVIDIA could be making its own Arm server CPUs which it already has some experience in with… NVIDIA already has some IP to do this… BlueField is not just a potential HPC/ deep learning training NVMeoF storage building block… "if NVIDIA took this model, and made the Arm SoC plus high-speed I/O a part of its future GPUs, we could be seeing a new generation of fabric attached GPUs without servers. Imagine a datacenter full of NVMeoF and GPUoF.")


              PS: OmniXtend это сериализация TileLink в пакеты Ethernet, удобно для разработки и отладки всяких devboard-ов и подключения к fpga (например, "SiFive FU540 includes a simple parallel synchronous bus to connect to an expansion FPGA", он же ChipLink). Сам TileLink — замена внутри-SoC шин типа AHB, AXI, Wishbone, в т.ч. для подключения всяческой периферии типа SPI I2C GPIO PWM UART блоков.


              1. torgeek
                18.03.2019 10:28

                всё по полочкам. спасибо!


              1. torgeek
                18.03.2019 10:43

                За MIPS в этом свете что-нибудь скажете?

                Потому как вспоминать российский Эльбрус с Ангарой наверное ещё рано, а Байкал-Т1 со встроенным 10G красив.


          1. torgeek
            17.03.2019 16:24

            если гадать по этому направлению дальше, то рассуждения такие:
            — внутри GPU спроектирован и готов к выпуску собственный управляющий контролер кешей и памяти и бонусом нативная поддержка RISC-V
            — ядро Линукс, а также текущие сборки Debian, RedHat и даже российского Alt Linux уже портированы на RISC-V
            — софта под RISC-V за следующие 2-3 года понапишут и отладят во всём мире тоннами
            — NVIDIA будет вполне готова собирать вычислительные системы без x86 вычислителей.
            Дальше продолжать?))

            вот отличная цель для продажников NVIDIA: top100 HPC
            считайте сколько там Intel (Xeon + Omni-Path)
            и NVIDIA (NVIDIA + Mellanox)

            и не забываем, что вместо проприетарного PCIe в планах RISC-V стоит цель задействовать для интерконнекта напрямую из процессора физику Ethernet.


            1. qw1
              17.03.2019 16:58
              +1

              Всё это очень непонятно. Если NVidia собирает суперкомпьютеры без x86, то как к этому относится NVidia GPU (особенно с шиной PCIe)?

              Если говорить о том, что NVidia GPU будет иметь RISC-V процессор как ядро логики, то непонятно зачем тащить в этот процессор шину CXL, что будет периферией для этого процессора? Скорее всего, речь о ядре RISC-V (без CXL).


              1. torgeek
                17.03.2019 17:24

                Cейчас без x86 собирает, например, в дружбе с IBM на Power. А без GPU HPC не очень хороши. В ближайшие годы будет готова сделать полностью на своих решениях. Что про шину, то сейчас их всего две PCIe или NVLINK.

                CXL закономерно, что не потащат. Поэтому у CXL туманные перспективы. Особенно при его производительности в 30G/линию на PCIe 5.0. Почему не на PCIe 3.0 и прямо сейчас?

                Гораздо красивее решение на обычном 100G Ethernet коммутаторе внутри. И не надо ждать – стандарту уже почти 10 лет как.


            1. qw1
              17.03.2019 17:00
              +1

              и не забываем, что вместо проприетарного PCIe в планах RISC-V стоит цель задействовать для интерконнекта напрямую из процессора физику Ethernet.
              Интерконнекта между чем и чем? CPU-GPU?


              1. torgeek
                17.03.2019 17:26
                -1

                Именно так. Между CPU, GPU, кешами, памятью, SSD, сетью и так далее.

                То есть годится для соединения нескольких CPU на одной плате, например.


      1. DarkTiger
        17.03.2019 12:38

        Вот как раз NVidia (как мне кажется) с приобретением Mellanox на этот стандарт забьет сразу, как только впихнет на свой кристалл с GPU еще и хост-процессор, что видится теперь вполне логичным решением. И будут на серверных HPC материнках не три экосистемы (BMC никуда не уйдет в любом случае), а две.


      1. torgeek
        17.03.2019 12:47

        Добавлю сюда же, что NVIDIA только что купила компанию Mellanox. А значит де факто напрямую конкурирует теперь уже собственным интерконнектом (InfaniBand) против интеловского Omni-Path.


  1. maxzhurkin
    16.03.2019 18:48

    Он основан на интерфейсе PCI Express 5.0, предназначенном для подключения серверных компонентов
    звучит примерно так же, как на заре USB звучало бы «USB, предназначенный для подключения клавиатур и мышей»