Automatic Resource Limits
The resources of type Limit
are treated specially by VOV. When a job
is created or submitted, if the name of the job resource contains one or more of
these tokens @USER@
, @GROUP@
,
@JOBCLASS@
, @JOBPROJ@
then each token is
replaced by the value of the corresponding field for the job. The resource map with
the token is called the symbolic limit while the derived resource map is
called the specific limit.
Limit:abc_@USER@
, the following happens: - The resource requirement for the job is changed so that
Limit:abc_@USER@
is replaced withLimit:abc_john
- A new resource map called
Limit:abc_john
is created. This resource map will be assigned a maximum amount equal to the maximum of the resource map calledLimit:abc_@USER@
, if such resource map exists, or just 1 if the resource does not exist.
# In resources.tcl
vtk_resourcemap_set Limit:queue_normal_@USER@ 10
# Example 1: set all derived limits to 15:
vtk_resourcemap_set_limit Limit:queue_normal_@USER@ 15
# Example 2: set all derived limits to 15, with a few exceptions:
vtk_resourcemap_set_limit Limit:queue_normal_@USER@ 15 -special {
Limit:queue_normal_mary 20
Limit:queue_normal_john 3
}
# Example 3: set all derived limits to 15, but consider out-of-queue usage
# Since this limit changes over time, we put it inside a TIMEVAR
# procedure, so it is computed once every minute.
TIMEVAR hsim_ooq {
default {
vtk_resourcemap_set_limit Limit:queue_hsim_@USER@ 15 -ooq License:hsim
}
}