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.

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.