Submit jobs

Run jobs using LSF

When you submit an LSF job, you must:

  • Reserve the license using the resource requirement usage section (bsub -R "rusage..." option)

    Tip:

    You cannot successfully reserve a license using bsub -R "select".

  • Specify the license token name (same as specifying a shared resource)

  • Specify a license project name with the bsub ‑Lp option

Projects

The project must be a valid license project configured in the lsf.licensescheduler file. If your usage section specifies a feature that you configured in the lsf.licensescheduler file, and you do not submit your job to a license project, the job is submitted to the default license project unless LSF_LIC_SCHED_STRICT_PROJECT_NAME=y in lsf.conf and you have not configured a default project for the required feature.

Tip:

Use the blstat command to view information about the default license project.

Example 1:

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

This submits a job called myjob to license project Lp1 and requests one AppB license.

Example 2:

% bsub -R "rusage[AppB=1]" myjob

This submits a job called myjob to the default license project (unless LSF_LIC_SCHED_STRICT_PROJECT_NAME=y in lsf.conf and you have not configured a default project for the required feature) and requests one AppB license.

Update resource requirements

If your queue or job starter scripts request a license that is managed by an LSF ELIM, you need to update the job submission scripts to request that license using the license token name.

Optimize expensive licenses

You can optimize the usage of expensive licenses in two ways:

  • Configure the resource requirements order string for sorting selection at job submission

  • Configure a host list at the queue level

Tip:

If the resource requirement string is configured both at the queue level and at job submission, the queue level configuration is ignored.

Configuration of order string

bsub -R "select[type==any] order[resource_name] rusage[token_name=1]" -Lp license_project_name job_name

For example:

bsub -R "select[type==any] order[cpuf] rusage[feature1=1]" -Lp Lp1 my_jobname

You can sort by other factors such as swp, ut, and r1m in your order string.

Configuration at the queue level

Configure the resource requirement string and host list in lsb.queues:

Begin Queue
QUEUE_NAME = fastqueue 
PRIORITY = 10
HOSTS = hostA+1 hostB+2 hostC hostD+1 
RES_REQ = select[type==any] rusage[feature1=1]
End Queue

Configure your host list based on desirability. This depends on your own knowledge of the capability of each host. In this example, you decide that:

  • hostB is the fastest

  • hostA and hostD are the second fastest

  • hostC is the slowest

After configuring lsb.queues, use badmin reconfig, then submit jobs:

% bsub -q fastqueue -Lp Lp1 my_jobname