Server Configuration

vovserver configuration parameter values may be changed in a running vovserver using the CLI, or prior to the starting the server via the policy.tcl file. An administator can configure the parameters in the running vovserver using the vovservermgr command or the vtk_server_config procedure.

Note: In usage, all commands and parameters are case insensitive.
Using vovservermgr:
% nc cmd vovservermgr config PARAMETER_NAME PARAMETER_VALUE
Using vtk_server_config:
% nc cmd vovsh -x 'vtk_server_config PARAMETER_NAME PARAMETER_VALUE'
Example of a configuration:
% nc cmd vovsh -x 'vtk_server_config timeTolerance 4'
% nc cmd vovsh -x 'vtk_server_config timeTolerance 4'
Note: A complete list of the current server configuration parameters is provided in the Server Configuration page. A static list is shown Configuration Variables.
Server configuration can be controlled by setting variables in the policy.tcl file. The variable can be set directly in the "config()" associative array, but it is best to set them with the procedure VovServerConfig as in:
VovServerConfig VARNAME VALUE

In either case, the name of the parameter VARNAME is case insensitive.

Example

The following is part of the policy.tcl file.
# This is part of the policy.tcl file.

# Example of parameters set with the procedure VovServerConfig
VovServerConfig readonlyPort  7111 
VovServerConfig httpSecure       1

# Example of parameters set by assignment to array config().
set config(timeTolerance)        0

set config(maxBufferSize)       16000000
set config(maxNotifyBufferSize)  400000
set config(maxNotifyClients)     40;
set config(maxNormalClients)     400;

set config(maxAgeRecentJobs)     60;
set config(saveToDiskPeriod)     2h;
set config(autoShutdown)         2w;      # Shut down after 2 weeks of inactivity.
set config(autoLogout)           1h;      # Logout from browser interface.
set config(netInfo)              0;       # Do not collect net information (fs, hosts)

# Used by Accelerator for autoforget.
set config(autoForgetValid)      1h
set config(autoForgetFailed)     2d
set config(autoForgetOthers)     2d

set config(autoRescheduleThreshold) 2s

set config(preemptionPeriod) 3s
Below is an example of parameters set with the procedure VovServerConfig:
VovServerConfig readonlyPort  7111 
VovServerConfig httpSecure       1

Configuration Variables

Parameter
Description
timeTolerance
The default value is 0, which may be too strict for some networks. The recommended practice to have ntp running to synchronize the clocks to use zero. Setting the timeTolerance up to three seconds should have little effect on performance.
saveToDiskPeriod
The tradeoff to consider is the size of the crash-recovery files versus the time to save the database of files and jobs. The default value is reasonable for most uses. The crash-recovery file records the events since the last save to disk.
autoShutdown
For Accelerator, the value should always be 0 so that the server never shuts down automatically. FlowTracer users who have many projects may want to specify a shorter time, which frees up server and tasker license slots from inactive projects.
autoLogout
This is a security setting to prevent unauthorized access to a project via an open browser interface.
Note: Some pages have auto-reload; user remains logged in while any of the pages is open in the browser.
autoForgetValid, autoForgetFailed, autoForgetOthers
These three parameters control the times that various types of jobs are retained by the server. Valid or successful jobs are forgotten quickly; such jobs do not need to be examined or re-run. The default time for failed jobs is longer, which provides the time to examine the failure, determine the cause, and re-run the failed jobs. Unlike most batch queue systems, Accelerator stores information about jobs that are submitted in a database, which is due to sharing technology with FlowTracer. This feature enables the nc rerun capability.
Note: Jobs take up some space in server memory. The longer the times are set, the more memory the server will consume.
autoRescheduleCount
The maximum number of times a job can be auto-rescheduled. Default=4, max=10. Auto-rescheduling is automatically enabled for any job that exits with an exit status in the range of 201-215 and for jobs that fail in less time than the configured autoRescheduleThreshold, if non-zero.
autoRescheduleOnNewHost
Rerun on an entirely new host instead of a new tasker when auto-rescheduling a failed job. Default=1, set to 0 to allow rescheduling to a different tasker on the same host. Does not apply to auto-rescheduling based on exit status (see exit-status docs).
autoRescheduleThreshold
The default value for this parameter is 0, which deactivates auto-rescheduling. This default value is intended to prevent job failure. Maximum allowed value is 60. Does not apply to auto-rescheduling based on exit status (see exit-status docs).
Note: Take care and consideration before assigning a non-zero value. Deactivating auto-rescheduling is to prevent issues with hosts that become "black holes". This may occur when a host holds a stale NFS filehandle to a filesystem where a lot of queued jobs need to run. These jobs fail as soon as they are placed on the "black hole" machine, because the vovtasker cannot cd to the directory - which causes the queue jobs to fail.
autostop.timeout
This parameter provides a timeout for the execution of all scripts installed in the SWD/autostop directory. The autostop function is called automatically upon shutdown of the vovserver and all scripts have up to the timeout to executed and exit. This time period is provided to allow autostop scripts to communicate with the vovserver before exiting, while protecting against a problematic script that fails to exit. Once the timeout has been reached, the vovserver continues with its exit procedure, and any autostop scripts that have opened a connection to the vovserver will likely fail. Default is 60s. This parameter can be specified in policy.tcl.
Example: set config(autostop.timeout) 120
This parameter can also be set using the VTK API. Example: vtk_server_config autostop.timeout 120
clientConnectionQueue.mode, clientConnectionQueue.size
By default, the vovserver responds to multiple incoming connections during the same cycle. This feature can be controlled with these two parameters:clientConnectionQueue.mode: multi or single, default is multi. clientConnectionQueue.size: the size, integer value 25-1024, default is 512.
cpuprogressWindowSize
This parameter specifies the number of samples to use for calculating the cpuprogress statistic. The range of integer values is 1-1440: 1 is default; 1440 signifies a full day, assuming the sample time is 60 seconds.
fairshare.maxJobsPerBucket
This parameter controls the maximum number of jobs to dispatch for a specific bucket during a scheduled cycle. A smaller number is recommended for avoid overshoot in FairShare; a larger number is recommended for greater productivity during HPC (high performance computing).
Example for smaller production and FairShare is important: set config(fairshare.maxJobsPerBucket) 30
Example for HPC: set config(fairshare.maxJobsPerBucket) 500
Note: Optionally, dynamic server tuning is available when the server is under heavy load conditions: the maximum number of jobs dispatched per queue bucket is controlled.
liverecorder.logsize
This parameter controls the size of Live Recording log files. This parameter can be added to the policy.tcl file or set on-demand for the server of the tasker.
Example for setting the server: vovsh -x "vtk_server_config liverecorder.logsize N
Example for setting the tasker: vovtaskermgr configure -liverecorder.logsize N TASKERNAME; N represents the size of the file of the file in megabytyes. The range is between 256 and 8192.
Note: This setting must be applied before turning on Live Recorder.
preemptionPeriod
This parameter specifies how often Accelerator attempts to perform preemption. The default value is three seconds: preemption is attempted every 3 seconds. Preemption is disabled if the value is specified as 0.
resuserDisableMatchingThreshold
This parameter provides a threshold that disables matching if the sum of Monitor handles and FlowTracer jobs exceed that threshold. The range is 0 - 10000; the default value is 1000. This parameter can be specified in policy.tcl.
Example: set config(resuserDisableMatchingThreshold) 1000
This parameter can also be set using the VTK API. Example: vtk_server_config resuserDisableMatchingThreshold 1000
license.refresh
Specifies the rate, in minutes, for the vovserver to refresh its RLM license checkout. Default: 60. Minimum: 10. Maximum: 1 minute less than the promise time.
license.promise
Specifies the time, in minutes, past the most recent refresh when the RLM license will be checked in. Default: 7200. Minimum: 1 minute more than the refresh time, but greater than 20. Maximum: 7200.