====== 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. [[https://iperf.fr/iperf-doc.php#repmode|Ejemplo en la documentación de iperf3]].
==== (TO DO) TurboVNC y VirtualGL ====
[[https://turbovnc.org/|TurboVNC]]
[[https://virtualgl.org/|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 viz1.clementinaxxi.org.ar