Año de creación | 2019 ( 2019 ) |
---|---|
Creado por | Intel |
Número de dispositivos | 4096 |
Velocidad | Dúplex completo 1.x , 2.0 (32 GT/s ):
3.x (64 GT/s ):
|
Estilo | De serie |
Sitio web | www.computeexpresslink.org |
Compute Express Link ( CXL ) es una interconexión de estándar abierto para conexiones de alta velocidad y alta capacidad de unidad central de procesamiento (CPU) a dispositivo y de CPU a memoria, diseñada para computadoras de centros de datos de alto rendimiento. [1] [2] [3] [4] CXL está construido sobre la interfaz física y eléctrica PCI Express (PCIe) en serie e incluye un protocolo de entrada/salida de bloque basado en PCIe (CXL.io) y nuevos protocolos coherentes con la memoria caché para acceder a la memoria del sistema (CXL.cache) y a la memoria del dispositivo (CXL.mem). Las capacidades de comunicación y agrupación en serie permiten que la memoria CXL supere las limitaciones de rendimiento y empaquetado de zócalos de la memoria DIMM común al implementar altas capacidades de almacenamiento. [5] [6]
La tecnología CXL fue desarrollada principalmente por Intel . El Consorcio CXL fue formado en marzo de 2019 por los miembros fundadores Alibaba Group , Cisco Systems , Dell EMC , Meta , Google , Hewlett Packard Enterprise (HPE), Huawei , Intel Corporation y Microsoft , [7] [8] y se incorporó oficialmente en septiembre de 2019. [9] A partir de enero de 2022, AMD , Nvidia , Samsung Electronics y Xilinx se unieron a los fundadores en la junta directiva, mientras que ARM , Broadcom , Ericsson , IBM , Keysight , Kioxia , Marvell Technology , Mellanox , Microchip Technology , Micron , Oracle Corporation , Qualcomm , Rambus , Renesas , Seagate , SK Hynix , Synopsys y Western Digital , entre otros, fueron miembros contribuyentes. [10] [11] Los socios de la industria incluyen PCI-SIG , [12] Gen-Z , [13] SNIA , [14] y DMTF . [15]
El 2 de abril de 2020, los consorcios Compute Express Link y Gen-Z anunciaron planes para implementar la interoperabilidad entre las dos tecnologías, [16] [17] y los resultados iniciales se presentaron en enero de 2021. [18] El 10 de noviembre de 2021, las especificaciones y los activos de Gen-Z se transfirieron a CXL para centrarse en el desarrollo de un único estándar industrial. [19] En el momento de este anuncio, el 70 % de los miembros de Gen-Z ya se habían unido al consorcio CXL. [20]
El 1 de agosto de 2022, las especificaciones y los activos de OpenCAPI se transfirieron al Consorcio CXL, [21] [22] que ahora incluye empresas detrás de tecnologías de interconexión coherente de memoria como los estándares abiertos OpenCAPI (IBM), Gen-Z (HPE) y CCIX (Xilinx), y los protocolos propietarios InfiniBand / RoCE (Mellanox), Infinity Fabric (AMD), Omni-Path y QuickPath / Ultra Path (Intel) y NVLink / NVSwitch (Nvidia). [23]
El 11 de marzo de 2019 se publicó la especificación CXL 1.0 basada en PCIe 5.0. [8] Permite que la CPU del host acceda a la memoria compartida en dispositivos aceleradores con un protocolo coherente de caché. La especificación CXL 1.1 se publicó en junio de 2019.
El 10 de noviembre de 2020, se publicó la especificación CXL 2.0. La nueva versión agrega compatibilidad con la conmutación CXL, para permitir la conexión de múltiples dispositivos CXL 1.x y 2.0 a un procesador host CXL 2.0, y/o la agrupación de cada dispositivo en múltiples procesadores host, en configuraciones de memoria compartida distribuida y almacenamiento desagregado ; también implementa la integridad del dispositivo y el cifrado de datos. [24] No hay un aumento del ancho de banda con respecto a CXL 1.x, porque CXL 2.0 todavía utiliza PCIe 5.0 PHY.
El 2 de agosto de 2022 se publicó la Especificación CXL 3.0, basada en la interfaz física PCIe 6.0 y codificación PAM-4 con el doble de ancho de banda; las nuevas características incluyen capacidades de estructura con conmutación multinivel y múltiples tipos de dispositivos por puerto, y coherencia mejorada con DMA peer-to-peer y uso compartido de memoria. [25] [26]
El 14 de noviembre de 2023, se publicó la especificación CXL 3.1.
El 2 de abril de 2019, Intel anunció su familia de FPGAs Agilex con CXL. [27]
El 11 de mayo de 2021, Samsung anunció un módulo de expansión de memoria basado en DDR5 de 128 GB que permite una expansión de memoria a nivel de terabyte junto con un alto rendimiento para su uso en centros de datos y, potencialmente, en PC de próxima generación. [28] El 10 de mayo de 2022 se lanzó una versión actualizada de 512 GB basada en un controlador de memoria propietario. [29]
En 2021, se anunció la compatibilidad con CXL 1.1 para los procesadores Intel Sapphire Rapids [30] y los procesadores AMD Zen 4 EPYC "Genoa" y "Bergamo". [31]
Los dispositivos CXL fueron mostrados en la Conferencia de Supercomputación ACM/IEEE (SC21) por proveedores como Intel, [32] Astera, Rambus, Synopsys, Samsung y Teledyne LeCroy . [33] [34] [35]
La capa de transacción CXL se compone de tres subprotocolos multiplexados dinámicamente (cambian según la demanda) en un solo enlace: [36] [37] [24]
Los protocolos CXL.cache y CXL.mem operan con una capa de enlace/transacción común, que está separada de la capa de enlace y transacción del protocolo CXL.io. Estos protocolos/capas se multiplexan entre sí mediante un bloque de arbitraje y multiplexación (ARB/MUX) antes de ser transportados a través de la capa física PCIe 5.0 estándar utilizando un bloque de unidad de control de flujo (FLIT) de 528 bits (66 bytes) de ancho fijo que consta de cuatro "ranuras" de datos de 16 bytes y un valor de verificación de redundancia cíclica (CRC) de dos bytes. [37] Los FLIT de CXL encapsulan los datos del paquete de capa de transacción (TLP) estándar de PCIe y del paquete de capa de enlace de datos (DLLP) con un formato de tamaño de trama variable. [39] [40]
CXL 3.0 introduce FLIT de 256 bytes en el modo de transferencia PAM-4.
CXL está diseñado para admitir tres tipos de dispositivos principales: [24]
Los dispositivos de tipo 2 implementan dos modos de coherencia de memoria, administrados por el controlador del dispositivo. En el modo de sesgo de dispositivo, el dispositivo accede directamente a la memoria local y la CPU no realiza ningún almacenamiento en caché; en el modo de sesgo de host, el controlador de caché de la CPU host maneja todo el acceso a la memoria del dispositivo. El modo de coherencia se puede configurar individualmente para cada página de 4 KB, almacenada en una tabla de traducción en la memoria local de los dispositivos de tipo 2. A diferencia de otros protocolos de coherencia de memoria de CPU a CPU, esta disposición solo requiere que el controlador de memoria de la CPU host implemente el agente de caché; este enfoque asimétrico reduce la complejidad de la implementación y reduce la latencia. [37]
CXL 2.0 agregó soporte para conmutación en estructuras de dispositivos basadas en árboles, lo que permite que los dispositivos PCIe, CXL 1.1 y CXL 2.0 formen jerarquías virtuales de dispositivos de lógica única y múltiple que pueden ser administrados por múltiples hosts. [41]
CXL 3.0 reemplazó los modos de polarización con semántica de coherencia mejorada, lo que permite que los dispositivos de Tipo 2 y Tipo 3 invaliden los datos en la memoria caché del host cuando el dispositivo ha realizado un cambio en la memoria local. La coherencia mejorada también ayuda a implementar transferencias entre pares dentro de una jerarquía virtual de dispositivos en el mismo dominio de coherencia. También admite el uso compartido de memoria del mismo segmento de memoria entre múltiples dispositivos, a diferencia de la agrupación de memoria donde a cada dispositivo se le asignaba un segmento separado. [42]
CXL 3.0 permite múltiples dispositivos de Tipo 1 y Tipo 2 por cada puerto raíz CXL; también agrega conmutación de múltiples niveles, lo que ayuda a implementar estructuras de dispositivos con topologías que no son de árbol, como malla, anillo o spline/hoja. Cada nodo puede ser un host o un dispositivo de cualquier tipo. Los dispositivos de Tipo 3 pueden implementar el modo Global Fabric Attached Memory (GFAM), que conecta un dispositivo de memoria a un nodo de conmutación sin requerir una conexión directa al host. Los dispositivos y hosts utilizan un mecanismo de direccionamiento de enrutamiento basado en puertos (PBR) que admite hasta 4096 nodos. [42]
En mayo de 2022 estuvieron disponibles los primeros dispositivos de 512 GB con 4 veces más almacenamiento que los dispositivos anteriores. [43]
Los controladores de memoria CXL generalmente agregan alrededor de 200 ns de latencia. [44]