Managing licenses for different application versions

If you use more than one version of an application, you can specify the version you prefer together with a legacy version if the preferred version is not available. Use the OR (||) expression to reserve your license with an alternative license choice in the rusage string of your resource requirement.

  • Only use the OR expression when both versions of the license will work with the application.

  • Configure the resource requirements usage string with the licenses in descending order of preference.

Configuration of usage string

bsub -R "rusage[token_name1=1||token_name2=1]" -Lp license_project_name job_name

Examples:

You are running appA version 1.5 and appA version 2.0.1. The license key for version 2.0.1 is backward compatible with version 1.5, but the license key for version 1.5 does not work with version 2.0.1.

  • If you can run your job using either version of the application, try to reserve appAv201 for your job. If it is not available, you can use appAv15.

    bsub -R "rusage[appAv201=1||appAv15=1]" -Lp Lp1 myjob

  • Do not use the OR expression if your job can only run on one version of the application:

    bsub -R "rusage[appAv201=1]" -Lp Lp1 myjob

  • If different versions of an application require different system resources, you can specify other resources in your rusage string.

bsub -R "rusage[mem=20:appAv201=1||mem=20:swap=50:appAv15=1]" -Lp Lp1 myjob