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

Semblanza de Alfredo Santillán
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
30 años de Supercómputo en México Lunes, 1 de noviembre · 6:00 – 7:30pm https://meet.google.com/enc-xbvk-nch
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.
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.
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.
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.
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 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.
EN VIVO | Conferencia de prensa del ministro de Ciencia, Tecnología e Innovación, Daniel Filmus https://t.co/XDplnTkGXA
— Casa Rosada (@CasaRosada) October 1, 2021
Este anuncio se cristalizó tres días después.
En el 149° Aniversario del @SMN_Argentina, el ministro @JorgeTaiana anunció la creación allí de un Centro Nacional de Supercómputo.
El CNS con tecnología para brindar servicios de cálculo competitivos a nivel de Sudamérica nace tras la firma de un convenio con el @ciencia_ar. pic.twitter.com/cvESlSlOhW
— Ministerio Defensa (@MindefArg) October 4, 2021
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.
En una reunión que mantuvo el SNCAD el día martes 12 de octubre, se dieron algunos parámetros:
En una charla informal con el Dr. Pablo Mininni, presidente del Consejo Asesor del SNCAD, se difundieron algunos parámetros técnicos aproximados.
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.
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]
«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:
dnf install
en 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.