Resource/Handle Matching

When a resource is derived from a license feature, it is useful to attempt a matching of the license handles that are currently checked out and the jobs that are currently running.

This is a challenging task because the information relative to the license handles is often incomplete and incorrect. For example, FlexNet Publisher does not report the checkout time to the second, and does not reveal the PID of the process that has requested the checkout. The PID alone would enable a precise matching. Instead, we have to accept the best possible solution based on approximate input data.

The matching is automatically enabled for all licenses.

Note: When the number of running jobs for a given license exceeds about 1,000, the matching becomes onerous on the vovserver, which can be detected by "Long Service" messages in the vovserver log.
For this issue, we recommend disabling the handle matching for selected licenses.
# Example of disabling matching for a couple of resources for which
# matching may be too expensive.
# This is to be done in the file  resources.tcl
#  (or vovresourced/config.tcl) 
vovresSetFlags License:VCSRuntime_Net -nomatch -noooq -norecent
vovresSetFlags License:NC-Verilog     -nomatch -noooq -norecent

### The default status for the resource flags can be recovered as
### follows:
#   vovresSetFlags License:abc -match -ooq -recent -log -nooverbook

Control Matching

The matching can be disabled for a resource by setting the -nomatch option in vtk_resourcemap_set for the resource.
# Example:
vtk_resourcemap_set License:abc -max 100 -lmfeature abc   -nomatch   
There are also a few global parameters (that is, the parameters set in policy.tcl) that control the matching:
In seconds, determines a tolerance in matching checkout timestamps with jobs starts
The number of "also" matches that we look for. For more information, refer to Match Jobs to Handles.
A threshold for disabling matching if the sum of Monitor handles and FlowTracer jobs exceeds it.