Como lograr el 100% de ocupación en los Clusters Argentinos

HPC y Argentina, donde estamos

En Argentina el recurso computacional para HPC es escaso. La máquina más potente es Huayra Muyu, con 370.4 TFLOPS Rpeak, que es algo asi como 31% de la máquina más lenta del Top500-Jun19. Aunque este número es más o menos lo que se tuvo con TUPAC cuando se puso en producción (26.5% del sistema más lento del Top500-Jun15. Hoy esta máquina es 4.12% del sistema más lento del Top500-Jun19), hay un detalle no menor, Huayra Muyu es una supercomputadora que tiene que producir diariamente pronósticos meteorológicos. Simplemente el sistema de Ciencia y Tecnología de Argentina no lo puede usar.

¿Qué pasa con los sistemas #2, #3 y siguientes en Argentina? Bueno, estos si están disponibles para la comunidad de CyT, pero son 10 veces más chicos que el #1. Esto quiere decir que la comunidad científica accede a clusters que son, con todo el viento a favor, el 5% del sistema más lento del Top500. El panorama del HPC en Argentina resulta desalentador.

¿Qué hacemos frente a esta situación? Compramos hardware con la mejor relación GFLOPS/USD, hacemos compras comunitarias para el centro, hacemos intercambios de partes con otros centros de HPC, utilizamos GPU gamers para calcular, y miramos todos los clusters que conocemos en Argentina para saber si están sub-utilizados y migramos usuarios de manera temporal.

¡Hay un cluster libre! ¡Al abordaje!

Recientemente nos enteramos de la existencia del cluster Oro Verde de la Facultad de Ingeniería de la UNER, a través del Decano Dr. Bioing. Diego Martín Campana. Rápidamente nos pusimos de acuerdo y nuestros investigadores pudieron utilizar sus equipos. Durante parte de abril y todo mayo un grupo de cinco usuarios del CCAD dispusieron de casi los 240 cores del recurso computacional como se nota en el gráfico de abajo. Más que uso, nuestros usuarios hicieron abuso del recurso. Simplemente lo necesitan y en un mes de uso de Oro Verde, varios pudieron terminar cálculos que tenían pendientes desde hace meses.

Es todo tuyo, pero si no lo usás, lo uso yo

¿Se puede compartir el recurso con el resto de la comunidad científica, pero tener exclusividad en el uso?
El manejador de recursos para clusters SLURM, se puede configurar para dividir los usuarios en dos grupos, que podemos llamar locales y visitantes. Los locales tienen prioridad absoluta sobre los recursos y los visitantes solo pueden ejecutar si hay recursos libres. Si un vistante está ejecutando cuando un local necesita correr, el planificado interrumpe el trabajo visitante y lo reencola para que eventualmente se ejecute. Esto no es problema, ya que cualquier paquete importante de HPC admite checkpointing y restarting por diseño (GROMACS, OpenFOAM, etc.)
Así implementamos la política de uso en Mulatona, que es propiedad del IATE, pero si ningún local del IATE lo está usando todos los visitantes del resto del CCAD pueden aprovechar el recurso de cómputo. Abajo se muestran las partes fundamentales del archivo /etc/slurm/slurm.conf que permite definir esta política.

...
# PREEMPTION IATE
PreemptMode=REQUEUE
PreemptType=preempt/partition_prio
...
# COMPUTE NODES
ReturnToService=1
NodeName=head Sockets=1 CoresPerSocket=8 ThreadsPerCore=1 State=UNKNOWN
NodeName=bdw[01-07] Sockets=2 CoresPerSocket=16 ThreadsPerCore=1 State=UNKNOWN

EnforcePartLimits=YES
PartitionName=multi Nodes=bdw[01-07] Default=YES Shared=No MaxTime=4-0:00 State=UP PriorityTier=1
PartitionName=batch Nodes=bdw[01-07] Default=NO Shared=No AllowAccounts=iate Priority=20000 MaxTime=7-0:00 State=UP PriorityTier=2

Los resultados son los esperados como se puede ver en la carga de Mulatona durante el último año. Si Mulatona no se usa por parte del IATE, solo envejece y se vuelve obsoleta. El uso por el resto de la comunidad implica hacer más eficiente la inversión a nivel global.

El hardware en HPC no es un bien mueble, es un consumible que agota su vida útil en cinco (5) años. Utilizarlo lo más rápidamente posible y a plena capacidad debería ser una prioridad para todos los Centros de Computación de Alto Desempeño de Argentina.

 

Experiencia con Oro Verde

La política de visitantes con preemption la implementaron los administradores Gastón Schlotthauer, Juan Ignacio Etchart y Víctor Ojeda a principios de julio y desde entonces el grado de utilización subió considerablemente, nuestros investigadores pueden migrar si lo ven con poca carga y el hardware, tan escaso en nuestro país, tiene un factor de utilización entre el 90% y el 100%.

Tal vez esta sea la manera correcta de implementar las políticas de uso compartido del SNCAD, donde repartimos migajas entre muchísimos investigadores.

Adjudicación Período de Uso Exclusivo CCAD, invierno 2019

Se adjudicó un nuevo periodo de uso exclusivo de los recursos del CCAD.
En esta ocasión se decidió priorizar el uso de todos los recursos disponibles la mayor cantidad de tiempo. Es por eso que:

  • Se extendió el periodo de invierno a 1 mes.
  • Se va a utilizar toda Mendieta Fase 2 y toda Eulogia.
  • Se priorizaron los pedidos que hicieran uso extendido en el tiempo de muchos nodos, para así atacar problemas que usualmente tardan mucho en entrar durante los períodos de uso compartido.
  • Se definió una política de preemption respecto a los usuarios comunes, en vez de inhabilitarlos. Se podrá seguir ejecutando en tanto haya nodos disponibles, pero serán desplazados cuando los usuarios exclusivos quieran ejecutar (en breve se publicará una experiencia con esta política).

El objetivo planteado es claro, producir resultados relevantes con equipamiento que cada año resulta menos competitivo a nivel mundial. Confiamos en que esta es la manera de aprovechar mejor nuestros escasos recursos.

Actualización 20190903

Hicimos un pedido de devolución a las/los usuarios, y con su consentimiento, las publicamos a continuación. Creemos que resultan valiosos para comprender el ciclo de modelización computacional y uso de recursos de computación de alto desempeño en las ciencias básicas.

Fabio Ribeiro:
«Para mi anduvo todo bien, todo lo que yo quería calcular lo calculé, ahora estoy juntando los resultados y escribiendo. La única limitación que veo (y que pasó con 1 cálculo solamente) es de disco rígido. A veces necesito salvar en mi home los archivos temporarios de Quantum Espresso, por un tiempo (1, 2 semanas). Si el sistema es grande, esos archivos pueden fácilmente pasar de 100GB, y se tengo muchos cálculos, tengo que hacer de a uno cada vez. Hago uno, analizo, termino en 1-2 semanas, limpio todo, y hago el próximo. No puedo correr todos en un intervalo corto de tiempo. Pero este tipo de sistema no es frecuente, entonces no importa mucho.»
Alexis Paz:
«El uso exclusivo fue fundamental para mi investigación. Por supuesto que obtuve resultados, aunque no fueron lo esperado.

En general, para lo que hago yo (cálculo de superficies de energía libre en proteínas), uno tiene que concebir un modelo mental de como funciona la proteína y utilizar 1 o 2 grados de libertad que capturen ese modelo. Luego la simulación se acelera usando esos grados de libertad y se colecta el comportamiento del sistema sobre ellos. Si se comportan como se espera, entonces el modelo esta bien, y se comprueba que la proteína funciona como se pensó. Sin embargo, si se obtienen resultados diferentes, es probable que el modelo no sea el adecuado, y la proteína en realidad funcione diferente. Entonces hay que volver a pensar o corregir el modelo, proponer otros grados de libertad que capturen su esencia, acelerarlos y evaluar los resultados. En resumen es necesario muchas simulaciones que mediante prueba y error nos permitan de apoco entender como funciona la proteína. El uso exclusivo me permitió explorar muchas variables y reconstruir muchas superficies de energía potencial y empezar a considerar que la proteína tiene un mecanismo diferente del que inicialmente concebimos.

Con toda la información colectada en ese periodo estamos trabajando para darle una explicación y decidir que nuevas simulaciones largar para lograr capturar el mecanismo de funcionamiento de esta proteína (la proteína BAX, que inicia el proceso de muerte celular programada).
De haber tenido que largar esto en 1 nodo, tendría que esperar 20 días para poder ver los resultados de 1 o 2 grados de libertad, y luego analizar y proponer otros … meses … en cambio fue todo mucho mas fácil, ya que al poder largar en 6 o 7 nodos los 20 días se hacen 3 y así el trabajo científico de modelar y pensar en el sistema se hace mas dinámico, pudiendo probar muchas mas cosas en poco tiempo.
Por otro lado, ensaye una simulación de réplicas paralelas, pero quedo muy justa para Eulogia. Usando los 14 nodos, alcanzaba una aceleración cuestionable en los modos de libertad del sistema (lo que es el objetivo de esta técnica). Hubiera necesitado mas de 30 nodos para que la aceleración sea importante. Pero esto es una limitación del sistema y del método de simulación. Es decir, ya cuando se vuelve tan caro, mejor dejar la fuerza bruta y volver a trabajar como mencione más arriba. Así que opte por concentrarme en eso, que es igual o mas importante.»
Marcelo Puiatti:
«Lamentablemente por superposición del tiempo asignado con el Workshop en Programación y la tardía comunicación de los resultados, la tesista que lleva adelante el proyecto no puede realizar las simulaciones. Aclaro que al momento de realizar el pedido, no teníamos confirmada la participación de la Tesista en el Workshop y por eso no aclaré la situación en el pedido, error mio.
Nuestro proyecto tiene 2 etapas, realizamos la primer etapa, con archivos que teníamos preparados previamente, pero para la segunda etapa necesitamos dedicación full-time y no llegamos. Yo realicé unas pruebas en estos días, pero no pude resolver un problema que se presentó y no voy a poder utilizar el tiempo que resta. Entre la formación de la Tesista y el avance del proyecto, asignamos prioridad a la formación»
Dante Paz y Federico Stasyszyn:
«Nosotros realizamos varias simulaciones de la estructura de gran escala del Universo con un software que permite seguir la evolución de la materia oscura, de la componente bariónica, y modela algunos proceso astrofísicos, el mas importante la formación estelar (Federico forma parte del equipo de desarrollo de este soft). Realizamos una caja cosmológica de 500 mega parsecs de tamaño, y allí adentro identificamos la regiones conocidas como vacíos, o cosmic voids. En la estructura del Universo las galaxias se agrupan en altas concentraciones que se denominan cúmulos de galaxias, entre estos se forman puentes de materia que se conocen como filamentos. Los filamentos se alinean sobre planos que encierran regiones muy grandes que son los voids que estudiamos. Gracias a este uso exclusivo pudimos realizar varias re-simulaciones de alta resolución del interior de estos vacíos, seleccionados de la caja cosmológica a partir de una clasificación dinámica que desarrollamos acá. Esto nos esta permitiendo estudiar como es la formación estelar, la física de los bariones en ambientes extremos, ya que en el interior de los voids, el universo se expande a mayor taza que la ley de Hubble universal. Las simulaciones ya están siendo analizadas por Agustín Rodríguez, estudiante de la licenciatura en Astronomía, bajo la dirección de Federico Stasyszyn y Dante Paz.»

IPAC 2019, charla de Fabio Busnengo, 15 julio

Se abre la cuarta Iniciativa de Proyectos Acelerados de Cálculo (IPAC) por parte del SNCAD. Para dar guías y ayudas en la presentación el Dr. Fabio Busnengo del IFIR-CONICET y UNR, dará una charla virtual el lunes 15 de julio a las 10am.

La iniciativa IPAC fomenta el uso de equipamiento de HPC adquirido y/o adherido al Sistema Nacional de Computación de Alto Desempeño y te permite, por ejemplo, ejecutar en nuestros clusters asociados Mendieta y Eulogia.

¡Nuevo NAS!

Dante Paz y Federico Stasyszyn sacando uno de los NAS de su caja.

El viejo NAS con un chasis de 9U Chenbro RM91250 remozado en 2016 con dos Xeon E5-2620v3 y 64 GiB de RAM que fuera originalmente comprado para Cristina en 2010, consiguió finalmente un apoyo para almacenar los datos de los usuarios del CCAD-UNC.

El financiamiento fue provisto en dos terceras partes por la UNC y el tercio restante fue asignado en 2016 por parte del SNCAD. Como siempre la compra estuvo plagada de problemas y luego de declarar desierto el concurso de precios en varias oportunidades accedimos por parte del SNCAD a la posibilidad de una compra directa en noviembre del año pasado. Transcurrieron cinco meses hasta obtener los fondos del ex-MinCyT y poder finalizar la compra.

 

El equipamiento son dos servidores de archivos idénticos con las siguientes características técnicas:

El espacio para los 48 discos que serán ocupados por una mezcla entre los discos de 4 TiB intercambiados con DF@UBA que recibimos hace un mes y los discos de 8 TiB de compra comunitaria que hicimos a fin del año pasado.

Se espera que luego de las vacaciones de julio esté activo, a fin de mejorar la velocidad de los home y de la partición scratch.

El CPA Darío Graña en Barcelona

Darío Graña, uno de los tres CPA-CONICET trabajando en el CCAD-UNC, está en una estancia de trabajo en Barcelona, España.
Su lugar de trabajo es Instituto de Ciencias del Espacio (ICECSIC) a través del programa LACEGAL, y sus tareas diarias se desarrollan en el PIC.
Actualmente está trabajando en un algoritmo para calcular la función de correlación de galaxias sobre grandes volúmenes de datos, obtenidos a partir de observaciones y también simulaciones. Las herramientas utilizadas son Hadoop y la biblioteca TreeCorr. El objetivo es realizar el cálculo de la función de manera distribuida, utilizando distintos tipos de coordenadas que varían de acuerdo a los datos.
Este intercambio ha sido posible gracias al Instituto de Astronomía Teórica y Experimental (IATECONICET) donde Darío tiene radicado su cargo de CPA, que forma parte como uno de los nodos de LACEGAL. La estancia tiene una duración total de tres meses.

Eulogia suma 10 TFLOPS

Aunque parezca mentira, hace minutos al ejecutar la lista de trabajos pendientes tenemos 4 nuevos KNLs 7250 en Eulogia.

$ squeue -a
JOBID PARTITION NAME USER ST TIME NODES NODELIST(REASON)
...
8509 soporte xhpl build R 24:16 4 knl[17-20]

Esta es la conclusión de un larguísimo proceso de compra que empezó a fines de 2017 con la adjudicación de un PMT de $300.000 de la SeCyT-UNC para la compra de un nodo más para Eulogia. En este año y medio, los fondos perdieron la mitad de su poder adquisitivo, el ROECYT se venció, tuvimos innumerables problemas para que el SNCAD desenbolse un remanente de dinero que había quedado para gastar; además de tener que buscar nosotros mismos quien nos provea del equipamiento, ya que con la demora, el proveedor adjudicado solo podía encontrar KNMs, luego de que Intel discontinuara toda la línea Xeon Phi a mediados de 2018.

Con este agregado Eulogia ahora cuenta con 5 unidades de 2U de altura, cada una con 4 nodos KNL, totalizando más de 50 TFLOPS Rpeak de potencia de cálculo pico en doble precisión.
La medición del nuevo nodo de 4 KNLs arroja 4.85 TFLOPS, lo cual implica que en conjunto tenemos 24.25 TFLOPS Rmax. Recordemos que la computadora más lenta del Top500 11/2018 tiene 36 veces más potencia que Eulogia, nuestra computadora más potente.

T/V                N    NB     P     Q               Time                 Gflops
--------------------------------------------------------------------------------
WR00C2R2      204000   336    16    16            1167.03              4.850e+03

Estimamos que luego de las pruebas, y conociendo la cantidad de trabajos encolados que hay en espera, estos 4 nuevos procesadores se ocuparán instantáneamente.

Actualización

Se ocupó instantáneamente. Ver lado derecho del gráfico de utilización.

UNC y UBA intercambian partes para mantener infraestructura de HPC

¿Qué hacer cuando no hay plata para comprar más figuritas y querés completar el álbum? Una estrategia posible es intercambiar con otros, lo que para unos es una «repe» para otros es necesaria y viceversa.

En abril de este año los técnicos que mantienen los clusters del DF@UBA, Roberto Dhios, y los clusters del CCAD-UNC, Carlos Bederián, entran en contacto para intercambiar partes. Por un lado el Departamento de Física de UBA había recibido la donación de servidores y discos y el Centro de Computación de Alto Desempeño tenía también producto de una donación, placas y switches Infiniband. Dirac necesitaba mejorar su red y Mendieta, Mulatona y Eulogia necesitaban ampliar un poco su viejo NAS que data de la época de Cristina.

El viernes 31 de mayo se produjo el intercambio. Martín Santos, encargado del hardware del DF, vino de CABA con su auto y trajo infraestructura de almacenamiento:

llevándose a su regreso infraestructura Infiniband DDR:

  • 1 switch Flextronics FX-430073.
  • 33 adaptadores Mellanox MHGS18-XTC.
  • 33 cables Mellanox MCC4L30-002.

 

El resultado del intercambio será provechoso para ambas partes, aunque los discos sean de 2012 y la red de 2005.
El DF@UBA migrará Dirac de gigabit Ethernet que es rápida, pero de alta latencia, a una red Infiniband, que aunque tiene más de 12 años de antigüedad, su prestaciones para el cálculo distribuido son muy superiores gracias a su baja latencia.
Nosotros, en el CCAD-UNC podremos aumentar la capacidad de almacenamiento de nuestro NAS compuesto de 9 Western Digital WD40EFRX-68WT0N0 de 4 TiB y 6 WD WD10EADS-65M2B0 de 1 TiB, pasando de 42 TiB de almacenamiento crudo a 120 TiB de almacenamiento crudo.

Seguimos buscando formas de mantenernos productivos y no tan desactualizados.
Tal vez este sea un tip más para agregar en el artículo de Nature «Seven ways scientists handle technology challenges in resource-poor settings«. Esperemos que sea el último.

Actualización 30 agosto 2019

Las placas IB DDR ya están instaladas en Dirac@DF.UBA y con buenos resultados: ancho de banda TCP/IP de 1.1 GiB/s, latencia de 16.6 µs y un ancho de banda de BeeGFS efectivo de 844 MiB/s.
Todo esto representa una mejora importante para este cluster hecho prácticamente todo de deshechos.

Segundo nodo de cómputo para IA: Nabucodonosor 2

Ya esá listo el segundo nodo de cómputo específico para IA, más conocido como Nabucodonosor 2.

 

 

La base de la computadora para machine learning fue mendieta21, la cual Alejandro Gustowski del Taller de Electrónica de FaMAF adaptó para poder alojar 3 placas NVIDIA GeForce GTX 1080 Ti de 10 TFLOPS de potencia de cálculo pico de simple precisión. Dos placas fueron donadas por la Oficina Córdoba de Mercado Libre mientras que la tercera por el particular Hernán Amiune. La máquina tiene 2 TiB de almacenamiento de estado sólido gracias al Córdoba Technology Cluster.

El equipo es una apuesta más del NodoAI Córdoba que conforman el CTC, FaMAF-UNC y nuestro CCAD-UNC. Este recurso proveerá de fuerza computacional específica para aprendizaje automático para la industria y la academia.

Workshop en Técnicas de Programación Científica llega a la UNC

El Workshop en Técnicas de Programación Científica (WTPC) se realizará este año en la UNC, más específicamente en la Facultad de Ciencias Químicas.

El WTPC es un curso intensivo de dos semanas (80 horas en total), orientado a estudiantes e investigadores en formación que posean nociones básicas de programación, para obtener estrategias y buenas prácticas en el diseño de software científico (GIT, Python, línea de comandos, C, Fortran, debugging, profiling, documentación)

Para inscribirse, completar el siguiente formulario. Las inscripciones son hasta el viernes 31 de mayo.
Más información en http://wtpc.github.io/

Alumno de la UNC obtiene GSoC para «Optimizador de Código para R»

Juan Cruz Rodriguez es alumno del Doctorado en Ciencias de la Computación de FaMAF-UNC bajo la dirección de Elmer Fernández (UCC). Recientemente dictó junto a CPA-CONICET Marcos Mazzini el curso «R en el CCAD«.

Durante la GSoC 2019 Juan Cruz presentó la propuesta «R Code Optimizer» que fue aceptada y comenzará a trabajar desde el 27 de mayo en el optimizador de código para R.

La propuesta es simple, clara y extremadamente útil para una comunidad cada vez más grande de usuarios.

R is slow compared to other popular languages. “The R interpreter is not fast and execution of large amounts of R code can be unacceptably slow”. This is because “R was purposely designed to make data analysis and statistics easier for you to do. It was not designed to make life easier for your computer”. Although there are several R interpreters that attempt to improve execution speed, “switching interpreters is something to consider carefully”.

“Beyond performance limitations due to design and implementation, it has to be said that a lot of R code is slow simply because it’s poorly written. Few R users have any formal training in programming or software development. This means that it’s relatively easy to make most R code much faster”. “A good deal of work is going into making R more efficient. Much of this work consists of reimplementing interpreted R code”.

The main goal of this project is to provide an R package with functions that allow users to automatically apply strategies to optimize their R code. The developed functions will have as input and output R code so that the resulting code will allow the user to understand what modifications in the code cause its optimization.

Felicitamos a «Cancu» por su logro y esperamos que su contribución sea parte de R y que esto implique un uso más eficiente de los recursos computacionales actuales.