IBM Spectrum LSF 10.1 Fix 531538 Readme File

Abstract 

P103227. This fix allows the cluster administrator to specify the maximum number of jobs that can be dispatched in a specified number of scheduling sessions.

Description

This solution allows the cluster administrator to specify the maximum number of jobs that can be dispatched in a specified number of scheduling sessions. It introduces a new dispatch limit plug-in (The library file is schmod_dispatch-limit.so) and the new configuration file lsb.dispatch_limit under the $LSF_ENVDIR/lsbatch/<cluster_name>/configdir directory. The cluster administrator can define the job dispatch limit in the lsb.dispatch_limit configuration file.

If there is anything incorrect in the lsb.dispatch_limit file, warning or error messages about the configuration will be logged in the /tmp/lsb.dispatchlimit.log file whenever the badmin reconfig or badmin mbdrestart command is run.


Scheduling messages are logged in the mbschd log file. When a dispatch limit is reached and a job is blocked from being dispatched, a LOG_INFO level message is logged in the mbschd log.


If the log level is LOG_DEBUG and the log class is LC_TRACE|LC_SCHED, the following items are output to the mbschd log at the end of each scheduling session:

- The number of dispatched jobs from each user 

- The total number of dispatched jobs of all users on all queues for the entire cluster combined 

- The maximum number of jobs that can be dispatched in a specified number of scheduling sessions 


Limitations or known issues for this solution:

1) Each time mbatchd is reconfigured or restarted, the number of dispatched jobs is recounted from 0.

2) If a running job is switched to another queue with the bswitch command, the job is counted as a dispatched job for that queue and is counted against the dispatch limit.

3) Queue names defined in the LSB_DISPATCH_LIMIT_QUEUES parameter cannot have quotations marks.


Readme file for: IBM® Spectrum LSF

Product/Component Release: 10.1

Update Name: Fix 531538

Fix ID: LSF-10.1-build 531538

Publication date: 12 Oct 20179

Last modified date: 12 Oct 2019 

Contents:


1.     List of fixes 

2.     Download location 

3.     Products or components affected

4.     System requirements 

5.     Installation and configuration

6.     List of files

7.     Product notifications

8.     Copyright and trademark information

 

1.   List of fixes

P103227

2.   Download Location

Download Fix 531538 from the following location: http://www.ibm.com/eserver/support/fixes/ 

3.   Products or components affected

Affected components include: LSF/schmod_dispatch-limit.so  LSF/mbschd  LSF/mbatchd

                                            

 

4.   System requirements

Linux2.6-glibc2.3-x86_64 

Linux3.10-glibc2.17-x86_64

 

5.   Installation and configuration

 

5.1          Before installation

 

 (LSF_TOP=Full path to the top-level installation directory of LSF.)

1)    Log on to the LSF master host as root

2)    Set your environment:

-      For csh or tcsh: % source LSF_TOP/conf/cshrc.lsf

-      For sh, ksh, or bash: $ . LSF_TOP/conf/profile.lsf

 

5.2          Installation steps

 

1)      Go to the patch install directory: cd $LSF_ENVDIR/../10.1/install/
2)      Copy the patch file to the install directory $LSF_ENVDIR/../10.1/install/
3)      Run patchinstall: ./patchinstall <patch> 

4) Go to the lsbatch configuration directory: cd $LSF_ENVDIR/lsbatch/<cluster_name>/configdir directory

5) Create the lsb.dispatch_limit configuration file under this directory. This file must be readable by primary cluster administrator.

6) Modify the lsb.modules and add following line inside the PluginModule section to enable the dispatch limit plug-in:


schmod_dispatch-limit    ()    ()

 

5.3          After installation

 

1)    Log on to the LSF master host as root

2)    Run badmin reconfig

 

5.4          Uninstallation


1) Log on to the LSF master host as root
2) Go to the patch install directory: cd $LSF_ENVDIR/../10.1/install/
3) Run ./patchinstall -r <patch>

4) Modify lsb.modules file. Remove the configuration line for the dispatch limit plug-in

5) Run badmin reconfig



5.5          Configuration

lsb.dispatch_limit:  


This feature introduces a new configuration file lsb.dispatch_limit. It defines a queue level dispatch limit and cluster level dispatch limit. This file must exist and be readable by the primary cluster administrator.

Changing lsb.dispatch_limit configuration:


After you change lsb.dispach_limit, run badmin reconfig to make the change effective.


Location:


$LSF_ENVDIR/lsbatch/<cluster_name>/configdir 


Structure:


The lsb.dispatch_limit file contains the following 2 types of configuration sections:

* QueueDispatchLimit section

* ClusterDispatchLimit section 

It allows defining multiple QueueDispatchLimit sections for different queues and at most one ClusterDispatchLimit section.


QueueDispatchLimit section:


Each queue level dispatch limit section definition should begin with the line “Begin QueueDispatchLimit” and end with the line “End QueueDispatchLimit”.


Parameters:


QUEUE_NAME

Syntax

QUEUE_NAME=string


Description

Specify which queue is the job dispatch limit defined in this section for.


Default

You must specify a valid queue name in a queue level dispatch limit section.


LSB_DISPATCH_LIMIT 

Syntax

LSB_DISPATCH_LIMIT ="User_name[Number of scheduling sessions, Number of maximum dispatch jobs][ User_name[Number of scheduling sessions, Number of maximum dispatch jobs]…] " | <including file>


Description

Limit the maximum number of jobs dispatched in a specified number of scheduling sessions for the specified user when submitting to this queue. The user name should be a valid user, the keyword “all” or the keyword “default”. The keyword “all” is for all users. The keyword “default” is for any user whose dispatch limit is not explicitly defined in this parameter. The number of scheduling sessions should be an integer greater than 0 and less than or equal to 65535. The maximum number of jobs that can be dispatched should be an integer greater than 0 and less than or equal to 2147483647.

You can also specify the full path to a file enclosed by “<” and “>”, which contains the contents of the job dispatch limit.  

The contents in the included configuration file should be the same value as LSB_DISPATCH_LIMIT. It should be one line or multiple lines connected by ‘\’, and enclosed by a pair of quotation marks.


Default

You must specify a valid LSB_DISPATCH_LIMIT in a queue level job dispatch limit section.


Example:


Begin QueueDispatchLimit

QUEUE_NAME=queue_a

LSB_DISPATCH_LIMIT=“user1[5, 10] default[4,20]”

End QueueDispatchLimit


The above configuration means: LSF can dispatch a maximum 5 jobs through queue_a for user1 within 10 scheduling sessions and maximum 4 jobs through queue_a for each of the other users within 20 scheduling sessions


ClusterDispatchLimit  Section:


The cluster level dispatch limit definition should begin with the line “Begin ClusterDispatchLimit” and end with the line “End ClusterDispatchLimit”


Parameters:


LSB_DISPATCH_LIMIT 

Syntax

LSB_DISPATCH_LIMIT ="User_name[Number of scheduling sessions, Number of maximum dispatch jobs][ User_name[Number of scheduling sessions, Number of maximum dispatch jobs]…] " | <including file>


Description

Limit the maximum number of jobs that can be dispatched in a specified number of scheduling sessions for the specified user. The user name should be a valid user, the keyword “all” or the keyword “default”. The keyword “all” is for all users. The keyword “default” is for any user whose dispatch limitation is not explicitly defined in this parameter. The number of scheduling sessions should be an integer greater than 0 and less than or equal to 65535. The maximum number of jobs that can be dispatched should be an integer greater than 0 and less than or equal to 2147483647.

You can also specify the full path to a file enclosed by “<” and “>” which contains the content of job dispatch limit. 

The contents in the included configuration file should be the same value as LSB_DISPATCH_LIMIT. It should be one line or multiple lines connected by ‘\’, and enclosed by a pair of quotation marks.


Default

You must specify a valid LSB_DISPATCH_LIMIT in the cluster-wide job dispatch limit section.

LSB_DISPATCH_LIMIT_QUEUES 

Syntax

LSB_DISPATCH_LIMIT_QUEUES ="QUEUE_NAME [QUEUE_NAME…] "


Description

This parameter works with the LSB_DISPATCH_LIMIT. When LSB_DISPATCH_LIMIT_QUEUES is defined, only the dispatched jobs in the queues defined in this parameter are counted against the cluster level job dispatch limit. Jobs in other queues are not counted.

This only impacts cluster level LSB_DISPATCH_LIMIT in the cluster-wide dispatch limit section. It doesn't impact the queue level LSB_DISPATCH_LIMIT defined in the queue level dispatch limit sections.


Default

Not defined.  Dispatched jobs in all queues are counted against the cluster level job dispatch limit.


Example:


Begin ClusterDispatchLimit

LSB_DISPATCH_LIMIT_QUEUES=“queue_b queue_c”

LSB_DISPATCH_LIMIT=“user3[6, 30] all[100, 40] ”

End ClusterDispatchLimit


The above configuration means LSF can dispatch a maximum 6 jobs for user3 in 30 scheduling sessions and a maximum of 100 jobs in total for all users in 40 scheduling sessions through queue_b and queue_c.


6.   List of files 

 
schmod_dispatch-limit.so 

mbschd

mbatchd

 

7.   Product notifications


To receive information about product solution and patch updates automatically, subscribe to product notifications on the My notifications page (www.ibm.com/support/mynotifications) on the IBM Support website (support.ibm.com). You can edit your subscription settings to choose the types of information you want to get notification about, for example, security bulletins, fixes, troubleshooting, and product enhancements or documentation changes.


8.   Copyright and trademark information

© Copyright IBM Corporation 2019

U.S. Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.

IBM®, the IBM logo and ibm.com® are trademarks of International Business Machines Corp., registered in many jurisdictions worldwide. Other product and service names might be trademarks of IBM or other companies. A current list of IBM trademarks is available on the Web at "Copyright and trademark information" at www.ibm.com/legal/copytrade.shtml.