brun

forces a job to run immediately

Synopsis

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

Description

CAUTION:

This command can only be used by LSF administrators.

Forces a pending job to run immediately on specified hosts.

A job that has been forced to run is counted as a running job, this may violate the user, queue, or host job limits, and fairshare 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 preemptable 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 brun 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 3 hours, a 4 hour run limit takes effect.

Options

-b

Causes a checkpointable job to start over from the beginning, as if it had never been checkpointed.

-c

Distribute job slots for a multihost 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 -c 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. MXJ in lsb.hosts must be less than or equal to the number of CPUs and PJOB_LIMIT=1 must be specified in the queue (lsb.queues).

For example, a 6-CPU job is submitted to hostA and hostB with 4 CPUs each. Without -c, LSF would let the job take 4 slots from hostA first and then take 2 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 -c, LSF takes into consideration that hostA has 2 slots in use and hostB is completely free, so LSF is able to dispatch the job using the 2 free slots on hostA and all 4 slots on hostB.

-f

Allows the job to run without being suspended due to run windows or suspending conditions.

-m "host_name[#num_cpus] ... "

Required. Specify one or more hosts on which to run the job.

You can optionally specify the number of CPUs required per host for multihost parallel jobs. The #num_cpus option distributes job slots according the number of CPUs on the host. If #num_cpus is not defined, or if #num_cpus 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, or the number of free CPUs on the host if -c is specified. 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 1 CPU on hostB:
brun -m "hostA#1 hostB#1" 123
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.

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

In the MultiCluster job forwarding model, you can only force a job by running the command in the execution cluster.