Resource Mapping
As the vovservers determines which tasker is most suited to execute a particular job, it performs a mapping of the job resources, followed by a matching of the mapped resources.
- Gets the list of resources required by a job.
- Appends the resource associated with the priority level, such as
Priority:normal
. - If it exists, it appends the resource associated with the name of the tool
used in the job (reminder: the tool of a command is the tail of the first
command argument after the wrappers). The tool resource has type
Tool
and looks like this:Tool:toolname
. - Appends the resource associated with the owner of the job, such as
User:john
. - Appends the resource associated with the group of the job, such as
Group:time_regression
. - Expands any special resource, i.e. any resource that starts with a "$".
- For each resource in the list, the vovservers looks for
it in the resource maps. If the resource map is found and there is enough of
it, that is, the resource is available, the vovservers
maps the resource. This step is repeated until one of the following
conditions is met:
- The resource is not available. In this case, the job cannot be dispatched and is left in the job queue.
- A cycle in the mapping is detected; in this case the job cannot be dispatched at all and is removed from the job queue.
- The resource is not in the resource map.
- VOV appends the resource associated with the expected job duration to the
final resource list. For example, if the job is expected to take 32 seconds,
the resource
TIMELEFT#32
will be appended. - Finally, the vovservers compares the resulting resource list with the resource list of each tasker. If there is a match - all resources in the list are offered by the tasker - the tasker is labeled as eligible. If there is no eligible tasker, the job cannot be dispatched at this time and remains in the queue; otherwise, the server selects the eligible tasker with the greatest effective power.
Local Resource Maps
Resource maps can be designated as local, using the
local
flag.
Resource maps designated as local will be managed on the "local" (FT) side of the vovwxd connection instead of the normal case where resource specifications are expected to be managed on the base queue side.
- Enable local resources with
run: vovservermgr configure vovwxd.localresources 1
Note: Alternatively, you can add the following to the policy.tcl file:set config(vovwxd.localresources) 1
- Create the local resource.
- Run
vovresourcemgr set mylocallimit -max 5 -local
Note: Alternatively, you can add the following to the resource.tcl file:vtk_resourcmap_set mylocallimit -total 5 -local
- Run
This results in limiting running jobs with the local resource mylocallimit to a maximum of 5 jobs at a time.
R mylocallimit
J vov /bin/sleep 0