AMD Bergamo al descubierto: así es esta CPU con hasta 128 núcleos Zen 4c

Por fin tenemos la variante de los AMD EPYC pensada para servidores de computación para la nube, algo muy necesario tras el empuje de los chips basados en set de instrucciones ARM con cientos de núcleos a sus espaldas que amenazan el dominio de la empresa de Lisa Su en dicho mercado en los últimos años. ¿Qué nos trae de nuevo Bergamo y Zen 4c y en qué se diferencian de Genoa y Zen 4? Sigue leyendo para saber toda la información y por qué de la existencia de estos núcleos.

Hemos de aclarar, que los datos de este artículo, así como algunas de las imágenes, las hemos sacado del escrito por Dylan Patel en SemiAnalysis. Sin embargo, no nos hemos limitado a trasladar tal cual la información y hemos añadido nuestro conocimiento a lo que sabemos acerca de este potente procesador de AMD para servidores en la nube y de arquitectura de microprocesadores en general.

Bergamo, el AMD EPYC con Zen 4c optimizado para la computación en la nube

AMD Bergamo Cloud CPU

Los procesadores para servidores AMD EPYC 9754 y AMD EPYC 9734, conocidos bajo el nombre en clave Bergamo, son las primeras CPU de AMD pensadas para competir en el mundo del Cloud Computing contra los sistemas basados en procesadores con set de instrucciones ARM que han proliferado en los últimos meses. Entre los que podemos encontrar productos como NVIDIA Grace, Amazon Graviton, Ampere Altra y muchos otros. Eso, sin descartar en el mundo x86 del futuro Sierra Forest, basado únicamente en los mismos E-Cores que se utilizan en los procesadores de Intel.

Por lo que se puede decir que la computación en la nube ha generado la necesidad de un nuevo tipo de procesador. Sin embargo, AMD parte con la ventaja de tener una CPU disgregada o por chiplets. Por lo que lo "único" que ha tenido que hacer es diseñar una variante de su Zen 4, a la que ha bautizado como Zen 4c. El cual sigue la misma estela que los procesadores eficientes de Intel. No desde la perspectiva del consumo energético, sino del área,

Y es que hemos de tener en cuenta que con cada nuevo nodo de fabricación, si bien la densidad de transistores por mm² sigue aumentando de forma constante, el coste de fabricación hace que por área este aumente. Por lo que se hace necesario la creación de arquitecturas de CPU optimizadas en dicho sentido.

¿Cuáles son las especificaciones técnicas de AMD Bergamo?

Por lo que sabemos, AMD lanzará dos chips:

  • AMD EPYC 9754 con 128 núcleos Zen 4c.
  • AMD EPYC 9734 con 112 núcleos Zen 4c.

Al contrario de otras veces, donde AMD prefería desactivar núcleos en cada CCD para gamas inferiores, aquí la cantidad de los mismos montados sobre el interposer del procesador, en el caso del EPYC 9754 es de 8 CCD, mientras que en el caso del EPYC 9734 es de 7.

¿Por qué el Cloud Computing necesita un mayor número de núcleos?

Rack Cloud Computing AMD EPYC

El modelo de negocio de computación en la nube es el de ceder parte de la potencia de un servidor remoto a un usuario para que lo pueda usar para ejecutar un sistema operativo que ejecuta una máquina virtual a su servicio. La idea detrás de ello es que de cara a resolver ciertos problemas, el servidor en la nube puede asignar un tiempo concreto de su potencia total para ejecutar un algoritmo a una velocidad que no sería posible en un PC

La idea no es otra que la de aumentar la densidad computacional y en el caso de Bergamo y los núcleos Zen 4c, el objetivo es contrarrestar una de las ventajas que tienen los procesadores ARM respecto a los x86 que es el tamaño que ocupan dentro del chip. Si bien no podemos ejecutar Windows estándar en ellos, pensad que GNU/Linux sí que está pensado para funcionar en cualquier set de instrucciones sin problemas y estamos hablando de contratos multimillonarios para las empresas que utilizan estos procesadores.

El otro punto está en que tener chips con mayor número de cores reduce la intercomunicación chip a chip para una configuración idéntica. Dado que la gran pesadilla en la actualidad es la energía consumida en el traslado de datos y más cuando hay largas distancias entre componentes.

¿Qué son los núcleos Zen 4c?

CCD Zen 4c

Zen 4c es una variante de la arquitectura de CPU Zen 4 de AMD, pero con la diferencia de que se ha construido con el objetivo de que ocupen un área más pequeña. Sin embargo, esto tiene una contraparte, ya que puede alcanzar velocidades de reloj más bajas que la versión convencional. ¿El objetivo? Crear una arquitectura más eficiente por área en lo que al número de hilos de ejecución se refiere dentro de un servidor en la nube. Aunque sabemos que la marca los usará en ciertos diseños de unidad central de proceso.

Sin embargo, al contrario que los E-Cores de Intel, que son más simples que los P-Cores, Zen 4c mantiene todas las capacidades de Zen 4 a nivel de arquitectura, instrucciones soportadas e IPC. Por lo que a igualdad de GHz, y en un entorno pensado en aprovechar para ejecutar la mayor cantidad de procesos posibles, donde tener núcleos de más es una victoria.

Sin embargo, no duplican la el número de núcleos e hilos de ejecución en total, es por el hecho que si bien Zen 4c tienen su lógica y las cachés de primer y segundo nivel propias. El mecanismo de la L3 y el anillo de intercomunicación sigue siendo el mismo que Zen 4. ¿El objetivo? Poder crear CPU mixtas, como es el caso del futuro Phoenix 2 para ordenadores portátiles.

¿En qué difiere Zen 4c del diseño estándar?

AMD reúne todos los núcleos y sus niveles de memoria caché correspondientes en un mismo chip al que llaman CCD, el cual en el caso de Zen 4c y Bergamo es totalmente distinto:

  • El área total de cada CCD es un 10% que el de Zen 4.
    • Cada chiplet CCD tiene un área de 76.3 mm².
  • 16 núcleos en vez de 8 núcleos por CCD.
  • Velocidad de reloj base:
    • 2.25 GHz en el caso del EPYC 9754
    • 2.2 GHz en el caso del EPYC 9734
  • Velocidad de reloj en Boost:
    • 3.1 GHz en el caso del EPYC 9754
    • 3 GHz en el caso del EPYC 9734

No obstante, los 16 núcleos no se encuentran conectados bajo un anillo común, sino dos diferentes. Es decir, tenemos 2 anillos con 8 núcleos cada uno y 16 MB de caché L3 local para cada clúster.  Por lo que el ratio de la LLC por núcleo ha bajado a la mitad. Lo cual tiene lógica si lo que se busca es optimizar el chip por área.

Zen 4 versus Zen 4c tabla

Sin embargo, lo importante son los cambios a nivel de núcleo, el tamaño de cada uno de los componentes que forman parte de cada núcleo Zen 4c se ha visto recortado considerablemente en cuando al área total que ocupan y todo ello sin perder ni un ápice de rendimiento por velocidad de reloj. Pero, no se trata del mismo chip reducido en tamaño por un nodo de fabricación más avanzado, pero si que existe una organización distinta de las partes, así como el uso de un tipo de caché más densa.

Hyperscale, la filosofía detrás de Bergamo y otras CPU para Cloud Computing

Servidores Cloud Computing Hyperscale

La métrica más relevante de cara a montar un servidor es el rendimiento por vatio. Los diferentes racks que lo formaran deberán estar 24 horas al día y 7 días a la semana encendidos sin interrupciones, excepto cuando hay mantenimientos periódicos. Por lo que no alcanzan velocidades de reloj tan altas como en las estaciones de trabajo. ¿Lo que se hace habitualmente? Hacerlos funcionar a voltajes mucho más bajos, pero acorde con sus velocidades de reloj.

No obstante, esto a nivel de área plantea un problema. La forma de conseguir una mayor velocidad de reloj es segmentando aún más la arquitectura, lo que significa aumentar el número de etapas por instrucción. Sin embargo, si se recorta la velocidad de reloj máxima de un diseño a otro, entonces es cuando entra la posibilidad de hacer un nuevo diseño, que mantenga las mismas características, pero ocupando mucho menos. Una decisión mucho más inteligente que usar núcleos de menor capacidad en todos los sentidos.

Es decir, un Zen 4c a igualdad de velocidad de reloj funcionará igual que un Zen 4 estándar. Sin embargo, se pueden usar una mayor cantidad de ellos bajo el mismo presupuesto en área. Además de tener una curva de voltaje/frecuencia mucho más optimizada, lo que permite sacar una mayor potencia por vatio. Lo cual, es, como ya hemos dicho, uno de los puntos más importantes de este tipo de procesador.

La velocidad de despliegue, la gran ventaja de AMD

AMD EPYC Genoa RAM problema

Sin duda alguna, la empresa de Lisa Su tiene una ventaja estratégica importante, la cual podríamos considerar como una especie de Blitzkrieg en formato CPU. Y es que el hecho de que los componentes estén disgregados en chiplets les permite utilizarlos de un diseño a otro de forma fácil y rápida. Mientras que Sierra Forest de Intel, su principal rival, no saldrá hasta 2024 y basándose en los menos capaces E-Cores, Bergamo se encuentra ya en la rampa de salida, disponible para quienes quieran renovar sus servidores después de varios años con nuevas capacidades.

Si bien el rival de Intel tiene problemas para poder hacerse un hueco en el mercado de portátiles con la misma fuerza que Intel, la situación en servidores es distinta y pese al empuje de los diseños basados en set de instrucciones ARM, aún existe una gran cantidad de software en dicho mercado dependiendo de x86 y una ventaja de un año para AMD es cuanto menos una ventaja importante.

Es por ello el chiplet central de Bergamo, el llamado sIOD, sigue siendo el mismo que el del EPYC 9654, también conocido como Genoa. Esto le permite utilizar el mismo socket, el SP5, por lo que es compatible con las mismas placas base. Además, le aporta acceso a 12 canales DDR5-4800 y hasta 128 líneas PCI Express 5.0