brun

Forces a job to run immediately.

Synopsis

brun [-b] [-c] [-f] -m "host_name[#num_cpus] ... " | "cluster_name" job_ID
brun [-b] [-c] [-f] -m "host_name[#num_cpus] ... " | "cluster_name" "job_ID[index_list]"
brun [-h | -V]

Description

Important:

Only administrators can use the brun command. In LSF multicluster capability job forwarding model, you can only run the brun command from the submission cluster.

Forces a pending or finished job to run immediately on specified hosts.

In the LSF multicluster capability job forwarding model, the brun -m command forces a pending or finished job to run on local hosts. See Using IBM Spectrum LSF multicluster capability for details.

In IBM® Spectrum LSF Advanced Edition, the brun -m command forces a pending or finished job to be forwarded to a remote execution cluster. See Using IBM Spectrum LSF Advanced Edition for details.

A job that has been forced to run is counted as a running job. Forcing the job to run might violate the user, queue, or host job limits, and fair share priorities. The forced job can run on hosts with an exclusive resource definition.

A job that has been forced to run cannot be preempted by other jobs even if it is submitted to a pre-emptable queue and other jobs are submitted to a preemptive queue.

By default, after the job is started, it is still subject to run windows and suspending conditions.

LSF administrators can use the brun command to force jobs with an advance reservation to run before the reservation is active, but the job must finish running before the time window of the reservation expires.

For example, if the administrator forces a job with a reservation to run one hour before the reservation is active, and the reservation period is three hours, a four-hour run limit takes effect.

Options

-b
Causes a checkpoint-able job to start over from the beginning, as if it had never been check pointed.
-c
Distribute job slots for a multiple host parallel job according to free CPUs.

By default, if a parallel job spans for more than one host, LSF distributes the slots based on the static CPU counts of each host listed in the -m option. Use the -c option to distribute the slots based on the free CPUs of each host instead of the static CPUs.

The -c option can be only applied to hosts whose total slot counts equal to their total CPU counts. The MXJ parameter in the lsb.hosts file must be less than or equal to the number of CPUs and the PJOB_LIMIT=1 parameter must be specified in the queue (the lsb.queues file).

For example, a 6-CPU job is submitted to hostA and hostB with four CPUs each. Without the -c option, LSF lets the job take four slots from hostA first and then take two slots from hostB regardless to the status or the slots usage on hostA and hostB. If any slots on hostA are used, the job remains pending. With the -c option, LSF takes into consideration that hostA has two slots in use and hostB is completely free, so LSF is able to dispatch the job using the two free slots on hostA and all four slots on hostB.

-f
Forces the job to run without being suspended due to run windows or suspending conditions.
-m "host_name[#num_cpus] ... " | "cluster_name"
Required. Specify one or more hosts on which to run the job.

You can optionally specify the number of CPUs required per host for multiple host parallel jobs. The #num_cpus option distributes job slots according the number of CPUs on the host. If the #num_cpus option is not defined, or if the #num_cpus option is greater than the number of static CPUs on the host (or the number of free CPUs if -c is specified), LSF distributes job slots according to the number of static CPUs on the host. If the #num_cpus option is specified, LSF distributes job slots according to the number of free CPUs on the host. The number sign (#) is required as a prefix to the number of CPUs. The square brackets ([ ])indicate that #num_cpus is optional. Do not include them in the command.

For example, the following command forces job 123 to run and specifies 1 CPU on hostA and one CPU on hostB:
brun -m "hostA#1 hostB#1" 123

You can only specify a cluster name to forward the job to when the LSF/XL feature is enabled in IBM Spectrum LSF Advanced Edition. In IBM Spectrum LSF Advanced Edition, the brun -m command forces a pending job to be forwarded to a remote execution cluster.

job_ID | "job_ID[index_list]"
Required. Specify the job to run, or specify one element of a job array.
-h
Prints command usage to stderr and exits.
-V
Prints LSF release version to stderr and exits.

Limitations

You cannot force a job in SSUSP or USUSP state.

The brun command does not guarantee a job runs; it just forces LSF to dispatch the job.