Así es la CPU AmpereOne Syrin: 192 Cores ARM con chiplets, 3 GHz y 350W

En los últimos años, hemos visto como las CPU con set de registros e instrucciones ARM han dado el salto de dispositivos móviles y empotrados a buscar horizontes que necesitan una mayor potencia de computación. Ya sean PC convencionales e incluso procesadores para servidor y de centros de datos que compitan contra los EPYC de AMD y los Xeon de Intel. Pues bien, el último en presentarse tiene el récord de núcleos, estamos hablando del AmpereOne Syrin de Ampere Computing.

De un tiempo a esta parte, el mundo de los procesadores para centros de datos ha sufrido una ramificación curiosa, la de las CPU optimizadas para Cloud Computing. ¿El punto en común? Tener la mayor cantidad de núcleos posibles en el chip, lo que les ha llevado a desarrollar arquitecturas con una menor cantidad de transistores. En el caso de AMD lo veremos con los Zen 4C en EPYC Bergamo que les permitirán subir de los 96 núcleos a los 128. Intel, en cambio, ha sido más radical con Sierra Forest, que se basa en el uso exclusivo de E-Cores y llegará a los 144, pero quien se lleva el récord es el procesador del que estamos hablando.

¿Cómo es el procesador AmpereOne Syrin de 192 núcleos?

AmpareOne Syrin arquitectura

Nos encontramos ante una CPU para servidores especializados en computación en la nube, el cual tiene las siguientes especificaciones técnicas:.

  • Hasta 192 núcleos por chip, con variantes con 128, 136, 144, 160, 176 cores.
    • ISA ARM de 64 bits.
    • 16 KB de caché L1 para instrucciones.
    • 64 KB de caché L1 para datos.
    • 2 MB de caché L2 privada por núcleo.
    • 64 MB de System caché global para todo el chip.
    • 2 unidades vectoriales de 128 bits por núcleo.
    • Soporte para FP16, BFloat16, Int8 e Int16
  • Controlador de memoria integrado con soporte de hasta 8 canales DDR5.
    • 4800 millones de transferencias por segundo.
    • Soporte ECC.
    • Hasta 16 DIMM y 8 TB de memoria como configuración máxima
  • 128 líneas PCI Express 5.0.
    • 32 controladores x4
  • TDP entre 200 y 350 W.
    • Le permite alcanzar hasta los 3 GHz por núcleo a velocidad constante.

Además de ello, tiene una serie de funciones adicionales que son las siguientes:

  • Capacidad de monitorización de la salud de los núcleos, lo que permite desactivarlos para siempre si uno deja de funcionar, evitando así tirar el chip a la basura.
  • Funciones de seguridad como:
    • Virtualización segura.
    • Etiquetaje de las direcciones de memoria separado para cada máquina virtual.
    • Encriptación de los datos en memoria con una clave única para cada usuario remoto.

Más núcleos que ningún otro chip, pero a un alto coste

Ampere Epyc Xeon

Sin embargo, hemos de partir del hecho de que tener más núcleos no significa tener más rendimiento, si comparamos núcleo por núcleo el AmpereOne con los chips de AMD e Intel veremos que tiene mucho menor rendimiento a la misma velocidad de reloj.  Se trata de uno de los costes a pagar para poder colocar la mayor cantidad de cores posibles en un espacio limitado, eso y que no puedan alcanzar velocidades de reloj muy altas, no olvidemos que energéticamente son más a repartir, sin embargo, no son los únicos mecanismos que se han suprimido en esta CPU

  • Sin soporte multihilo en cada uno de los núcleos.
  • La velocidad de reloj es fija, por lo que no hay mecanismos de Boost que le permitan aumentar su velocidad de reloj en momentos de mucha carga de trabajo.

Por lo que, como se puede ver, existe cierta trampa a nivel de arquitectura para conseguir que el AmpereOne Syrin alcance los 192 núcleos, pero no es la única que la gente de Ampere Computing ha empleado. Cómo nota, aclararemos que el chip que se ve en la imagen que encabeza esta sección no es el AmpereOne Syrin, sino su antecesor, el Ampere Altra.

AmpereOne Syrin: un diseño basado en chiplets.

AmpereOne Syrin Empaquetado

Cuando se necesita ir más allá de los límites de tamaño, que permite la fabricación de un chip, entonces la mejor solución es disgregarlo en varias piezas. Esto además permite usar nodos de fabricación menos avanzados, pero más baratos para ciertas interfaces y componentes y ahorrar así los costes. ¿La dificultad en estos casos? Una infraestructura de comunicación que mantenga los consumos energéticos y las latencias bajas.

Para el AmpereOne Syrin se ha optado por un diseño por chiplets fabricados todos ellos con el nodo de 5 nm de TSMC. Sin embargo, el chip parece hecho de una pieza, pero esto se debe a que han utilizado una pieza de silicio como disipador de calor dentro del chip. Por debajo nos encontramos con un procesador que se divide en piezas distintas: La CPU principal en un bloque, controladores de memoria e interfaces DDR5 y la conectividad PCI Express 5.0 en otros.

Es decir, los 192 núcleos no solo vienen del coste de núcleos más simples, sino también de tener que dividir el chip en varias piezas por su enorme tamaño. Lo cual sería contraproducente para el entorno convencional de una estación de trabajo o incluso un PC doméstico, pero no es el caso que nos ocupa.

¿Para qué se necesitan tantos núcleos?

AmpereOne Syrin maquinas virtuales

El objetivo en un servidor de Cloud Computing es prestar parte de su potencia a un cliente externo que se comunique a través de la red, ya sea si lo hace desde la red interna de una empresa o en su defecto por internet. Lo que hacen este tipo de sistemas es asignar una máquina virtual, que ejecutara una instancia del sistema operativo para dicho cliente.

Por lo que la idea detrás de los chips como el AmpereOne Syrin es tener el mayor número de núcleos posible para ejecutar una gran cantidad de máquinas virtuales. Sin embargo, hemos de partir del hecho que en el caso que nos ocupa la potencia asignada por máquina virtual es mucho menor por los motivos que ya os hemos expuesto.

La parte importante: la comunicación interna

Intercomunicación

Organizar tantos núcleos y comunicarlos entre sí es una tarea titánica en cuanto al diseño. No en vano, buena parte del área del chip en estos casos va a parar a dicha tarea. Sin embargo, la filosofía con el AmpereOne Syrin es diferente a la que por ejemplo ha tomado AMD con sus EPYC, ya que aquí todos los núcleos se encuentran en un mismo chip y, por tanto, compartiendo la misma infraestructura de comunicación.

En el caso del AmpereOne Syrin sus diseñadores han decidido usar lo que llamamos un NoC o red en un chip, un tipo de organización en la cual cada núcleo tiene un pequeño enrutador que le permite comunicarse con otros. ¿La organización? La misma que en los chips Graviton de Amazon. Es decir, no tenemos una unidad central, sino que los mensajes se pasan de un bloque de procesadores a otro, como ocurre en el juego del teléfono.

La clave aquí es los sistemas de anticongestión, los cuales buscan evitar los atascos a la hora de transferir información entre núcleos y de estos con la memoria, buscando de forma inteligente por parte de cada enrutador caminos alternativos para llegar a destino. Lo cual reduce la latencia y es clave de cara al rendimiento.