Diferencia entre las páginas «Https://wiki.nlhpc.cl/Hardware Disponible» y «Monitoreo»

De NLHPC
(Diferencia entre las páginas)
Sin resumen de edición
 
 
Línea 1: Línea 1:
El NLHPC cuenta actualmente con los siguientes recursos computacionales, distribuidos en varias particiones [https://wiki.nlhpc.cl/SISTEMA_GESTOR_DE_RECURSOS SLURM]:
== ¿Como listo las tareas? ==
Ejecuto el comando [https://slurm.schedmd.com/squeue.html squeue] para conocer por ejemplo el estado, tiempo de ejecución e identificador de los trabajos [https://wiki.nlhpc.cl/SISTEMA_GESTOR_DE_RECURSOS SLURM]
<pre>
[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)
</pre>


== ¿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.


<table border="0" style="background:#ffffff" align="top" class="sortable wikitable">
==== * uptime ====
<caption align="center" style="background:DarkSlateBlue; color:white"><big><b>Partición general</b></big>
Para conocer la carga del nodo, cuantos procesos por core existen actualmente.
</caption>
<pre>
<tr>
[usuario@leftraru1 ~]# ssh cn109
<th width="60 px" style="background:Lavender; color:Black">Nodo
usuario@cn000 s password:
</th>
[usuario@cn000 ~]# uptime
<th width="80 px" style="background:Lavender; color:Black">Modelo
10:40:59 up 27 days, 16:46,  1 user,  load average: 17.04, 13.76, 13.09
</th>
</pre>
<th width="80 px" style="background:Lavender; color:Black">Cantidad
</th>
<th width="100 px" style="background:Lavender; color:Black">Procesador
</th>
<th width="120 px" style="background:Lavender; color:Black">RAM
</th>
<th width="140 px" style="background:Lavender; color:Black">Infiniband
</th></tr>
<tr>
<td>sn[001-048]</td>
<td>Dell PowerEdge C6420</td>
<td>48</td>
<td>2 x Intel Xeon Gold 6152 CPU @ 2.10GHz, 22 cores C./U.</td>
<td>187 GB</td>
<td>Infiniband FDR
</td></tr>
</table>


==== * User Stats ====
Este script permite revisar:


===== La memoria por core (en kb) =====
<pre>
[usuario@cn000 ~]$ /home/apps/nlhpc/bin/user_stats.sh mem
00 371695616
01 373268480
02 367038464
03 363290624
04 367382528
</pre>


===== Cantidad de procesos por core =====
<pre>
[usuario@cn000 ~]$ /home/apps/nlhpc/bin/user_stats.sh load
00 1
01 2
02 1
03 1
04 1
</pre>


<table border="0" style="background:#ffffff" align="top" class="sortable wikitable">
==== * htop ====
<caption align="center" style="background:DarkSlateBlue; color:white"><big><b>Partición largemem</b></big>
Es un visor de procesos en linux, basado en ncurses.
</caption>
<pre>
<tr>
[usuario@cn109 ~]# htop
<th width="60 px" style="background:Lavender; color:Black">Nodo
</pre>
</th>
<th width="80 px" style="background:Lavender; color:Black">Modelo
</th>
<th width="80 px" style="background:Lavender; color:Black">Cantidad
</th>
<th width="100 px" style="background:Lavender; color:Black">Procesador
</th>
<th width="120 px" style="background:Lavender; color:Black">RAM
</th>
<th width="140 px" style="background:Lavender; color:Black">Infiniband
</th></tr>
<tr>
<td>fn[001-009]</td>
<td>Dell PowerEdge R640</td>
<td>9</td>
<td>2 x Intel Xeon Gold 6152 CPU @ 2.10GHz, 22 cores C./U.</td>
<td>765 GB</td>
<td>Infiniband FDR
</td></tr>
</table>


[[Archivo:Htop.png|no|htop]]




<table border="0" style="background:#ffffff" align="top" class="sortable wikitable">
.
<caption align="center" style="background:DarkSlateBlue; color:white"><big><b>Partición gpus</b></big>
</caption>
<tbody><tr>
<th width="60 px" style="background:Lavender; color:Black">Nodo
</th>
<th width="80 px" style="background:Lavender; color:Black">Modelo
</th>
<th width="80 px" style="background:Lavender; color:Black">Cantidad
</th>
<th width="100 px" style="background:Lavender; color:Black">Procesador
</th>
<th width="160 px" style="background:Lavender; color:Black">GPU
</th>
<th width="120 px" style="background:Lavender; color:Black">RAM
</th>
<th width="140 px" style="background:Lavender; color:Black">Infiniband
</th></tr>
<tr>
<td>gn[001-002]</td>
<td>Dell PowerEdge R740</td>
<td>2</td>
<td>2 x Intel Xeon Gold 6152 CPU @ 2.10GHz, 22 cores C./U.</td>
<td>2x NVIDIA Tesla V100 C/U.</td>
<td>187 GB</td>
<td>Infiniband FDR
</td></tr>
</table>


=== 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.


<table border="0" style="background:#ffffff" align="top" class="sortable wikitable">
[[Archivo:Ganglia.png|no|300px]]
<caption align="center" style="background:DarkSlateBlue; color:white"><big><b>Partición slims</b></big>
</caption>
<tr>
<th width="60 px" style="background:Lavender; color:Black">Nodo
</th>
<th width="80 px" style="background:Lavender; color:Black">Modelo
</th>
<th width="80 px" style="background:Lavender; color:Black">Cantidad
</th>
<th width="100 px" style="background:Lavender; color:Black">Procesador
</th>
<th width="120 px" style="background:Lavender; color:Black">RAM
</th>
<th width="140 px" style="background:Lavender; color:Black">Infiniband
</th></tr>
<tr>
<td>cn[001-132]</td>
<td>HP ProLiant SL230s Gen8</td>
<td>128</td>
<td>2 x Intel Xeon E5-2660v2 @ 2,20GHz, 10 cores C./U.</td>
<td>46 GB</td>
<td>Infiniband FDR
</td></tr>
</table>


=== A través de [http://dashboard.nlhpc.cl/ 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.


La partición debug es para uso exclusivo de pruebas que duren hasta 30 minutos. Cualquier trabajo que supere ese tiempo es cancelado automáticamente.
=== En el correo de notificación ===
Al terminar una tarea se adjuntan las siguientes gráficas:


==== Porcentaje de uso por core ====
[[Archivo:300px-Correo CPU.png|izquierda]]


<table border="0" style="background:#ffffff" align="top" class="sortable wikitable">
==== Memoria utilizada por core ====
<caption align="center" style="background:DarkSlateBlue; color:white"><big><b>Partición debug</b></big>
</caption>
<tr>
<th width="60 px" style="background:Lavender; color:Black">Nodo
</th>
<th width="80 px" style="background:Lavender; color:Black">Modelo
</th>
<th width="80 px" style="background:Lavender; color:Black">Cantidad
</th>
<th width="100 px" style="background:Lavender; color:Black">Procesador
</th>
<th width="120 px" style="background:Lavender; color:Black">RAM
</th>
<th width="140 px" style="background:Lavender; color:Black">Infiniband
</th></tr>
<tr>
<td>leftraru[1-4]</td>
<td>HP ProLiant DL360p Gen8</td>
<td>4</td>
<td>2 x Intel Xeon E5-2660v2 @ 2,20GHz, 10 cores C./U.</td>
<td>59 GB</td>
<td>Infiniband FDR
</td></tr>
</table>


La capacidad total de Leftraru a día de hoy es de 5236 cores y 266 TFlops.
[[Archivo:300px-Correo MEMxCPU.png|izquierda]]


Para más información respecto a la utilización del sistema gestor de colas y uso de recursos vea el siguiente enlace: [[https://wiki.nlhpc.cl/SISTEMA_GESTOR_DE_RECURSOS SLURM]
==== Archivo report.log ====
<pre>
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
</pre>
 
* 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.

Revisión del 16:00 6 sep 2022

¿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
htop


.

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.

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

Memoria utilizada por core

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.