vtk_tasker
vtk_tasker_attach_to_agent
Usage:
vtk_slave_attach_to_agent slaveId agentId
Description:
This procedure is used to attach a BPS slave to a BPS agent
Example:
vtk_slave_attach_to_agent 00358286 00358287
ok
Returns:
"ok" or an error message
vtk_tasker_config
Usage:
vtk_slave_config slaveIdOrName variable value
Description:
WHERE: variable can be one of:
* allowcoredump BOOLEAN, mostly used for debugging serious crashes (not gonna happen, anyways)
* cpus INTEGER, sets the number of cpus(cores)
* capacity INTEGER, sets the number of slots (but not more than the max capacity of the slave)
* changenameonreconnect BOOLEAN, if true then the slave will add a _r to its name in the case of reconnection to its {vovserver;} the default is false
* cleanupchildprocesses BOOLEAN, if true kill all child processes when a job exits, requires slaves to support {cgroups;} default is false (Linux only)
* close STRING, closes the slave from accepting jobs, displaying the accompanying STRING until opened
* coeff REAL in (0.01,100.0), that is the coefficient for the slave (it is used to divide the raw power to compute the effective power)
* debugjobcontrol BOOLEAN, used for debugging the job control activities (output in the slave logs)
* debugnuma BOOLEAN, used for debugging the NUMA affinity of jobs (output in the slave log)
* debugrlm BOOLEAN, used for debugging the interaction with RLM (output in slave log)
* efftotram INTEGER, expresses the effective total RAM of a slave, in MB
* expirelogs BOOLEAN, simulate the expiration of the slave logs, as it would normally happen at {midnight;} new logs are immediately created
* rotatelog BOOLEAN, recreate a log file and directory only when missing.
* graceperiod TIMESPEC, for RLM interaction liverecorder COMMAND in (on off save), for activating LiveRecorder by UndoDB
* liverecorder.logsize INTEGER, to specify the max value of the log size in bytes
* maxload REAL, the maximum load acceptable for the slave (if the effective load passes this threshold, the slave stop accepting jobs)
* maxwaitnostart TIMESPEC, the maximum wait we allow for jobs that have trouble starting (meaning the fork()/exec() takes an enourmous {time);} the default is 60 seconds
* maxwaittoreconnect TIMESPEC, the maximum wait after losing connection to server before attempting reconnection again
* message STRING, change the message for the slave
* message,sys STRING, change the system message for the slave (same as 'message')
* message,usr STRING, change the user message for the slave
* mindisk INTEGER, specify the minimum amount of disk space in MB or in percentage(0%-99%, for example, 10%) in /tmp for the slave to be active
* minramfree INTEGER, specify the minimum amount in MB of free RAM for the slave to be active
* name STRING, change the name of the {slave;} illegal or duplicate names are silently discarded
* numabindtosocket BOOLEAN, if true (default) the NUMA code allows the process to roam all cores in the same physical socket, else it binds the process to very specific cores
* open STRING, opens a closed slave so that it will accept jobs, displaying the accompanying STRING until overwritten by another message
* printstatus IGNORED, causes the slave to print its own status information to the log file
* ramsentry BOOLEAN, used to activate the RAM sentry functionality, i.e. the functionality that suspends small jobs to allow large jobs to finish
* rawpower INTEGER, change the raw power of the slave
* refresh IGNORED, discard all caches in slave, including environments and user credentials
* resources STRING, set the resources for this slave
* retrychdir INTEGER, sets the number of times chdir() is to be tried (assumes the file system is so stressed that even chdir() has trouble)
* retrychdirbackoff REAL, for retry chdir() the interval between tries increases according to this parameter
* retrychdirsleep INTEGER, sleep time between the first and second attempt at chdir()
* rlmlicense STRING, set the value of RLM_LICENSE (not very much used anymore)
* setenv VAR=VALUE, define or modify an environment variable in the top-level vovslave
* shutdowncancel IGNORED, used to rescue slaves that have been stopped (with STOP) but have not yet exited because they are still running jobs
* unsetenv VAR, unset the named environment variable update INTEGER, set the update interval for the slave, typically 60 seconds
* verbose INTEGER in (0,4), set the verbosity level of the slave
* waitafterjc INTEGER, seconds to wait after doing a job control action, except for EXT (before doing another one, the slave never stops)
* waitafterjcext INTEGER, seconds to wait after doing a EXT job control
and value can take different formats depending on the variable.
Examples:
vtk_slave_config 00123456 maxload 3.3
vtk_slave_config 00123456 capacity 1
vtk_tasker_create
Usage:
vtk_slave_create array
Description:
The array contains the information of the slave create, including:
* host
* name
* group
* slavetype (one of "normal", "BPS_slave", "BPS_agent")
* capacity
* numjobs
* power
* timeleft
* resources
* status
* curload
* effload
* maxload
* message,usr
* message,sys
The following are for BPS slave only:
* status
- 0: OK
-1: Warning
-2: Unknown
* time left
* number of running jobs
* power
Examples:
set slave(host) alpaca
set slave(capacity) 2
set slave(resources) "finfarm RAM/100"
vtk_slave_create slave
00358286
Returns:
The slave Id of the slave just created, or an error message.
vtk_tasker_define
Usage:
vtk_slave_define
Description:
Used in slaves.tcl file. Please refer to the Slave Attributes documentation.
vtk_tasker_delete
Usage:
vtk_slave_delete slaveId
Description:
This procedure is used to delete a slave object from server. Other names for this procedure are vtk_slave_del and vtk_slave_forget.
Example:
vtk_slave_delete 00358286
ok
Returns
"ok" or an error message
vtk_tasker_find
Usage:
vtk_slave_find name
Description:
Examples:
vtk_slave_find alpaca
00358285
vtk_slave_find tiger
0
Returns:
The slave Id of the slave with the specified name, or 0 not found.
vtk_tasker_get
Usage:
vtk_slave_get slaveId array
Description:
This procedure fills the array with the slave properties.
Examples:
vtk_slave_get 00358294 slave
ok
parray slave
slave(capacity) = 1
slave(cpus) = 1
slave(curload) = 0.16
slave(effload) = 0.16
slave(host) = alpaca
slave(lastupdate) = 1159547044
slave(maxload) = 1.50
slave(message) =
slave(name) = alpaca
slave(numjobs) = 0
slave(power) = 143678
slave(resources) = alpaca:0.0 RAM/753 linux i686 unix
slave(resources,spec) = alpaca:0.0 @RAM@ @VOVARCH@
slave(slavetype) = normal
slave(status) = READY
slave(timeleft) = Unlim.
slave(persistent) = 0
Returns:
"ok" or an error message
vtk_tasker_get_colormap
No information is available for this procedure.
vtk_tasker_get_jobs
Usage:
vtk_slave_get_jobs slaveid
Description:
Find the jobs currently running on a slave.
Returns:
A list of ids
vtk_tasker_modify
Usage:
vtk_slave_modify slaveId array
Description:
This procedure modifies the slave indentified by slaveId with the properties set in the array The usage of the array is the same as in vtk_slave_create.
Examples:
set slave(host) alpaca
set slave(capacity) 2
set slave(resources) "finfarm RAM/100"
vtk_slave_modify 00382732 slave
ok
Returns:
"ok" or an error message
vtk_tasker_nc
Usage:
vtk_slave_nc ncserver OPTIONS
Description:
Define an indirect slave used to sends jobs to an Accelerator queue. This procedure is useful only in a slaves.tcl file. The parameter "ncserver" can be the string "automatic" to automatically discover the default NetworkComputer, or it could be an instance of Accelerator specified in the format of "nc_name@host[:port]", where "port" is optional but recommended.
Options:
-singleUser
Description: If 1, use the single-user script to interface to NC
Default: 0, meaning that the binary multi-user interface is used.
-name agent_name
Description: The name of this indirect slave (only letters, numbers, _, and - are allowed)
Default: NC
-resources res_list
Description: The resources to provide to the jobs routed through this indirect slave
Default: The resource 'NC'.
-autokillmethod direct|ncstop|vovstop
Description: Specify autokill method for this slave.
Default: direct
-capacity capacity
Description: The number of slots in this slave. This is the maximum number of jobs transfered to the NC queue at the same time. Typically in the order of a few hundreds, but you can use thousands.
Default: 200
-group group_name
Description: The fairshare group that will be assigned to the jobs that are dispatched by this indirect slave
Default: "-", which is to ignore this option, meaning no change to the group for jobs
-health health_specs
Description: Define which health checks should be performed by the slave before declaring itself ready. The health specs consists of a string with the characters in "pdwuPDWU", where the lower case implies disabling and the upper case implies enabling a particular check.
Default: "pDwu", which enables only the disk space check.
-addjobres res_list
Description: The resources that will be added to the jobs when dispatched by this indirect slave
Default: "-", which is to ignore this option, meaning no addition to job resources
-resfilter res_list
Description: Filter on the slave resources to determine whether to show a NC slave as BPS slave
Default: "-", which is to ignore this option, meaning no filtering, show all slaves in NC
-showFarmSlaves
Description: If present, show farm vovslaves, in addition to dispatcher vovslave. Recommended only for small to medium-size farms.
Default: Just show the dispatcher.
-ncconfig path-to-file
Description: Use the given ncconfig.tcl interface file to control the resources offered by the dispatcher vovslave. Use only one of -resources and -ncconfig. If both are given, -resources wins.
Default: "-", which is to ignore this option
Examples:
vtk_slave_nc automatic
vtk_slave_nc vnc@comet:6271
vtk_slave_nc automatic -showFarmSlaves
vtk_slave_nc vnc@comet \
-resources "License:*" \
-resfilter "linux License:hspice" \
-addjobres "linux RAM/100" \
-group production \
-name Q_SPICE
vtk_tasker_reserve
Usage:
vtk_slave_reserve slaveId [OPTIONS]
Description:
Reserve a slave. Without any option, this procedure clears the reservation of this slave.
Options:
-user username
Description: Reserve for specified user or users
-group groupname
Description: Reserve for specified fairshare group or groups
-osgroup groupname
Description: Reserve for specified Unix (or OS) group or groups
-jobclass jobclass
Description: Reserve for specified jobclass or jobclasses
-jobproj jobproj
Description: Reserve for specified jobproj
-bucketid bucketid_list
Description: Reserve for specified bucket id or ids
-id id_list
Description: Reserve for specified id or ids
-duration timespec
Description: Reserve this slave for specified duration. forever is an accepted value.
-start timespec
Description: Set reservation start time
-end timespec
Description: Set reservation end time
Examples:
vtk_slave_reserve 230
ok
vtk_slave_reserve 230 -user john -duration 3h
ok
vtk_slave_reserve 230 -user john,mary -group alpha -start 1049827481 -duration 2w
Returns:
"ok" or an error message
vtk_tasker_set_defaults
Usage:
vtk_slave_set_defaults
Description:
Define default values for the options used by vtk_slave_define. Used in slaves.tcl file. Please refer to the Slaves documentation.
vtk_tasker_vnc
Obsolete
Usage:
vtk_slave_vnc resources name
Description:
Obsolete procedure. Use vtk_slave_nc instead.