Matching Jobs to License Feature Checkout Handles

Altair Accelerator tools work to match each license handle to the jobs currently running.

Typically, licenses are from FlexNet Publisher. This matching is based on "soft evidence"; the details of which process has checked out which handle are not available. Matching is based on the following information:
  • The name of the user (normalized to lower case)
  • The name of the host (normalized to lower case, possibly stripped of the domain name)
  • The checkout time compared to the start of the job, with additional uncertainty as some license managers, for exampleFlexNet Publisher, report checkout times to the minute, not to the second.
  • The PID of the process making the license checkout request. This is available in a few situations. Some license managers provide an optional capability for software tool vendors to pass the calling PID number to the checkout request in a way that records the PID in the checkout record.

Matching is especially challenging when jobs of similar age are running on the same machine by the same user.

Despite these difficulties, the matching routines produce useful information that can be used to learn which licenses are actually used by a job. This information is also used by the preemption module.

For information about matching, check the following fields:
lmhandlesall
A list of all matched resources, consisting of one or more triplets of the form resourcename: tokens match_type handle_id"
lmhandlesnru
A list of only the not requested but used (NRU) resources
lmresources
A list of all matched resources, in a older format; use lmhandlesall instead

Summary of Matching Status Values

Legend for Matching Status
This is a pid match. The pid logged with the checkout record at the license server matches the pid in the job.

Not all license servers and checkouts log pid information.

This is a Sure match. There is only one handle that matches the job and there is no certainty about which job it matches.
This is the best guess match. Another job exists that might be the actual match.


The license was assigned as a best match to a different job, but might actually match this job. The number of also matches can be limited by setting the parameter resusermaxmatches. The default value is 6.
This is a grouped match. That means that multiple checkouts with smaller token counts match this job like a best or sure match.
This is a match with an Old job: a job that completed recently.
Not-Requested/Used (nru): Not a match. This handle matches a job that does not request the resource.
Requested/NotUsed (rnu): Not a match. This job does not use the resource it requested.
Revoked.
Partial Revocation. This can occur when preemption steals only some of the tokens for a feature, not all. Typically, this is considered an error.
Too early to tell. This applies to jobs that are younger than one minute.
Not a match. This appears to be a handle used outside of the queues.

For additional information about handle matching, and when disabling matching jobs could be needed, refer to Configuring Job and License Checkout Matching.