vovwxd Configuration

In order to successfully run jobs under Accelerator Plus, submitting to Accelerator, some configuration must be done up front.

Accelerator job classes that will be used by Accelerator Plus must be present in both Accelerator and Accelerator Plus. It is important to note that job classes are processed by Accelerator Plus only, and the tasker job submitted to the base queue will contain the post-processed resources, limits, JPP, etc. as defined by the job class. The tasker job in Accelerator will be annotated with the job class name for traceability reasons.

Resources that are referenced by jobs submitted to Accelerator Plus must be accessible from the downstream Accelerator queues.
==================== Start sample WXSWD/vovwxd/config.tcl file ====================

### vovwxd configuration file

# Specify the driver script to use for interfacing to the back-end batch
# system. For NC, use "vovnc.tcl".
set CONFIG(driver_script)            "vovnc.tcl"

# Specify the space-separated list of back-end queues to which WX should
# submit tasker requests.
set CONFIG(queues)                   "vnc"

# Specify the VOV named environment to use for the vovwxd daemon.
# For NC, this will normally be the "BASE" environment.
set CONFIG(cmd,env)                  "BASE"

# Specify a baseline submission command. Normally not needed.
set CONFIG(cmd,submit)               ""

# How often should the vovwxd daemon cycle execute ?
# The value is a VOV time spec and the default is two seconds.
set CONFIG(refresh)                  5s

# how frequently should we ask for job status from back-end queue ?
# The value is a VOV time spec and the default value is one minute.
set CONFIG(jobstat,checkfreq)        5m

# Remove sick taskers that are older than?
# Value is a VOV time spec, and the default value is five minutes.
set CONFIG(sick,older)               5m

# What is the maximum number taskers we should start?
# Should be set to a high value to enable lots of parallelism.
set CONFIG(tasker,max)               500

# What is the maximum number of queued taskers per bucket that we should allow?
set CONFIG(tasker,maxQueuedPerBucket) 100

# What is the maximum number of taskers that will be grouped into an array
# for each resource bucket, during each refresh cycle? The absolute max number
# of taskers supersedes this value.
set CONFIG(tasker,arrayMax)           0

# What is the longest a vovtasker should run before self-exiting?
# Ex: if you set it to 8 hours, and queue 4 3-hour jobs:
# the first tasker will run for nine hours (3 x 3-hr > 8-hr) and then exit
# the fourth job will only start when a second tasker has been requeued
# and started by the batch execution system.
# This controls the amount of reuse of a tasker while it processes jobs.
# To avoid the penalties of:
# noticing a tasker is needed
# + submitting to the batch system
# + the batch system to allocate a machine
# You should set this to a high value like a week.
# The value is a VOV time spec
# This is a default value. It can be overridden on a per job basis by putting
# a resource on the job that looks similar to the following.
# MAXlife:1w
set CONFIG(tasker,maxlife)       4h

# How long should a tasker wait idle for a job to arrive?
# The shorter time, the faster the slot is released to the batch system.
# The longer time, the more chances the tasker will be reused.
# The default value is two minutes (usually takes a minute to allocate a
# slot through a batch system).  Value is a VOV time spec
# This is a default value. It can be overridden on a per job basis by putting
# a resource on the job that looks similar to the following.
# MAXidle:2m
set CONFIG(tasker,maxidle)       2s

# Are there any extra resources you wish to pass along to the taskers?
# These resources will be passed directly along to the vovtasker. They
# are not processed in any way by vovwxd. For example setting
# this to "MAXlife:1w" will not work as you might expect.
set CONFIG(tasker,res)           ""

# What is the vovtasker update interval for resource calculation?
# Value is a VOV time spec, and the default value is 15 seconds.
set CONFIG(tasker,update)        15s

# Do we want to enable debug messages in the vovtasker log files?
# 0=no; 1=yes; default=0
set CONFIG(tasker,debug)         0

# What level of verbosity should the WX use when writing to its the log file?
# Valid values are 0-7; default=3
set CONFIG(log,level)           6

# What level of verbosity should the vovtasker use when writing to its the log file?
# Valid values are 0-4; default=1
set CONFIG(tasker,verbose)       1

# How long should the vovtasker try to establish the initial connection to the vovserver?
# Values are in seconds, default is 120 seconds.
set CONFIG(tasker,timeout)       120


# How much buffer should we consider when adjusting tasker,max based on available client connections?
# This number will be subtracted from the available maxNormalClient connections
# Twice this number will be subtracted from the available file descriptors
# Set this number based on how many non-vovtasker client connections are anticipated for this session.
set CONFIG(client,derate)       50

# What is the name of the launchers directory? (Default: \"./launchers\")
set CONFIG(launchers,dirname)   "./launchers"

# Remove launchers that are older than?
# Value is a VOV time spec, and the default value is one hour.
set CONFIG(launchers,older)     1h

# How many tasker submissions should be done for each
# job bucket, during each refresh cycle ? (Maximum number of submission commands to be executed)
# This parameter is a replacement for old (tasker,maxSubsPerBucket)
set CONFIG(launchers,maxLaunchersPerBucketPerCycle)   99

# Percentage of submissions for newly needed taskers
set CONFIG(launchers,quota)          10

# When we should retry requesting taskers on a queue that was not responding?
# Specify a period in vov time format or "0".
# If this parameter is "0", vovwxd dequeues all jobs in the buckets processed for the failed queue.
set CONFIG(failedAgentsCooldownPeriod)            0

===================== End sample WXSWD/vovwxd/config.tcl file ====================