Documentation

Version 1.2.0 Beta 1

3. Distributed PIC Control Plugins

Distributed Physical Interaction Calculator (PIC) Control plugins handle the distribution of work units to slave NanoHive-1 instances.

3.1. SocketsPIC_Control

This plugin controls slave NanoHive-1 instances via sockets, and transfers work units to/from them via FTP, or NFS. It manages a slave pool that removes failing or non-accessible slaves, and re-adds them if they become operational again (after a configurable time.)

The libcURL URL transfer library was used to implement the FTP work unit transport method.

3.1.1. Configuration

The following is an example Physical Interaction Calculator section in the NanoHive-1 configuration file showing how to configure the SocketsPIC_Control plugin.

  nanohive.stagingDirectory=/scratch_local/bhelfric/wutemp
  ...
  
  pic.0.name=neu-farm
  pic.0.type=distributed
  pic.0.picPlugin=SocketsPIC_Control
  pic.0.communicationTimeout=5
  pic.0.badSlaveRepoolInterval=300
  
  pic.0.transportMethod=NFS
  pic.0.slaveDescriptors=
  192.168.18.114;3001;/scratch_global/bhelfric/wutemp/slave1,
  192.168.18.115;3002;/scratch_global/bhelfric/wutemp/slave2,
  192.168.18.116;3003;/scratch_global/bhelfric/wutemp/slave3,
  192.168.18.117;3004;/scratch_global/bhelfric/wutemp/slave4,
  192.168.18.118;3005;/scratch_global/bhelfric/wutemp/slave5
    -- or --
  pic.0.transportMethod=FTP
  pic.0.ftpConnectionPoolSize=10
  pic.0.slaveDescriptors=
  192.168.18.114;3001;slave1:slave1;slave1,
  192.168.18.115;3002;slave2:slave2;slave2,
  192.168.18.116;3003;slave3:slave3;slave3,
  192.168.18.117;3004;slave4:slave4;slave4,
  192.168.18.118;3005;slave5:slave5;slave5

  pic.0.pipPlugin.0=REBO_MBM
  pic.0.pipPlugin.1=MPQC_SClib

Table 5.8. SocketsPIC_Control Configuration Parameters

ParameterDescription
nanohive.stagingDirectorySpecifies in which directory to initially write work units that are to be processed. This should be a fast, local directory to the master, not an NFS mount.
nameA name for the distributed computing network.
typeSet to distributed.
picPluginSet to SocketsPIC_Control.
communicationTimeoutHow long, in seconds, to give communication attempts before timing them out.
badSlaveRepoolIntervalHow long, in seconds, to keep a non-operational slave out of the slave pool before checking if it has since become operational.
transportMethodEither NFS or FTP.
slaveDescriptorsA list of slave descriptions, one per slave, comma-separated. For transportMethod=NFS slaves, the form is:
  slaveIpAddress;tcpPort;workUnitDirectory
For transportMethod=FTP slaves, the form is:
  slaveIpAddress;tcpPort;ftpLogin:password;workUnitDirectory
Note that a colon separates the ftpLogin and password.
ftpConnectionPoolSizeWhen transportMethod=FTP, this parameter sets the number of FTP connections that can be in operation at the same time.
pipPlugin.NSpecifies the plugins available on these slaves.



Last Modified: 5/17/2006