How to use the Paraview Visualization Rendering Cluster in the CS012 lab


Setup a Machine File

The first step is to setup a machinefile that will be used by OpenMPI to create your visualization cluster out of the computers in the CS012 Unix lab. The following machinefile includes all of the computers that are in the CS012 lab:

#bingo
#bingo
snoopy
snoopy
flash
flash
astro
astro
pluto
pluto
hosehead
hosehead
dollar
dollar
lassie
lassie
hector
hector
droopy
droopy
toto
toto
beethoven
beethoven
underdog
underdog
grey
grey
spunky
spunky
goliath
goliath
danger
danger
belle
belle
sprocket
sprocket
wonderdog
wonderdog
buck
buck
marmaduke
marmaduke
zero
zero

Copy the list above to a text file called "machinefile" in your home directory. Notice how bingo is commented out with "#". This is because bingo is the teacher's workstation, and should be left commented out so you don't disrupt any teacher that may be using it. Also make sure to comment out the computer you will be running the paraview visualization client software on, since that machine cannot be a node on the cluster as well as it will cause port conflicts.

Also note that if you go to startup the server cluster, and have issues where some of the nodes in your list do not respond or error, they may be powered off or misconfigured. To fix this just comment the troublesome nodes out of the file so they are ignored when mpirun goes to assign computers to the cluster.

You will also notice that each computer is listed 2x in the file, this is because they are dual-core machines and by listing them 2x it allows us to utilize both cores in the cluster.

SSH Keys

You will need to have ssh keys setup in order to allow mpirun to create the cluster from the master node. The master node must be able to access each of the machines in the machinefile without having to specify user credentials. This is accomplished by creating ssh keys with the ssh-keygen command, and then manually connecting to each machine via ssh at least one time after the keys have been setup to answer yes to the question about adding the machine to the trusted hosts file. Once this is done you should be able to ssh to each machine in the machine file without being prompted for any input.

A good guide on how to create these is located here.

Start the Cluster

Pick a machine in the lab that you want to be your master cluster node (A.K.A - node0). Either ssh to that machine from your client workstation, or login to it and open a terminal window and type the following:
mpirun -np 20 --machinefile machinefile /usr/bin/pvserver
This will start pvserver with 20 nodes using the machinefile you created in your home directory called machinefile. If it was successfully started you should see the following output in the terminal window:

Listen on port: 11111
Waiting for client...

This means that the cluster has been started, leave the terminal open so the server stays running. Now we can go to another computer that is not being used on your cluster to start the client. The best station for this is the teachers workstation which has already been commented out in your machinefile, it also has the BIG SCREEN!

Note for the lazy or efficient: For the least amount of moving around and phsyical logins to machines just sit at the teachers workstation and ssh to the master node from there. There is no need to actually be sitting at or physically logged into a cluster node.

Paraview Setup

Start up Paraview on the client machine by navigating to Applications -> Education -> Paraview

You should see a window that looks like this:


Go to File -> Connect , then choose Add Server

You should see a popup window that looks like this:


Now click on "Add Server" and you should see a new popup window that looks like:


In the "Configure New Server" window type in the Name of the master node computer you are using, keep Server Type set to "Client/Server", and set host to the hostname of the master node on the cluster. Leave port defaulted to 11111.

Here is an example entry using snoopy as node0:


Click Configure, and you will be brought to the "Configure Server" window. Set the dropdown box to Manual and hit save.



Your server should now appear in the list. Make sure it is running on the master node, then click the server name and hit connect.



The next time you run paraview the server will still be in the list you just need to make sure that your cluster is up and running and that is the master node before you click connect.

After you connect to the server your screen may look like this, prompting about a render server. Just hit ok to proceed.



All this is saying is that it cannot access the screen on the server, meaning X is not running so it cannot open a rendering window. The server will just default to offscreen rendering.

Now you just need some data to play with! You can find sample data of a frog here just download it and extract the contents to your home directory.

Home directories are shared over the network via NFS so once you start your server and connect to it with the client you will have access to all of the files in your home directory on the Dognet. Navigate to the frog folder you downloaded and unziped by going to File -> Open. You should see a window like this:



In the frog folder you will see a bunch of files with a .vtk extension. Choose the skeleton.vtk file and press OK.



This will open the file in Paraview but you will not see anything on the screen yet until you hit the Apply button below the server tree.



Once you hit apply the frog skeleton will be rendered to the grey area, and can be manipulated with the mouse.



You are now free to explore the program! Try to apply filters to the skelton by selecting some from the filters menu. You can also load more layers by going to File -> Open and choosing another .vtk file from the frog series then applying it. Enjoy!

Example: Frog skeleton with process ID filter applied depicting which part of the image each processor is rendering.


CSC523 Parallel Computing Project By: Ronny L. Bull