Running ParaView in Client-Server Mode
This lesson shows you how to run ParaView with the client running on your desktop and the pvservers executing in parallel on the LC clusters. This tutorial assumes you are using a Macintosh or Linux desktop machine. If you are using Windows, it will still work, but you will need to use something like PuTTY to set up the SSH tunnel. Please contact the LC Computing Hotline at 2-4531 for assistance.
Overview of ParaView Components for Parallel Usage at LLNL
ParaView at LLNL in parallel is shown pictorially in this figure. The client runs on your desktop and uses your graphics card to display images quickly on your computer. The heavy lifting is done on batch nodes on some cluster. Because of the firewalls at LLNL, you will have to establish an ssh tunnel to carry the data from the "listening server" to the client on your desktop. The instructions below walk you through creating this setup.
Start a batch job.
Start a batch job to reserve some nodes. The mxterm command at LLNL is handy for this purpose. The above command reserves 4 nodes for 120 minutes.
Start the pvservers on the batch nodes and create an SSH tunnel if needed.
When the nodes are reserved, an xterm window will appear, and you will be logged into the last node in the batch job. In the above image, it's rzalastor17. Closing this window will terminate your batch job. In this window, type the following command (you can copy and paste). Make sure the version number matches the version of ParaView you are using on your desktop. Here we are launching version 4.2.0:
This runs four pvserver instances in parallel. You can pass any option to pvserver_parallel which pvserver would take.
Note that it gives you instructions for creating an SSH tunnel if you have not already done so. The purpose of the SSH tunnel is to connect your desktop to the server node. Follow the instructions exactly as shown.
The instructions are different depending on whether you are on a CZ machine or an RZ machine. Please pay close attention.
In the example, please note that the tunnel is to rzalastor14, not rzalastor17 as you might think. ParaView listens on the first batch node, but mxterm puts you on the last batch node. Not my fault!
Windows only: set up an SSH tunnel with PuTTY.
On Windows, you can set up a tunnel with PuTTY. This picture is intended to show how to map the instructions from pvserver_parallel to PuTTY's "tunnel" dialog. Of course, you must refer to the actual output of pvserver_parallel from the previous step to get actual values for your batch job.
- The -L means "Local." If you see -R instead, try the "Remote" button.
- The number "11111" before the first colon is the "source port."
- Type the host:port, e.g. "surface24:11111", into "Destination."
- When done, click "Add," then connect to "surface" for this example.
Again, this is only for Windows. On Mac or Linux, just follow the instructions from the previous step exactly as given. If you are confused, call the Hotline and they will call me. :-)
Launch ParaView on your desktop.
Launch the ParaView client you have installed on your desktop machine. I've tucked mine away a few directories deep. Make sure the version matches the version installed on the LC clusters. Currently that's 3.98.1. Type /usr/local/bin/pvserver --version on any cluster to find out what version is current.
File --> Connect
Choose "Connect" in the File menu.
Add a server (if not already added previously).
You are now presented with the Choose Server dialog.
If you already have a server called "Tunnel to batch," then select it and click "Connect." Skip to "Test to verify parallel connection" below or just get to work.
If not, then click on "Add Server" and proceed to the next step.
Configure the server.
Give the new server a name, like "Tunnel to batch" or "Connect to batch." Then click the "Configure" button.
For Scenario A or B: You are connecting to "localhost" in order to use the SSH tunnel you created above, so put "localhost" in the "Host" field.
For Scenario C: Since you can see the batch nodes from your desktop, instead of "localhost," put the name or IP address of the first node in your batch job in the "host" field.
Setup the server as manual.
Choose "Manual" under "Configure Server" and then click the "Save" button.
Save and connect to the server.
Recommended: Click "Save Servers" if you want your new server to be around next time you launch ParaView.
Choose the server you just created and click the "Connect" button. The batch xterm should give the message "client connected" and the "Choose Server" dialog should disappear. Congratulations. You are now running ParaView in parallel! You can browse for your data on the remote host and visualize it. Don't forget to hit the Apply button in ParaView after opening your data!
Conduct a test to verify parallel connection.
If you apply the "Process ID Scalars" filter (under the Filters menu) to your dataset you will then see that it is divided into colors, one for each processor being used to view the data. This is a good way to confirm it is all working correctly. Another way to see information about the servers is to choose View->Memory Inspector. Both methods are shown in the above image.