[Paraview] [EXTERNAL] pvserver on multiple nodes

Paul McIntosh paul.mcintosh at monash.edu
Fri Jun 20 06:05:01 EDT 2014


We do the following in a torque/modules environment to auto split the rendering across available nodes/cores...

Note our prologue script starts up the XServers. You can ignore LD_PRELOAD, as in our environment people are viewing directly from a remote desktop (so the paraview client needs one rendering library, whereas the pvservers need another).

[root at m2-m ~]# cat /usr/local/paraview/4.1.0/lib/paraview-4.1/default_servers.pvsc
<Servers>
  <Server name="localhost Massively Parallel Port:11112" resource="cs://localhost:11112">
    <CommandStartup>
      <Command exec="/usr/local/paraview/start_pvserver_max_arg paraview 4.1.0" timeout="0" delay="5" Arguments="5">
        <Arguments/>
      </Command>
    </CommandStartup>
  </Server>
</Servers>

[root at m2-m ~]# cat /usr/local/paraview/start_pvserver_max_arg
#!/bin/bash
# Make an array from the path and extract name and version
APPLICATION=$1
VERSION=$2
NUM_NODES=`echo $PBS_RESOURCE_NODES | cut -f 1 -d ":"`
NUM_PROCS=`echo $PBS_RESOURCE_NODES | cut -f 2 -d ":" | cut -f 2 -d "="`
NP=`echo $[$NUM_PROCS/2*$NUM_NODES]`

echo $NP
echo "----------------------------------------------------------"
echo "Script shutting down any previous instances of ParaView..."
username=`id -nu`
killall -u $username pvserver-real
echo "Script starting up new ParaView servers"
echo "----------------------------------------------------------"
echo "reloading non-virtualgl environment" $LD_PRELOAD_SAVE
# http://www.virtualgl.org/vgldoc/2_1/#hd0010
LD_PRELOAD=$LD_PRELOAD_SAVE
export LD_PRELOAD
mpirun -v -hostfile $PBS_NODEFILE -bynode -np $NP /bin/env DISPLAY=localhost:0.0 /usr/local/$APPLICATION/$VERSION/bin/pvserver --server-port=11112  : -np $NP /bin/env DISPLAY=localhost:0.1 /usr/local/$APPLICATION/$VERSION/bin/pvserver
# mpirun -v -hostfile $PBS_NODEFILE -pernode -np 6 /usr/local/$APPLICATION/$VERSION/bin/pvserver --server-port=11112 -display :0.1 : -np 6 /usr/local/$APPLICATION/$VERSION/bin/pvserver -display :0.0

Cheers,

Paul

----- Original Message -----
> From: "W Alan Scott" <wascott at sandia.gov>
> To: "Wadud Miah" <w.miah at qmul.ac.uk>, paraview at paraview.org
> Sent: Friday, 20 June, 2014 3:14:07 AM
> Subject: Re: [Paraview] [EXTERNAL]  pvserver on multiple nodes
> 
> 
> 
> 
> 
> We do a reverse connect. Thus, the server is connecting to the
> client. For us, start the client, which will hang waiting for the
> server. Start all of the servers, reverse connect, passing it the
> name of the client machine. The specific commands are in the docs I
> mentioned.
> 
> 
> 
> Sort of like this:
> 
> In directory lib/paraview-4.1, create a file named
> default_servers.pvsc. Put in it:
> 
> 
> 
> <Servers>
> 
> <Server name="Manual-Script" owner="user" resource="csrc://localhost"
> >
> 
> <ManualStartup/>
> 
> </Server>
> 
> 
> 
> </Servers>
> 
> 
> 
> 
> 
> paraview --server=Manual-Script --connect-id=123 &
> 
> (get your nodes, run pvserver on your nodes) .../pvserver
> --use-offscrean-rendering –rc –ch=client-machine-name
> –connect-id=123
> 
> 
> 
> We don’t change ports, but there is a command in ParaView to change
> ports. Normally, ParaView connects on 11111 by default.
> 
> 
> 
> Alan
> 
> 
> 
> 
> 
> 
> 
> From: Wadud Miah [mailto:w.miah at qmul.ac.uk]
> Sent: Thursday, June 19, 2014 10:56 AM
> To: Scott, W Alan; paraview at paraview.org
> Subject: RE: [EXTERNAL] [Paraview] pvserver on multiple nodes
> 
> 
> 
> Hello Scott,
> 
> 
> 
> Thanks for the reference. It answers my question that Paraview
> communicates with rank 0 only. So if a paraview job gets spawned on
> multiple nodes, and rank zero gets allocated to cn01 say, so I
> connect the client to server cn01:11112?
> 
> 
> 
> Thanks again,
> 
> Wadud.
> 
> 
> 
> 
> 
> From: Scott, W Alan [ mailto:wascott at sandia.gov ]
> Sent: 19 June 2014 17:45
> To: Wadud Miah; paraview at paraview.org
> Subject: RE: [EXTERNAL] [Paraview] pvserver on multiple nodes
> 
> 
> 
> I believe you are looking for the section in the ParaView wiki that
> is called Server Setup. There are multiple pages here, dealing with
> server setup, client setup, port forwarding, etc.
> http://www.paraview.org/Wiki/ParaView#Server_Setup
> 
> 
> 
> Alan
> 
> 
> 
> 
> 
> From: ParaView [ mailto:paraview-bounces at paraview.org ] On Behalf Of
> Wadud Miah
> Sent: Thursday, June 19, 2014 8:24 AM
> To: paraview at paraview.org
> Subject: [EXTERNAL] [Paraview] pvserver on multiple nodes
> 
> 
> 
> Hello,
> 
> 
> 
> How do I configure the client when pvserver runs on multiple nodes
> via mpirun? e.g. cn01, cn02, cn03 and cn04. There is a flag
> --multi-servers for paraview but no documentation on it. Any help
> will be greatly appreciated.
> 
> 
> 
> Regards,
> 
> 
> 
> -------------------------------------------
> 
> Wadud Miah
> 
> Research Computing Services (HPC)
> 
> 020 7882 8393
> 
> 
> _______________________________________________
> Powered by www.kitware.com
> 
> Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.html
> 
> Please keep messages on-topic and check the ParaView Wiki at:
> http://paraview.org/Wiki/ParaView
> 
> Follow this link to subscribe/unsubscribe:
> http://public.kitware.com/mailman/listinfo/paraview
> 

-- 
Dr Paul McIntosh
  Senior HPC Consultant, Technical Lead,
    Multi-modal Australian ScienceS Imaging and Visualisation Environment (www.massive.org.au)
       Monash University, Ph: 9902 0439 Mob: 0434 524935


More information about the ParaView mailing list