Warning
Iceberg was decommissioned on 30th November 2020. Users of Iceberg need to switch to using ShARC and/or Bessemer instead.
Paraview is a parallel visualisation tool.
This guide describes how to use Paraview from iceberg. Paraview is a parallel visualisation tool designed for use on clusters like iceberg. Because iceberg is designed primarily as a headless computational cluster Paraview has not been installed on iceberg in such a way that you load the GUI remotely on iceberg 1. Paraview therefore runs on iceberg in client + server mode, the server running on iceberg, and the client on your local machine. You need to:
Configure and start the client on your machine first then
then start the server on Iceberg, which will then connect back to the client.
Download and install Paraview 4.3 2 on your own machine.
Start the paraview
program on your own machine.
Click File -> Connect -> Add Server
Name: my_iceberg_paraview_config
Server Type: Client / Server (reverse connection) (we want Iceberg to connect to our local machine)
Port: 11111
(the default)
Click Configure to go to the next screen
Startup Type: Manual (the default)
Click Save
Back at the original Choose Server Configuration menu, click Connect to start listening for a connection from Iceberg
Note
This method requires that Iceberg can connect to port 11111 on your machine. You may need to modify your machine’s firewall to permit such connections. On Linux machines using the UFW firewall you can allow connections to port 11111 on your machine from other machines on the University network (including Iceberg) and from no other machines using:
sudo ufw allow from 143.167.0.0/16 to any port 11111
After configuring the client:
Log in to iceberg from the client machine via ssh 3
Run qsub-paraview
from this login node (not from a worker node)
This will submit a job to the scheduler queue for 16 processes with 4GB of RAM each.
This is designed to be used for large visualisation tasks, smaller jobs can be
requested by specifying standard qsub
commands to qsub-paraview
. For example,
to request just one process:
qsub-paraview -pe openmpi-ib 1
Assuming you still have the client listening for connections, once the paraview job starts in the queue it should connect to your client and you should be able to start accessing data stored on iceberg and rendering images.
When you run Paraview locally it will use the graphics hardware of your local machine for rendering. This is using hardware in your computer to create and display these images. On iceberg there is no such hardware, it is simulated via software. Therefore for small datasets you will probably find you are paying a performance penalty for using Paraview on iceberg.
The advantage however, is that the renderer is on the same cluster as your data, so no data transfer is needed, and you have access to very large amounts of memory for visualising very large datasets.
The qsub-paraview
command is a wrapper that automatically detects the client
IP address from the SSH connection and submits the job.
It is possible to customise this behavior by copying and modifying this script.
This for instance would allow you to start the paraview server via MyApps or
from a different computer to the one with the client installed.
The script used by qsub-paraview
also serves as a good example script and
can be copied into your home directory by running cp /usr/local/bin/pvserver_submit.sh ~/
.
This script can then be qsubmitted as normal by qsub
.
The client IP address can be added manually by replacing echo $SSH_CLIENT | awk '{ print $1}'
with the IP address.
More information on Paraview client/server can be found
here.
Custom build scripts are availible in /usr/local/extras/paraview/build_scripts
which can be used to recompile.