Estas distintas familias tienen un rendimiento muy diferente. Un mismo programa puede tardar distintos tiempos en completarse según el nodo en que corra. Para ayudar a la estimación del tiempo de ejecución se ha realizado una comparativa de la potencia de cálculo de las CPUs de cada familia.
La potencia de cálculo de un sistema se suele medir en FLOPS (Floating Point Operations per Second), esto es, el número de operaciones en coma flotante por segundo, normalmente en doble precisión. Esta medida es independiente del conjunto de instrucciones de la CPU y sirve para comparar sistemas con arquitecturas distintas.
La potencia de cálculo de los procesadores actuales permiten tasas de miles de millones de operaciones por segundo, por lo que se suele usar el múltiplo GFLOPS.
POTENCIA MÁXIMA TEÓRICA
Podemos calcular la potencia de cálculo teórica de una CPU si conocemos los detalles de su arquitectura. Este valor se conoce como máximo teórico o Rpeak. La forma más simple de calcularlo es multiplicar el número de núcleos por su frecuencia y por el máximo número de instrucciones en coma flotante de doble precisión que es capaz de realizar por ciclo. Así, para un nodo, la expresión sería:
Rpeak (GFLOPS)= #sockets + #cores/socket · GHz · #ops/ciclo
No obstante, este es el límite superior teórico y es muy improbable que se alcance en situaciones reales. El máximo teórico nos sirve para poder saber en qué grado estamos aprovechando el potencial de la CPU.
PRUEBAS DE RENDIMIENTO (BENCHMARKS)
Las pruebas de rendimiento son programas creados para conocer las características de un sistema informático. Las hay de muchos tipos y pueden medir distintos aspectos de la máquina, como el sistema de almacenamiento, ancho de banda a memoria, procesamiento gráfico, etc. o el conjunto del sistema.
En este entorno de computación científica, los aspectos más relevantes son la potencia de cálculo de la CPU y el ancho de banda a memoria principal. Para evaluar estos componentes se han empleado dos benchmarks ampliamente utilizados en entornos HPC: Linpack y HPCG.
Linpack es una librería que resuelve problemas de algebra lineal. Ha sido muy utilizada como benchmark de CPU. HPL (High Performance Linpack) es una versión paralela y optimizada de la misma que se usa para medir el rendimiento de los supercomputadores que aparecen en la lista del TOP500.
HPCG (high performance conjugate gradient) es un nuevo benchmark, también usado en supercomputadores, creado con la intención de modelar el acceso real que hacen los programas a memoria principal. Los accesos a memoria suelen hacer de cuello de botella por lo que este benchmark optiene solo una fracción de la potencia bruta de la CPU. Complemente a Linpack, el cual hace un uso más intensivo del procesador.
RENDIMIENTO
En las siguiente tablas se muestran los resultados obtenidos al calcular el máximo teórico y al evaluar los nodos mediante los benchmarks Linpack y HPCG.
Se han realizado dos evaluaciones: en una se ha empleado un único núcleo y en la otra todos los núcleos que contiene el nodo.
Máximo teórico – Rpeak (GFLOPS)
Calculado con la formula de más arriba y teniendo en cuenta que el número de operaciones por ciclo para cada arquitectura (4, 16 o 32), obtenemos los siguientes Rpeaks:
Apodo | Núcleo único | Nodo Completo |
---|---|---|
Calypso | 9,32 | 74,56 |
Kratos | 13,88 | 166,56 |
Hermes v1 | 41,6 | 832 |
Hermes v2 | 38,4 | 768 |
Metis v1 | 83,2 | 2329,6 |
Metis v2 | 86,4 | 2073,6 |
Linpack
Se ha usado la versión de HPL ofrecida por Intel, la cual está especialmente optimizada para sus procesadores. Las pruebas se han hecho utilizando un único núcleo y con todos los disponibles en el sistema. También, para aquellas CPUs que soportan TurboBoost, se han recogido los resultados con esta opción activa y desactivada:
Apodo | Núcleo único | % | No Turbo | % | Nodo Completo | % |
---|---|---|---|---|---|---|
Calypso | 8,87 | 95,1 | – | – | 66.09 | 88,6 |
Kratos | 14,09 | 102,5 | 13,3 | 95,8 | 151,6 | 91 |
Hermes v1 | 42,68 | 109,7 | 38,99 | 93,7 | 671,2 | 80,6 |
Hermes v2 | ||||||
Metis v1 | ||||||
Metis v2 | 1534,51 | 74 |
HPCG
Esta tabla se encuentra en construcción… Disculpa las molestias. *
Apodo | Núcleo único | % | No Turbo | % | Nodo Completo | % |
---|---|---|---|---|---|---|
Calypso | – | – | ||||
Kratos | ||||||
Hermes v1 | ||||||
Hermes v2 | ||||||
Metis v1 | ||||||
Metis v2 |