Tasker Attributes
A tasker is characterized by several attributes. These attributes are controllable by means of the command line arguments to the vovtasker binary as well as by means of the procedure vtk_tasker_define in the taskers.tcl configuration file for a VOV project.
For cases where the vovtaskers are started by submitting the binary to a separate batch queue system, the system manager may create a copy of the vovtasker binary called vovagent. When invoked by this name, the binary will limit the values of some attributes based on information stored in the configuration file $VOVDIR/local/vovagent.cfg.
Attribute Name | vovtasker options | vtk_tasker_define option | Description |
---|---|---|---|
name | -a | -name | Name of the tasker. By default, it is the name
of the host on which the tasker is running. The
tasker name can contain alphanumeric
characters, dashes and underscores. It must be less than 50
characters long. If the name ends with a "_r", it probably indicates a tasker that has reconnected to the tasker after a server crash. These taskers are used to terminate the jobs executing at the time of the crash. The name of a running
tasker can be changed with
|
capability | -b | -capabilities | The capabilities that the tasker has. This results in license checkout attempts for the specified capabilities. Possible values: FULL, NC, PROCINFO, NETINFO, EXEC, RT. FULL includes all capabilities. Accelerator contains PROCINFO and NETINFO capabilities. Default is FULL. |
capacity | -T | -capacity | Maximum number of jobs that can be run by the tasker concurrently. Default is 1 slot per core detected or specified (see -C below). |
maxload | -M | -maxload | Maximum allowed load on the tasker host (default N+0.5, where N is the number of cores detected). The maximum load is the point at which the host of the tasker is too busy to accept any more jobs. A machine is considered overloaded if its load average for either the last minute or the last five minutes exceeds this boundary. |
loadsensor | -L | -loadsensor | Use an SGE style load sensors to control power of a tasker and other resources. |
coefficient | -c | -coeff | The tasker coefficient (positive floating point number, with default 1.0). This attribute is used to adjust the raw power. A coefficient of 1.0 indicates the actual computed power of the tasker should be used. A coefficient of 4.0 indicates the actual power of the tasker should be divided by 4. |
cpus | -C | -cpus | The number of CPUs in this machine. Default is the number of cores reported by the operating system. This attribute affects the computation of the actual load on the machine and by default, defines the capacity of the tasker (see -T above). |
logfile | -l | -logfile | The name of the file for the tasker log. The file name is relative to the server working directory. The file name can contain also the following symbolic strings, which will be appropriately substituted: @NUMBER@ @TASKERHOST@ @SERVERHOST@ @PROJECT@. |
reserve | -e | -reserve | The reservation
expression for this tasker. The argument is in the format
"GROUP/USER/DURATION", where the GROUP and USER fields are optional.
Examples:
/john/2w users//100d regression/john/2w |
resources | -r | -resources | The tasker resources offered by this tasker. The resource list determines the type of jobs the tasker may accept. |
Remote Shell Command | n/a | -rshcmd | The command used to start a remote shell tasker on the tasker machine. The default is
rsh (or remsh). Other
possible values are:
|
Tasker Environment | n/a | -taskerenv | A space-separated list of VAR=VALUE elements that specify additional environment variables that need to be defined when starting the vovtasker. This parameter is only active when the tasker is started. To change the environment in a running vovtasker you have to use the vtk_tasker_config API. |
Tasker Group | n/a | -taskergroup | The group(s) the tasker is in for purpose of viewing in the browser UI or the vovmonitor. This currently has no use other than making it easier to view groups of taskers. |
timeleft | N/A | N/A | The time the tasker has left before it suspends itself. Also, the maximum expected duration for a job dispatched to this tasker. This attribute is available in the context of time variant resources and is controlled only by means of the procedure Tasker: vtk_tasker_set_timeleft. |
transient | -i | -transient | A transient tasker is destroyed when the vovtasker client is terminated. On the other hand, a non-transient tasker persists in memory even when vovtasker is terminated. Its status will be "DOWN". |
Use Vovfire | -E | -usevovfire | With this option, a direct tasker may use vovfire to execute jobs instead of the direct execution of the job. Since vovfire does the directory change and the setting of the environment, the tasker does less work. The environment caching of the tasker is disabled in this mode. This is a development option that is useful mostly on Windows. |
update | -U | -update | The period used by the tasker to update its status. The argument is in seconds. The default is 60 seconds. |
mindisk | -D | -mindisk | The amount of free disk on /usr/tmp below
which the vovtasker is suspended. The default is
5MB. Many system commands and some VOV ones depend on scratch space
here. Note: The value can be set to 0 to turn off tasker suspension, but incorrect operation of some
commands may occur.
|
maxidle | -z | N/A | After being idle for the given time, tasker does not accept new jobs and exits after completing active jobs. Value is a FlowTracer timespec, for example, 2m. If unspecified, idle time is unlimited. |
maxlife | -Z | N/A | After the specified lifetime, tasker does not accept new jobs and exits after completing active jobs. Value is a FlowTracer timespec, for example, 2H. If unspecified, lifetime is unlimited. |
maxjobs | -m | -maxjobs | The maximum number of jobs a vovtasker will execute during its lifetime. When the max is reached, vovtasker self-suspends so it stops accepting new jobs, and will exit once its last running job finishes. Default: 0 (unlimited). |