Aunque no lo veamos, las interconexiones del futuro están siendo debatidas y analizadas en la actualidad. La inteligencia artificial y los grandes centros de datos buscan una característica clave que definirá el futuro del sector y de las comunicaciones, así como los centros de datos: coherencia. Y aquí hay dos grandes contrincantes: CXL y CCIX, y aunque compiten entre ellos da la casualidad de que AMD tiene un pie en cada uno de ellos, pero Intel solo apoya y desarrolla el primero, ¿cuál es mejor y quién ganará?
Aunque ya los vimos por separado, la industria se debate entre apoyar a uno o al otro. No en vano muchas empresas han escogido el camino de AMD y apoyan ambos al mismo tiempo, pero, aunque son complementarios, al final, el sector quiere trabajar con uno porque como siempre pasa, hay tendencias a seguir.
El sector está en ese punto donde todos se miran para ver que hace el contrario y rival, así que es un buen momento para entender hacia donde pueden ir y sobre todo, saber quién va a ganar la batalla.
¿Es CXL vs CCIX una nueva etapa de la guerra entre Intel y AMD?
No exactamente. Intel apoya únicamente a CXL puesto que fue el principal desarrollador e impulsor, donde ahora AMD ha visto sus bondades y se ha unido al consorcio para tener acceso a la tecnología y a las decisiones que se tomen con ella.
Este impulso con CXL donde están las principales compañías del mundo no va a generar una batalla entre ellos, sino que más bien los de Lisa Su van a estar neutrales dejando elegir a las empresas sus sistemas de coherencia y decantándose por el ganador. Intel en cambio tiene que liderar y eso es una ventaja y un inconveniente.
El primer problema es básicamente que CXL es un protocolo de conexión para CPU, mientras que CCIX es un sistema mucho más abierto. Si tenemos en cuenta que más del 80% de los servidores mundiales integra CPUs Xeon, entenderemos rápidamente las virtudes de trabajar con CXL, ya que la coherencia recae sobre el procesador, siendo los chips o componentes restantes conectados con CXL algo complementario y esclavo.
Esto permite una coherencia bidireccional entre los esclavos y la CPU, donde por poner un símil, el procesador es el director de orquesta que da coherencia al resto de la banda. CCIX no funciona así, siendo más complejo desde la lógica digital, ya que es completamente simétrico en cuanto a la coherencia entre dispositivos.
Podemos tener varios sockets conectados entre sí con CCIX, ya que el protocolo no distingue ni discrimina, ya que su coherencia es simétrica, lo cual entraña un problema de base. Si un acelerador del tipo que sea falla en la coherencia, el sistema entero puede reproducir el fallo y terminar por caer, mientras que con la coherencia asimétrica de CXL esto no pasaría, puesto que se puede aislar el fallo.
El enfoque es distinto, aunque se basen en los mismos principios
Tanto CXL como CCIX usan PCIe para interconectar dispositivos, ambos buscan la coherencia entre ellos y con la memoria caché, pero la forma de hacerlo no es evidentemente la misma ni el enfoque para lograrlo.
Intel creó un bus específico de interconexión llamado Flex Bus, el cual usa PCIe para interconectar los aceleradores, y lo hace de una manera y a una velocidad muy específicas, que, aunque no han sido reveladas como tal, sí sabemos que reduce la latencia presente en el propio puerto y además logra una velocidad de hasta 32 GT/s.
CCIX no dispone de esas mejoras de latencia y además en su última revisión consigue 25 GT/s. El problema es lógicamente cómo está pensado cada sistema. Con CXL siempre tienes que recurrir a la CPU para llegar a la memoria caché a cada paso que se quiera implementar en cuanto a coherencia, mientras que CCIX va avanzando en su recorrido entre los aceleradores para finalmente llegar a la CPU y tratarla como uno más, no dándole prioridad.
Es decir, compartir la coherencia sin que nadie esté por encima de nadie en un sistema abierto tiene la ventaja de ser muy paralelizable, pero en cuanto a latencia es muy poco óptimo por la propia jerarquía.
El apoyo de Intel está marcando la diferencia
Si tienes a un gigante como Intel detrás de este tipo de sistemas, tienes sus CPUs en tus servidores y encima de ofrecer soporte, apoyo y una serie de productos complementarios como los Agilex, el resultado que se está obteniendo es que el ecosistema CXL está desplegado ya en los principales gigantes tecnológicos del sector como Amazon o Microsoft.
Como además y al igual que CCIX es de código abierto, la implementación va viendo en popa y al parecer ya hay muchos gurús del sector que afirman que, debido principalmente a su baja latencia, CXL será la interconexión de servidores y aceleradores para sistemas de coherencia con caché dominante del mundo.
¿Significa esto que CCIX morirá? No, nada más lejos de la realidad. Hay sistemas y empresas que necesitan coherencia simétrica, sobre todo aquellos dominados por ARM, y es que ninguno de los dos rivales se ata a un tipo de arquitectura específica. Esto es una ventaja muy clara que se acoplará a otra, la desagregación de recursos.
En este apartado Intel con CXL tiene ventaja, ya que muchas empresas necesitan configurar una gran cantidad de recursos mediante software y ahí la latencia vuelve a ser clave. La simetría de CCIX no es suficiente para gestionar recursos de forma más o menos automática y con mejores timings. Requeriría en todo caso un mayor tiempo de optimización para el software sin tener ninguna ventaja clara en latencia, sino para igualar la contienda al menos.
El problema que enfrenta la industria, salvando estos detalles comentados, es que tiene que elegir. CXL y CCIX no son complementarios, son autoexcluyentes y por lo mencionado más arriba y a la vista de cómo están recibiendo las empresas la tecnología de Intel, todo apunta a que CXL se va a llevar el gato al agua en un tiempo récord.
CCIX puede quedarse para arquitecturas extremadamente escalables que dispongan del tiempo y los recursos para gestionar de forma perfecta cada troquel del centro de datos, pero fuera de ahí seguramente el mercado opte por la apuesta del equipo azul por sus mayores ventajas.