How to get a reliable matching for licenses used by each tool process for each job, from each owner and on each host in the Accelerator ?

Optimist Optimizer_22479
Optimist Optimizer_22479 Altair Community Member
edited February 15 in Community Q&A

A job submitted by user1 can run multiple tools from various tool vendors (Cadence, Synopsys, Siemens, ...).
Each tool run is using a particular process ID (PID) which might require a particular Flexlm license/feature when the tool vendor is using Flexlm for the license service.
When the same user is launching multiple jobs running the same tools on the same host, Accelerator is not able to associate correctly each tool license with each job (or tool PID running for that job).
Instead, Accelerator reports a list of "sure", "best" and "also" Matching Status for each job-license pair, tracking the "handle" of the tool license.
Tracking the handle is not reliable.

When running 100s of jobs owned by the same user and 10s of these jobs are running on the same host, Accelerator frequently reports wrongly Multiple Matching while the job is using one tool license only. This makes the preemption rule to fail when preempting a job and not releasing the right license currently used by the job to be suspended.
Moreover, the report of license availability is often wrong. Accelerator saying a few tool licenses are still available for jobs in the queue, while Flexlm or License Monitor reports that all tool licenses are used.

Some tool vendor provide a variable to be set, such that "lmstat" command and the log files from Flexlm report the PID of the running tool, together with the feature/license name, the job owner, the host name and the check-in date/time. All on the same line. Example:

From lmstat:
user1 app48.company.com unix:0 Xcelium Single Core Engine [pid = 160060] (v23.000) (lm1.company.com/5280 81333), start Mon 10/30 17:46

From Flexlm log file:
17:46:36 (cdslmd) IN: "Xcelium_Single_Core" user1@app48.company.com  [Xcelium Single Core Engine [pid = 160060]] 
17:46:36 (cdslmd) OUT: "Xcelium_Single_Core" user1@app53.company.com  [Xcelium Single Core Engine [pid = 201541]] 

How could Accelerator use that PID information from Flexlm log file to report a reliable matching of license per jobID-user-host-PID ?

Answers

  • Linus Michel_22231
    Linus Michel_22231
    Altair Employee
    edited February 15

    Beginning from version 2024.1.0 we support matching Accelerator jobs to License handles coming from LM via PID. Additionally to the existing Match types you mentioned (sure, best, also, ...) there's now a "pid" Match type indicating this.