Pourquoi la visualisation à distance ?
Les logiciels scientifiques génèrent souvent de grosses quantités de données, qu’il sera nécessaire de post-traiter, par exemple en utilisant des logiciels de visualisation.
Ces logiciels demandent des ressources non négligeables (carte graphique, mémoire) pas toujours disponibles dans les laboratoires. Il est par ailleurs laborieux de rapatrier systématiquement en local de gros fichiers de données.
La visualisation à distance permet de résoudre ces difficultés :
- Les fichiers n’ont pas besoin d’être transférés
- Les ressources graphiques nécessaires se trouvent à Calmip, il n’y a pas besoin de grosse station graphique au laboratoire pour visualiser les données, même en 3D, dans de bonnes conditions
ATTENTION - VERSION DE TUBOVNC REQUISE = 2.2.2 !
Prérequis
- java doit être installé sur votre machine. Pour des détails sur l'installation de java, voir ici.
- Le logiciel turboVnc version 2.2.2 doit être installé sur votre poste de travail. Vous n’avez pas besoin de l’intégralité du paquet, seule la partie client (
vncviewer
) est utile. - Vous pouvez le télécharger ici
- Une fois téléchargé et dézippé, vous pouvez exécuter le logiciel par la commande (macOs, gnu/linux) :
/chemin/vers/TurboVNC/bin/vncviewer
Comment se connecter ? (en 3 petites étapes)
Etape 1
Connectez-vous sur Olympe par ssh voir ici pour avoir plus de détails. si nécessaire, vous pouvez passer par le VPN. Par exemple :
ssh username [at] olympe [dot] calmip [dot] univ-toulouse [dot] fr
Étape 2 :
Dans la fenêtre d’Olympe, lancez une session de visualisation :
runVisuSession.sh
Il s’agit d’une session interactive, qui ne doit pas être interrompue : si vous l’interrompez (par CTRL-C par exemple ou en fermant la fenêtre), la connexion graphique s’interrompt.
Dans l’exemple ci-dessous l’ÉTAPE 1 a utilisé une connexion VPN :
# runVisuSession.sh + ================================================ + Point TurboVnc viewer on your computer to : 127.0.0.1:11310 CAUTION: DO NOT CLOSE this slurm job + ================================================ ...
Etape 3:
Sur votre poste, lancez l’exécutable suivant de turboVNC :
vncviewer-java
- Entrez dans le champ VNC Server l’adresse donnée par le script ci-dessus : dans notre exemple
127.0.0.1:11300
(parce que vous passez par le VPN de Calmip). - Entrez dans le champ User name votre nom d’utilisateur.
- Entrez dans le champ Password votre mot de passe.
- Le gestionnaire de fenêtre utilisé est fluxbox, cliquez avec le bouton de droite de la souris pour faire apparaitre le menu. La plupart des applications graphiques (paraview, vmd, etc) peuvent être lancées à partir de ce menu.
- Pour avoir accès aux caractères de contrôle, passer en plein écran, etc. pressez sur la touche F8 pour afficher le menu VNC
- Certaines options peuvent être utilisées avec le script RunVisuSession.sh, elles sont décrites ci-dessous
Toutes les communications entre votre poste de travail et le nœud graphique sont chiffrées
Quelques raccourcis clavier:
Par défaut les touches de contrôle ne sont pas utilisables car elles sont interceptées par votre poste de travail. Mais cela peut être modifié (à condition d’utiliser 4 doigts !) par :
CTRL-SHIFT-ALT G
Attention dans ce cas la session graphique a tout le contrôle de votre clavier, du coup c’est votre poste de travail qui ne répondra pas à votre clavier ni dans certains cas à la souris (on a l’impression qu’il est planté, mais ce n’est pas vrai). Dans ce cas, pressez à nouveau sur CTRL-SHIFT-ALT G
pour retrouver le fonctionnement normal.
Si vous travaillez longtemps sur la visualisation, vous aimerez probablement passer en plein écran :
CTRL-SHIFT-ALT F
Plus de résolution, plus de mémoire, plus de processeurs:
Pour la quantité de mémoire allouée (5Go par défaut) ou le nombre de cœurs utilisés (1 cœur par défaut), vous pouvez utiliser les options suivantes avec la commande runVisuSession.sh
:
-m Xgb
(max 50 Gb)-n Z
(max 4 cœurs)--desktop gnome
-h
Affiche l’aide
Plus d’applications:
Si vous souhaitez utiliser une application non déclarée dans le menu, vous pouvez :
- Ouvrir un terminal (première option du menu) puis appeler votre application en ligne de commande.
- Personnaliser le menu de la manière suivante :
cd cp .fluxbox-menu.priv-dist .fluxbox-menu.priv vi .fluxbox-menu.priv
Vous pouvez vous aider du fichier ~/.fluxbox/menu
ou lire la documentation [35]
En cas d’accès réseau difficiles:
Si vous travaillez sur un site distant, ou via une liaison de mauvaise qualité, vous aurez peut-être de mauvaises performances graphiques, au moins en 3D.
Vous avez alors la possibilité de dégrader la qualité de l’image afin d’améliorer son interactivité :
- Cliquez sur le bouton en haut à gauche de la fenêtre TurboVnc
- Une fenêtre s’ouvre, vous donnant accès à deux outils permettant de jouer sur la compression jpeg : le premier diminue ou supprime les couleurs, le second joue sur la résolution
Partager sa session graphique
Il est possible de partager la session graphique : dans fluxbox cliquez sur l’option du menu "Sharing your session", une fenêtre s’ouvrira et vous donnera la possibilité de disposer d’un mot de passe à usage unique que vous pourrez envoyer à votre correspondant pour lui permettre de travailler :
- en lecture seule : vous travaillez et vos correspondants peuvent suivre ce que vous faites, mais ils ne peuvent pas intervenir
- en lecture-écriture : travail à plusieurs sur la même session. Attention, vous donnez ainsi à votre correspondant accès à tout votre compte sur Olympe !
Vous pouvez partager la session plusieurs fois, autant de fois que de partages simultanés souhaités. Pour chaque correspondant vous devrez générer un nouveau mot de passe.
⚠️ Le correspondant doit lancer le client vncviewer avec l'option -NoUnixLogin=1
Comment ça marche ?
Tout cela fonctionne grâce à :
- Un nœud graphique de 392Gb de mémoire, deux sockets de 18 cœurs chacun
- Quatre cartes graphiques nvidia volta
- Le logiciel virtualGL
Le schéma général de l’installation logicielle est résumé ci-dessous :