pro-viz is a new service for users of Ares or Prometheus which allows running GUI mode of software using TurboVNC

More about TurboVNC can be found on its page: TurboVNC


Service assumptions

Service should allow to run GUI software as Matlab, Mathematica, Maple, Ansys Workbench/Mechanical/Fluent/Electronic Desktop and more using HPC clusters.

Requirements

User need to install TurboVNC software on the PC which will be used for connection with cluster and of course has a grant on Ares or Prometheus.

TurboVNC usually install in path /opt/TurboVNC/bin on Linux (Ubuntu, Mint, Fedora, etc.) so you may want to add this directory to your PATH env variable.

To run TurboVNC you have to install Java JRE x86.

Running pro-viz on a cluster

At first step user need to run pro-viz on the cluster. To use it you need to load software module of pro-viz: module load  tools/pro-viz on Prometheus or pro-viz on Ares.

pro-viz command syntax is presented below:

Usage: pro-viz
  start [-n CORES | -N NODES | -p PARTITION | -t TIME | -A ACCOUNT | -r RESERVATION | -g GPUS | -C constraints | -m EMAIL-ADDRESS ] - start a new batch session
  interactive [ -p PARTITION | -t TIME | -A ACCOUNT | -r RESERVATION | -g GPUS | -C constraints  ] - start a new interactive session
  list - list all sessions
  attach JOBID - attach session to a working job with JOBID
  password JOBID - generate access token for session JOBID
  stop JOBID - terminate session JOBID
  killall - terminate all sessions
  help - duh

In this tutorial will be presented running one job on cluster Prometheus with 1 full working node, 24CPU. To do this you need to run commands:

module load tools/pro-viz
pro-viz start -N 1 -n 24 -p plgrid -A provizgrant -t 03:00:00
Now the job need to start. Job status may be checked with pro-viz list command, which will list all jobs:

JOBID                   HOST    DISPLAY
------                  -----   -------
4201152                 p1788     1

The output means, that the job with JOBID 4201152 was started on working node p1788 on display 1. This info will be required to set up connection with Java TurboVNC client.

Running Java TurboVNC client

Now it is required to run Java TurboVNC client on your PC and set up connection using the data from pro-viz commands. First you need to open the tunnel to cluster with Java TurboVNC client: Options... -> Security -> Gateway (SSH server or UltraVNC repeater). You need to disable option Extended encryption and authentication (VeNCrypt) and set as 'SSH user' write PLGrid login: plg..., and as 'Host' cluster hostname:

  • pro.cyfronet.pl for Prometheus
  • ares.cyfronet.pl for Ares


    

After 'OK' go back to main window and as 'VNC server' write hostname and display in HOST:DISPLAY notation, ie. p1788:1:

After 'Connect' you need to give password to the cluster, the username will be the same as in 'Gateway...' configuration:

Next you need to write password for VNC server. Password is generated with pro-viz command: pro-viz password JOBID, where JOBID is ID of the job in pro-viz list command, ie. pro-viz password 4201152. Password is one-time password and may be created only for running jobs.

As output we will get one-time password (for external client) which we copy to VNC window. In the next steps we assume the password is '000000'.

If you use linux/macos termina, you may use command vncviewer, which is also present as output:

vncviewer -via plg...@pro.cyfronet.pl -password=000000 p1788:1

After connect you can use the terminal and run software as usual, but with GUI available.

First module loadedn in terminal should be tools/pro-viz


Below you can see Matlab example in GUI on pro-viz:

Disconnection from the session

The session (main window of Java TurboVNC client) may be closed. To attach once more you need to recreate new password and connect as described above.

Closing the session

To close the session and end the job you may stop it from the terminal using pro-viz stop command:

pro-viz stop 4201152

Of using logout from Xfce GUI:

Software-specific configuration

Jupyter via pro-viz service

Prometheus


Ares