PROTEUS es un cluster de nodos con procesadores x86_64 Intel Xeon conectados entre ellos por una doble red de comunicaciones (1GbE e Infiniband FDR). También dispone de 2 tarjetas gráficas Tesla de NVIDIA para GPGPU.
Como almacenamiento, cuenta con un sistema de archivos distribuido Ceph para almacenamiento general y con uno basado en Lustre para las aplicaciones que requieran de un mayor ancho de banda.
FAMILIAS DE PROCESADORES
La composición actual de PROTEUS es el fruto de una serie de ampliaciones y mejoras. Los nuevos nodos se han ido añadiendo a los que ya había, procurando que puedan coexistir sin problemas.
Actualmente, contamos con las siguientes familias de procesadores (etiquetadas con los apodos que les hemos asignado):
Apodo | Arquitectura (modelo) | #Nodos | #Cores/Nodo | RAM GB | Año |
---|---|---|---|---|---|
Calypso | Hapertown (E5410) | 51 | 8 | 8 | 2008 |
Kratos | Westmere (X5690) | 42 | 12 | 48 | 2012 |
Hermes v1 | Haswell (E5-2660 v3) | 13 | 20 | 64 | 2015 |
Hermes v2 | Broadwell (E5-2640 v4) | 4 | 20 | 64 | 2015 |
Metis v1 | Skylake (Gold 6132) | 8 | 28 | 96 | 2019 |
Metis v2 | Cascadelake (Gold 6226) | 40 | 24 | 96 | 2019 |
También contamos con dos nodos con una mayor cantidad de memoria, para las aplicaciones que así lo necesiten:
Apodo | Arquitectura (modelo) | #Nodos | #Cores/Nodo | RAM GB | Año |
---|---|---|---|---|---|
Hermes00 | Haswell (E5-2698 v3) | 1 | 32 | 256 | 2015 |
Metis00 | Cascadelake (Gold 6226) | 1 | 24 | 386 | 2019 |
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 |