Use scheduler threads to evaluate resource requirement matching

About this task

In large-scale clusters with large numbers of hosts, you can enable resource evaluation for hosts concurrently by enabling multithreaded resource evaluation. Set the number of threads the scheduler uses for resource requirement evaluation with the SCHEDULER_THREADS parameter.

To set an effective value for this parameter, consider the number of available CPUs on the master host, the number of hosts in the cluster, and the scheduling performance metrics.

Set the number of scheduler threads as follows:

Procedure

  1. Edit the lsb.params file.
  2. Specify the value of the SCHEDULER_THREADS parameter to a number between 1 and the number of cores on the master host.

    SCHEDULER_THREADS=number_of_threads

    Setting this parameter to 0 means that the scheduler does not create any threads to evaluate resource requirements. This is the default behavior.

Results

This is especially useful for large-scale clusters with huge numbers of hosts. The idea is to do resource evaluation for hosts concurrently. For example, there are 6,000 hosts in a cluster, so the scheduler may create six threads to do the evaluation concurrently. Each thread is in charge of 1,000 hosts.

This feature requires you to configure the parser in lsf.conf.