Configuring Remote License Checking for Slurm

A license sensor script queries the license server at regular intervals and updates the information in the Slurm accounting database. Slurm schedules a job only if both the computational as well as license resources are available.

In order to use remote license checking, you need to use Slurm version 18.08.2 or newer, and a configured Slurm accounting database. If you have already configured the Slurm accounting database, you can skip to Step 3: Configuring the Slurm License Sensor. If you need to set up the Slurm accounting database, refer to Step 1: Installing the Slurm Accounting Database.

Caveats and Limitations

License checking reduces job failures due to unavailable licenses. However, it is subject to the following limitations:

  • If you have multiple license servers, the load sensor sums the license availability over all the servers. However, an individual license checkout cannot span servers. For example, if a job requires two tokens of a given feature and there is only one token available on server A and only one token available on server B, the license checkout will fail.

  • The license sensor script runs in regular intervals. Situations may arise when a job may be started even though the required license is not available, as the competing license checkout is not yet registered in the Slurm accounting database.

  • Suite licenses are not properly accounted for. If license features A and B are both components of a library (a line starting with PACKAGE in the license file), the checkout of feature A does not update the number of available licenses for feature B.

  • The license sensor cannot discriminate between license checkouts from queued jobs and jobs launched directly from the same node. We recommend running all Schrödinger jobs under the control of Slurm.