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.