Table of Contents
Nodos de visualización
Existe una demanda de los usuarios para poder utilizar bibliotecas de visualización para poder realizar gráficos de los datos que generan a partir de las simulaciones que realizan en el cluster.
Existen dos posibilidades:
- Utilizan el nodo de login (snmgt01/02) para hacer gráficos sencillos (gnuplot/matplotlib) y redirigen el display via SSH (ssh -X / ssh -Y) para poder ver el output en su equipo local.
- Utilizan un nodo de visualización (vlmgt01/02) para demandas gráficas más intensivas (ovito/vesta/xcrysden) y utilizan un protocolo de comunicación enfocado a este tipo de tareas.
Exploración
Este documento es un dump donde voy a documentar distintas opciones que testee, ya que a priori no está claro cual es la mejor estrategia o herramienta para ello.
Ya estuve haciendo algunas pruebas antes de comenzar a documentar, por lo que puede que haya algo que se me olvide de agregar.
Estuve usando los nodos que finalizan en 02 para los tests (snmgt02 / vlmgt02). Me gustaría estudiar la posibilidad de hacer una reinstalación de los nodos de visualización para poder revertir los cambios hechos y poder documentarlos mejor. De esta manera, asegurarme que se puede reproducir la instalación en los nodos de visualización y login.
X11
En caso de querer tunelear el display por SSH de forma más sencilla, son necesarias algunas tools de X11 en el nodo.
Estas se pueden instalar con dnf.
dnf install xorg-x11-xauth xorg-x11-apps mesa-dri-drivers
Para redigirig el display a la computadora local, hace falta hacer ssh con alguna de las siguientes opciones:
- -XC (untrusted y compressed)
- -YC (trusted y compressed)
ssh -YC -J bbruzzo@172.29.3.3 bbruzzo@172.28.253.12
Se puede testear si está funcionando correctamente con alguna de estas tools (entre otras):
- xeyes
- xclock
- glxgears
Benchmark de Bandwith con iperf3
Usé iperf3 para medir el bandwith via ssh.
En el nodo destino, en este ejemplo, snmgt02:
iperf3 -s -p 5201
Abrir un túnel desde la sesión local:
ssh -L 6002:localhost:5201 -J bbruzzo@172.29.3.3 bbruzzo@172.28.253.12 -N -f
Lanzar iperf3 desde la sesión local:
iperf3 -c localhost -p 6002
Observamos en la sesión local:
$ iperf3 -c localhost -p 6002 Connecting to host localhost, port 6002 [ 5] local ::1 port 39988 connected to ::1 port 6002 [ ID] Interval Transfer Bitrate Retr Cwnd [ 5] 0.00-1.00 sec 12.1 MBytes 102 Mbits/sec 11 465 KBytes [ 5] 1.00-2.00 sec 8.00 MBytes 67.1 Mbits/sec 14 465 KBytes [ 5] 2.00-3.00 sec 7.50 MBytes 62.9 Mbits/sec 10 465 KBytes [ 5] 3.00-4.00 sec 7.62 MBytes 64.0 Mbits/sec 6 465 KBytes [ 5] 4.00-5.00 sec 8.62 MBytes 72.3 Mbits/sec 12 625 KBytes [ 5] 5.00-6.00 sec 7.50 MBytes 62.9 Mbits/sec 7 625 KBytes [ 5] 6.00-7.00 sec 8.50 MBytes 71.3 Mbits/sec 3 625 KBytes [ 5] 7.00-8.00 sec 8.75 MBytes 73.4 Mbits/sec 1 625 KBytes [ 5] 8.00-9.00 sec 6.88 MBytes 57.7 Mbits/sec 6 625 KBytes [ 5] 9.00-10.00 sec 9.25 MBytes 77.6 Mbits/sec 4 625 KBytes - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-10.00 sec 84.8 MBytes 71.1 Mbits/sec 74 sender [ 5] 0.00-10.27 sec 82.4 MBytes 67.3 Mbits/sec receiver iperf Done.
Y en la sesión remota que teníamos abierta ahora se observa:
[bbruzzo@snmgt02 ~]$ iperf3 -s -p 5201 ----------------------------------------------------------- Server listening on 5201 ----------------------------------------------------------- Accepted connection from ::1, port 33486 [ 5] local ::1 port 5201 connected to ::1 port 33494 [ ID] Interval Transfer Bitrate [ 5] 0.00-1.00 sec 7.58 MBytes 63.6 Mbits/sec [ 5] 1.00-2.00 sec 8.12 MBytes 68.2 Mbits/sec [ 5] 2.00-3.00 sec 8.03 MBytes 67.4 Mbits/sec [ 5] 3.00-4.00 sec 8.10 MBytes 68.0 Mbits/sec [ 5] 4.00-5.00 sec 8.13 MBytes 68.2 Mbits/sec [ 5] 5.00-6.00 sec 8.09 MBytes 67.9 Mbits/sec [ 5] 6.00-7.00 sec 8.09 MBytes 67.9 Mbits/sec [ 5] 7.00-8.00 sec 8.03 MBytes 67.3 Mbits/sec [ 5] 8.00-9.00 sec 8.04 MBytes 67.5 Mbits/sec [ 5] 9.00-10.00 sec 7.97 MBytes 66.9 Mbits/sec [ 5] 10.00-10.27 sec 2.20 MBytes 69.2 Mbits/sec - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate [ 5] 0.00-10.27 sec 82.4 MBytes 67.3 Mbits/sec receiver ----------------------------------------------------------- Server listening on 5201 -----------------------------------------------------------
TO DO: Explorar formas más fehacientes para testear el bandwith. Ejemplo en la documentación de iperf3.
(TO DO) TurboVNC y VirtualGL
Explicar como usar estas herramientas en los nodos de visualización Acelaración por hardware con las GPUs nvidia, etc.
(TO DO) Slurm
Explicar como se podría limitar el uso de los nodos de visualización a través de slurm, usando PAM, y como podrían hacer los usuarios para hacer ssh a los mismos.
Estaría bueno que puedan directamente hacer ssh <user> viz1.clementinaxxi.org.ar
