Borrow resources

Default queues

When you add new hosts to a single LSF cluster, you might need to update your queues to start sending work to the new hosts. This is often not necessary, because queues with the default configuration can use all hosts in the local cluster.

However, when a MultiCluster provider cluster exports resources to a consumer cluster, the default queue configuration does not allow the consumer cluster to use those resources. You must update your queue configuration to start using the borrowed resources.

Queues that use borrowed hosts

By default, LSF queues only use hosts that belong to the submission cluster. Queues can use borrowed resources when they are configured to use borrowed hosts (and the provider cluster’s export policy must be compatible).

Queues for parallel jobs

If your clusters do not have a shared file system, then parallel jobs that require a common file space could fail if they span multiple clusters. One way to prevent this is to submit these jobs to a queue that uses hosts all from one cluster (for example, configure the queue to use local hosts or borrowed hosts, but not both).

Configure a queue to use borrowed resources

To configure a queue to use borrowed resources, edit lsb.queues HOSTS parameter and specify the hosts you want to borrow from one or more other clusters.

  • The keyword all does not include borrowed hosts, only hosts that belong to the consumer cluster.

  • The keyword allremote specifies the group of borrowed hosts belonging to all provider clusters.

  • The keyword others does not include borrowed hosts, only hosts that belong to the consumer cluster.

  • The keyword none is not compatible with the resource leasing model.

  • You can specify a borrowed host in the format host_name@cluster_name. Make sure you configure this correctly, LSF does not validate names of borrowed hosts when you reconfigure the cluster.

  • You can specify a host group that includes borrowed resources.

  • You can specify all the hosts borrowed from another cluster in the format all@cluster_name.

all and allremote
  • Queues configured with the keyword all can use all available resources that belong to the consumer cluster. You can specify additional clusters or hosts to use selected borrowed resources also.

    HOSTS = all all@cluster2 hostB@cluster4
  • Queues configured with the keyword allremote can use all available borrowed resources, from all other clusters. You can also specify additional host names to use selected resources that belong to the consumer cluster.

    HOSTS = hostB hostC allremote
  • Queues configured with both keywords can use all available resources whether the hosts are borrowed or belong to the consumer cluster.

    HOSTS = all allremote
Preference

You can specify preference levels for borrowed resources, as well as for local resources. If your clusters do not have a common file system, the extra overhead of file transfer between clusters can affect performance, if a job involves large files. In this case, you should give preference to local hosts.

HOSTS = all+1 allremote