Monitoreo
¿Como listo las tareas?
Ejecuto el comando squeue para conocer por ejemplo el estado, tiempo de ejecución e identificador de los trabajos SLURM
[usuario@leftraru1 ~]$ squeue -o "%.15i %.6P %.8j %.20S %.11M %.11L %.20V %.2t %.10q %.4C %.2D %.7W %N " -S -t,-Q JOBID PARTIT NAME START_TIME TIME TIME_LEFT SUBMIT_TIME ST QOS CPUS NO LICENSE NODELIST 12863561 slims test04 2018-07-08T13:57:53 1-20:25:20 1-03:34:40 2018-07-08T13:57:26 R 120 5 1 (null) cn000 12864082 slims test02 2018-07-09T10:44:15 23:38:58 2-00:21:02 2018-07-09T10:43:51 R 120 10 1 (null) cn001 12865333 slims test01 2018-07-10T17:16:38 0:00 3-00:00:00 2018-07-10T09:30:22 PD 120 10 1 (null) 12865334 slims test06 2018-07-10T17:49:42 0:00 3-00:00:00 2018-07-10T09:38:13 PD 120 10 1 (null) 12865335 slims test09 2018-07-11T07:42:16 0:00 3-00:00:00 2018-07-10T09:28:05 PD 120 20 1 (null)
¿Como monitoreo los recursos utilizados por mi tarea?
Conectándose al nodo
Siempre y cuando tengamos tareas corriendo en un nodo, podemos entrar en este vía SSH.
* uptime
Para conocer la carga del nodo, cuantos procesos por core existen actualmente.
[usuario@leftraru1 ~]# ssh cn109 usuario@cn000 s password: [usuario@cn000 ~]# uptime 10:40:59 up 27 days, 16:46, 1 user, load average: 17.04, 13.76, 13.09
* User Stats
Este script permite revisar:
La memoria por core (en kb)
[usuario@cn000 ~]$ /home/apps/nlhpc/bin/user_stats.sh mem 00 371695616 01 373268480 02 367038464 03 363290624 04 367382528
Cantidad de procesos por core
[usuario@cn000 ~]$ /home/apps/nlhpc/bin/user_stats.sh load 00 1 01 2 02 1 03 1 04 1
* htop
Es un visor de procesos en linux, basado en ncurses.
[usuario@cn109 ~]# htop
<gallery>
A través de Ganglia
Ganglia es un sistema de monitoreo distribuido para sistemas HPC, por cada uno de los nodos de cómputo de las diferentes particiones están disponibles los gráficos de memoria, carga, porcentaje de cpu usada, tráfico, etc.
300px-Ganglia.png
A través de Dashboard
Panel de visualización del estado de los nodos. Muestra una vista rápida del estado de los nodos (de login y de cómputo) y uso general del cluster, ademas de encontrar el listado de tareas en ejecución, pendientes, históricos.
En el correo de notificación
Al terminar una tarea se adjuntan las siguientes gráficas:
Porcentaje de uso por core
300px-Correo CPU.png
Memoria utilizada por core
300px-Correo MEMxCPU.png
Archivo report.log
job_id=12668XXX user=usuario mail=None start_time=2018-07-09T06:51:34 running_time=3:53:28 cores_total=10 nodes_raw=cn094 alarm_cpu=True alarm_memory=False watch|avg|std|ptotal=10800|30|20|50 ptcw=70 command=/home/usuario/tarea.sh nodes={'cn094': {'mem': '10000', 'cpu': [0, 2, 3, 4, 5, 6, 7, 8, 9, 10]}} alarm_count=1 last_time=1531147611 iter=2 job_cancel=None modules=[] n=cn094
mem max:3586 resv:10000 cpu=10 avg=91.00 std=45.77 / all avg=0.00 std=0.00 cpu= 0 avg=98.19 std=44.53 / all avg=0.00 std=0.00
- cpu= 3 avg=0.56 std=0.50 / all avg=0.47 std=0.50
- cpu= 2 avg=0.86 std=0.35 / all avg=0.66 std=0.47
- cpu= 5 avg=0.64 std=0.48 / all avg=0.49 std=0.50
- cpu= 4 avg=0.53 std=0.50 / all avg=0.40 std=0.49
cpu= 7 avg=82.11 std=48.93 / all avg=0.00 std=0.00
- cpu= 6 avg=0.56 std=0.50 / all avg=0.45 std=0.50
- cpu= 9 avg=0.47 std=0.50 / all avg=0.36 std=0.48
- cpu= 8 avg=0.72 std=0.45 / all avg=0.79 std=0.41
En mem max:3586 resv:10000 se destaca que el máximo de memoria utilizada por la tarea ha sido de 3568M Por cada una de los cores se despliega: el uso promedio de cada core, la desviación estándar en las últimas 3 horas / del total de tiempo de ejecución.