-clusters

LSF multicluster capability only. Specifies cluster names when submitting jobs.

Categories

resource, schedule

Synopsis

bsub -clusters "all [~cluster_name] ... | cluster_name[+[pref_level]] ... [others[+[pref_level]]]"

Description

You can specify cluster names when submitting jobs for LSF multicluster capability.

The -clusters option has the following keywords:

all
Specifies both local cluster and all remote clusters in the SNDJOBS_TO parameter of the target queue in lsb.queues. For example:

bsub -clusters all -q <send_queue>

LSF will go through the SNDJOBS_TO parameter in lsb.queues to check whether asked clusters (except for the local cluster) are members of SNDJOBS_TO. If any cluster except the local cluster does not exist in SNDJOBS_TO, the job is rejected with an error message.

others
Sends the job to all clusters except for the clusters you specify. For example:

bsub -clusters "c1+3 c2+1 others+2"

~
Must be used with all to indicate the rest of the clusters, excluding the specified clusters.
+
When followed by a positive integer, specifies job level preference for requested clusters. For example:

bsub -clusters "c1+2 c2+1"

If the local cluster name is local_c1, and SNDJOBS_TO=q1@rmt_c1 q2@rmt_c2 q3@rmt_c3, then the requested cluster should be local_c1 and rmt_c3. For example:

bsub -clusters "all ~rmt_c1 ~rmt_c2"

-clusters local_cluster restricts the job for dispatch to local hosts. To run a job on remote clusters only, use:

bsub -clusters "all ~local_cluster"

A job that only specifies remote clusters will not run on local hosts. Similarly, a job that only specifies local clusters will not run on remote hosts. If a job specifies local and remote clusters, the job tries local hosts first, then remote clusters.

If there are multiple default queues, then when bsub -clusters remote_clusters is issued, the job is sent to the queue whose SNDJOBS_TO contains the requested clusters. For example:

bsub -clusters "c2" , DEFAULT_QUEUE=q1 q2, q1: SNDJOBS_TO=recvQ1@c1 recvQ2@c3, q2: SNDJOBS_TO=recvQ1@c1 recvQ2@c2

The job is sent to q2.

To have the job try to run on only local hosts:

bsub -q mc -clusters local_c1

To have the job try to run on only remote hosts (e.g., rmt_c1 and rmt_c2):

bsub -q mc -clusters rmt_c1 rmt_c2

To have the job first try local hosts, then rmt_c1 and rmt_c2:

bsub -q mc -clusters local_c1 rmt_c1 rmt_c2

To ignore preference for the local cluster (because the local cluster is always tried first, even though remote clusters have higher job level preference) and try remote clusters:

bsub -q mc -clusters local_c1 rmt_c1+2 rmt_c2+1

To have the job first try the local cluster, then remote clusters:

bsub -q mc -clusters all

To have the job first try the local cluster, then try all remote clusters except for rmt_c1:

bsub -q mc -clusters all ~rmt_c1

To have the job try only remote clusters:

bsub -q mc -clusters all ~local_c1

The -clusters option is supported in esub, so LSF administrators can direct jobs to specific clusters if they want to implement flow control. The -m option and -clusters option cannot be used together.