Skip to content
Snippets Groups Projects
isv_licenses.md 5.65 KiB
Newer Older
  • Learn to ignore specific revisions
  • Lukáš Krupčík's avatar
    Lukáš Krupčík committed
    ISV Licenses
    
    Lukáš Krupčík's avatar
    Lukáš Krupčík committed
    ============
    
    
    Lukáš Krupčík's avatar
    Lukáš Krupčík committed
    ##A guide to managing Independent Software Vendor licences
    
    Lukáš Krupčík's avatar
    Lukáš Krupčík committed
    
    
    Lukáš Krupčík's avatar
    Lukáš Krupčík committed
    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.
    
    Lukáš Krupčík's avatar
    Lukáš Krupčík committed
    
    
    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.
    
    Lukáš Krupčík's avatar
    Lukáš Krupčík committed
    
    
    Lukáš Krupčík's avatar
    Lukáš Krupčík committed
    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.
    
    Lukáš Krupčík's avatar
    Lukáš Krupčík committed
    
    Overview of the licenses usage
    ------------------------------
    
    !!! Note "Note"
    	The overview is generated every minute and is accessible from web or command line interface.
    
    Lukáš Krupčík's avatar
    Lukáš Krupčík committed
    
    ### Web interface
    
    
    Lukáš Krupčík's avatar
    Lukáš Krupčík committed
    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>
    
    Lukáš Krupčík's avatar
    Lukáš Krupčík committed
    
    ### Text interface
    
    
    Lukáš Krupčík's avatar
    Lukáš Krupčík committed
    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.
    
    Lukáš Krupčík's avatar
    Lukáš Krupčík committed
    
    
    Lukáš Krupčík's avatar
    Lukáš Krupčík committed
    |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|
    
    Lukáš Krupčík's avatar
    Lukáš Krupčík committed
    
    
    Lukáš Krupčík's avatar
    Lukáš Krupčík committed
    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.
    
    Lukáš Krupčík's avatar
    Lukáš Krupčík committed
    
    Example of the Commercial Matlab license state:
    
    
    Lukáš Krupčík's avatar
    Lukáš Krupčík committed
    ```bash
    
    Lukáš Krupčík's avatar
    Lukáš Krupčík committed
        $ 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
    
    Lukáš Krupčík's avatar
    Lukáš Krupčík committed
    ```
    
    Lukáš Krupčík's avatar
    Lukáš Krupčík committed
    
    License tracking in PBS Pro scheduler and users usage
    -----------------------------------------------------
    
    Lukáš Krupčík's avatar
    Lukáš Krupčík committed
    Each feature of each license is accounted and checked by the scheduler of PBS Pro. If you ask for certain licences, 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.
    
    Lukáš Krupčík's avatar
    Lukáš Krupčík committed
    
    The general format of the name is:
    
    
    Lukáš Krupčík's avatar
    Lukáš Krupčík committed
    **feature__APP__FEATURE**
    
    Lukáš Krupčík's avatar
    Lukáš Krupčík committed
    
    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](isv_licenses/#Licence)), or use:
    
    Lukáš Krupčík's avatar
    Lukáš Krupčík committed
    
    
    Lukáš Krupčík's avatar
    Lukáš Krupčík committed
    **Application and List of provided features**
    - **ansys** $ grep -v &quot;#&quot; /apps/user/licenses/ansys_features_state.txt | cut -f1 -d&#39; &#39;
    - **comsol** $ grep -v &quot;#&quot; /apps/user/licenses/comsol_features_state.txt | cut -f1 -d&#39; &#39;
    - **comsol-ed** $ grep -v &quot;#&quot; /apps/user/licenses/comsol-edu_features_state.txt | cut -f1 -d&#39; &#39;
    - **matlab** $ grep -v &quot;#&quot; /apps/user/licenses/matlab_features_state.txt | cut -f1 -d&#39; &#39;
    - **matlab-edu** $ grep -v &quot;#&quot; /apps/user/licenses/matlab-edu_features_state.txt | cut -f1 -d&#39; &#39;
    
    Lukáš Krupčík's avatar
    Lukáš Krupčík committed
    
    Example of PBS Pro resource name, based on APP and FEATURE name:
    
     |Application |Feature |PBS Pro resource name |
     | --- | --- |
    
    Lukáš Krupčík's avatar
    Lukáš Krupčík committed
     |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\ |
    
    **Be aware, that the resource names in PBS Pro are CASE SENSITIVE!**
    
    Lukáš Krupčík's avatar
    Lukáš Krupčík committed
    
    ### Example of qsub statement
    
    
    Lukáš Krupčík's avatar
    Lukáš Krupčík committed
    Run an interactive PBS job with 1 Matlab EDU license, 1 Distributed Computing Toolbox and 32 Distributed Computing Engines (running on 32 cores):
    
    Lukáš Krupčík's avatar
    Lukáš Krupčík committed
    
    
    Lukáš Krupčík's avatar
    Lukáš Krupčík committed
    ```bash
    
    Lukáš Krupčík's avatar
    Lukáš Krupčík committed
        $ 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
    
    Lukáš Krupčík's avatar
    Lukáš Krupčík committed
    ```
    
    Lukáš Krupčík's avatar
    Lukáš Krupčík committed
    
    
    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 vy 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.).