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¶
The overview is generated every minute and is accessible from web or command line 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
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|
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
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|
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.).