You must have the parallel batch job scheduler plugin installed in order to use the same string.
Parallel jobs run on multiple hosts. If your cluster has heterogeneous hosts, some processes from a parallel job may for example, run on Solaris. However, for performance reasons you may want all processes of a job to run on the same type of host instead of having some processes run on one type of host and others on another type of host.
The same string specifies that all processes of a parallel job must run on hosts with the same resource.
You can specify the same string:
At the job level in the resource requirement string of:
bsub
bmod
At the queue level in lsb.queues in the RES_REQ parameter.
When queue-level, application-level, and job-level same sections are defined, LSF combines requirements to allocate processors.
resource_name[:resource_name]...
You can specify any static resource.
For example, if you specify resource1:resource2, if hosts always have both resources, the string is interpreted as allocate processors only on hosts that have the same value for resource1 and the same value for resource2.
If hosts do not always have both resources, it is interpreted as allocate processors either on hosts that have the same value for resource1, or on hosts that have the same value for resource2, or on hosts that have the same value for both resource1 and resource2.
bsub accepts multiple -R options for the same section.
Compound resource requirements do not support multiple -R options.
You can specify multiple resource requirement strings instead of using the && operator. For example:
bsub -R "same[type]" -R "same[model]"
LSF merges the multiple -R options into one string and dispatches the job if all of the resource requirements can be met. By allowing multiple resource requirement strings and automatically merging them into one string, LSF simplifies the use of multiple layers of wrapper scripts.
The same expression ensures that the resize allocation request is dispatched to hosts that have the same resources as the first-execution host. For example, if the first execution host of a job is SOL7 and the resource requirement string contains same[type], additional slots are allocated to the job on hosts of type SOL7.
Taking the same resource as the first-execution host avoids ambiguities that arise when the original job does not have a same expression defined, or has a different same expression when the resize request is scheduled.
bsub -ar -app <appplicaion_file> -n "1,100" -R "same[model]" myjob
bsub -n 4 -R"select[type==any] same[type:model]" myjob
Run all parallel processes on the same host type. Allocate 6 processors on the any host type or model as long as all the processors are on the same host type and model.
bsub -n 6 -R"select[type==any] same[type:model]" myjob
Run all parallel processes on the same host type and model. Allocate 6 processors on any host type or model as long as all the processors are on the same host type and model.
See Resource requirements for information about how resource requirements in application profiles are resolved with queue-level and job-level resource requirements.