¿Horas.core u horas.GFLOPS? Un estudio de la asignación de tiempo de cálculo de IPAC

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