Commas vs. ORs in Resources

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.