Configure Taskers
The file taskers.tcl describes the vovtaskers for Accelerator.
vovtasker Configuration
You can find the file taskers.tcl in server configuration directory, default at $VOVDIR/../../vnc/vnc.swd/taskers.tcl, and in our test case at ~/ncadmin/vncdexin.swd/taskers.tcl.
# Set default behavior of vovtaskers
vtk_tasker_set_default [options]
# Define a vovtasker
vtk_tasker_define hostname [options]
If you set some options with vtk_tasker_set_default command, all the following vtk_tasker_define commands will use those options implicitly, and options set explicitly in vtk_tasker_define overwrite those set in vtk_tasker_set_default.
# In taskers.tcl
vtk_tasker_define apple
vtk_tasker_define orange
vtk_tasker_define pear
# In taskers.tcl
foreach host {apple orange pear} {
vtk_tasker_define $host
}
vtk_tasker_define apple -resources "@STD@ big_memory" -CPUS 2
vtk_tasker_define orange -resources "@STD@ big_memory" -CPUS 2
vtk_tasker_define pear -resources "@STD@ big_memory" -CPUS 4
vtk_tasker_set_defaults -resources "@STD@ big_memory" -CPUS 2
vtk_tasker_define apple
vtk_tasker_define orange
vtk_tasker_define pear -CPUS 4
Tasker Configuration Examples
# ADD THE NAMES OF THE COMPUTE SERVERS TO THE FOLLOWING LIST
set mainComputeServers {}
foreach host $mainComputeServers {
vtk_tasker_define $host -resources "VovResources::Standard @RAMTOTAL@ @SWAPFREE@"
}
set mainComputeServers { apple orange pear }
set myDualCpuServers {}
foreach host $myDualCpuServers {
vtk_tasker_define $host -maxload 3.0 -resources "VovResources::Standard @RAMTOTAL@ @SWAPFREE@"
}
Add Workstation/Offhours vovtaskers
# Add a Workstation vovtasker that will only start to accept
# job after 10 minutes of ilde and will only accept jobs
# with expected duration no longer than 5 minutes
vtk_tasker_define ftcsun44 -resources "VovResources::Workstation -minIdle 10m -maxtime 5m @RAMTOTAL@"
# Add a Offhours vovtasker that's only available from 7pm to 6am
# every weekday and on weekends
vtk_tasker_define ftcsun66 -resources "VovResources::Offhours"
Start Newly Defined vovtaskers
Like other configurations, Accelerator will pick up the changes in taskers.tcl when the server is stopped and restarted. This is often too disruptive and not favorable, especially when there are jobs running in Accelerator. Here are some other ways to apply your changes:
Start/Stop vovtaskers (Advanced)
You can start/stop vovtaskers from the GUI and the browser.
# List all vovtaskers defined in taskers.tcl
# Also checks the taskers.tcl file for syntax errors
% nc cmd vovtaskermgr list
# Start all vovtaskers defined in taskers.tcl
% nc cmd vovtaskermgr start
# Start some vovtasker(s)
% nc cmd vovtaskermgr start tasker1 tasker2
# Stop all vovtaskers
% nc cmd vovtaskermgr stop
# Stop some vovtasker(s)
% nc cmd vovtaskermgr stop tasker1 tasker2
# Show detail information of all vovtaskers
% nc cmd vovtaskermgr show
# Get usage of all vovtaskermgr commands
% nc cmd vovtaskermgr
Start a vovtasker from Command Line (Advanced)
You can also start a vovtasker on the fly from the command line using the vovtasker binary. This can sometimes be handy, for example, for debugging. This is the command that Accelerator uses to start the vovtaskers after it reads the taskers.tcl configuration file.