Testing License Checking for Slurm

To confirm that the license checking is working correctly, perform the following tests.

Testing License Checking from Instances Outside of Slurm

  1. On an instance not managed by Slurm but with access to the same license server, execute:

    $SCHRODINGER/run lictest -d -l MMLIBS:4 -p 100

    This checks out 4 MMLIBS licenses for 100 seconds.

  2. At the same time, on an instance managed by Slurm, execute:

    scontrol show lic | grep -A1 mmlibs
  3. Confirm that the total number of licenses available to Slurm is reduced by four. If no other Schrödinger jobs are running, the previous command returns:

    Total=<N-4> Used=0 Free=<N-4> Remote=yes

    where N is the total number of available MMLIBS licenses on your license server. If a license is checked out outside of Slurm, the number of licenses available for Slurm jobs is reduced. The “Total” and “Free” counters are reduced by the same amount. The “Used” counter remains zero, as no license is checked out from a Slurm instance.

It may need up to 30 seconds until the number of available licenses is updated since the license sensor runs every 30 seconds.

Testing License Checking from Instances Managed by Slurm

  1. On the Slurm cluster, submit a test job:

    $SCHRODINGER/testapp -HOST SLURM_QUEUE -t 300 -l MMLIBS:4 -j testapp.mmlibs_4

    This submits a test job with the name testapp.mmlibs_4 to the schrodinger.hosts entry SLURM_QUEUE. The job checks out 4 MMLIBS licenses and runs for 300 seconds.

  2. While the job is running, check the Slurm accounting database:

    scontrol show lic | grep -A1 mmlibs

    This returns:

    Total=<N> Used=4 Free=<N-4> Remote=yes

    where N is the total number of available MMLIBS licenses on your license server. If a license is checked out from an instance that is part of a Slurm cluster, the “Used” counter increases and the “Free” counter decreases by the same amount.