Cancelación de Tareas

De usuarios.nlhpc.cl
Revisión a fecha de 13:45 10 jul 2018; Ecabrera (Discusión | contribuciones)

(dif) ← Revisión anterior | Revisión actual (dif) | Revisión siguiente → (dif)
Saltar a: navegación, buscar

Nuestro objetivo en el clúster es velar por el uso óptimo de los recursos, por lo que estamos continuamente monitoreándo el uso de los nodos.

Para estos fines enviamos una notificación a las 2 horas, y si presenta el mismo comportamiento en 2 horas más, enviamos otra notificación y procedamos a la cancelación de la tarea. En ambos correos incluimos gráficos del uso de CPU y memoria por cada nodo.

Solo aplicamos las siguientes reglas en la partición slims.

Por uso de CPU

Procederemos a cancelar la tarea en el caso de que la mitad del total de cores reservados muestre un porcentaje de uso menor o igual a un 30% en un lapso de 4 horas.

Por uso de Memoria

En el caso de que la memoria reservada por core en los nodos slims sea mayor a 2400MB o para los nodos fats mayor a 3200MB, se activa el proceso de verificación del uso de memoria RAM para su tarea para garantizar al menos 70% de uso correcto de todo el recurso reservado. Esta condición será revisada desde el inicio de la tarea y si no alcanza el mencionado límite, la tarea será cancelada de forma automática.

Cabe destacar que si su tarea necesita reservar 3200MB por core, usted debe garantizar que sea ejecutada en los nodos gruesos, incorporando cualquiera de los siguientes parámetros a su script de lanzamiento (sbatch):

  • -x cn[001-042]: excluir los nodos delgados cn001 a cn042
  • -w cnf[001-004]: seleccionar solo los nodos gruesos

Por lo anterior, lo recomendado es enviar la tarea solo a los nodos gruesos para que no sea evaluada/cancelada con la restricción de los nodos delgados (2400M por core),

El siguiente es un ejemplo completo del sbatch:

#SBATCH -n 20
#SBATCH --ntasks-per-node=5
#SBATCH --mem-per-cpu=3200
#SBATCH -w cnf[001-004]

Ejemplo

En el siguiente caso se hace una reserva de 11 cores y 48G de memoria:

Cpu subutilizacion.png

Se puede observar que el uso efectivo es de solo 1 core a la vez.

Memoria subutilizacion.png

Además, SLURM asignó por core al menos (48000/11) 4300M de memoria, cuando el uso de la tarea solo fue de 5M (los valores del gráfico se presentan en bytes).

Referencias