When BSUB_CHK_RESREQ is set, bsub checks the syntax of the resource requirement selection string without actually submitting the job for scheduling and dispatch. Use BSUB_CHK_RESREQ to check the compatibility of your existing resource requirement select strings against the stricter syntax enabled by LSF_STRICT_RESREQ=y in lsf.conf. LSF_STRICT_RESREQ does not need to be set to check the resource requirement selection string syntax.
bsub only checks the select section of the resource requirement. Other sections in the resource requirement string are not checked.
Suppresses the printing of information about job completion when a job is submitted with the bsub -K option.
If set, bsub will not print information about job completion to stdout. For example, when this variable is set, the message <<Job is finished>> will not be written to stdout.
If BSUB_QUIET and BSUB_QUIET2 are both set, no job messages will be printed to stdout.
Defines the virtual drive letter for a Rational ClearCase view to the drive. This is useful if you wish to map a Rational ClearCase view to a virtual drive as an alias.
If this letter is unavailable, Windows attempts to map to another drive. Therefore, CLEARCASE_DRIVE only defines the default drive letter to which the Rational ClearCase view is mapped, not the final selected drive letter. However, the PATH value is automatically updated to the final drive letter if it is different from CLEARCASE_DRIVE.
The path to the Rational ClearCase view.
In Windows, this path must define an absolute path starting with the default ClearCase drive and ending with the view name without an ending backslash (\).
Used when writing an elim executable to test whether the elim should run on a particular host. If the host does not have or share any of the resources listed in the environment variable LSF_RESOURCES, your elim should exit with $ELIM_ABORT_VALUE.
When the MELIM finds an elim that exited with ELIM_ABORT_VALUE, the MELIM marks the elim and does not restart it on that host.
The current working directory (cwd) of the submission host where the remote task command was executed.
The current working directory can be up to 4094 characters long for UNIX and Linux or up to 255 characters for Windows.
LSF looks for the PWD environment variable. If it finds it, sets LS_SUBCWD to PWD.
If the PWD environment variable does not exist, LSF looks for the CWD environment variable. If it finds CWD, sets LS_SUBCWD to CWD.
If the CWD environment variable does not exist, LSF calls the getwd() system function to retrieve the current working directory path name. LSF sets LS_SUBCWD to the value that is returned.
The name of the default job group.
When you submit a job to LSF without explicitly specifying a job group, LSF associates the job with the specified job group. LSB_DEFAULT_JOBGROUP overrrides the setting of DEFAULT_JOBGROUP in lsb.params. The bsub -g job_group_name option overrides both LSB_DEFAULT_JOBGROUP and DEFAULT_JOBGROUP.
If you submit a job without the -g option of bsub, but you defined LSB_DEFAULT_JOBGROUP, then the job belongs to the job group specified in LSB_DEFAULT_JOBGROUP.
Job group names must start with a slash character (/). For example, LSB_DEFAULT_JOBGROUP=/A/B/C is correct, but LSB_DEFAULT_JOBGROUP=A/B/C is not correct.
Job group names cannot end with a slash character (/). For example, LSB_DEFAULT_JOBGROUP=/A/ is not correct.
Job group names cannot contain more than one slash character (/) in a row. For example, job group names like LSB_DEFAULT_JOBGROUP=/A//B or LSB_DEFAULT_JOBGROUP=A////B are not correct.
Job group names cannot contain spaces. For example, LSB_DEFAULT_JOBGROUP=/A/B C/D is not correct.
Project names and user names used for macro substitution with %p and %u cannot start or end with slash character (/).
Project names and user names used for macro substitution with %p and %u cannot contain spaces or more than one slash character (/) in a row.
Project names or user names containing slash character (/) will create separate job groups. For example, if the project name is canada/projects, LSB_DEFAULT_JOBGROUP=/%p results in a job group hierarchy /canada/projects.
Project names can be up to 59 characters long.
If the LSF administrator defines a default project in the lsb.params configuration file, the system uses this as the default project. You can change the default project by setting LSB_DEFAULTPROJECT or by specifying a project name with the -P option of bsub.
If you submit a job without the -P option of bsub, but you defined LSB_DEFAULTPROJECT, then the job belongs to the project specified in LSB_DEFAULTPROJECT.
If you submit a job with the -P option of bsub, the job belongs to the project specified through the -P option.
mbatchd decides which is the default queue. You can override the default by defining LSB_DEFAULTQUEUE.
Indicates which rusage string is satisfied to permit the job to run. This environment variable is necessary because the OR (||) operator specifies alternative rusage strings for running jobs.
Contains a list of exit values found in the queue’s REQUEUE_EXIT_VALUES parameter defined in lsb.queues.
If LSB_EXIT_REQUEUE is defined, a job will be requeued if it exits with one of the specified values.
LSB_EXIT_REQUEUE is not defined if the parameter REQUEUE_EXIT_VALUES is not defined.
The values of start_number, end_number, and step are positive integers. Use commas to separate the values.
If a job is run on a single processor, the system sets LSB_HOSTS to the name of the host used.
For parallel jobs, the system sets LSB_HOSTS to the names of all the hosts used.
Contains information about signal that caused a job to exit.
Applies to post-execution commands. Post-execution commands are set with POST_EXEC in lsb.queues.
When the post-execution command is run, the environment variable LSB_JOBEXIT_INFO is set if the job is signalled internally. If the job ends successfully, or the job is killed or signalled externally, LSB_JOBEXIT_INFO is not set.
Indicates a job’s exit status.
Applies to post-execution commands. Post-execution commands are set with POST_EXEC in lsb.queues.
When the post-execution command is run, the environment variable LSB_JOBEXIT_STAT is set to the exit status of the job. Refer to the man page for the wait(2) command for the format of this exit status.
The post-execution command is also run if a job is requeued because the job’s execution environment fails to be set up, or if the job exits with one of the queue’s REQUEUE_EXIT_VALUES. The LSB_JOBPEND environment variable is set if the job is requeued. If the job’s execution environment could not be set up, LSB_JOBEXIT_STAT is set to 0.
The name of the job group associated with the job. When a job is dispatched, if it belongs to a job group, the runtime variable LSB_JOBGROUP is defined as its group. For example, if a dispatched job belongs to job group /X, LSB_JOBGROUP=/X.
LSB_JOBINDEX is set when each job array element is dispatched. Its value corresponds to the job array index. LSB_JOBINDEX is set for all jobs. For non-array jobs, LSB_JOBINDEX is set to zero (0).
The name of a job can be specified explicitly when you submit a job. The name does not have to be unique. If you do not specify a job name, the job name defaults to the actual batch command as specified on the bsub command line.
The job name can be up to 4094 characters long for UNIX and Linux or up to 255 characters for Windows.
Gives an estimate of the size of the batch job output when the output is sent by email. It is not necessary to configure LSB_MAILSIZE_LIMIT.
LSF sets LSB_MAILSIZE to the size in KB of the job output, allowing the custom mail program to intercept output that is larger than desired.
LSB_MAILSIZE is not recognized by the LSF default mail program. To prevent large job output files from interfering with your mail system, use LSB_MAILSIZE_LIMIT to explicitly set the maximum size in KB of the email containing the job information.
If the output is being sent by email, LSB_MAILSIZE is set to the estimated mail size in kilobytes.
If the output fails or cannot be read, LSB_MAILSIZE is set to -1 and the output is sent by email using LSB_MAILPROG if specified in lsf.conf.
If you use the -o or -e options of bsub, the output is redirected to an output file. Because the output is not sent by email in this case, LSB_MAILSIZE is not used and LSB_MAILPROG is not called.
If the -N option is used with the -o option of bsub, LSB_MAILSIZE is not set.
num_processors1, num_processors2,... refer to the number of CPUs used on host_nameA, host_nameB,..., respectively
The environment variables LSB_HOSTS and LSB_MCPU_HOSTS both contain the same information, but the information is presented in different formats. LSB_MCPU_HOSTS uses a shorter format than LSB_HOSTS. As a general rule, sbatchd sets both these variables. However, for some parallel jobs, LSB_HOSTS is not set.
For parallel jobs, several CPUs are used, and the length of LSB_HOSTS can become very long. sbatchd needs to spend a lot of time parsing the string. If the size of LSB_HOSTS exceeds 4096 bytes, LSB_HOSTS is ignored, and sbatchd sets only LSB_MCPU_HOSTS.
To verify the hosts and CPUs used for your dispatched job, check the value of LSB_HOSTS for single CPU jobs, and check the value of LSB_MCPU_HOSTS for parallel jobs.
% bsub -m "hostA hostB" -n 6 job
LSB_HOSTS= "hostA hostA hostA hostB hostB hostB"LSB_MCPU_HOSTS="hostA 3 hostB 3"
Both variables are set in order to maintain compatibility with earlier versions.
The number of times that LSF libraries attempt to contact mbatchd or perform a concurrent jobs query.
For example, if this parameter is not defined, when you type bjobs, LSF keeps displaying "batch system not responding" if mbatchd cannot be contacted or if the number of pending jobs exceeds MAX_PEND_JOBS specified in lsb.params or lsb.users.
If this parameter is set to a value, LSF only attempts to contact mbatchd the defined number of times and then quits. LSF will wait for a period of time equal to SUB_TRY_INTERVAL specified in lsb.params before attempting to contact mbatchd again.
Defines the action LSF should take if it detects a communication failure with one or more remote parallel or distributed tasks. If defined, LSF will try to kill all the current tasks of a parallel or distributed job associated with the communication failure. If not defined, the job RES notifies the task RES to terminate all tasks, and shut down the entire job.
Defines the name of a user-defined script for setting and cleaning up the parallel or distributed job environment. This script will be executed by LSF with the argument setup before launching a parallel or distributed job, and with argument cleanup after the parallel job is finished.
The script will run as the user, and will be part of the job.
If a full path is specified, LSF will use the path name for the execution. Otherwise, LSF will look for the executable from $LSF_BINDIR.
If a batch job is submitted with the -r option of bsub, and is restarted because of host failure, then LSB_RESTART is set to Y. If a checkpointable job is submitted with the -k option of bsub, then LSB_RESTART is set to Y when the job is restarted. If bmig is used to migrate a job, then LSB_RESTART is set to Y when the migrated job is restarted.
If the job is not a restarted job, then LSB_RESTART is not set.
Points to a temporary file that LSF uses to store the bsub options entered in the command line. An esub reads this file at job submission and either accepts the values, changes the values, or rejects the job. Job submission options are stored as name-value pairs on separate lines in the format option_name=value. A typical use of this file is to control job submission options.
Specifies the exit values that indicate successful execution for applications that successfully exit with non-zero values. Use spaces to separate multiple exit codes. exit_code should be the value between 0 and 255.
User-defined LSB_SUCCESS_EXIT_VALUES overrides application profile level specification of SUCCESS_EXIT_VALUES in lsb.applications.
An integer representing suspend reasons. Suspend reasons are defined in lsbatch.h.
This parameter is set when a job goes to system-suspended (SSUSP) or user-suspended status (USUSP). It indicates the exact reason why the job was suspended.
To determine the exact reason, you can test the value of LSB_SUSP_REASONS against the symbols defined in lsbatch.h.
An integer representing the load index that caused a job to be suspended.
When the suspending reason SUSP_LOAD_REASON (suspended by load) is set in LSB_SUSP_REASONS, LSB_SUSP_SUBREASONS set to one of the load index values defined in lsf.h.
Use LSB_SUSP_REASONS and LSB_SUSP_SUBREASONS together in you custom job control to determine the exact load threshold that caused a job to be suspended.
The binding requested at job submission takes effect when LSF_BIND_JOB=USER_CPU_LIST in lsf.conf or BIND_JOB=USER_CPU_LIST in an application profile in lsb.applications. LSF makes sure that the value is in the correct format, but does not check that the value is valid for the execution hosts.
The correct format is a list which may contain multiple items, separated by comma, and ranges. For example: 0,5,7,9-11.
Used in conjunction with LSF daemon authentication, specifies the full path to the temporary file on the local file system that stores auxiliary authentication information (such as credentials required by a remote host for use during job execution). Provides a way for eauth -c, mbatchd, and sbatchd to communicate the location of auxiliary authentication data. Set internally by the LSF libraries in the context of eauth.
For Kerberos authentication, used for forwarding credentials to the execution host.
Enables forwarding of credentials from a submission host to an execution host when daemon authentication is enabled. LSF_EAUTH_AUX_PASS=yes indicates that a credential can be added to the execution context of a job. Set to yes by bsub during job submission or by bmod during job modification so that eauth -c can forward credentials.
If UNIX/Windows user account mapping is enabled, specifies the preferred Windows execution domain for a job submitted by a UNIX user. The execution domain must be one of the domains listed in LSF_USER_DOMAIN.
LSF_EXECUTE_DOMAIN is defined in the user environment (.cshrc or .profile) or from the command line. Specify only one domain.
Use this parameter in conjunction with the bsub, lsrun, and lsgrun commands to bypass the order of the domains listed in LSF_USER_DOMAIN and run the job using the specified domain. If you do not have a Windows user account in the execution domain, LSF tries to run the job using one of the other domains defined by LSF_USER_DOMAIN. Once you submit a job with an execution domain defined, you cannot change the execution domain for that particular job.
If you want to run an interactive job that requires some preliminary setup, LSF provides a job starter function at the command level. A command-level job starter allows you to specify an executable file that will run prior to the actual job, doing any necessary setup and running the job when the setup is complete.
If LSF_JOB_STARTER is properly defined, RES will invoke the job starter (rather than the job itself), supplying your commands as arguments.
A job starter can also be defined at the queue level using the JOB_STARTER parameter, although this can only be done by the LSF administrator.
/bin/sh -c "$LSF_JOB_STARTER command [argument...]"
where command [argument...] are the command line arguments you specified in lsrun, lsgrun, or ch.
When LSF_LD_SECURITY=Y in lsf.conf, contains the value of the LD_LIBRARY_PATH environment variable, which is removed from the job environment during job initialization to ensure enhanced security against users obtaining root privileges. LSF_LD_LIBRARY_PATH allows the LD_LIBRARY_PATH environment variable to be put back before the job runs.
When LSF_LD_SECURITY=Y in lsf.conf, contains the value of the LD_PRELOAD evnironment variable, which is removed from the job environment during job initialization to ensure enhanced security against users obtaining root privileges. LSF_LD_PRELOAD allows the LD_PRELOAD environment variable to be put back before the job runs.
Space-separated list of dynamic external resources. When the LIM starts a master external load information manager (MELIM) on a host, the LIM checks the resource mapping defined in the ResourceMap section of lsf.cluster.cluster_name. Based on the mapping (default, all, or a host list), the LIM sets LSF_RESOURCES to the list of resources expected on the host and passes the information to the MELIM.
Specifies the time to create a Windows Terminal Service session. Configure LSF_TS_LOGON_TIME according to the load on your network enviroment.
The default, 30000 milliseconds, is suitable for most environments. If you set LSF_TS_LOGON_TIME too small, the LSF tries multiple times before it succeeds in making a TS session with the TS server, which can cause the job wait a long time before it runs. For a congested network. set LSF_TS_LOGON_TIME=1000000.
Used for authentication purposes. If LSF_USE_HOSTEQUIV is defined, RES and mbatchd call the ruserok(3) function to decide if a user is allowed to run remote jobs. LSF trusts all hosts configured in the LSF cluster that are defined in hosts.equiv, or in .rhosts in the user’s home directory.
The ruserok(3) function checks in the /etc/hosts.equiv file and the user’s $HOME/.rhosts file to decide if the user has permission to execute remote jobs.
If LSF_USE_HOSTEQUIV is not defined, all normal users in the cluster can execute remote jobs on any host.
If LSF_ROOT_REX is set, root can also execute remote jobs with the same permission test as for normal users.
Set during LSF installation or setup. If you modify this parameter in an existing cluster, you probably have to modify passwords and configuration files also.
Windows or mixed UNIX-Windows clusters only.
Enables default user mapping, and specifies the LSF user domain. The period (.) specifies local accounts, not domain accounts.
A user name specified without a domain is interpreted (on a Windows host) as belonging to the LSF user domain
A user name specified with the domain name of the LSF user domain is not valid
In a mixed cluster, this parameter defines a 2-way, 1:1 user map between UNIX user accounts and Windows user accounts belonging to the specified domain, as long as the accounts have the same user name. This means jobs submitted by the Windows user account can run on a UNIX host, and jobs submitted by the UNIX account can run on any Windows host that is available to the Windows user account.
If this parameter is not defined, the default user mapping is not enabled. You can still configure user mapping at the user or system level. User account mapping is required to run cross-platform jobs in a UNIX-Windows mixed cluster.
If you upgrade from LSF 4.0.1 or earlier, the default is the existing LSF user domain.
For a new, Windows-only cluster, this parameter is not defined (no LSF user domain, no default user mapping).
For a new, mixed UNIX-Windows cluster, the default is the domain that the Windows installation account belongs to. This can be modified during LSF installation.