En Enero de 2017 se otorgaron los proyectos Iniciativa de Proyectos Acelerados de Cálculo (IPAC) en dos tipos, los Proyectos de Avances Decisivos con Supercómputo (PADS) de un millón de horas.core y los Proyectos de Cálculo (PDC) de entre trescientas y quinientas mil horas.core.
Abajo incluimos todos los proyectos otorgados, la cantidad de horas asignadas y el supercomputador donde correrán.
#proyecto |
Horas.core |
Cluster |
29 |
1000000 |
TUPAC |
38 |
1000000 |
TUPAC |
19 |
1000000 |
TUPAC |
20 |
500000 |
Mendieta |
8 |
420000 |
Pirayú |
12 |
449000 |
ISAAC |
25 |
500000 |
INQUIMAE-FCEN-UBA |
1 |
500000 |
Odin |
35 |
350000 |
Piluso |
16 |
332000 |
Fierro |
Hay una pregunta muy sencilla que intentaremos contestar. ¿Es lo mismo la hora/core en TUPAC, Mendieta, Pirayú o cualquiera de los clusters asociados al SNCAD?
Para contestar esto utilizaremos solo una parte de un modelo muy básico que es el roofline model propuesto por Williams, Waterman y Patterson en 2009: miraremos la performance pico teórica de cada núcleo puesto en juego. A manera de ejemplo TUPAC está constituido por pastillas AMD Opteron 6276 que dan 147.2 GFLOPS de potencia pico de cálculo para números de doble precisión, mientras que Mendieta, eroga 224 GFLOPS en cada una de sus pastillas Intel Xeon E5-2680v2.
La siguiente tabla muestra el detalle de cada uno de los procesadores y la potencia de cálculo por core de cada uno.
Cluster |
Pastilla |
Año |
GFLOPS |
Cores |
GFLOPS/core |
SpeedUp/TUPAC |
TUPAC |
Opteron 6276 |
Q4'11 |
147.2 |
16 |
9.2 |
1.00 |
Mendieta |
Xeon E5-2680v2 |
Q3'13 |
224 |
10 |
22.4 |
2.43 |
Pirayú |
Xeon E5-2650v3 |
Q3'14 |
320 |
10 |
32 |
3.48 |
ISAAC |
Xeon E5420 |
Q4'07 |
40 |
4 |
10 |
1.09 |
INQUIMAE? |
– |
– |
– |
– |
– |
– |
CCAR-Odin |
Opteron 6320 |
Q4'12 |
179.2 |
16 |
11.2 |
1.22 |
Piluso |
Opteron 6282SE |
Q4'11 |
166.4 |
16 |
10.4 |
1.13 |
Fierro |
Xeon E5-2670v2 |
Q3'13 |
200 |
10 |
20 |
2.17 |
De esta tabla se deduce que bajo este modelo simplificado un proyecto de 500.000 horas.core de Mendieta equivale a 1.215.000 horas en TUPAC y que un proyecto de 420.000 horas.core en Pirayú equivale a 1.461.600 horas.core de TUPAC. Luego los dos proyectos chicos de PDC corriendo en Mendieta y en Pirayú equivalen en cantidad de trabajo a casi los tres proyectos grandes en TUPAC.
La pregunta es básica ¿porque hay tanta distorsión? Hay varias respuestas posibles.
La primera es que la performance secuencial pura por core está creciendo lenta pero progresivamente. En el caso de Intel, a un ritmo de entre 5% y 15% de mejora por generación que sale cada año.
Segunda, cada núcleo incorpora paralelismo a nivel de datos (SIMD) cada vez más ancho e instrucciones especiales como FMAD que realizan dos operaciones de punto flotante en cada ciclo de reloj.
Finalmente, y la que creemos más de peso, los procesadores Opteron que parecen ser poco eficientes. En realidad están mal contados los núcleos. Todos los procesadores de la lista tienen arquitectura Bulldozer, la cual incorpora 16 núcleos, pero 8 unidades de punto flotante en su esquema FlexFP, es decir que para cálculos numéricamente intensivos, cada pastilla Bulldozer hay que contarla como de 8 unidades.
Si cambiamos la tabla y ponermos los núcleos reales de Opteron obtenemos lo siguiente:
Cluster |
Pastilla |
Año |
GFLOPS |
Cores |
GFLOPS/core |
SpeedUp/TUPAC |
TUPAC |
Opteron 6276 |
Q4'11 |
147.2 |
8 |
18.4 |
1.00 |
Mendieta2 |
Xeon E5-2680v2 |
Q3'13 |
224 |
10 |
22.4 |
1.22 |
Pirayú |
Xeon E5-2650v3 |
Q3'14 |
320 |
10 |
32 |
1.74 |
ISAAC |
Xeon E5420 |
Q4'07 |
40 |
4 |
10 |
0.54 |
INQUIMAE? |
– |
– |
– |
– |
– |
– |
CCAR-Odin |
Opteron 6320 |
Q4'12 |
179.2 |
8 |
22.4 |
1.22 |
Piluso |
Opteron 6282SE |
Q4'11 |
166.4 |
8 |
20.8 |
1.13 |
Fierro |
Xeon E5-2670v2 |
Q3'13 |
200 |
10 |
20 |
1.09 |
La tabla corregida muestra diferencias entre la performance por núcleo, mucho menos pronunciada que la tabla anterior. De todas formas Pirayú es casi el doble de rápida por core que TUPAC, mostrando los casi tres años de evolución en la mejora de performance ILP (instruction level parallelism) y DLP (data level parallelism o SIMD).
Este modelo está por demás simplificado y se podría argumentar que resulta poco ajustado a workloads que son eminentemente dominadas por el ancho de banda de memoria y por lo que se debería hacer un análisis similar pero para esta otra parte del roofline model.
Lo importante es puntualizar que aunque la iniciativa IPAC es muy importante para que todos los clusters de Argentina integrados al SNCAD se utilicen para proyectos grandes que cambien la forma de hacer ciencia para los grupos en cuestión, también es importante tener en cuenta los aspectos técnicos del supercomputador y definir el uso respecto a estos parámetros.
Dr. Nicolás Wolovick
Miembro del CCAD-UNC
Líder del Grupo de GPGPU Computing