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.