A span string specifies the locality of a parallel job. If span is omitted, LSF allocates the required processors for the job from the available set of processors.
The span string supports the following syntax:
Indicates that all the processors allocated to this job must be on the same host.
Indicates the number of processors on each host that should be allocated to the job, where value is one of the following:
Default ptile value, specified by n processors. In the following example, the job requests 4 processors on each available host, regardless of how many processors the host has:
Predefined ptile value, specified by ’!’. The following example uses the predefined maximum job slot limit lsb.hosts (MXJ per host type/model) as its value:
Predefined ptile value with optional multiple ptile values, per host type or host model:
For host type, you must specify same[type] in the resource requirement. In the following example, the job requests 8 processors on a host of type HP or SGI, and 2 processors on a host of type LINUX, and the predefined maximum job slot limit in lsb.hosts (MXJ) for other host types:
For host model, you must specify same[model] in the resource requirement. In the following example, the job requests 4 processors on hosts of model PC1133, and 2 processors on hosts of model PC233, and the predefined maximum job slot limit in lsb.hosts (MXJ) for other host models:
Disables span setting in the queue. LSF allocates the required processors for the job from the available set of processors.
For resource requirements with span[hosts=1], a resize request is limited to slots on the first-execution host of the job. This behavior eliminates the ambiguities that arise when the span expression is modified from the time that the job was originally dispatched.
bsub -n "1,20" -R "span[ptile=2]" sleep 10000
This special span behavior does not only apply to resize requests. It applies to resizable jobs only when the original allocation is made, and in making additional resize allocations.
If every host has only a single slot available, the job is allocated one slot.
Resize requests with partially filled hosts are handled so that LSF does not choose any slots on hosts already occupied by the job. For example, it is common to use the ptile feature with span[ptile=1] to schedule exclusive jobs. Another typical use is span[ptile='!'] to make the job occupy all slots on each host it is allocated.
bsub -x -ar -n "1,100" -R "span[ptile=1]" myjob
When additional slots are allocated to a running job, the slots will be on new hosts, not already occupied by the job.