El consorcio Compute eXpress Link (CXL) presentó hoy la especificación CXL 3.0, que trae nuevas características como compatibilidad con la interfaz PCIe 6.0, agrupación de memoria y capacidades de estructura y conmutación más complejas. En general, la nueva especificación admitirá hasta el doble del ancho de banda de las revisiones recientes sin agregar ninguna latencia, todo mientras mantiene la compatibilidad con versiones anteriores de la especificación. La nueva especificación llega cuando OpenCAPI, la última competencia abierta significativa en las guerras de interconexión de CPU, anunció ayer que contribuiría con su especificación al Consorcio CXL, dejando a CXL como el camino claro a seguir para la industria.
Como recordatorio, la especificación CXL es un estándar abierto de la industria que proporciona una interconexión coherente de caché entre CPU y aceleradores, como GPU, dispositivos de E/S inteligentes, como DPU y varios tipos de DDR4/DDR5 y memorias persistentes. La interconexión permite que la CPU funcione en las mismas regiones de memoria que los dispositivos conectados, lo que mejora el rendimiento y la eficiencia energética al tiempo que reduce la complejidad del software y el movimiento de datos.
Todos los principales fabricantes de chips han adoptado la especificación, con las próximas CPU Genoa de AMD y Sapphire Rapids de Intel que admiten la revisión 1.1 (advertencias para este último). También se han unido Nvidia, Arm y una gran cantidad de fabricantes de memoria, hiperescaladores y OEM.
La nueva especificación CXL 3.0 sale a la luz cuando la industria finalmente se ha unificado por completo detrás del estándar. Ayer, el Consorcio OpenCAPI anunció que transferirá su especificación OpenCAPI coherente con la caché de la competencia para aceleradores y su especificación Interfaz de memoria abierta (OMI) cercana a la memoria conectada en serie al Consorcio CXL. Eso pone fin a la última competencia significativa para el estándar CXL después de que el Consorcio Gen-Z también fuera absorbido por CXL a principios de este año. Además, el estándar CCIX parece haber desaparecido después de que varios de sus socios dudaran y eligieran implementar CXL en su lugar.
CXL 2.0 actualmente se monta en el bus PCIe 5.0, pero CXL 3.0 lo lleva a PCIe 6.0 para duplicar el rendimiento a 64 GT/s (hasta 256 GB/s de rendimiento para una conexión x16), pero con una latencia añadida nula. CXL 3.0 utiliza un nuevo formato flit de 256 bytes con latencia optimizada para reducir la latencia entre 2 y 5 ns, manteniendo así la misma latencia que antes.
Otras mejoras notables incluyen la compatibilidad con la conmutación multinivel para permitir topologías similares a redes entre dispositivos conectados, uso compartido de memoria y acceso directo a la memoria (DMA) para la comunicación punto a punto entre aceleradores conectados, eliminando así la sobrecarga de la CPU en algunos casos de uso. .
La especificación CXL 2.0 admitía la agrupación de memoria para asignar y desasignar dinámicamente regiones de memoria a diferentes hosts, lo que permitía subdividir un solo dispositivo de almacenamiento en varios segmentos, pero cada región solo podía asignarse a un host. CXL 3.0 agrega memoria compartida, lo que permite compartir regiones de datos entre múltiples hosts a través de la coherencia de hardware. Esto funciona colocando datos en la caché del host con la coherencia de la caché de hardware agregada para garantizar que cada host vea la información más actualizada.
La especificación CXL divide los dispositivos en diferentes clases: los dispositivos de tipo 1 son aceleradores que carecen de memoria local, los dispositivos de tipo 2 son aceleradores con su propia memoria (como GPU, FPGA y ASIC con DDR o HBM) y los dispositivos de tipo 3 consisten en dispositivos de memoria. . Además, CXL ahora admite la combinación y combinación de estos tipos de dispositivos en un solo puerto raíz de host, lo que amplía enormemente la cantidad de opciones para topologías complejas como las que se describen a continuación.
La especificación actualizada también admite mensajes directos de igual a igual (P2P) entre dispositivos conectados para eliminar la CPU del host de la ruta de comunicación, lo que reduce la sobrecarga y la latencia. Este tipo de conexión permite un nuevo nivel de flexibilidad para la comunicación de acelerador a memoria y de acelerador a acelerador.
La especificación CXL ahora permite la conexión en cascada de varios conmutadores dentro de una sola topología, lo que amplía la cantidad de dispositivos conectados y la complejidad de la estructura para incluir topologías que no sean de árbol, como arquitecturas basadas en Spine/Leaf, malla y anillo.
Una nueva función de enrutamiento basado en puertos (PBR) proporciona un mecanismo de direccionamiento escalable que admite hasta 4096 nodos. Cada nodo puede ser cualquiera de los tres tipos de dispositivos existentes o el nuevo dispositivo Global Fabric Attached Memory (GFAM). El dispositivo GFAM es un dispositivo de memoria que puede usar el mecanismo PBR para permitir el uso compartido de memoria entre hosts. Este dispositivo admite el uso de diferentes tipos de memoria, como memoria persistente y DRAM, juntas en un solo dispositivo.
La nueva especificación CXL amplía drásticamente los casos de uso de la interconexión para abarcar grandes sistemas desagregados a escala de rack (y quizás más allá). Naturalmente, este tipo de características plantean la pregunta de si esto sería factible para fines más centrados en el almacenamiento, como conectarse a un dispositivo de almacenamiento all-flash, por ejemplo, y se nos dice que la especificación ha comenzado a generar cierto interés para aquellos tipos de usos también.
El consorcio también nos dice que ve un gran interés por parte de sus miembros en el uso de grupos de memoria DDR4 para eludir el costo de DDR5 en los servidores de próxima generación. De esta manera, los hiperescaladores pueden usar la memoria DDR4 que ya tienen (y que de lo contrario descartarían) para crear grandes grupos de memoria flexibles combinados con chips de servidor DDR5 que no pueden acomodar la memoria DDR4 más económica. Ese tipo de flexibilidad destaca solo una de las muchas ventajas de la especificación CXL 3.0, que se lanzará al público hoy.