Más núcleos de CPU no siempre es mejor

0

 ¿Cuántos más núcleos tenga un procesador es mejor?

Muchos tienen en mente la idea de que si unos pocos núcleos son buenos, muchos núcleos será aún mejor. Sin embargo, esto no siempre es así. Por ejemplo, existe software que no está optimizado para ser capaz de aprovechar todos los núcleos, por lo que pensar en más núcleos sería absurdo, y esto ocurre en muchos videojuegos, donde es preferible el rendimiento single-core que el multi-core. Y como esto hay más casos.

En cuanto al HPC, los datos de la lista Top500 parecen estar demostrando esa falsa creencia de que mientras más núcleos de CPU mejor. Pero si hablas con expertos del sector, como los de la división HPC de Lenovo, los de la europea Atos, los de HPE, o los de IBM, te darás cuenta que no siempre es eso así.

De hecho, si preguntas a ellos, te dirán que muchos de los clientes lo que buscan es mayor ancho de banda, E/S más rápidas y frecuencias de reloj más altas. Es decir, no se dejan seducir por los núcleos. Entonces… ¿por qué empresas como AMD, Intel, Ampere, Annapurna, IBM, Fujitsu, etc., siguen creando unidades con más y más núcleos de CPU?

Pues muy sencillo, y es que estos proveedores no solo tienen en mente los clientes de HPC que buscan esas otras cualidades, además de la potencia de cómputo, que cada vez sobrecae más sobre las GPGPUs, sino que también tienen en mente el negocio de los proveedores de la nube, que son hiperescaladores y buscan más núcleos.

¿Motivos? Muy sencillo, estos negocios de la nube, buscan mayor número de núcleos porque eso significa mayor número de clientes por nodo. Esto se aprecia muy bien en el caso de los servidores VPS (Virtual Private Server), donde esos núcleos físicos se vuelven vCPUs para entregar a los clientes de la plataforma. Por eso se sigue aumentando el número de núcleos.

No obstante, eso no quiere decir que en HPC los núcleos no sean importantes, lo son. Mientras mayor número de núcleos, mayor será la carga de trabajo soportada por el supercomputador. Además, mayor capacidad de procesamiento o cálculo (FLOPS) tendrá la máquina, lo que significa mayor rendimiento. Sin embargo, para el HPC también es vital el ancho de banda…

La importancia del ancho de banda

Muchos clientes de equipos HPC se preocupan más por el ancho de banda de la memoria que por la cantidad de núcleos de CPU, aunque eso no quiere decir que descuiden ese otro tema. Sin embargo, para las tareas o aplicaciones para los que se usan estas máquinas, es preferible contar con un buen ancho de banda y mayor agilidad E/S. De hecho, los EPYC y Xeon, entre otros, están optimizados para ofrecer esto también.

Por ejemplo, en este blog siempre hemos estado diciendo que la diferencia para el usuario entre una DDR4 y una DDR5 no es tan relevante, no hay tanto salto de rendimiento, y la DDR5 es más cara. Sin embargo, para el HPC, la DDR5 ha supuesto una gran oportunidad al permitir aumentar el ancho de banda en aproximadamente un 50% con respecto a la DDR4.

Por otro lado, y esto lo aprendí mientras daba clases de supercomputación, más núcleos puede representar una desventaja a la hora de pagar algunas licencias de software o de sistemas operativos, ya que se cobran en función de la cantidad de núcleos o sockets. Algo similar ocurre cuando hablamos de sistemas operativos como SUSE Linux o Red Hat, ya que si quieres servicio técnico, también tendrás que pagar en función de los núcleos de la máquina. Es decir, que más núcleos también supondrá mayor gasto en el lado del software.

En el caso de los procesadores para HPC, muchos están optando por usar memorias HBM o de alto ancho de banda, junto con los núcleos de CPU para mejorar el ancho de banda. Por ejemplo, es el caso del Intel Xeon Max «Sapphire Rapids», que tiene chips de memoria HBM2E alrededor de la CPU para conseguir un ancho de banda de memoria de 64 GB/s. Eso sí, hay que tener en cuenta que el movimiento de datos entre esta HBM y la DDR que la acompaña, para expandir las limitaciones de capacidad de la HBM, dependerán en gran medida del firmware del chip y del ISV (Independent Software Vendor).

Por otro lado, aunque AMD también ha estado mirando hacia HBM, ha optado por agregar más canales de memoria a sus EPYC para ganar ancho de banda, aunque esto tiene inconvenientes como el espacio necesario en la placa base y las latencias ligeramente más altas. Además, usar 12 canales como en el caso del Genoa, no los va a acercar en términos de ancho de banda al Xeon Max, pero es otro enfoque interesante. Y es que esto les permite usar DDR5 normal y corriente, y no depender del ISV, que puede ser un obstáculo importante.

Esto es esencial, por ejemplo, para cargas de trabajo como la dinámica de fluidos o CFD para estudiar el clima, la aerodinámica, los fluidos, etc., ya que son aplicaciones sensibles al ancho de banda, al tener que usar muchos datos de la memoria durante el procesamiento. Por eso, aumentar el ancho de banda en estos casos trae mejoras significativas.

Es más, muchos clientes han optado por usar GPGPU en vez de CPU para algunas cargas de trabajo precisamente por el problema del ancho de banda entre CPU-RAM, pero esto podría cambiar con la integración de HBM en la CPU.

Balance

Por último, seguramente que has escuchado mucho lo de la carga balanceada o el balance en cuanto a servidores y HPC. Esto quiere decir la forma de repartir las tareas que se tienen que procesar entre los diferentes procesadores de forma equilibrada y eficiente. Y para esto, tener más ancho de banda tiene una ventaja a la hora de equilibrar los núcleos de procesamiento. Por esto, no es de extrañar que veamos más HBM en la industria, especialmente de cara a las cargas de trabajo de IA. Es más, algunas CPUs como las de Ampere, Fujitsu A64FX, etc., también han optado por HBM.

¿Memoria 3D?


Además, AMD ha hecho también algo interesante en sus series X de los EPYC. Y, aunque no haya usado HBM en chips separados, ha usado un chip de memoria SRAM de alta velocidad y alto ancho de banda sobre su chip de procesamiento para así reforzar la memoria caché L3. Es decir, estoy hablando de la 3D V-Cache.

Estos empaquetados 3D han demostrado grandes ventajas, ya que esta memoria tiene una latencia más baja que la RAM y está enlazada directamente mediante TSV. Por tanto, no dependerá tanto de la latencia y ancho de banda de la memoria RAM principal como en otros casos.

De hecho, AMD en sus Milan-X demostró que podía aumentar la carga de trabajo gracias a su L3 superior, mejorando el rendimiento en cargas de trabajo intensivas que necesitan de un gran ancho de banda. Las pruebas con Synopsys VCS, por ejemplo, demostraron un 66,4% de mejora. Sin embargo, estos tipos de empaquetados suponen una relación precio/rendimiento mayor, por lo que no todo son ventajas.

Por tanto, parece que HBM promete mayor flexibilidad y ganancias en cargas de trabajo, como las CFD, entre otras. Esto quiere decir que quizás en un futuro veamos más unidades con HBM. Aunque veremos si al final un híbrido entre ambas tecnologías podría ser la solución, es decir, una HBM apilada sobre una unidad de cómputo usando empaquetado 3D…

Frecuencias más altas vs más núcleos de CPU


Como se ha podido comprobar, la frecuencia de reloj base de la CPU se ha atascado en la última década. Mientras en los años 90 prometían llegar a velocidades realmente altas en los años próximos, esto no ha sido así. Y en la actualidad tenemos CPUs que trabajan a frecuencias de reloj entre los 2 y los 3 Ghz en la mayoría de los casos, salvo alguna excepción que podría superar estas cifras, y no estamos hablando de los modos turbo.

Pero esto no solo tiene que ver con la tecnología de fabricación, también con el escalado del número de núcleos de CPU. Mientras más núcleos empaques en un mismo chip de silicio, menos potencia puedes usar, por lo que hay que gestionar la velocidad de reloj. Esto es algo que los empaquetados 3D podrían incluso empeorar, si no se buscan soluciones, ya que hemos visto que los empaquetados 3D también necesitan de una bajada de potencia a disipar al tener chips apilados uno encima del otro.

Las mejoras que se están dando últimamente son un paso adelante, consiguiendo velocidades de reloj de 4 o 5 Ghz en algunos casos, pero el futuro de la frecuencia de reloj es un fenómeno difícil de predecir. Todo depende del nodo de fabricación, la temperatura, el consumo, etc. Y los modos turbo en los que las frecuencias se pueden disparar hasta 6 Ghz en algunos casos de forma puntual no son tampoco una solución, ya que solo se puede hacer uso de estas frecuencias más alta en algunos núcleos, no en todos, y de forma temporal.

Nuevamente, en este sentido, muchos de los clientes del sector HPC, buscan más procesadores capaces de tener velocidades de reloj más altas, que realmente llegar a tener 96 o 128 núcleos de CPU por empaquetado. Muchos se contentan con 8-16 núcleos de CPU, pero con frecuencias más elevadas, de 4 Ghz o más.

¿Y la APU?


Por otro lado, hay que decir que las GPU se han convertido también en una pieza clave para la ganancia de rendimiento, ya que estas unidades pueden procesar ciertas cargas de trabajo de forma más rápida y eficiente que la CPU, dado su mayor número de núcleos simples que se encargan de cálculos de coma flotante. Por eso se han estado usando como aceleradores de ciertas cargas de trabajo en los últimos años.

En el sector de los servidores y HPC, la GPU ha tomado un papel muy relevante, por tanto, no hay más que ver la lista Top500 de hace unos años y una actual. Ahora los aceleradores por GPU están a la orden del día.

Por tanto, no es de extrañar que AMD quisiese ver el futuro en su Fusion, combinando CPU y GPU. Sin embargo, estas APUs han podido verse en equipos de sobremesa de bajo consumo, AIO, o en portátiles, pero no han dominado en otros sectores, como el del HPC. Pero eso está cambiando también gracias a AMD.

Y es que, recientemente ha ofrecido un vistazo a su nuevo producto Instinct MI300. No es una tarjeta gráfica convencional, como otras Instinct que hemos visto en el pasado usadas para acelerar HPC e IA. En este caso es una APU (Accelerated Processing Unit). Sí, y es que esta unidad combina tanto núcleos Zen 4 como núcleos GPU.

La Instinct MI300 es un híbrido entre CPU+GPU para centros de datos. Emplea 146.000 millones de transistores, y viene en un diseño chiplets y empaquetado 3D. Emplea dos procesos de fabricación, unos chips en 6nm y otros en 5nm, ambos nodos de TSMC. Y en su interior dispone de:
  • 24 núcleos de CPU Zen 4 (no sustituye a la CPU, de hecho, irá acompañado en la placa base junto con los AMD EPYC de 4ª Gen Genoa).
  • GPU con arquitectura CDNA3.
  • Chips HBM3 de 128 GB de memoria y con un ancho de bus de 8192-bit.
Gracias a esto, se pueden acelerar las cargas de trabajo de IA en un factor de 8 con respecto a la Instinct MI250, y ofrece un rendimiento de TFLOPS por vatio consumido hasta 5 veces superior.

Por su parte, Intel ha hecho algo similar con su híbrido CPU-GPU denominado Falcon Shores. Este tendrá gráficos Xe, que son el corazón de las GPUs Ponte Vecchio y las próximas Rialto Bridge. Además, también incluirá núcleos de CPU y un grupo de memoria HBM3. En vez de APU, como AMD, Intel lo ha querido denominar XPU.

Mientras tanto, NVIDIA ha hecho algo parecido, aunque se parece más a la AMD Instinct MI300 que al Falcon Shores de Intel. Se trata del Grace-Hopper, que incluye una matriz de CPU Grace (basados en ARM) con 512 GB de memoria LPDDR5X, junto con una matriz de GPU Hopper con 80 GB de HBM e interconectadas entre sí por NVLink.

Sin embargo, estas nuevas unidades híbridas también presentan desafíos para los fabricantes de equipos de alto rendimiento, ya que implican consumos muy elevados de cientos de vatios, e incluso podrían llegar pronto a un TDP por encima de 1 kW. Y esto es un problema en un equipo doméstico, pero cuando se trata de equipos donde se tienen cientos o miles de estas unidades, el problema es aún peor, ya que implica retos para disipar todo ese calor y suministrar energía suficiente.

Además, no solo eso, también supone un problema el ecosistema de software, que debe estar adaptado para poder aprovechar estas nuevas unidades. No obstante, conforme se vayan resolviendo estos problemas, se resolverán muchos cuellos de botella existentes en el HPC, los servidores y los centros de datos…
Tags

Publicar un comentario

0 Comentarios
* Por favor, no envíe spam aquí. Todos los comentarios son revisados ​​por el administrador.
Publicar un comentario (0)

#buttons=(Accept !) #days=(20)

Our website uses cookies to enhance your experience. Learn More
Accept !
Subir