Created MPCDF RVS (markdown) authored by Markus Rampp's avatar Markus Rampp
# A user's guide to the Hydra remote visualization services
### MPCDF User accounts
in order to get access to remote visualization facilities at the MPCDF
NOMAD members are invited to request an MPCDF account via [this link]:(https://www.mpcdf.mpg.de/secure/registrieren/antrag.php?deisa=0&inst=MFH&projekt=NOMAD%2FWP3&lang=en)
### Client software requirements
Visualization sessions on Hydra run on top of a VNC server to which the
user connects via the Internet. A VNC viewer and an SSH client are the
software components necessary on the client side. The VNC server used on
Hydra is TurboVNC (Version 1.2.3) which is recommended on the client
side as well.
Installation packages for all relevant operating systems can be
downloaded at
[http://sourceforge.net/projects/turbovnc/files/1.2.3/](http://sourceforge.net/projects/turbovnc/files/1.2.3/).\
Newer versions may work as well.
On Linux systems, TurboVNC requires libjpeg-turbo, available
at [http://sourceforge.net/projects/libjpeg-turbo/files/1.4.2/](http://sourceforge.net/projects/libjpeg-turbo/files/1.4.2/).
In addition, the packages are available on Hydra at\
/u/system/SLES11/soft/remotevis/packages/client/.
In particular, the software recommendations for popular operating
systems are:
Linux and Mac clients
---------------------
- TurboVNC\
Make sure to add /opt/TurboVNC/bin to your PATH environment
variable.
- libjpeg-turbo
- SSH client (comes with your operating system, typically)
Windows clients
---------------
- TurboVNC
- SSH client. The PuTTY SSH client is recommended. It can be
downloaded
at [http://www.chiark.greenend.org.uk/\~sgtatham/putty/download.html](http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html).
### How to launch a remote visualization session on Hydra
Log in to Hydra and load the environment module "remotevis":
$ module load remotevis
If you haven't used Hydra remote visualization before, it is necessary
to create a user-specific configuration in your homedirectory. The
`setup_remotevis` script is used to do the configuration work. Issue
$ setup_remotevis
and follow the instructions. The script will set up a VNC password and
copy some configuration files into your homedirectory. In particular, a
[LoadLeveler submit
script](http://www.mpcdf.mpg.de/services/visualization/hydra_vis/hydra_vis_submit_script)
that can be used right away is placed at `~/remotevis/remotevis.cmd`.
To submit a visualization session to the LoadLeveler batch system,
proceed as follows:
$ cd ~/remotevis
$ # adapt remotevis.cmd to your needs (e.g. memory requirements, job run time)
$ llsubmit remotevis.cmd
The job is now queued. Once it is starting, the system will send an
email with information on how to connect to the VNC session.
### How to connect to a remote visualization session on Hydra {#how-to-connect-to-a-remote-visualization-session-running-on-hydra}
When a remote visualization session is starting, the system sends a
notification email with information on how to connect. The default email
address is \$USER@rzg.mpg.de. The email address can be changed by
setting the VIZ\_MAILTO environment variable in the LoadLeveler submit
script.
In addition, the notification email is saved to a text file at\
\$HOME/remotevis/notification.txt.
Linux clients {#linux-client}
-------------
For Linux clients, the TurboVNC viewer command line is explicitly given
in the email. It looks as follows:
$ /opt/TurboVNC/bin/vncviewer -via gatezero.rzg.mpg.de hydra::5591[0-7]
Paste the command string from the email into a terminal window and
execute it. You will be asked for two passwords.
The first password prompt is issued by the SSH login to the gatezero
machine. Enter your MPCDF (Kerberos) password. In case you have a valid
Kerberos 5 token and an appropriate configuration on your machine, the
gate machine may not query for a password.
The second password prompt is issued by the VNC server on Hydra. Enter
your VNC password (that was entered initially during the
`setup_remotevis` step).
Mac clients {#mac-client}
-----------
Unlike on Linux, the Mac vncviewer executable does not directly support
establishing an SSH tunnel using the "-via" option. Therefore it is
necessary to create an SSH tunnel manually.
​1. Open a terminal window and create an SSH tunnel as follows:
$ ssh USERID@gatezero.rzg.mpg.de -L 5999:hydra:PORT
where USERID is your MPCDF user ID, and PORT is the TCP port the VNC
viewer is listening on. The PORT number is sent to you in the
notification email, it takes values between 55910 and 55917. Enter your
MPCDF (Kerberos) password. When the connection is successful, you may
minimize the terminal window.
​2. Open a second terminal window and connect `vncviewer` to the local
relay port as follows:
vncviewer 127.0.0.1:99
Enter your VNC password (that was entered initially during the
`setup_remotevis` step).
Windows clients {#windows-client}
---------------
Unlike on Linux, the Windows vncviewer executable does not directly
support establishing an SSH tunnel using the "-via" option. Therefore it
is necessary to create an SSH tunnel manually.
​1. Make sure you have installed the PuTTY package. Open a command
prompt window and `cd` into PuTTY's installation directory. Then, create
an SSH tunnel as follows:
plink.exe USERID@gatezero.rzg.mpg.de -L 5999:hydra:PORT
where USERID is your MPCDF user ID, and PORT is the TCP port the VNC
viewer is listening on. The PORT number was sent to you in the
notification email, it takes values between 55910 and 55917. Enter your
MPCDF (Kerberos) password. When the connection is successful, you may
minimize the terminal window. Alternatively, you may use the PuTTY GUI
to set-up the SSH tunnel and connect to the gate machine.
​2. Open the TurboVNC viewer and enter `127.0.0.1:99`. Enter your VNC
password (that was entered initially during the `setup_remotevis` step).
### How to quit a VNC session {#applications}
To quit a VNC session, close all applications, click the GNOME menu
button and select Logout. The desktop environment and the VNC server
will then terminate. The associated LoadLeveler job will terminate as
well.
Please note that at the end of the period of time that was requested at
job submission, the VNC session will be killed by the LoadLeveler. A
popup window will notify you five minutes in advance.
### Applications
When the remotevis module is loaded, the module environment is extended
with a new section labeled "visualization". This is the case in a
visualization session, by default. Type `module avail` in a terminal to
get a list of the available packages, and `module load PACKAGE` to get
access to a package.
Note: To exploit GPU acceleration, always prefix OpenGL-enabled
executables with `vglrun`. For example, to start the VisIt GUI, one
would execute:
$ module load visit
$ vglrun visit
The [software
page](http://www.mpcdf.mpg.de/services/visualization/hydra_vis/hydra_vis_software)
provides an overview on the available visualization applications.
Interactive data analysis and visualization
-------------------------------------------
For interactive data analysis and visualization, the open source
packages VisIt and ParaView have proven useful. Both are available via
environment modules. More details and basic instructions are available
on the [software
page](http://www.mpcdf.mpg.de/services/visualization/hydra_vis/hydra_vis_software).
Handling of image files
-----------------------
Typically, visualization applications will output a (large) number of
image files, e.g. in PNG format. The following applications are
available on the visualization nodes either directly or via an
environment module and are useful to handle image files.
- Nautilus, the GNOME file explorer. Select "Icon view" to get a
preview of image files in a folder.
- Eye of GNOME, the GNOME image viewer. Double-click a file in
Nautilus, or use `eog` from the command line.
- ImageMagick, a collection of command-line open-source image
manipulation tools
- ffmpeg, a command-line based video encoding suite. A usage example
of creating an MP4 movie from a sequence of image files is given
at: [https://trac.ffmpeg.org/wiki/Create%20a%20video%20slideshow%20from%20images](https://trac.ffmpeg.org/wiki/Create%20a%20video%20slideshow%20from%20images)