Visualization Server
The WestGrid visualization server is an HPC resource that provides an advanced visualization capability to the end user's desktop. This allows users to connect to the server and use its advanced capabilities to render very large data sets interactively from their desktops without having any special graphics hardware on their workstation. The images are sent back to the user's desktop over the network and displayed on the desktop using a lightweight visualization client. The goal of this machine, like the HPC infrastructure, is to provide a computational resource targeted at a specific computational task (in this case visualization) that can be used by any WestGrid user.
In addition to providing the ability to visualize large data sets on the desktop, the remote visualization software also allows users at multiple sites to simultaneously collaborate with each other while visualizing their data. Visualization data can be streamed to multiple desktops with the remote application being contolled by any one of the collaborating users.
About the WestGrid Remote Visualization Server
The remote visualization server capability provided by WestGrid exists as part of the checkers cluster at the University of Alberta. There are four nVidia Quadro Plex 2200 S4 units connected to eight checkers nodes numbered cl1n151 to cl1n158. Each Quadro Plex 2200 S4 contains four Quadro FX 5800 GPUs (a total of 16 GPUs), with each of the eight checkers nodes having access to two GPUs for interactive visualization or GPU based computation. For more information on the WestGrid Visualization Server, its hardware and software configuration see the Checkers QuickStart page.
Using the checkers GPUs for remote visualization is a two part process. Users need to log in to a checkers visualization node and start a remote visualization server (TurboVNC) that utilizes one of the checkers GPUs. The user then needs to start the remote visualization client on their desktop computer and connect to the visualization server running on the checkers visualization node. Note that in order to successfully use a remote visualization node, it is necessary to install the client software on your local computer. These steps are described in more detail below.
If you are interested in utilizing the graphics processing units attached to the checkers cluster as a computational resource, plese visit the GPU computation page.
Installing the visualization client
Remote visualization on checkers is enabled through TurboVNC, which is available through the VirtualGL website. In order to install the software on your workstation, please go to the TurboVNC download page, and follow the installation directions for your computer operating system. There are TurboVNC versions available for Windows, OSX, and Linux. Note that you only need to install TurboVNC (and indeed, only the TurboVNC Client), not the VirtualGL package.
Running the visualization server on checkers
To access the WestGrid remote visualization environment on checkers you must start a TurboVNC server on a checkers node.
To connect to a visualization node, you need to use a secure shell (ssh) client to connect to that node. There are currently two nodes allocated to remote visualization, node 157 and node 158. These nodes have ssh directly enabled and have the IP numbers 206.12.25.57 and 206.12.25.58 respectively. Use the following command to connect to node 157:
ssh 206.12.25.57
You will be asked to authenticate with your normal WestGris username and password.
To start a VNC server on the node use the script 'startvncserver'. Note that there is more than one vnc server installed on the system - please ensure that you use the startvncserver script as opposed to using the vncserver command directly.
startvncserver -geometry 1600x1200
This script starts a server using a screen resolution of 1600x1200 pixels. Note that this script also checks to ensure that there are graphics cards available on the node that you are using as well as ensures that you do not already have a VNC server session running. It will give you an error message in both cases.
If you want to confirm the number of VNC sessions running on the node you are using, use the following command:
This will result in 0 or more lines that start with something like the following, one line for each VNC session/GPU. Since each node has two graphics cards, there can be at most two such jobs at one time. If there are 0 or 1 such jobs running, then it should be possible to start a TurboVNC visualization session.
jonj 8369 1 0 Apr13 pts/2 00:05:25 /opt/TurboVNC/bin/Xvnc :1 -desktop X ...
The first time you start the VNC server you should be prompted to configure two passwords, one to log into the VNC session interactively, and one to log in View Only mode. The View Only password is optional, and is useful if you want to let someone see what you are doing, but not control the mouse or keyboard.
After the TurboVNC session starts, there will be some output from the VNC server. You need to make a note of this information, as you will need the display number (session identifier) for your visualization client connection.
New 'X' desktop is cl1n157.nic.ualberta.ca:1
Starting applications specified in /home/jonj/.vnc/xstartup.turbovnc
Log file is /home/jonj/.vnc/cl1n157.nic.ualberta.ca:1.log
In this case the display number is ”:1”. You will need this information to connect to the visualization server from your remote desktop. The visualization server is now ready for a connection from your remote visualization client.
Running the visualization client on your workstation
In order to connect to the VNC server you just started from your desktop computer, start up the TurboVNC client and connect to the VNC server as shown in the image below , entering either the name of the computer or the IP address, along with the desktop number reported when you started the VNC server.

You will then be presented with an authentication window as shown below. You should enter the password you gave when starting the VNC server on the checkers machine.

After pressing OK, a Linux desktop should appear within a window on your desktop computer. When you are presented with the Linux desktop you will need to start a terminal (shell, command prompt) to start OpenGL applications.
Running visualization software
In order to run visualization based applications that take advantage of the GPUs on the checkers cluster you need to run applications using the vglrun command. Type vglrun applicationname in the shell window on the VNC desktop. To test to ensure that the GPU is being used successfully, you can run any OpenGL program. Example test programs can be run as follows:
vglrun glxgears
vglrun glxspheres
vglrun glxspheres64
There are a number of visualization packages installed on the checkers machines, and all can be run using vglrun. For example, to run Paraview, a well known visualization package, you can type the following:
vglrun paraview
See the checkers software page for more information on the visualization packages that are available on the checkers visualization nodes.
Ending your visualization session
When finished with a visualization session, it is necessary to both terminate the TurboVNC client on your workstation as well as stop the TurboVNC server on the checkers cluster. To terminate the client, click on the red "X" in the menu bar or simply close the window.
To terminate the VNC server session, open the window that you used to originally log in to the checkers visualization node and run the following script:
stopvncserver
This will gracefully terminate any VNC server sessions that you have running.Note that it is important that you terminate the TurboVNC server. If you leave it running it will prevent other users from using one of the GPUs on that visualization node.
Modules and visualization
The checkers cluster, like most WestGrid machines, uses Linux modules to set up the user environment (see the WestGrid modules page for more information about modules). The visualization module is loaded automatically for you whenever you log in to a visualization node on the checkers cluster and provides you with a default user environment that enables you to easily start and stop the TurboVNC server as well as run commonly used visualization software. This allows you to issue simple commands like vglrun paraview rather than typing the full path to both commands.
More information
VirtualGL documentation may be helpful with understanding the process that is being used to stream the visualization data to your desktop. There is also a great discussion about VirtualGL on the Wikipedia VirtualGL page.
