Motivation for Commas
For various reasons, the current
Accelerator scheduler suffers
from an growth of complexity depending on the number of OR's in a resources
expression. For example, this expression has 2 ORs:
"( License:A OR License:B OR License:C ) RAM/200"
Practical considerations limit the allowed number of ORs to about 20. However, in
many cases, you do not need to use the expensive OR when instead we are trying to
request any resource in a list of resources. For this purpose, there is the "comma
operator", and the equivalent expression above can be rewritten as:
"License:A,License:B,License:C RAM/200"
The scheduler will pick any one of License:A
,
License:B
or License:C
, in that order. Such
expression is much cheaper to compute.
As of version 2016.09u15, full support of this comma operator is offered.
Activation of Commas in vovresourced
To activate the use of commas in resource expressions in
vovresourced, add the following setting in the config file
(either
resources.tcl or
vovresourced/config.tcl)
# Add this to vovresourced/config.tcl
set RESD(useCommas) 1
Activation of Commas in Allocator
For the time being, the use of commas to represent groups of resources is activated
by setting the environment variable
VOV_USE_COMMAS_IN_MAPS to 1 when calling
vtklanc. This is most easily accomplished by
setting the variable in the
setup.tcl file and restarting the
taskers.
# Set this in la.swd/setup.tcl
setenv VOV_USE_COMMAS_IN_MAPS 1
It is expected that finer control for this will be provided in future versions of
Allocator.