30 años del Supercómputo en México, por Alfredo Santillán

La primera lista Top500 fue en junio de 1993, allí en el puesto #246 aparecía una computadora mexicana de 1991, una Cray Y-MP4/432 de 4 procesadores y 1.33 GFLOPS. Han pasado treinta años desde aquella máquina y el Dr. en Astrofísica, Alfredo Santillán nos relatará este viaje del supercómputo latinoamericano.

30 años del Supercómputo en México.

Alfredo J. Santillán G.
DGTIC-UNAM

Resumen

En noviembre de este año se cumplen tres décadas de la llegada de la primera supercomputadora a nuestro país, un equipo Cray Y-MP4/432, denominado Sirio, que revolucionó por completo el uso del cómputo en nuestro país. En esta charla haremos un recorrido histórico de cómo en la UNAM ha evolucionado el cómputo de alto desempeño, así como su impacto en una variedad de proyectos vinculados a un espectro amplio de áreas científicas, como la astrofísica, para resolver problemas de frontera tanto nacionales como internacionales.

Semblanza de Alfredo Santillán

Realizó su Licenciatura en Física en la Universidad Autónoma Metropolitana–Iztapalapa, su Maestría y Doctorado en Ciencias (Astrofísica) en la Universidad Nacional Autónoma de México (UNAM). Actualmente es Profesor Investigador Titular de la Dirección General de Cómputo y Tecnologías de Información y Comunicación (DGTIC) de la UNAM. Su Campo de especialidad es la Astrofísica Computacional y el Cómputo de Alto Rendimiento (HPC). Ha sido Coordinador de la Unidad de Investigación en Cómputo Aplicado (UICA), UNAM; Coordinador del Plan de Becarios de Su​_percómputo del Centro de Cómputo de la UNAM; Presidente del Comité de Aplicaciones y Asignación de Fondos de la Corporación Universitaria para el Desarrollo de Int​_ernet (CUDI) y miembro del Sistema Nacional de Investigadores (SNI), CONACyT. Actualmente es miembro de la International Astronomical Union (IAU) y de la Sociedad Mexicana de Física.

Coordenadas de la videoconferencia

30 años de Supercómputo en México
Lunes, 1 de noviembre · 6:00 – 7:30pm
https://meet.google.com/enc-xbvk-nch

Actualización

Nuevos miembros del CCT-Córdoba en CCAD

El pasado 10 de octubre se renovaron los representantes del CCT CONICET Córdoba en el directorio del CCAD-UNC.


El Dr. Marcelo Puiatti, Investigador Adjunto del INFIQC (CONICET-UNC) y el Dr. Federico Carrasco, Investigador Asistente del IFEG (FAMAF-UNC) fueron designados por el directorio del CCT CONICET Córdoba.

 

 

Esperamos que ambos se sientan cómodos para que puedan contribuir al crecimiento del CCAD-UNC.

 

Agradecemos a los miembros salientes por el CCT CONICET Córdoba: Dr. Sergio Elaskar (titular), Dr. Juan Pablo Saldía (suplente) designados en por el CCT-Córdoba, 29 mayo 2018.

[Documento en PDF]

Serafín, en el bleeding edge del software

Corriendo High Performance Linpack (HPL) los técnicos del CCAD descubrieron un diferencia de frecuencia entre los dos procesadores de Serafín que hacen un 2% más lento el cómputo de este benchmark. Mostramos otras sutilezas que derivan en la instalación de una supercomputadora con la última tecnología.

Serafín ya está operativa, pero la instalación no estuvo exenta de problemas. Es que una plataforma nueva, de altísima densidad de cómputo y con interfaces de comunicación muy rápidas, necesita software nuevo, tal vez muy nuevo.

El cluster corre Rocky Linux 8.4, un derivado de RHEL salido hace 3 meses con kernel 4.18.0-305.10.2.el8_4.x86_64. La suite de compilación es aocc-3.1 también de julio de 2021. Se compilaron utilizando el viejo gcc-8.4 que trae Rocky y a través de Spack, un gcc-11.2 también de finales de julio de 2021. Ambos compiladores son capaces de emitir código para la arquitectura Zen2.

Una sutileza en la frecuencia de operación del Procesador 1

A fin de probar la plataforma se compiló HPL de AMD para correr primeramente en un solo nodo y verificar la potencia de cálculo que según lo que pudimos estimar de ejemplares similares (2*EPYC 7532, RAM DDR4-3200) en la lista TOP500, debería estar en 2.2 TFLOPS por nodo usando toda la suite de AMD (compilador aocc, biblioteca de BLAS AMD BLIS).

En este punto surgió el primer detalle. A pesar de haber usado todas las recetas de AMD, e incluso un parche para usar la MKL de Intel en Zen2, se obtuvo un resultado más bajo.

================================================================================
T/V                N    NB     P     Q               Time                 Gflops
--------------------------------------------------------------------------------
WR11C2R4      120064   224     4     4             552.55             2.0883e+03
HPL_pdgesv() start time Tue Aug 17 10:02:15 2021

HPL_pdgesv() end time   Tue Aug 17 10:11:27 2021

--------------------------------------------------------------------------------
||Ax-b||_oo/(eps*(||A||_oo*||x||_oo+||b||_oo)*N)=   2.92090121e-03 ...... PASSED
================================================================================

Luego de intercambiar emails con los ingenieros de AMD, y con el N ajustado a 120000 con AMD BLIS se obtuvo un 2% menos de lo que se debería.

================================================================================
T/V                N    NB     P     Q               Time                 Gflops
--------------------------------------------------------------------------------
WR11C2R4      120000   224     4     4             534.06             2.1571e+03
HPL_pdgesv() start time Wed Sep  1 19:15:12 2021

HPL_pdgesv() end time   Wed Sep  1 19:24:06 2021

--------------------------------------------------------------------------------
||Ax-b||_oo/(eps*(||A||_oo*||x||_oo+||b||_oo)*N)=   3.02955319e-03 ...... PASSED
================================================================================

Usando el mismo no, pero con el MKL parchado, se llegó a lo que se esperaba, salvo que la medición patrón del TOP500 debería estar realizada con AMD BLIS y no con la MKL parchada. ¿Dónde está ese 2% de performance que faltaba?

Como en el CCAD uno de los lineamientos es tratar de obtener el máximo desempeño posible del hardware adquirido, los técnicos empezaron a buscar el problema.

================================================================================
T/V                N    NB     P     Q               Time                 Gflops
--------------------------------------------------------------------------------
WR11C2R4      120000   224     4     4             521.69             2.2082e+03
HPL_pdgesv() start time Wed Sep  1 19:58:28 2021

HPL_pdgesv() end time   Wed Sep  1 20:07:10 2021

--------------------------------------------------------------------------------
||Ax-b||_oo/(eps*(||A||_oo*||x||_oo+||b||_oo)*N)=   3.29733621e-03 ...... PASSED
================================================================================

Luego de actualizar al BIOS 2.2 (20210831) de la placa madre H12DST-B, y obtener los mismos resultados, se lanzó la ejecución monitoreando temperatura, frecuencia y voltaje, ya que el DVFS de los procesadores actualmente hacen lo que pueden para no dañar el silicio, brindando el mayor desempeño posible. Apareció algo extraño que se puedo observar monitoreando el sistema.

Tomando algunos valores constatamos que hay una brecha en la frecuencia de funcionamiento de las dos pastillas. La CPU1, que está más cercana al aire frío, tiene un reloj dado por el DVFS que es entre 2% y el 5% menor que la CPU2 que está detrás, que a su vez está entre 5C y 7C más caliente.

fPKG0 fPKG1  Abs % 
 2523  2614   91 3.48
 2522  2610   88 3.37
 2520  2605   85 3.26
 2564  2684  120 4.47
 2684  2793  109 3.90
 2642  2759  117 4.24
 2519  2608   89 3.41
 2513  2603   90 3.45
 2645  2781  136 4.89
 2678  2805  127 4.52
 2639  2719   80 2.94
 2559  2675  116 4.33
 2690  2834  144 5.08
 2702  2810  108 3.84
 2544  2610   66 2.52
 2507  2575   68 2.64
 2663  2803  140 4.99
 2560  2637   77 2.91
 2505  2575   70 2.71
 2565  2665  100 3.75
 2647  2738   91 3.32
 2505  2575   70 2.71
 2506  2574   68 2.64
 2624  2766  142 5.13
 2504  2574   70 2.71

Estimamos que cuando podamos solucionar este detalle entre los ingenieros de AMD, Supermicro y nuestros CPA-CONICET, obtendremos 2.2 TFLOPS con aocc+BLIS y un poquito más con el truco de la MKL parchada.

Comunicaciones colectivas de MPI aceleradas, memory leak

Durante el período de prueba el usuario Fabio Negreiros Ribeiro, detectó que sus corridas de Quantum ESPRESSO (QE) se cortaban por falta de memoria y los procesesos quedaban colgados.

El switch Infiniband de Serafín, un Mellanox MQM8790-HS2F soporta offloading de operaciones colectivas mediante el protocolo Mellanox SHARP. Este protocolo se activó usando OpenUCX dentro de OpenMPI, usando la biblioteca HCOLL de NVIDIA-Mellanox.

Efectivamente había bugs [1,2] en la versión de OpenMPI más nueva que soporta Spack y se tuvo que utilizar openmpi@4.1.2rc1 +legacylaunchers +pmix fabrics=ucx,hcoll,cma,xpmem schedulers=slurm para solucionar ese problema y tener desempeño y estabilidad.

Hacemos notar que este problema solo surgía con Quantum ESPRESSO, y en el resto de los programas que se corrieron multinodo como GADGET o GROMAC, no hubo ningún problema.

Parches para el compilador AOCC en Spack

En todo este desarrollo de instalar el software básico para Serafín se utiliza fuertemente Spack. Aunque Spack sporta aocc, este compilador no es tan popular como el resto y hubo problemas con gdb [1], amdlibflame [2] y UCX [3], todos ya solucionados por esta gran comunidad.

 

Instalar una supercomputadora no es algo sencillo, pero claramente los técnicos del CCAD están en el bleeding edge y saben manejarlo.

Se anunció la creación del Centro Nacional de Supercómputo

Se anunció la creación del Centro Nacional de Supercómputo y la instalación de la supercomputadora más potente del país en el Servicio Meteorológico Nacional.

El pasado 4 de octubre el Ministro de Defensa, Jorge Taiana, anunció en el 149vo. aniversario del Servicio Meteorológico Nacional, la creación del Centro Nacional de Supercómputo (CNS) que surgirá a partir de un acuerdo entre el Ministerio de Ciencia y Técnica y el Ministerio de Defensa de la Nación. En el acto estuvo presente la Directora del Servicio Meteorológico Nacional, Dra. Celeste Saulo, titular del SMN donde residirá la supercomputadora que formará parte de este Centro Nacional.

En este clip del acto por el aniversario, el Ministro Taiana hace el anuncio.

Anteriormente hubo algunos anuncios por parte del Secretario de Articulación Científico Tecnológica, el Dr. Juan Pablo Paz.

Este anuncio se cristalizó tres días después.

Se desconoce por ahora el monto total de la inversión y en que porción participará el MinCyT y el MinDef. Algunos trascendidos indican que sería el primer TOP500 de la Argentina. Al parecer el HPC empieza a ser una política de estado.

Actualización

En una reunión que mantuvo el SNCAD el día martes 12 de octubre, se dieron algunos parámetros:

  • Aproximadamente 380 TFLOPS.
  • Alrededor de 4000 núcleos.
  • Cerca de 2.5 M USD de inversión en cómputo y almacenamiento.
  • El MINCyT financia la compra del equipo, que deberá tener servicio de garantía y soporte técnico por 3 o más años.

Actualización 2

En una charla informal con el Dr. Pablo Mininni, presidente del Consejo Asesor del SNCAD, se difundieron algunos parámetros técnicos aproximados.

  • Entre 100 y 104 nodos dual socket, con 20 cores por socket.
  • 50 nodos con dual NVIDIA A100 en formato Mezzanine con NVLink.
  • 1 PiB de almacenamiento.
  • Conexión de alta velocidad.
  • Enfriamiento por agua.
  • 100 KVA de potencia total.

Algunas cuentas rápidas, suponiendo un Xeon Silver 4316 que entrega 1.02 TFLOPS pico, y las A100 que entregan 9.7 TFLOPS pico, ambos float64, tendríamos una potencia pico de 204 TFLOPS en CPU y 970 TFLOPS en GPU.

Supermicro muestra a Serafín como un caso de éxito

Los proveedores de Serafín fueron una tríada entre Supermicro, AMD y MultiTech. El caso fue tan importante para ellos que sacaron un whitepaper contando el caso de éxito.

Algunas apostillas del informe:

«We are glad to see how Supermicro and AMD have a strong
momentum in the R&D and HPC areas in Argentina,»
– Diego Lavalle, CEO Multitech Argentina, Supermicro local distributor.

On the AMD side with our EPYC server processor, the challenge posed
by the UNC led us to work with Supermicro and Multitech, on an HPC
platform that will deliver the best teraflop-per-dollar ratio in the market,
and also allow us to support the development of the scientific
community of Argentina and the region.
Juan Moscoso, Regional Datacenter Sales, AMD

«We knew we had a limited budget, and we also knew this was a one-in-
five-years opportunity of financial support. Supermicro and AMD
together provided us with outstanding value for the money. We bought
50% more processing power of what we originally envisioned.»
-Oscar Reula, PhD,CCAD HPC Center Director, Universidad Nacional de Córdoba.

[PDF]

El staff técnico del CCAD en «Polémica en el /var»

«Polémica en el /var» es un prestigioso programa de entrevistas a sysops/devops de Argentina. Los 3 CPA-CONICET del CCAD, Carlos Bederián, Darío Graña y Marcos Mazzini fueron los invitados en esta ocasión donde contaron que hacen y sobre todo como fué la activación de Serafín.

El pasado 10 de septiembre, se emitió en vivo el programa «Supercomputadoras, todo lo que quisiste saber» dentro del programa semanal de SysArmy la comunidad más importante de sysops/devops de Argentina.

Durante una hora y media Carlos, Darío y Marcos estuvieron hablando con @godlike64 contando la historia reciente del CCAD y pusieron foco en Serafín, nuestra nueva supercomputadora.

https://www.youtube.com/watch?v=rkK-xERMeHk

Hablaron de todas las problemáticas de mantener en funcionamiento los equipos del CCAD-UNC: eficiencia energética, eficiencia en el gasto de equipamiento TFLOPS/USD, refrigeración, red, administración de usuarios, cableado, software, clientes, calidad de servicio. También explicaron algunos malentendidos que suele tener el público en general como por ejemplo «Con 4 RTX 3090 ya hago un Serafín».

Algunos extractos imperdibles:

  • CB: «Equipo que conseguimos, equipo que se usa el 90% del tiempo por todos esos años».
  • CB: «esos 70 nodos (de Cristina) consumían unos 20 KW por unos 4 TFLOPS y Mendieta que es un cluster de 2 o 3 años más tarde con GPUs tiraba 24 TFLOPS y consumía 11 KW».
  • DG: «cuando terminamos apagando Cristina, lo reemplazamos por 3 chasis de Eulogia con 4 nodos cada uno, que eran 6KW. Ahi bajamos de 20 a 6.»
  • MM: «La lógica es exprimir al mango todo lo que se pueda, y maximizar el poder de cómputo por dólar».
  • CB: «La responsabilidad que tenemos va por ahi. Si la pagamos (a la electricidad) la pagamos todos, como empleados públicos tenemos la responsabilidad de hacer buen uso de los fondos de todos».
  • CB: «En una época tuvimos un equipo de STC2000 haciendo simulaciones de aerodinámica para mejorar sus autos».
  • CB: «El motivo por el que está todo tan alto (la posición de Serafín en los racks) es porque estos cables splitter de 200Gbps a 100Gbps son de 2mts de largo entonces es hasta donde llegue el cable».
  • MM: (respecto a lo anterior) «Nos ahorramos 50000 dólares».
  • DG: «Tenemos Infiniband en algunos casos bastante viejo andando, pero nos sigue dando mejores resultados que Ethernet, asi que le seguimos sacando el jugo».
  • DG: «Por precompilado entiéndase que lo compilan los administradores, no es que descargamos un binario ya funcionando, sino que normalmente Charlie se encarga de sacarle el jugo a esos binarios al 101% anque 110%».
  • MM: «Contamos con un manejador de paquetes, yo no puedo hacer un dnf installen la cabacera y en los nodos, queremos performance, todo lo que proveemos a los usuarios es compilado from source y también sus dependencias y también las dependencias que no son compatibles entre si de las 20 versiones de librería que se les ocurra».

Como no podía ser de otra manera, mostraron en vivo un htop de lo que estaba ejecutando el investigador en astronomía Federico Stasyszyn, en este caso tenía hace 5hs 16 nodos, donde cada uno se mostraba como abajo: 64 cores al 100%. Esto es el día a día en el CCAD.