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_set_timeleft

Usage
vtk_tasker_set_timeleft time_left

Description
This procedure is used only from within a vovtasker.
The argument specifies the amount of time left for the tasker,
so that the server can decide to send jobs whose expected duration
does not exceed the time left.
If the time_left is "UNLIMITED", there is no limit on the time.
If the time_left is 0, the tasker is effectively suspended.

Where time_left is a time specification or the string "UNLIMITED".

Returns  
Nothing.

vtk_tasker_vnc

Obsolete

Usage:         
vtk_slave_vnc resources name

Description:   
Obsolete procedure. Use vtk_slave_nc instead.