La muerte del protocolo CXL es un hecho
Hace unos días, Dylan Pattel publico en su blog profesional SemiAnalysis, su atrevido análisis de la situación del llamado Compute Express Link. ¿Su conclusión? Pues la podemos encontrar en el título de su artículo, parcialmente disponible al público, el CXL está muerto en la era de la inteligencia artificial. Pero, ¿qué es esta tecnología y por qué nunca la hemos visto en PC?
Índice de contenidos
Tabla de contenidos
¿Qué es CXL y para qué sirve?
Bajo el nombre de Compute Express Link se encuentra una extensión del PCI Express, disponible desde la versión 5.0, que permite coherencia de memoria entre los diferentes pozos que se encuentran conectados al bus PCI Express.
Para que lo entendáis mejor, la memoria de vuestra tarjeta gráfica y la que se encuentra en la placa base, no solo se encuentran en posiciones distintas, sino que tienen direccionamientos distintos. Es decir, es como si en medio de un país, en vez de tener un servicio de correos unificado, cada pueblo tuviese su propio sistema de direcciones. Pues bien, la coherencia de memoria consiste en tener una única empresa de correos y que los programas, pese a la separación física, puedan ver toda la memoria de golpe.
El CXL se diseñó como respuesta al NVLink, la cual es la interfaz entre tarjetas gráficas en servidores de NVIDIA. Y esto es importante por el hecho que ata a los que compran un sistema de la marca a solo poder actualizar con ellos en el futuro, siendo una de las cosas que cementa el monopolio de los de Jensen Huang en computación de alto rendimiento e IA.
¿Por qué no tenemos esta tecnología en PC?
Por otro lado, de existir CXL para sistemas domésticos, simple y llanamente NVIDIA no le daría soporte, teniendo el 80% del mercado, nadie lo usaría y la tecnología caería en desuso por completo. Además de que en PC no se suelen ver configuraciones multiGPU, otra cosa es en las estaciones de trabajo, pero es que el monopolio natural de NVIDIA es demasiado grande.
Si bien no veremos NVLink en estaciones de trabajo basadas en PC para CPU de Intel y AMD, tampoco veríamos soporte para CXL por parte de NVIDIA. Por lo que la situación es bastante fácil de entender. Es más, fuera de los centros de datos, y en contadas excepciones, no existe hardware que soporte el Compute Express Link.
Más RAM para tu PC de la que soporta tu placa base
Una de las ventajas de la tecnologia CXL es que permite ampliar la cantidad de memoria RAM que tiene el sistema más allá de lo que soportan los zócalos en placa. ¿Cómo? Pues a través de tarjetas PCI Express con soporte para Compute Express Link que permiten añadir más memoria al total.
El problema es que dicha memoria tiene una latencia de acceso mucho más alta, por lo que se trataría de otro pozo en la jerarquía de memoria. Es decir, una especie de memoria de respaldo en la que las aplicaciones que no están en primer plano pueden dejar parte de sus datos o las que están activas volcar la información temporalmente.
La ventaja de esto, es que no requiere volcar los datos a un SSD, es mucho más rápido recuperarlos, y no desgasta las celdas de las memorias NAND Flash. La desventaja es que es RAM y ante un apagón o un cierre de mantenimiento sí que requiere volcar a la unidad de estado sólido para poder recuperarse en el punto exacto donde se encontraba.
Pero, ¿realmente está el CXL muerto?
Lo que afirma Pattel en su artículo es que nadie ha adoptado el CXL por el hecho de tener peor ancho de banda que otras soluciones disponibles en el mercado de la computación de alto rendimiento.
La razón principal de esta elección es el ancho de banda. Una interfaz PCIe de 16 carriles tiene 64 GB/s de ancho de banda en cada dirección. El NVLink de NVIDIA proporciona 450 GB/s de ancho de banda en cada dirección hacia otras GPU, aproximadamente 7 veces más alto. C2C de Nvidia también proporciona 450 GB/s de ancho de banda en cada dirección con la CPU Grace.
Para ser justos, NVIDIA dedica mucho más espacio a NVLink, por lo que necesitamos incluir el área de silicio en esa ecuación; pero, aun así, estimamos que por mm² en una amplia variedad de SoC, los SerDes estilo Ethernet como Nvidia NVLink, Google ICI, etc., tienen 3 veces más ancho de banda por unidad de área de línea costera. (se refiere a las interfaces en el perímetro del chip).
Por lo tanto, si eres un diseñador de chips en un mundo con restricciones de ancho de banda, estás empeorando tu chip aproximadamente 3 veces cuando eliges ir con PCIe 5.0 en lugar de SerDes estilo Ethernet de 112G. Esta brecha permanece con las GPU de próxima generación y los aceleradores de IA que adoptan SerDes de 224G, manteniendo esta brecha de 3 veces con PCIe 6.0 / CXL 3.0. Estamos en un mundo limitado por los pines de, y desechar la eficiencia de E/S es un intercambio insensato.
En conclusión, se trata de una interfaz de comunicación, que en computación de alto rendimiento se ha quedado desfasado en cuanto a ancho de banda respecto a otras soluciones. Por lo que es de esperar que el soporte a CXL desaparezca con el tiempo.