Configuring Remote License Checking

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 the topic Configuring the Slurm License Sensor. If you need to set up the Slurm accounting database, refer to the topic 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:

  • Each license can only be checked out from one license server at a time — they cannot be split between license servers. For example, if a job requires two licenses of a given feature, the job will not be scheduled if license server A and B both have only one license available for this feature. Therefore, the number of available licenses is not the sum of the available licenses per server, but the maximum of these numbers.

  • 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.