Visualisation graphique à distance

Calmip met à disposition des utilisateurs deux nœuds graphiques, permettant de visualiser ses données à distance

Article mis en ligne le 12 décembre 2014
dernière modification le 7 avril 2017
logo imprimer

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

Prérequis

  • Le logiciel turboVnc doit être installé sur votre poste de travail. Vous n’avez pas besoin de l’intégralité du paquetage, seule la partie client (vncviewer) est utile
  • Si vous ne souhaitez pas l’installer, il est possible d’utiliser notre déploiement java web start
  • Pour des conseils d’installation de java, voir ici

Comment se connecter ?

  • Connectez-vous sur eos [1] par
  • Dans la fenêtre eos, lancez une session de visualisation :
    cadre>runVisuSession.sh
  • Certaines options peuvent être utilisées avec ce script, elles sont décrites ci-dessous. Ce script vous fournira une URL de connexion au serveur VNC, ainsi qu’un mot de passe à usage unique.
  • Le script runVisuSession.sh soumet un job dans la queue graphique. Cela a plusieurs conséquences :
    • Si les nœuds graphiques sont déjà occupés, peut-être que vous serez mis en attente. Dans ce cas, réessayez un peu plus tard.
    • Le walltime de la queue graphique est fixé à 2h00 : cela signifie que vos travaux graphiques ne peuvent s’étendre sur plus de deux heures d’affilée.
    • 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. Par contre vous pouvez la passer en tâche de fond par :
  • Sur votre poste, lancez l’exécutable de turboVNC :
    • Entrez dans le champ VNC Server l’adresse donnée par le script ci-dessus
    • Laissez vide le champ User name
    • Entrez dans le champ Password le mot de passe fourni (attention au copier-coller qui peut ajouter des caractères indésirables ! Il est préférable de retaper le mot de passe à la main)
  • 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 (paraview, vmd, etc) peuvent être lancées à partir de ce menu. Si vous ne trouvez pas votre application, lisez ci-dessous les explications.

Plus de résolution, plus de mémoire, plus de processeurs

Pour changer la résolution par défaut, la quantité de mémoire allouée (5Go par défaut [2]) 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 :

  • -g LargeurxHauteur
  • -m Xgb (max 120 Gb)
  • -n Z (max 20 cœurs)
  • -h Affiche l’aide

Plus d’applications

Si vous souhaitez utiliser une application non déclarée dans le menu, vous pouvez :

  • Ouvrir un gnome-terminal (première option du menu) puis appeler votre application en utilisant la commande vglrun pour bénéficier d’opengl : par exemple vglrun paraview
  • Personnaliser le menu de la manière suivante :

Vous pouvez vous aider du fichier ~/.fluxbox/menu ou lire la documentation [3]

En cas d’accès réseau difficiles

Si vous travaillez sur un site distant, ou via une liaison de mauvasie 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

Crypter la communication avec le serveur VNC

ATTENTION Si vous travaillez à partir d’une IP autorisée, tout ce qui passe par la liaison ssh sera crypté, mais pas le trafic généré par VNC : il n’y a pas de risque de vol de mot de passe puisque nous utilisons des mots de passe à usage unique, mais les appels graphiques peuvent être interceptés. Si vous souhaitez disposer d’une meilleure sécurité, vous avez deux solutions :

  1. Utiliser l’accès à travers le VPN, qui est lui crypté de bout en bout.
  2. Si vous êtes sur une IP autorisée, vous pouvez vous connecter au serveur de visualisation par un tunnel ssh. Le script runVisuSession.sh explique comment établir le tunnel ssh si votre poste de travail tourne sous gnu/linux ou macOs : il vous suffit de copier-coller la commande proposée dans un terminal. Si vous êtes sous windows c’est ici. [4].

Partager sa session graphique

Il est possible de partager la session graphique : cliquez sur l’option du menu "Sharing your session", une fenêtre s’ouvrira et vous donnera la possibilité de disposer d’un nouveau 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 eos ! Ce type d’accès est obligatoirement crypté (via le VPN ou via un tunnel ssh)

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.

Comment ça marche ?

Tout cela fonctionne grâce à :

  • Deux nœuds graphiques de 128Gb de mémoire, deux sockets de 10 cœurs chacun
  • Quatre cartes graphiques nvidia, deux cartes sur chaque nœud (Nvidia Quadro 6000)
  • Le logiciel virtualGL

Le schéma général de l’installation logicielle est résumé ci-dessous :

Notes :

[1voir ici pour avoir plus de détails

[2Attention vous serez vite amené à demander plus de mémoire. De manière générale, la mémoire utilisée est largement plus importante que la taille des données à visualiser

[3Attention ne modifiez pas ce fichier, il est écrasé de temps en temps par fluxbox !

[4Vous pouvez aussi lire ici la page consacrée aux tunnels ssh, dans le cas de la visualisation il vous faudra rediriger le port 5900 de poste de travail vers eosvisu1 ou eosvisu2, le port 5900 + display



Site réalisé sous SPIP
avec le squelette ESCAL-V3
Version : 3.86.44
Hébergeur : INP Toulouse