ISV Licenses

Guide to Managing Independent Software Vendor Licenses

On Anselm cluster there are also installed commercial software applications, also known as ISV (Independent Software Vendor), which are subjects to licensing. The licenses are limited and their usage may be restricted only to some users or user groups.

Currently Flex License Manager based licensing is supported on the cluster for products ANSYS, Comsol and MATLAB. More information about the applications can be found in the general software section.

If an ISV application was purchased for educational (research) purposes and also for commercial purposes, then there are always two separate versions maintained and suffix "edu" is used in the name of the non-commercial version.

Overview of the Licenses Usage

Note

The overview is generated every minute and is accessible from web or command line interface.

Web Interface

For each license there is a table, which provides the information about the name, number of available (purchased/licensed), number of used and number of free license features https://extranet.it4i.cz/anselm/licenses

Text Interface

For each license there is a unique text file, which provides the information about the name, number of available (purchased/licensed), number of used and number of free license features. The text files are accessible from the Anselm command prompt.

Product File with license state Note
ansys /apps/user/licenses/ansys_features_state.txt Commercial
comsol /apps/user/licenses/comsol_features_state.txt Commercial
comsol-edu /apps/user/licenses/comsol-edu_features_state.txt Non-commercial only
matlab /apps/user/licenses/matlab_features_state.txt Commercial
matlab-edu /apps/user/licenses/matlab-edu_features_state.txt Non-commercial only

The file has a header which serves as a legend. All the info in the legend starts with a hash (#) so it can be easily filtered when parsing the file via a script.

Example of the Commercial Matlab license state:

$ cat /apps/user/licenses/matlab_features_state.txt
    # matlab
    # -------------------------------------------------
    # FEATURE                       TOTAL   USED AVAIL
    # -------------------------------------------------
    MATLAB                              1      1      0
    SIMULINK                            1      0      1
    Curve_Fitting_Toolbox               1      0      1
    Signal_Blocks                       1      0      1
    GADS_Toolbox                        1      0      1
    Image_Toolbox                       1      0      1
    Compiler                            1      0      1
    Neural_Network_Toolbox              1      0      1
    Optimization_Toolbox                1      0      1
    Signal_Toolbox                      1      0      1
    Statistics_Toolbox                  1      0      1

License Tracking in PBS Pro Scheduler and Users Usage

Each feature of each license is accounted and checked by the scheduler of PBS Pro. If you ask for certain licenses, the scheduler won't start the job until the asked licenses are free (available). This prevents to crash batch jobs, just because of unavailability of the needed licenses.

The general format of the name is feature__APP__FEATURE.

Names of applications (APP):

  • ansys
  • comsol
  • comsol-edu
  • matlab
  • matlab-edu

To get the FEATUREs of a license take a look into the corresponding state file (see above), or use:

Application and List of Provided Features

  • ansys $ grep -v "#" /apps/user/licenses/ansys_features_state.txt | cut -f1 -d' '
  • comsol $ grep -v "#" /apps/user/licenses/comsol_features_state.txt | cut -f1 -d' '
  • comsol-ed $ grep -v "#" /apps/user/licenses/comsol-edu_features_state.txt | cut -f1 -d' '
  • matlab $ grep -v "#" /apps/user/licenses/matlab_features_state.txt | cut -f1 -d' '
  • matlab-edu $ grep -v "#" /apps/user/licenses/matlab-edu_features_state.txt | cut -f1 -d' '

Example of PBS Pro resource name, based on APP and FEATURE name:

Application Feature PBS Pro resource name
ansys acfd feature_ansys_acfd
ansys aa_r feature_ansys_aa_r
comsol COMSOL feature_comsol_COMSOL
comsol HEATTRANSFER feature_comsol_HEATTRANSFER
comsol-edu COMSOLBATCH feature_comsol-edu_COMSOLBATCH
comsol-edu STRUCTURALMECHANICS feature_comsol-edu_STRUCTURALMECHANICS
matlab MATLAB feature_matlab_MATLAB
matlab Image_Toolbox feature_matlab_Image_Toolbox
matlab-edu MATLAB_Distrib_Comp_Engine feature_matlab-edu_MATLAB_Distrib_Comp_Engine
matlab-edu Image_Acquisition_Toolbox feature_matlab-edu_Image_Acquisition_Toolbox\

Warnig

Resource names in PBS Pro are case sensitive.

Example of qsub Statement

Run an interactive PBS job with 1 Matlab EDU license, 1 Distributed Computing Toolbox and 32 Distributed Computing Engines (running on 32 cores):

$ qsub -I -q qprod -A PROJECT_ID -l select=2:ncpus=16 -l feature__matlab-edu__MATLAB=1 -l feature__matlab-edu__Distrib_Computing_Toolbox=1 -l feature__matlab-edu__MATLAB_Distrib_Comp_Engine=32

The license is used and accounted only with the real usage of the product. So in this example, the general Matlab is used after Matlab is run by the user and not at the time, when the shell of the interactive job is started. Also the Distributed Computing licenses are used at the time, when the user uses the distributed parallel computation in Matlab (e. g. issues pmode start, matlabpool, etc.).