ParaView Client-Server Mode

Curve Plot Attributes in VisIt
Example of Client-Server Communitcation

The most basic of ParaView's Client-Server uses is single-server mode. This is a good way to perform Remote Visualization of small datasets. In this mode, visualization will (usually) be done remotely and full-screen images of the data will be sent back to your computer. This makes full use of the remote system's CPU, memory, and graphics acceleration capabilities to optimize the visualization, using the client computer solely for interaction and control.

Setup

Normal Setup

  1. On the "Server" system, make sure the data is available and ParaView is installed.
  2. On the "Server" system, run the following command:
    pvserver
  3. On the "Client" system, run the following command:
    pvclient -sh=<server>

At this point the two should be connected, and you are ready to go.

Reverse Connection Setup

When the remote system will not accept incoming connections (usually due to a firewall) the Reverse Connection option can be used to force the server to connect to the client.

  1. On the "Client" system, run the following command:
    pvclient -rc
  2. On the "Server" system, make sure the data is available and ParaView is installed.
  3. On the "Server" system, run the following command:
    pvserver -rc -ch=<client>

Usage

ParaView Client Server Options
Example Options shown in ParaView Client-Server Mode

When operating in client-server mode, ParaView behaves much differently that in usual client mode.

The first noticeable difference is that the Open Data option no longer browses your local machine, but rather shows files on the remote system. In this usage mode, all of the data loading and computation will be performed on the remote system, leaving your local memory and CPU virtually untouched. This is ideal for a low-end client which may not have the local memory available for the selected data.

Also there are several new options available to configure how ParaView behaves now. At startup you will be presented with the General tab of the application settings, and you will see several new options.

  • Composite - If this is checked, then whenever the dataset is above the size specified with the slider, the rendering will be performed remotely and frames will be sent back to the client. If the dataset is below this, or the option is unchecked, then the computed geometry will be sent back to the client for local rendering.
    • This option may be disabled if the server was unable to access a display. If this is the case, check the DISPLAY environment variable and make sure you have proper access controls to the X session running. Also, you can compile ParaView with Mesa support and use the --use-offscreen-rendering (specified on the server) to remove this requirement, but the performance will be significantly slower.
  • Subsample Rate - If checked, then in addition to the usual LOD operations used while the visualization is being interacted with, the screen will be subsampled by the desired amount. This significantly reduces the rendering time and bandwidth required, so it results in a significantly more interactive display.
    • Note: This option only applies when the server is performing the rendering. If the client is rendering (because the data is too small or the function is disabled) this option does not apply.
  • Squirt Compression - ParaView uses the Squirt compression algorithm for all frames sent between the client and server. The slider sets the number of bits of precision kept in the images. 24 bit (The maximum) is a full 8-bit red, green, and blue channel, while 10-bit (minimum) is highly compressed.

Notes

  • If you do not want the server to perform the rendering (either the system does not have satisfactory video hardware, or you're working with a small dataset on a high-speed network), then instead of running pvserver, you can run pvdataserver. You will get a warning on the client about the lack of a display, but it will run.
  • When frames are being transmitted between the server and client, the window-size will play a significant role in framerate. Smaller frames obviously consume less bandwidth and will be much more responsive over a slow link.

Back to ParaView