¿Son los procesadores infrautilizados una idea tan horrible? - Calendae | Informática, Electrónica, CMS, Ciberseguridad

¿Son los procesadores infrautilizados una idea tan horrible?

Hola otra vez. Te escribe Simón Sánchez y en el día de hoy vamos a hablar sobre ¿Son los procesadores infrautilizados una idea tan horrible?

A medida que pasamos de procesadores multinúcleo a procesadores de muchos núcleos, el ancho de banda de la memoria se convertirá en un problema cada vez más molesto. Para algunas aplicaciones de HPC ya lo es. Como se señaló en un blog reciente de Calendae, un Sandia ella estudia descubrió que algunas clases de aplicaciones de uso intensivo de datos en realidad se ejecutan más lentamente una vez que intenta distribuir los cálculos más allá de ocho núcleos. El problema resultó ser un ancho de banda de memoria insuficiente y una contención entre el procesador para acceder a la memoria.

Ciertamente, este no es el caso de todas las aplicaciones. Pero más allá de eso, no siempre es útil concentrarse en los límites de ancho de banda de la memoria cuando se considera cómo aprovechar al máximo sus procesadores. Un reciente entrada en el blog escrito por los TACC’ers Dan Stanzione y Tommy Minyard sugieren mirar el problema un poco diferente. Para estar con el

Dejar un núcleo inactivo se considera «desperdicio». Esto no es sorprendente, pero después de una cuidadosa consideración no tiene mucho sentido … Nadie lo considera un «desperdicio» si mientras se ejecuta un trabajo en cada núcleo de la máquina, la mitad de la memoria está vacía o la mitad de la red no se utiliza , o está utilizando solo la mitad de las IOPS o del ancho de banda disponible para el disco duro.

Stanzione y Minyard continúan diciendo que la métrica real que debe preocuparle es cuánto trabajo está haciendo su clúster en un período de tiempo determinado. Por lo tanto, para cierta combinación de cargas de trabajo, podría tener sentido dejar los núcleos inactivos para garantizar que los núcleos restantes tengan suficiente ancho de banda de memoria para una ejecución rápida. O puede combinar aplicaciones con uso intensivo de computación con aplicaciones con uso intensivo de datos para poder utilizar más tanto los núcleos como la memoria, suponiendo que tenga la combinación adecuada de aplicaciones para elegir.

Por supuesto, no todas las instalaciones de HPC tienen el lujo de elegir una combinación óptima de aplicaciones. ¿Qué pasa si tiene que ejecutar una aplicación que consume mucha memoria, como el código de investigación y pronóstico meteorológico (WRF), todo el tiempo?

El TACC

Entonces, ¿qué haces en este escenario? Stanzione y Minyard escriben:

Bueno, tal vez les diga a los desarrolladores de WRF que puede hacer muchos más cálculos entre los accesos a la memoria esencialmente de forma gratuita en los nuevos procesadores. Quizás dice que puede ejecutar algunos trabajos que no requieren mucha memoria junto con sus trabajos WRF en esos núcleos adicionales esencialmente de forma gratuita. Pero quizás lo más importante que dice es que para obtener el máximo rendimiento hoy en día, no debe asumir que la mejor y más eficiente configuración es usar cada núcleo en cada socket para su trabajo. Para algunos tipos de programas lo hará, para algunos tipos de programas no lo hará … pero ¿no es bueno tener toda esa potencia de cálculo adicional para los momentos que la necesite?

Bueno, sí, eso es bueno, especialmente si puede permitirse distribuir tales sistemas. Por otro lado, la gente de AMD podría señalar que sus soluciones Opteron logran un mejor equilibrio entre los FLOPS de la CPU y el ancho de banda de la memoria que Xeons. Se supone que la gente de NVIDIA tendría una sugerencia completamente diferente.

Deberías compartir en en tu Twitter y Facebook para que tus amigos opinen

??? ? ? ???

Comparte