[ Platform Documentation ] [ Title ] [ Contents ] [ Previous ] [ Next ] [ Index ]
Installation of and operation of LSF is controlled by the
lsf.conf
file. This chapter explains the contents of thelsf.conf
file.[ Top ]
About lsf.conf
The
lsf.conf
file is created during installation by the LSF setup program, and records all the settings chosen when LSF was installed. Thelsf.conf
file dictates the location of the specific configuration files and operation of individual servers and applications.The
lsf.conf
file is used by LSF and applications built on top of it. For example, information inlsf.conf
is used by LSF daemons and commands to locate other configuration files, executables, and network services.lsf.conf
is updated, if necessary, when you upgrade to a new version.This file can also be expanded to include application-specific parameters.
Location
The default location of
lsf.conf
is in/etc
. This default location can be overridden when necessary by either the environment variable LSF_ENVDIR or the command line option-d
available to some of the applications.Format
Each entry in
lsf.conf
has one of the following forms:NAME=VALUE NAME= NAME="STRING1 STRING2 ..."The equal sign
=
must follow eachNAME
even if no value follows and there should be no space beside the equal sign.A value that contains multiple strings separated by spaces must be enclosed in quotation marks.
Lines starting with a pound sign (
#
) are comments and are ignored. Do not use#if
as this is reserved syntax for time-based configuration.[ Top ]
Parameters
LSB_API_CONNTIMEOUT
LSB_API_CONNTIMEOUT=
time_secondsThe timeout in seconds when connecting to the Batch system.
Any positive integer or zero
10
LSB_API_RECVTIMEOUT
LSB_API_RECVTIMEOUT=
time_secondsTimeout in seconds when waiting for a reply from the Batch system.
Any positive integer or zero
10
LSB_BLOCK_JOBINFO_TIMEOUT
LSB_BLOCK_JOBINFO_TIMEOUT=
time_minutesTimeout in minutes for job information query commands (e.g.,
bjobs
).Any positive integer
Undefined (no timeout)
See lsb.params under MAX_JOBINFO_QUERY_PERIOD.
LSB_CHUNK_RUSAGE
LSB_CHUNK_RUSAGE=y
Applies only to chunk jobs. When set,
sbatchd
contacts PIM to retrieve resource usage information to enforce resource usage limits on chunk jobs.By default, resource usage limits are not enforced for chunk jobs because chunk jobs are typically too short to allow LSF to collect resource usage.
If LSB_CHUNK_RUSAGE=Y is defined, limits may not be enforced for chunk jobs that take less than a minute to run.
Undefined. No resource usage is collected for chunk jobs.
LSB_CMD_LOG_MASK
LSB_CMD_LOG_MASK=
log_levelSpecifies the logging level of error messages from LSF commands.
To specify the logging level of error messages for LSF commands, use LSF_CMD_LOG_MASK. To specify the logging level of error messages for LSF daemons, use LSF_LOG_MASK.
LSB_CMD_LOG_MASK sets the log level and is used in combination with LSB_DEBUG_CMD, which sets the log class for LSF batch commands. For example:
LSB_CMD_LOG_MASK=LOG_DEBUG LSB_DEBUG_CMD="LC_TRACE LC_EXEC"Batch commands log error messages in different levels so that you can choose to log all messages, or only log messages that are deemed critical. The level specified by LSB_CMD_LOG_MASK determines which messages are recorded and which are discarded. All messages logged at the specified level or higher are recorded, while lower level messages are discarded.
For debugging purposes, the level LOG_DEBUG contains the fewest number of debugging messages and is used for basic debugging. The level LOG_DEBUG3 records all debugging messages, and can cause log files to grow very large; it is not often used. Most debugging is done at the level LOG_DEBUG2.
The commands log to the
syslog
facility unless LSB_CMD_LOGDIR is set.The log levels from highest to lowest are:
- LOG_EMERG
- LOG_ALERT
- LOG_CRIT
- LOG_ERR
- LOG_WARNING
- LOG_NOTICE
- LOG_INFO
- LOG_DEBUG
- LOG_DEBUG1
- LOG_DEBUG2
- LOG_DEBUG3
LOG_WARNING
LSB_CMD_LOGDIR, LSB_DEBUG, LSB_DEBUG_CMD, LSB_TIME_CMD, LSF_CMD_LOGDIR, LSF_CMD_LOG_MASK, LSF_LOG_MASK, LSF_LOGDIR, LSF_TIME_CMD
LSB_CMD_LOGDIR
LSB_CMD_LOGDIR=
pathSpecifies the path to the Batch command log files.
/tmp
LSB_CMD_LOG_MASK, LSB_DEBUG, LSB_DEBUG_CMD, LSB_TIME_CMD, LSF_CMD_LOGDIR, LSF_CMD_LOG_MASK, LSF_LOG_MASK, LSF_LOGDIR, LSF_TIME_CMD
LSB_CONFDIR
LSB_CONFDIR=
pathSpecifies the path to the directory containing the LSF configuration files.
The configuration directories are installed under LSB_CONFDIR.
Configuration files for each cluster are stored in a subdirectory of LSB_CONFDIR. This subdirectory contains several files that define user and host lists, operation parameters, and queues.
All files and directories under LSB_CONFDIR must be readable from all hosts in the cluster.
LSB_CONFDIR
/
cluster_name
/
configdir
must be owned by the LSF administrator.
Do not redefine this parameter after LSF has been installed.
LSF_CONFDIR/lsbatch
LSB_CRDIR
LSB_CRDIR=
pathSpecifies the path and directory to the checkpointing executables on systems that support kernel-level checkpointing. LSB_CRDIR specifies the directory containing the
chkpnt
andrestart
utility programs thatsbatchd
uses to checkpoint or restart a job.For example:
LSB_CRDIR=/usr/binIf your platform supports kernel-level checkpointing, and if you want to use the utility programs provided for kernel-level checkpointing, set LSB_CRDIR to the location of the utility programs.
Undefined
If undefined, the system uses
/bin
.LSB_DEBUG
LSB_DEBUG=1
|2
Sets the LSF batch system to debug.
If defined, LSF runs in single user mode:
When LSB_DEBUG is defined, LSF will not look in the system services database for port numbers. Instead, it uses the port numbers defined by the parameters LSB_MBD_PORT/LSB_SBD_PORT in
lsf.conf
.If these parameters are not defined, it uses port number 40000 for
mbatchd
and port number 40001 forsbatchd
.You should always specify 1 for this parameter unless you are testing LSF.
Can also be defined from the command line.
- LSB_DEBUG=1
The LSF system runs in the background with no associated control terminal.
- LSB_DEBUG=2
The LSF system runs in the foreground and prints error messages to
tty
.Undefined
LSB_DEBUG, LSB_DEBUG_CMD, LSB_DEBUG_MBD, LSB_DEBUG_NQS, LSB_DEBUG_SBD, LSB_DEBUG_SCH, LSF_DEBUG_LIM, LSF_DEBUG_RES, LSF_LIM_PORT, LSF_RES_PORT, LSB_MBD_PORT, LSB_SBD_PORT, LSF_LOGDIR, LSF_LIM_DEBUG, LSF_RES_DEBUG
LSB_DEBUG_CMD
LSB_DEBUG_CMD=
log_classSets the debugging log class for commands and APIs.
Specifies the log class filtering that will be applied to LSF batch commands or the API. Only messages belonging to the specified log class are recorded.
LSB_DEBUG_CMD sets the log class and is used in combination with LSB_CMD_LOG_MASK, which sets the log level. For example:
LSB_CMD_LOG_MASK=LOG_DEBUG LSB_DEBUG_CMD="LC_TRACE LC_EXEC"Debugging is turned on when you define both parameters.
The daemons log to the
syslog
facility unless LSB_CMD_LOGDIR is defined.To specify multiple log classes, use a space-separated list enclosed by quotation marks. For example:
LSB_DEBUG_CMD="LC_TRACE LC_EXEC"Can also be defined from the command line.
Valid log classes are:
- LC_AFS - Log AFS messages
- LC_AUTH - Log authentication messages
- LC_CHKPNT - Log checkpointing messages
- LC_COMM - Log communication messages
- LC_DCE - Log messages pertaining to DCE support
- LC_EEVENTD - Log eeventd messages
- LC_ELIM - Log ELIM messages
- LC_EXEC - Log significant steps for job execution
- LC_FAIR - Log fairshare policy messages
- LC_FILE - Log file transfer messages
- LC_HANG - Mark where a program might hang
- LC_JARRAY - Log job array messages
- LC_JLIMIT - Log job slot limit messages
- LC_LICENCE - Log license management messages
- LC_LOADINDX - Log load index messages
- LC_M_LOG - Log multievent logging messages
- LC_MPI - Log MPI messages
- LC_MULTI - Log messages pertaining to MultiCluster
- LC_PEND - Log messages related to job pending reasons
- LC_PERFM - Log performance messages
- LC_PIM - Log PIM messages
- LC_PREEMPT - Log preemption policy messages
- LC_SIGNAL - Log messages pertaining to signals
- LC_SYS - Log system call messages
- LC_TRACE - Log significant program walk steps
- LC_XDR - Log everything transferred by XDR
Undefined
LSB_CMD_LOG_MASK, LSB_CMD_LOGDIR, LSB_DEBUG, LSB_DEBUG_MBD, LSB_DEBUG_NQS, LSB_DEBUG_SBD, LSB_DEBUG_SCH, LSF_DEBUG_LIM, LSF_DEBUG_RES, LSF_LIM_PORT, LSF_RES_PORT, LSB_MBD_PORT, LSB_SBD_PORT, LSF_LOGDIR, LSF_LIM_DEBUG, LSF_RES_DEBUG
LSB_DEBUG_MBD
LSB_DEBUG_MBD=
log_classSets the debugging log class for
mbatchd
.Specifies the log class filtering that will be applied to
mbatchd
. Only messages belonging to the specified log class are recorded.LSB_DEBUG_MBD sets the log class and is used in combination with LSF_LOG_MASK, which sets the log level. For example:
LSF_LOG_MASK=LOG_DEBUG LSB_DEBUG_MBD="LC_TRACE LC_EXEC"To specify multiple log classes, use a space-separated list enclosed in quotation marks. For example:
LSB_DEBUG_MBD="LC_TRACE LC_EXEC"You need to restart the daemons after setting LSB_DEBUG_MBD for your changes to take effect.
If you use the command
badmin mbddebug
to temporarily change this parameter without changinglsf.conf
, you will not need to restart the daemons.The daemons log to the
syslog
facility unless LSF_LOGDIR is defined.Valid log classes are the same as for LSB_DEBUG_CMD except for the log classes LC_ELIM and LC_JARRAY which cannot be used with LSB_DEBUG_MBD. See LSB_DEBUG_CMD.
Undefined
LSF_LOG_MASK, LSF_LOGDIR, LSB_DEBUG, LSB_DEBUG_CMD, LSB_DEBUG_MBD, LSB_DEBUG_NQS, LSB_DEBUG_SBD, LSB_DEBUG_SCH, LSF_DEBUG_LIM, LSF_DEBUG_RES, LSF_LIM_PORT, LSF_RES_PORT, LSB_MBD_PORT, LSB_SBD_PORT, LSF_LOGDIR, LSF_LIM_DEBUG, LSF_RES_DEBUG,
badmin mbddebug
LSB_DEBUG_NQS
LSB_DEBUG_NQS=
log_classSets the log class for debugging the NQS interface.
Specifies the log class filtering that will be applied to NQS. Only messages belonging to the specified log class are recorded.
LSB_DEBUG_NQS sets the log class and is used in combination with LSF_LOG_MASK, which sets the log level. For example:
LSF_LOG_MASK=LOG_DEBUG LSB_DEBUG_NQS="LC_TRACE LC_EXEC"Debugging is turned on when you define both parameters.
To specify multiple log classes, use a space-separated list enclosed in quotation marks. For example:
LSB_DEBUG_NQS="LC_TRACE LC_EXEC"The daemons log to the
syslog
facility unless LSF_LOGDIR is defined.This parameter can also be defined from the command line.
For a list of valid log classes, see LSB_DEBUG_CMD.
Undefined
LSB_DEBUG_CMD, LSF_CMD_LOGDIR, LSF_CMD_LOG_MASK, LSF_LOG_MASK, LSF_LOGDIR
LSB_DEBUG_SBD
LSB_DEBUG_SBD=
log_classSets the debugging log class for
sbatchd
.Specifies the log class filtering that will be applied to
sbatchd
. Only messages belonging to the specified log class are recorded.LSB_DEBUG_SBD sets the log class and is used in combination with LSF_LOG_MASK, which sets the log level. For example:
LSF_LOG_MASK=LOG_DEBUG LSB_DEBUG_SBD="LC_TRACE LC_EXEC"To specify multiple log classes, use a space-separated list enclosed in quotation marks. For example:
LSB_DEBUG_SBD="LC_TRACE LC_EXEC"You need to restart the daemons after setting LSB_DEBUG_SBD for your changes to take effect.
If you use the command
badmin sbddebug
to temporarily change this parameter without changinglsf.conf
, you will not need to restart the daemons.The daemons log to the
syslog
facility unless LSF_LOGDIR is defined.Valid log classes are the same as for LSB_DEBUG_CMD except for the log classes LC_ELIM and LC_JARRAY which cannot be used with LSB_DEBUG_SBD. See LSB_DEBUG_CMD.
Undefined
LSB_DEBUG_MBD, LSF_CMD_LOGDIR, LSF_CMD_LOG_MASK, LSF_LOG_MASK, LSF_LOGDIR,
badmin
LSB_DEBUG_SCH
LSB_DEBUG_SCH=
log_classSets the debugging log class for
mbschd
.Specifies the log class filtering that will be applied to
mbschd
. Only messages belonging to the specified log class are recorded.LSB_DEBUG_SCH sets the log class and is used in combination with LSF_LOG_MASK, which sets the log level. For example:
LSF_LOG_MASK=LOG_DEBUG LSB_DEBUG_SCH="LC_SCHED"To specify multiple log classes, use a space-separated list enclosed in quotation marks. For example:
LSB_DEBUG_SCH="LC_SCHED LC_TRACE LC_EXEC"You need to restart the daemons after setting LSB_DEBUG_SCH for your changes to take effect.
The daemons log to the
syslog
facility unless LSF_LOGDIR is defined.Valid log classes are the same as for LSB_DEBUG_CMD except for the log classes LC_ELIM and LC_JARRAY which cannot be used with LSB_DEBUG_SCH, and LC_HPC, which is only valid for LSB_DEBUG_SCH. See LSB_DEBUG_CMD.
Undefined
LSB_DEBUG_MBD, LSB_DEBUG_SBD, LSF_CMD_LOGDIR, LSF_CMD_LOG_MASK, LSF_LOG_MASK, LSF_LOGDIR,
badmin
LSF_DYNAMIC_HOST_TIMEOUT
LSF_DYNAMIC_HOST_TIMEOUT=
number[m
|M
]Defines a timeout value for when a dynamically added host becomes unavailable. A dynamic host will be removed if a host becomes unavailable after the specified number of hours.
By default, the timeout is in hours. To specify a timeout in minutes, append "
m
" or "M
" to the value. For example:LSF_DYNAMIC_HOST_TIMEOUT=15M # 15 minutes LSF_DYNAMIC_HOST_TIMEOUT=120M # 120 minutes (2h)The minimum value is 10 minutes. If you define a value smaller than 10 minutes, LSF sets the timeout to 10 minutes and logs a warning message in the lim.log file.
LSF_DYNAMIC_HOST_TIMEOUT=1A dynamically added host will be removed once it becomes unavailable for more than one hour.
No time out (host is never dynamically removed)
LSB_ECHKPNT_METHOD
LSB_ECHKPNT_METHOD=
method_nameName of custom
echkpnt
anderestart
methods.Can also be defined as an environment variable, or specified through the
bsub
-k
option.The name you specify here will be used for both your custom
echkpnt
anderestart
programs. You must assign your customechkpnt
and erestart programs the nameechkpnt.method_name
anderestart.
method_name. The programsechkpnt.method_name
anderestart.
method_name. must be in LSF_SERVERDIR or in the directory specified by LSB_ECHKPNT_METHOD_DIR.Do not define
LSB_ECHKPNT_METHOD=default
asdefault
is a reserved keyword to indicate to use LSF's defaultechkpnt
anderestart
methods. You can however, specifybsub -k "my_dir method=default" my_job
to indicate that you want to use LSF's default checkpoint and restart methods.When this parameter is undefined in
lsf.conf
or as an environment variable and no custom method is specified at job submission throughbsub -k
, LSF usesechkpnt.default
anderestart.default
to checkpoint and restart jobs.When this parameter is defined, LSF uses the custom checkpoint and restart methods specified.
The method name and directory (LSB_ECHKPNT_METHOD_DIR) combination must be unique in the cluster.
For example, you may have two
echkpnt
applications with the same name such asechkpnt.mymethod
but what differentiates them is the different directories defined with LSB_ECHKPNT_METHOD_DIR. It is the cluster administrator's responsibility to ensure that method name and method directory combinations are unique in the cluster.Undefined; LSF uses
echkpnt.default
anderestart.default
to checkpoint and restart jobsLSB_ECHKPNT_METHOD_DIR, LSB_ECHKPNT_KEEP_OUTPUT
LSB_ECHKPNT_METHOD_DIR
LSB_ECHKPNT_METHOD_DIR=
pathAbsolute path name of the directory in which custom
echkpnt
anderestart
programs are located.The checkpoint method directory should be accessible by all users who need to run the custom
echkpnt
anderestart
programs.Can also be defined as an environment variable.
Undefined; LSF searches in LSF_SERVERDIR for custom
echkpnt
anderestart
programsLSB_ECHKPNT_METHOD, LSB_ECHKPNT_KEEP_OUTPUT
LSB_ECHKPNT_KEEP_OUTPUT
LSB_ECHKPNT_KEEP_OUTPUT=y
|Y
Saves the standard output and standard error of custom
echkpnt
anderestart
methods to:
checkpoint_dir/$LSB_JOBID/echkpnt.out
checkpoint_dir/$LSB_JOBID/echkpnt.err
checkpoint_dir/$LSB_JOBID/erestart.out
checkpoint_dir/$LSB_JOBID/erestart.err
Can also be defined as an environment variable.
Undefined; standard error and standard output messages from custom
echkpnt
anderestart
programs is directed to/dev/null
and discarded by LSF.LSB_ECHKPNT_METHOD, LSB_ECHKPNT_METHOD_DIR
LSB_ESUB_METHOD
To specify a mandatory esub method that applies to all job submissions, you can configure LSB_ESUB_METHOD in
lsf.conf
.LSB_ESUB_METHOD specifies the name of the
esub
method used in addition to any methods specified in thebsub
-a
option.For example,
LSB_ESUB_METHOD="dce fluent"
defines DCE as the mandatory security system, and FLUENT as the mandatory application used on all jobs.
LSB_ESUB_METHOD="
method_name [method_name] ..."
Specifies the name of the mandatory
esub
method. Can also be defined as an environment variable.When this parameter is defined, LSF uses the specified
esub
method, where method_name is one of:
openmp
orpvm
--for OpenMP or PVM job submission;esub
callsesub.openmp
oresub.pvm
poe
--for POE job submission;esub
callsesub.poe
ls_dyna
--for LS-Dyna job submission;esub
callsesub.ls_dyna
fluent
--for FLUENT job submission;esub
callsesub.fluent
afs
ordce
--for AFS or DCE security;esub
callsesub.afs
oresub.dce
lammpi
ormpich_gm
--for LAM/MPI or MPI-GM job submission;esub
callsesub.lammpi
oresub.mpich_gm
The name you specify is used to invoke the appropriate
esub
program. Theesub
andesub.xxx
programs must be located in LSF_SERVERDIR.
LSB_ESUB_METHOD="dce fluent"
defines DCE as the mandatory security system, and FLUENT as the mandatory application used on all jobs.LSF does not detect conflicting method specifications. For example, you can specify either
openmp
orpvm
, but not both. IfLSB_ESUB_METHOD="openmp"
andbsub -a pvm
is specified at job submission, the job may fail or be rejected.If multiple
esub
methods are specified, and the return value is LSB_ABORT_VALUE,esub
exits without running the remainingesub
methods and returns LSB_ABORT_VALUE.Undefined
LSB_INTERACT_MSG_ENH
LSB_INTERACT_MSG_ENH=y
|Y
If set, enables enhanced messaging for interactive batch jobs. To disable interactive batch job messages, set LSB_INTERACT_MSG_ENH to any value other than
y
orY
; for example,LSB_INTERACT_MSG_ENH=N
.Undefined
LSB_INTERACT_MSG_INTVAL
LSB_INTERACT_MSG_INTVAL=
time_secondsSpecifies the update interval in seconds for interactive batch job messages. LSB_INTERACT_MSG_INTVAL is ignored if LSB_INTERACT_MSG_ENH is not set.
Job information that LSF uses to get the pending or suspension reason is updated according to the value of PEND_UPDATE_INTERVAL in
lsb.params
.Undefined. If LSB_INTERACT_MSG_INTVAL is set to an incorrect value, the default update interval is 60 seconds.
LSB_INTERACT_MSG_ENH in lsf.conf
LSB_JOB_CPULIMIT
LSB_JOB_CPULIMIT=y
|n
Determines whether the CPU limit is a per-process limit enforced by the OS or whether it is a per-job limit enforced by LSF:
- The per-process limit is enforced by the OS when the CPU time of one process of the job exceeds the CPU limit.
- The per-job limit is enforced by LSF when the total CPU time of all processes of the job exceed the CPU limit.
This parameter applies to CPU limits set when a job is submitted with
bsub -c
, and to CPU limits set for queues by CPULIMIT inlsb.queues
.The setting of LSB_JOB_CPULIMIT has the following effect on how the limit is enforced:
When LSB_JOB_CPULIMIT is LSF-enforced per-job limit OS-enforced per-process limit y
Enabled
Disabled
n
Disabled
Enabled
undefined
Enabled
Enabled
- LSF-enforced per-job limit--When the sum of the CPU time of all processes of a job exceed the CPU limit, LSF sends a SIGXCPU signal (where supported by the operating system) from the operating system to all processes belonging to the job, then SIGINT, SIGTERM and SIGKILL. The interval between signals is 10 seconds by default. The time interval between SIGXCPU, SIGINT, SIGKILL, SIGTERM can be configured with the parameter JOB_TERMINATE_INTERVAL in
lsb.params
.SIGXCPU is not supported by Windows.
- OS-enforced per process limit--When one process in the job exceeds the CPU limit, the limit is enforced by the operating system. For more details, refer to your operating system documentation for setrlimit().
Undefined
To make LSB_JOB_CPULIMIT take effect, use the command
badmin hrestart
all
to restart allsbatchd
s in the cluster.Changing the default Terminate job control action--You can define a different terminate action in
lsb.queues
with the parameter JOB_CONTROLS if you do not want the job to be killed. For more details on job controls, see Administering Platform LSF.If a job is running and the parameter is changed, LSF is not able to reset the type of limit enforcement for running jobs.
- If the parameter is changed from per-process limit enforced by the OS to per-job limit enforced by LSF (LSB_JOB_CPULIMIT=n changed to LSB_JOB_CPULIMIT=y), both per-process limit and per-job limit will affect the running job. This means that signals may be sent to the job either when an individual process exceeds the CPU limit or the sum of the CPU time of all processes of the job exceed the limit. A job that is running may be killed by the OS or by LSF.
- If the parameter is changed from per-job limit enforced by LSF to per-process limit enforced by the OS (LSB_JOB_CPULIMIT=y changed to LSB_JOB_CPULIMIT=n), the job will be allowed to run without limits because the per-process limit was previously disabled.
lsb.queues
(5)
,bsub
(1)
, JOB_TERMINATE_INTERVAL in lsb.params, LSB_MOD_ALL_JOBS in lsf.conf.LSB_JOB_MEMLIMIT
LSB_JOB_MEMLIMIT=y
|n
Determines whether the memory limit is a per-process limit enforced by the OS or whether it is a per-job limit enforced by LSF.
- The per-process limit is enforced by the OS when the memory allocated to one process of the job exceeds the memory limit.
- The per-job limit is enforced by LSF when the sum of the memory allocated to all processes of the job exceeds the memory limit.
This parameter applies to memory limits set when a job is submitted with
bsub -M
mem_limit, and to memory limits set for queues with MEMLIMIT inlsb.queues
.The setting of LSB_JOB_MEMLIMIT has the following effect on how the limit is enforced:
When LSB_JOB_MEMLIMIT is LSF-enforced per-job limit OS-enforced per-process limit y
Enabled
Disabled
n or undefined
Disabled
Enabled
- LSF-enforced per-job limit--When the total memory allocated to all processes in the job exceeds the memory limit, LSF sends the following signals to kill the job: SIGINT, SIGTERM, then SIGKILL. The interval between signals is 10 seconds by default.
On UNIX, the time interval between SIGINT, SIGKILL, SIGTERM can be configured with the parameter JOB_TERMINATE_INTERVAL in
lsb.params
.- OS-enforced per process limit--When the memory allocated to one process of the job exceeds the memory limit, the operating system enforces the limit. LSF passes the memory limit to the operating system. Some operating systems apply the memory limit to each process, and some do not enforce the memory limit at all.
OS memory limit enforcement is only available on systems that support
RLIMIT_RSS
for setrlimit().The following operating systems do not support the memory limit at the OS level and the job will be allowed to run without a memory limit:
Undefined; per-process memory limit enforced by the OS; per-job memory limit enforced by LSF disabled
To make LSB_JOB_MEMLIMIT take effect, use the command
badmin hrestart
all
to restart allsbatchd
s in the cluster.If LSB_JOB_MEMLIMIT is set, it overrides the setting of the parameter LSB_MEMLIMIT_ENFORCE. The parameter LSB_MEMLIMIT_ENFORCE is ignored.
The difference between LSB_JOB_MEMLIMIT set to y and LSB_MEMLIMIT_ENFORCE set to y is that with LSB_JOB_MEMLIMIT, only the per-job memory limit enforced by LSF is enabled. The per-process memory limit enforced by the OS is disabled. With LSB_MEMLIMIT_ENFORCE set to y, both the per-job memory limit enforced by LSF and the per-process memory limit enforced by the OS are enabled.
Changing the default Terminate job control action--You can define a different Terminate action in
lsb.queues
with the parameter JOB_CONTROLS if you do not want the job to be killed. For more details on job controls, see Administering Platform LSF.If a job is running and the parameter is changed, LSF is not able to reset the type of limit enforcement for running jobs.
- If the parameter is changed from per-process limit enforced by the OS to per-job limit enforced by LSF (LSB_JOB_MEMLIMIT=n or undefined changed to LSB_JOB_MEMLIMIT=y), both per-process limit and per-job limit will affect the running job. This means that signals may be sent to the job either when the memory allocated to an individual process exceeds the memory limit or the sum of memory allocated to all processes of the job exceed the limit. A job that is running may be killed by LSF.
- If the parameter is changed from per-job limit enforced by LSF to per-process limit enforced by the OS (LSB_JOB_MEMLIMIT=y changed to LSB_JOB_MEMLIMIT=n or undefined), the job will be allowed to run without limits because the per-process limit was previously disabled.
LSB_MEMLIMIT_ENFORCE, LSB_MOD_ALL_JOBS,
lsb.queues
(5)
,bsub
(1)
, JOB_TERMINATE_INTERVAL in lsb.paramsLSB_LOCALDIR
LSB_LOCALDIR=
pathEnables duplicate logging.
Specify the path to a local directory that exists only on the first LSF master host (the first host configured in
lsf.cluster.
cluster_name). LSF puts the primary copies of the event and accounting log files in this directory. LSF puts the duplicates in LSB_SHAREDIR.LSB_LOCALDIR=/usr/share/lsbatch/loginfoUndefined
EVENT_UPDATE_INTERVAL in EVENT_UPDATE_INTERVAL
LSF_LOCAL_RESOURCES
LSF_LOCAL_RESOURCES=
resource ...Defines instances of local resources residing on the slave host.
- For numeric resources, defined name-value pairs:
[resourcemap
value*
resource_name]
- For Boolean resources, the value will be the resource name in the form:
[resource
resource_name]
When the slave host calls the master host to add itself, it also reports its local resources. The local resources to be added must be defined in
lsf.shared
.If the same resource is already defined in
lsf.shared
asdefault
orall
, it cannot be added as a local resource. The shared resource overrides the local one.
LSF_LOCAL_RESOURCES is usually set in theslave.config
file during installation. If LSF_LOCAL_RESOURCES are already defined in a locallsf.conf
on the slave host,lsfinstall
does not add resources you define in LSF_LOCAL_RESOURCES inslave.config
. You should not have duplicate LSF_LOCAL_RESOURCES entries in lsf.conf. If local resources are defined more than once, only the last definition is valid.
Resources must already be mapped to hosts in the ResourceMap section of lsf.cluster.cluster_name. If the ResourceMap section does not exist, local resources are not added.
LSF_LOCAL_RESOURCES=[resourcemap 1*verilog] [resource linux]Undefined
LSB_MAILPROG
LSB_MAILPROG=
file_namePath and file name of the mail program used by the Batch system to send email. This is the electronic mail program that LSF will use to send system messages to the user. When LSF needs to send email to users it invokes the program defined by LSB_MAILPROG in
lsf.conf
. You can write your own custom mail program and set LSB_MAILPROG to the path where this program is stored.The LSF administrator can set the parameter as part of cluster reconfiguration. Provide the name of any mail program. For your convenience, LSF provides the
sendmail
mail program, which supports thesendmail
protocol on UNIX.In a mixed cluster, you can specify different programs for Windows and UNIX. You can set this parameter during installation on Windows. For your convenience, LSF provides the
lsmail.exe
mail program, which supports SMTP and Microsoft Exchange Server protocols on Windows. Iflsmail
is specified, the parameter LSB_MAILSERVER must also be specified.If you change your mail program, the LSF administrator must restart
sbatchd
on all hosts to retrieve the new value.By default, LSF uses
/usr/lib/sendmail
to send email to users. LSF calls LSB_MAILPROG with two arguments; one argument gives the full name of the sender, and the other argument gives the return address for mail.LSB_MAILPROG must read the body of the mail message from the standard input. The end of the message is marked by end-of-file. Any program or shell script that accepts the arguments and input, and delivers the mail correctly, can be used.
LSB_MAILPROG must be executable by any user.
If LSB_MAILPROG is not defined, no email is sent.
LSB_MAILPROG=lsmail.exe LSB_MAILPROG=/serverA/tools/lsf/bin/unixhost.exe
/usr/lib/sendmail
(UNIX)blank (Windows)
LSB_MAILSERVER
LSB_MAILSERVER=
mail_protocol:mail_serverPart of mail configuration on Windows.
This parameter only applies when
lsmail
is used as the mail program (LSB_MAILPROG = lsmail.exe).Otherwise, it is ignored.Both mail_protocol and mail_server must be indicated.
Set this parameter to either SMTP or Microsoft Exchange protocol (SMTP or EXCHANGE) and specify the name of the host that is the mail server.
This parameter is set during installation of LSF on Windows or is set or modified by the LSF administrator.
If this parameter is modified, the LSF administrator must restart
sbatchd
on all hosts to retrieve the new value.LSB_MAILSERVER = EXCHANGE:Host2@company.com LSB_MAILSERVER = SMTP:MailHostUndefined
LSB_MAILSIZE_LIMIT
LSB_MAILSIZE_LIMIT=
email_size_in_KBLimits the size of the email containing job output information.
The system sends job information such as CPU, process and memory usage, job output, and errors in email to the submitting user account. Some batch jobs can create large amounts of output. To prevent large job output files from interfering with your mail system, use LSB_MAILSIZE_LIMIT to set the maximum size in KB of the email containing the job information. Specify a positive integer.
If the size of the job output email exceeds LSB_MAILSIZE_LIMIT, the output is saved to a file under JOB_SPOOL_DIR or to the default job output directory if JOB_SPOOL_DIR is undefined. The email informs users of where the job output is located.
If the
-o
option ofbsub
is used, the size of the job output is not checked against LSB_MAILSIZE_LIMIT.If you use a custom mail program specified by the LSB_MAILPROG parameter that can use the LSB_MAILSIZE environment variable, it is not necessary to configure LSB_MAILSIZE_LIMIT.
By default, LSB_MAILSIZE_LIMIT is not enabled. No limit is set on size of batch job output email.
LSB_MAILTO
LSB_MAILTO=
mail_accountLSF sends electronic mail to users when their jobs complete or have errors, and to the LSF administrator in the case of critical errors in the LSF system. The default is to send mail to the user who submitted the job, on the host on which the daemon is running; this assumes that your electronic mail system forwards messages to a central mailbox.
The LSB_MAILTO parameter changes the mailing address used by LSF. LSB_MAILTO is a format string that is used to build the mailing address.
Common formats are:
!U
--Mail is sent to the submitting user's account name on the local host. The substring!U
, if found, is replaced with the user's account name.!U@company_name.com
--Mail is sent touser@company_name.com
on the mail server specified by LSB_MAILSERVER.!U@!H
--Mail is sent touser
@
submission_hostname. The substring!H
is replaced with the name of the submission host.This format is valid on UNIX only. It is not supported on Windows.
All other characters (including any other `
!
') are copied exactly.If this parameter is modified, the LSF administrator must restart
sbatchd
on all hosts to retrieve the new value.!ULSB_MAILPROG, LSB_MAILSIZE_LIMIT
LSB_MAX_NQS_QUEUES
LSB_MAX_NQS_QUEUES=
nqs_queuesThe maximum number of NQS queues allowed in the LSF cluster. Required for LSF to work with NQS. You must restart
mbatchd
if you change the value of LSB_MAX_NQS_QUEUES.The total number of NQS queues configured by NQS_QUEUES in
lsb.queues
cannot exceed the value of LSB_MAX_NQS_QUEUES. NQS queues in excess of the maximum queues are ignored.If you do not define LSB_MAX_NQS_QUEUES or define an incorrect value, LSF-NQS interoperation is disabled.
Any positive integer
None
LSB_MBD_PORT
See LSF_LIM_PORT, LSF_RES_PORT, LSB_MBD_PORT, LSB_SBD_PORT.
LSB_MC_CHKPNT_RERUN
LSB_MC_CHKPNT_RERUN=y
|n
For checkpointable MultiCluster jobs, if a restart attempt fails, the job will be rerun from the beginning (instead of from the last checkpoint) without administrator or user intervention.
The submission cluster does not need to forward the job again. The execution cluster reports the job's new pending status back to the submission cluster, and the job is dispatched to the same host to restart from the beginning
nLSB_MC_INITFAIL_MAIL
LSB_MC_INITFAIL_MAIL=y
|n
MultiCluster job forwarding model only. Specify
y
to make LSF email the job owner when a job is suspended after reaching the retry threshold.nLSB_MC_INITFAIL_RETRY
LSB_MC_INITFAIL_MAIL=
integerMultiCluster job forwarding model only. Defines the retry threshold and causes LSF to suspend a job that repeatedly fails to start. For example, specify 2 retry attempts to make LSF attempt to start a job 3 times before suspending it.
5
LSB_MEMLIMIT_ENFORCE
LSB_MEMLIMIT_ENFORCE=y
|n
Specify
y
to enable LSF memory limit enforcement.If enabled, LSF sends a signal to kill all processes that exceed queue-level memory limits set by MEMLIMIT in
lsb.queues
or job-level memory limits specified bybsub -M
mem_limit.Otherwise, LSF passes memory limit enforcement to the OS. UNIX operating systems that support
RLIMIT_RSS
forsetrlimit()
can apply the memory limit to each process.The following operating systems do not support memory limit at the OS level:
Undefined. LSF passes memory limit enforcement to the OS.
lsb.queues(5)
LSB_MIG2PEND
LSB_MIG2PEND=0
|1
Applies only to migrating jobs.
If 1, requeues migrating jobs instead of restarting or rerunning them on the next available host. Requeues the jobs in the PEND state, in order of the original submission time, unless LSB_REQUEUE_TO_BOTTOM is also defined.
If you do not want migrating jobs to be run or restarted immediately, set LSB_MBD_MIG2PEND so that migrating jobs are considered as pending jobs and inserted in the pending jobs queue.
If you want migrating jobs to be considered as pending jobs but you want them to be placed at the bottom of the queue without considering submission time, define both LSB_MBD_MIG2PEND and LSB_REQUEUE_TO_BOTTOM.
Also considers job priority when requeuing jobs.
Does not work with MultiCluster.
Undefined
LSB_MOD_ALL_JOBS
LSB_MOD_ALL_JOBS=y
|Y
If set, enables
bmod
to modify resource limits and location of job output files for running jobs.After a job has been dispatched, the following modifications can be made:
- CPU limit (
-c
[hour:
]minute[/
host_name |/
host_model] |-cn
)- Memory limit (
-M
mem_limit |-Mn
)- Run limit (
-W
run_limit[/
host_name |/
host_model] |-Wn
)- Standard output file name (
-o
output_file |-on
)- Standard error file name (
-e
error_file |-en
)- Rerunnable jobs (
-r
|-rn
)- Termination time (
-t
|-tn
To modify the CPU limit or the memory limit of running jobs, the parameters LSB_JOB_CPULIMIT=Y and LSB_JOB_MEMLIMIT=Y must be defined in
lsf.conf
.Undefined
LSB_JOB_CPULIMIT, LSB_JOB_MEMLIMIT
LSB_NCPU_ENFORCE
When set to 1, enables parallel fairshare (considers the number of CPUs when calculating dynamic priority).
Undefined
LSB_NQS_PORT
LSB_NQS_PORT=
port_numberRequired for LSF to work with NQS.
TCP service port to use for communication with NQS.
This parameter can alternatively be set as an environment variable or in the services database such as
/etc/services
.LSB_NQS_PORT=607Undefined
LSB_QUERY_PORT
LSB_QUERY_PORT=
port_numberOptional. Applies only to UNIX platforms that support thread programming.
This parameter is recommended for busy clusters with many jobs and frequent query requests to increase
mbatchd
performance when you use thebjobs
command.This may indirectly increase overall
mbatchd
performance.The
port_number
is the TCP/IP port number to be used bymbatchd
to only service query requests from the LSF system.mbatchd
checks the query port during initialization.If LSB_QUERY_PORT is not defined:
mbatchd
uses the port specified by LSB_MBD_PORT inlsf.conf
,or, if LSB_MBD_PORT is not defined, looks into the system services database for port numbers to communicate with other hosts in the cluster.
- For each query request it receives,
mbatchd
forks one childmbatchd
to service the request. Each childmbatchd
processes one request and then exits.If LSB_QUERY_PORT is defined:
mbatchd
prepares this port for connection.The default behavior ofmbatchd
changes, a childmbatchd
is forked, and the childmbatchd
creates threads to process requests.
mbatchd
responds to requests by forking one childmbatchd
. As soon asmbatchd
has forked a childmbatchd
, the childmbatchd
takes over and listens on the port to process more query requests. For each request, the childmbatchd
creates a thread to process it.The child
mbatchd
continues to listen to the port number specified by LSB_QUERY_PORT and creates threads to service requests until the job changes status, a new job is submitted, or the time specified in MBD_REFRESH_TIME inlsb.params
has passed (see MBD_REFRESH_TIME for more details). At this time, the parent
mbatchd
sends a message to the childmbatchd
to exit.The interval used by
mbatchd
for forking new childmbatchd
s is specified by the parameter MBD_REFRESH_TIME inlsb.params
.
See the Online Support area of the Platform Computing Web site at www.platform.com for the latest information about operating systems that support multithreadedmbatchd
.
Undefined
MBD_REFRESH_TIME in MBD_REFRESH_TIME.
LSB_REQUEUE_TO_BOTTOM
LSB_REQUEUE_TO_BOTTOM=0
|1
Optional. If 1, requeues automatically requeued jobs to the bottom of the queue instead of to the top. Also requeues migrating jobs to the bottom of the queue if LSB_MIG2PEND is defined.
Does not work with MultiCluster.
Undefined
REQUEUE_EXIT_VALUES in REQUEUE_EXIT_VALUES, LSB_MIG2PEND in LSB_MIG2PEND
LSF_RSH
LSF_RSH=
command [command_opions]Specifies shell commands to use when the following LSF commands require remote execution:
By default,
rsh
is used for these commands. Use LSF_RSH to enable support forssh
.Undefined
To use an
ssh
command before tryingrsh
for LSF commands, specify:LSF_RSH=ssh -o "PasswordAuthentication no" -o "StrictHostKeyChecking no"
ssh
options such asPasswordAuthentication
andStrictHostKeyChecking
can also be configured in the globalSSH_ETC/ssh_config
file or$HOME/.ssh/config
.
ssh
(1)ssh_config
(5)LSB_SBD_PORT
See LSF_LIM_PORT, LSF_RES_PORT, LSB_MBD_PORT, LSB_SBD_PORT.
LSB_SET_TMPDIR
LSB_SET_TMPDIR=
[y
|n
]If
y
, LSF sets the TMPDIR environment variable, overwriting the current value with/
tmp/
job_ID.nLSB_SHAREDIR
LSB_SHAREDIR=
dirDirectory in which the job history and accounting logs are kept for each cluster. These files are necessary for correct operation of the system. Like the organization under LSB_CONFDIR, there is one subdirectory for each cluster.
The LSB_SHAREDIR directory must be owned by the LSF administrator. It must be accessible from all hosts that can potentially become the master host, and must allow read and write access from the master host.
The LSB_SHAREDIR directory typically resides on a reliable file server.
LSF_INDEP/workLSB_SUB_COMMANDNAME
LSB_SUB_COMMANDNAME=y
If set, enables
esub
to use the variable LSB_SUB_COMMAND_LINE in theesub
job parameter file specified by the $LSB_SUB_PARM_FILE environment variable.The LSB_SUB_COMMAND_LINE variable carries the value of the
bsub
command argument, and is used whenesub
runs.
esub
contains:/bin/sh . $LSB_SUB_PARM_FILE if [ $LSB_SUB_COMMAND_LINE = "netscape" ]; then echo "netscape is not allowed to run in batch mode" exit $LSB_SUB_ABORT_VALUE fiLSB_SUB_COMMAND_LINE is defined in $LSB_SUB_PARM_FILE as:
LSB_SUB_COMMAND_LINE=netscapeA job submitted with:
bsub netscape ...Causes esub to echo the message:
netscape is not allowed to run in batch modeUndefined
LSB_SUB_COMMAND_LINE, LSB_SUB_PARM_FILE
LSB_SHORT_HOSTLIST
LSB_SHORT_HOSTLIST=1
Displays an abbreviated list of hosts in
bjobs
andbhist
for a parallel job where multiple processes of a job are running on a host. Multiple processes are displayed in the following format:processes*hostAFor example, if a parallel job is running 5 processes on
hostA
, the information is displayed in the following manner:5*hostASetting this parameter may improve
mbatchd
restart performance and accelerate event replay.Undefined
LSB_SIGSTOP
LSB_SIGSTOP=
signal_name | signal_valueSpecifies the signal sent by the SUSPEND action in LSF. You can specify a signal name or a number.
If LSB_SIGSTOP is set to anything other than SIGSTOP, the SIGTSTP signal that is normally sent by the SUSPEND action is not sent.
If this parameter is undefined, by default the SUSPEND action in LSF sends the following signals to a job:
- Parallel or interactive jobs--1. SIGTSTP is sent first to allow user programs to catch the signal and clean up. 2. SIGSTOP is sent 10 seconds after SIGTSTP. SIGSTOP cannot be caught by user programs.
- Other jobs--SIGSTOP is sent. SIGSTOP cannot be caught by user programs.
The same set of signals is not supported on all UNIX systems. To display a list of the symbolic names of the signals (without the SIG prefix) supported on your system, use the
kill -l
command.LSB_SIGSTOP=SIGKILLIn this example, the SUSPEND action sends the three default signals sent by the TERMINATE action (SIGINT, SIGTERM, and SIGKILL) 10 seconds apart.
Undefined. Default SUSPEND action in LSF is sent.
LSB_STDOUT_DIRECT
LSB_STDOUT_DIRECT=y
|Y
When set, and used with the
-o
or-e
options ofbsub
, redirects standard output or standard error from the job directly to a file as the job runs.If LSB_STDOUT_DIRECT is not set and you use the
bsub -o
option, the standard output of a job is written to a temporary file and copied to the file you specify after the job finishes.LSB_STDOUT_DIRECT is not supported on Windows.
Undefined
LSB_TIME_CMD
LSB_TIME_CMD=
timimg_levelThe timing level for checking how long batch commands run.
Time usage is logged in milliseconds; specify a positive integer.
Example:
LSB_TIME_CMD=1
Undefined
LSB_TIME_MBD, LSB_TIME_SBD, LSF_TIME_LIM, LSF_TIME_RES
LSB_TIME_MBD
LSB_TIME_MBD=
timing_levelThe timing level for checking how long
mbatchd
routines run.Time usage is logged in milliseconds; specify a positive integer.
Example:
LSB_TIME_MBD=1
Undefined
LSB_TIME_CMD, LSB_TIME_SBD, LSF_TIME_LIM, LSF_TIME_RES
LSB_TIME_SBD
LSB_TIME_SBD=
timing_levelThe timing level for checking how long
sbatchd
routines run.Time usage is logged in milliseconds; specify a positive integer.
Example:
LSB_TIME_SBD=1
Undefined
LSB_TIME_CMD, LSB_TIME_MBD, LSF_TIME_LIM, LSF_TIME_RES
LSB_TIME_SCH
LSB_TIME_SCH=
timing_levelThe timing level for checking how long
mbschd
routines run.Time usage is logged in milliseconds; specify a positive integer.
Example:
LSB_TIME_SCH=1
Undefined
LSB_UTMP
LSB_UTMP=y
|Y
If set, enables registration of user and account information for interactive batch jobs submitted with
bsub -Ip
orbsub -Is
. To disableutmp
file registration, set LSB_UTMP to any value other thany
orY
; for example,LSB_UTMP=N
.LSF registers interactive batch jobs the job by adding a entries to the
utmp
file on the execution host when the job starts. After the job finishes, LSF removes the entries for the job from theutmp
file.Registration of
utmp
file entries is supported only on SGI IRIX (6.4 and later).
utmp
file registration is not supported in a MultiCluster environment.Because interactive batch jobs submitted with
bsub -I
are not associated with a pseudo-terminal,utmp
file registration is not supported for these jobs.Undefined
LSF_AFS_CELLNAME
LSF_AFS_CELLNAME=
AFS_cell_nameMust be defined to AFS cell name if the AFS file system is in use.
Example:
LSF_AFS_CELLNAME=cern.chUndefined
LSF_AM_OPTIONS
LSF_AM_OPTIONS=AMFIRST
|AMNEVER
Determines the order of file path resolution when setting the user's home directory.
This variable is rarely used but sometimes LSF does not properly change the directory to the user's home directory when the user's home directory is automounted. Setting LSF_AM_OPTIONS forces the Batch system to change directory to $HOME before attempting to automount the user's home.
When this parameter is undefined or set to AMFIRST, LSF:
- Sets the user's $HOME directory from the automount path. If it cannot do so, LSF sets the user's $HOME directory from the
passwd
file.When this parameter is set to AMNEVER, LSF:
- Never uses automount to set the path to the user's home. LSF sets the user's $HOME directory directly from the
passwd
file.The two values are AMFIRST and AMNEVER
Undefined; same as AMFIRST
LSF_API_CONNTIMEOUT
LSF_API_CONNTIMEOUT=
time_secondsTimeout when connecting to LIM.
5
LSF_API_RECVTIMEOUT
LSF_API_RECVTIMEOUT=
time_secondsTimeout when receiving a reply from LIM.
20
LSF_AUTH
LSF_AUTH=eauth
|ident
Optional. Determines the type of authentication used by LSF.
External user authentication is configured automatically during installation (LSF_AUTH=eauth). If LSF_AUTH is not defined, privileged ports (setuid) authentication is used. This is the mechanism most UNIX remote utilities use.
External authentication is the only way to provide security for clusters that contain Windows hosts.
If this parameter is changed, all LSF daemons must be shut down and restarted by running
lsf_daemons start
on each LSF server host so that all daemons use the new authentication method.When LSF uses privileged ports for user authentication, LSF commands must be installed as setuid programs owned by root to operate correctly. If the commands are installed in an NFS-mounted shared file system, the file system must be mounted with setuid execution allowed (that is, without the
nosuid
option). See the man page for themount
command for more details.Windows does not have the concept of setuid binaries and does not restrict access to privileged ports, so the undefined method does not provide any security on Windows.
eauth
For site-specific external authentication.
ident
For authentication using the RFC 931/1413/1414 protocol to verify the identity of the remote client.
If LSF_AUTH is defined as
ident
, RES uses the RFC 1413 identification protocol to verify the identity of the remote user. RES is also compatible with the older RFC 931 authentication protocol. The name,ident
, must be registered in the system services database.eauthLSF_AUTH_DAEMONS
LSF_AUTH_DAEMONS=
any_valueEnables daemon authentication, as long as LSF_AUTH in
lsf.conf
is set toeauth
. Daemons will calleauth
to authenticate each other.Undefined
LSF_BINDIR
LSF_BINDIR=
dirDirectory in which all LSF user commands are installed.
LSF_MACHDEP/binLSF_CMD_LOGDIR
LSF_CMD_LOGDIR=
pathThe path to the log files used for debugging LSF commands.
This parameter can also be set from the command line.
/tmpLSB_CMD_LOG_MASK, LSB_CMD_LOGDIR, LSB_DEBUG, LSB_DEBUG_CMD, LSB_TIME_CMD, LSF_CMD_LOG_MASK, LSF_LOG_MASK, LSF_LOGDIR, LSF_TIME_CMD
LSF_CMD_LOG_MASK
LSF_CMD_LOG_MASK=
log_levelSpecifies the logging level of error messages from LSF commands.
For example:
LSF_CMD_LOG_MASK=LOG_DEBUGTo specify the logging level of error messages, use LSB_CMD_LOG_MASK. To specify the logging level of error messages for LSF daemons, use LSF_LOG_MASK.
LSF commands log error messages in different levels so that you can choose to log all messages, or only log messages that are deemed critical. The level specified by LSF_CMD_LOG_MASK determines which messages are recorded and which are discarded. All messages logged at the specified level or higher are recorded, while lower level messages are discarded.
For debugging purposes, the level LOG_DEBUG contains the fewest number of debugging messages and is used for basic debugging. The level LOG_DEBUG3 records all debugging messages, and can cause log files to grow very large; it is not often used. Most debugging is done at the level LOG_DEBUG2.
The commands log to the
syslog
facility unless LSF_CMD_LOGDIR is set.The log levels from highest to lowest are:
- LOG_EMERG
- LOG_ALERT
- LOG_CRIT
- LOG_ERR
- LOG_WARNING
- LOG_NOTICE
- LOG_INFO
- LOG_DEBUG
- LOG_DEBUG1
- LOG_DEBUG2
- LOG_DEBUG3
LOG_WARNING
LSB_CMD_LOG_MASK, LSB_CMD_LOGDIR, LSB_DEBUG, LSB_DEBUG_CMD, LSB_TIME_CMD, LSF_CMD_LOGDIR, LSF_LOG_MASK, LSF_LOGDIR, LSF_TIME_CMD
LSF_CONF_RETRY_INT
LSF_CONF_RETRY_INT=
time_secondsThe number of seconds to wait between unsuccessful attempts at opening a configuration file (only valid for LIM). This allows LIM to tolerate temporary access failures.
30
LSF_CONF_RETRY_MAX
LSF_CONF_RETRY_MAX=
integerThe maximum number of unsuccessful attempts at opening a configuration file (only valid for LIM). This allows LIM to tolerate temporary access failures.
0
LSF_CONFDIR
LSF_CONFDIR=
dirDirectory in which all LSF configuration files are installed. These files are shared throughout the system and should be readable from any host. This directory can contain configuration files for more than one cluster.
The files in the LSF_CONFDIR directory must be owned by the primary LSF administrator, and readable by all LSF server hosts.
LSF_INDEP/confLSF_DAEMON_WRAP
LSF_DAEMON_WRAP=y
|Y
Applies only to DCE/DFS and AFS environments; if you are installing LSF on a DCE or AFS environment, set this parameter to
y
orY
.When this parameter is set to
y
orY
,mbatchd
,sbatchd
, and RES run the executabledaemons.wrap
in LSF_SERVERDIR.
Undefined
LSF_DEBUG_LIM
LSF_DEBUG_LIM=
log_classSets the log class for debugging LIM.
Specifies the log class filtering that will be applied to LIM. Only messages belonging to the specified log class are recorded.
The LSF_DEBUG_LIM sets the log class and is used in combination with LSF_LOG_MASK, which sets the log level. For example:
LSF_LOG_MASK=LOG_DEBUG LSF_DEBUG_LIM=LC_TRACEYou need to restart the daemons after setting LSF_DEBUG_LIM for your changes to take effect.
If you use the command
lsadmin limdebug
to temporarily change this parameter without changinglsf.conf
, you will not need to restart the daemons.The daemons log to the
syslog
facility unless LSF_LOGDIR is defined.To specify multiple log classes, use a space-separated list enclosed in quotation marks. For example:
LSF_DEBUG_LIM="LC_TRACE LC_EXEC"This parameter can also be defined from the command line.
Valid log classes are:
- LC_AFS - Log AFS messages
- LC_AUTH - Log authentication messages
- LC_CHKPNT - log checkpointing messages
- LC_COMM - Log communication messages
- LC_DCE - Log messages pertaining to DCE support
- LC_EXEC - Log significant steps for job execution
- LC_FILE - Log file transfer messages
- LC_HANG - Mark where a program might hang
- LC_LICENCE - Log licence management messages
- LC_MULTI - Log messages pertaining to MultiCluster
- LC_PIM - Log PIM messages
- LC_SIGNAL - Log messages pertaining to signals
- LC_TRACE - Log significant program walk steps
- LC_XDR - Log everything transferred by XDR
Undefined
LSF_DEBUG_RES, LSF_CMD_LOGDIR, LSF_CMD_LOG_MASK, LSF_LOG_MASK, LSF_LOGDIR
LSF_DEBUG_RES
LSF_DEBUG_RES=
log_classSets the log class for debugging RES.
Specifies the log class filtering that will be applied to RES. Only messages belonging to the specified log class are recorded.
LSF_DEBUG_RES sets the log class and is used in combination with LSF_LOG_MASK, which sets the log level. For example:
LSF_LOG_MASK=LOG_DEBUG LSF_DEBUG_RES=LC_TRACETo specify multiple log classes, use a space-separated list enclosed in quotation marks. For example:
LSF_DEBUG_RES="LC_TRACE LC_EXEC"You need to restart the daemons after setting LSF_DEBUG_RES for your changes to take effect.
If you use the command
lsadmin resdebug
to temporarily change this parameter without changinglsf.conf
, you will not need to restart the daemons.The daemons log to the
syslog
facility unless LSF_LOGDIR is defined.This parameter can also be defined from the command line.
For a list of valid log classes see LSF_DEBUG_LIM
Undefined
LSF_DEBUG_LIM, LSF_CMD_LOGDIR, LSF_CMD_LOG_MASK, LSF_LOG_MASK, LSF_LOGDIR
LSF_DEFAULT_EXTSCHED
LSF_DEFAULT_EXTSCHED="
external_scheduler_options"
Default application-specific external scheduling options for the job. If set, and the job is submitted without
-extsched
options, the options specified in LSF_DEFAULT_EXTSCHED are used.To enable jobs to accept external scheduler options, set LSF_ENABLE_EXTSCHEDULER=y in
lsf.conf
.You can specify only one type of external scheduler option in a single external_scheduler_options string.
For example, SGI IRIX hosts and AlphaServer SC hosts running RMS can exist in the same cluster, but they accept different external scheduler options. Use external scheduler options to define job requirements for either IRIX cpusets OR RMS, but not both. Your job will run either on IRIX or RMS. If external scheduler options are not defined, the job may run on IRIX but it will not run on an RMS host.
The options set by
bsub -extsched
override options set by LSF_DEFAULT_EXTSCHED.Use DEFAULT_EXTSCHED in
lsb.queues
to set default external scheduler options for a queue.To make certain external scheduler options mandatory for all jobs submitted to a queue, specify MANDATORY_EXTSCHED in
lsb.queues
with the external scheduler options you need or your jobs.Undefined
LSF_DHCP_ENV
LSF_DHCP_ENV=y
If defined, enables dynamic IP addressing for all LSF client hosts in the cluster.
Dynamic IP addressing is not supported across clusters in a MultiCluster environment.
Undefined
LSF_ENABLE_CSA
LSF_ENABLE_CSA=y
|Y
If set, enables LSF to write records for LSF jobs to IRIX 6.5.9 Comprehensive System Accounting facility (CSA).
The IRIX 6.5.9 Comprehensive System Accounting facility (CSA) writes an accounting record for each process in the
pacct
file, which is usually located in the/var/adm/acct/day
directory. IRIX system administrators then use thecsabuild
command to organize and present the records on a job by job basis.When LSF_ENABLE_CSA is set, for each job run on the IRIX system, LSF writes an LSF-specific accounting record to CSA when the job starts, and when the job finishes. LSF daemon accounting in CSA starts and stops with the LSF daemon.
To disable IRIX CSA accounting, remove LSF_ENABLE_CSA from
lsf.conf
.See the IRIX 6.5.9 resource administration documentation for information about CSA.
- Define the LSF_ENABLE_CSA parameter in
lsf.conf
:... LSF_ENABLE_CSA=Y ...- Set the following parameters in
/etc/csa.conf
toon
:- Run the
csaswitch
command to turn on the configuration changes in/etc/csa.conf
.See the IRIX 6.5.9 resource administration documentation for information about the
csaswitch
command.LSF writes the following records to the
pacct
file when a job starts and when it exits:
- Job record type (job start or job exit)
- Current system clock time
- Service provider (LSF)
- Submission time of the job (at job start only)
- User ID of the job owner
- Array Session Handle (ASH) of the job
- IRIX job ID
- IRIX project ID
- LSF job name if it exists
- Submission host name
- LSF queue name
- LSF external job ID
- LSF job array index
- LSF job exit code (at job exit only)
- NCPUS--number of CPUs the LSF job has been using
Undefined
LSF_ENABLE_EXTSCHEDULER
LSF_ENABLE_EXTSCHEDULER=y
|Y
If set, enables
mbatchd
external scheduling.Undefined
LSF_ENVDIR
LSF_ENVDIR=
dirDirectory containing the
lsf.conf
file.By default,
lsf.conf
is installed by creating a shared copy in LSF_CONFDIR and adding a symbolic link from/etc/lsf.conf
to the shared copy. If LSF_ENVDIR is set, the symbolic link is installed inLSF_ENVDIR/lsf.conf
.The
lsf.conf
file is a global environment configuration file for all LSF services and applications. The LSF default installation places the file in LSF_CONFDIR./etcLSF_EVENT_PROGRAM
LSF_EVENT_PROGRAM=
event_program_nameSpecifies the name of the LSF event program to use.
If a full path name is not provided, the default location of this program is LSF_SERVERDIR.
If a program that does not exist is specified, event generation will not work.
If this parameter is undefined, the default name is
genevent
on UNIXIf this parameter is undefined, the default name is
genevent.exe
on Windows.Undefined
LSF_EVENT_RECEIVER
LSF_EVENT_RECEIVER=
event_receiver_program_nameSpecifies the LSF event receiver and enables event generation.
Any string may be used as the LSF event receiver; this information is not used by LSF to enable the feature but is only passed as an argument to the event program.
If LSF_EVENT_PROGRAM specifies a program that does not exist, event generation will not work.
If this parameter is undefined, event generation is disabled.
Undefined
LSF_HPC_EXTENSIONS
LSF_HPC_EXTENSIONS="
extension_name ..."
Enables Platform LSF/HPC extensions for compressed host name list in
lsb.events
andlsb.acct
records, and shortened PID list inbjobs
output.The following extension names are supported:
- CUMULATIVE_RUSAGE--when a parallel job script runs multiple pam commands, resource usage is collected for jobs in the job script, rather than overwritten when each command is executed.
- DISP_RES_USAGE_LIMITS--
bjobs
displays resource usage limits configured in the queue as well as job-level limits.- SHORT_EVENTFILE--compresses long host name lists when event records are written to
lsb.events
andlsb.acct
for large parallel jobs. The short host string has the format:number_of_hosts*real_host_name
When SHORT_EVENTFILE is enabled, older daemons and commands (pre-LSF Version 6.0) cannot recognize the lsb.acct and lsb.events file format.
For example, if the original host list record is
6 "hostA" "hostA" "hostA" "hostA" "hostB" "hostC"redundant host names are removed and the short host list record becomes
3 "4*hostA" "hostB" "hostC"When LSF_HPC_EXTENSION="SHORT_EVENTFILE" is set, and LSF reads the host list from lsb.events or lsb.acct, the compressed host list is expanded into a normal host list.
Applies to the following events:
- SHORT_PIDLIST--shortens the output from
bjobs
not to include all of the process IDs (PIDs) for a job.bjobs
displays only the first ID and a count of the process group IDs (PGIDs) and process IDs for the job.Without SHORT_PIDLIST,
bjobs -l
displays all the PGIDs and PIDs for the job. With SHORT_PIDLIST set,bjobs -l
displays a count of the PGIDS and PIDs.Undefined
LSF_ID_PORT
LSF_ID_PORT=
port_numberThe network port number used to communicate with the authentication daemon when LSF_AUTH is set to
ident
.LSF_INCLUDEDIR
LSF_INCLUDEDIR=
dirDirectory under which the LSF API header files
lsf.h
andlsbatch.h
are installed.LSF_INDEP/includeLSF_INDEP
LSF_INDEP=
dirSpecifies the default top-level directory for all machine-independent LSF files.
This includes man pages, configuration files, working directories, and examples. For example, defining LSF_INDEP as
/usr/share/lsf/mnt
places man pages in/usr/share/lsf/mnt/man
, configuration files in/usr/share/lsf/mnt/conf
, and so on.The files in LSF_INDEP can be shared by all machines in the cluster.
As shown in the following list, LSF_INDEP is incorporated into other LSF environment variables.
- LSB_SHAREDIR=$LSF_INDEP/work
- LSF_CONFDIR=$LSF_INDEP/conf
- LSF_INCLUDEDIR=$LSF_INDEP/include
- LSF_MANDIR=$LSF_INDEP/man
- XLSF_APPDIR=$LSF_INDEP/misc
/usr/share/lsf/mntLSF_MACHDEP, LSB_SHAREDIR, LSF_CONFDIR, LSF_INCLUDEDIR, LSF_MANDIR, XLSF_APPDIR
LSF_INTERACTIVE_STDERR
LSF_INTERACTIVE_STDERR=y
|n
Separates
stderr
fromstdout
for interactive tasks and interactive batch jobs.This is useful to redirect output to a file with regular operators instead of the
bsub -e
err_file
and-o
out_file options.This parameter can also be enabled or disabled as an environment variable.
If you enable this parameter globally in lsf.conf, check any custom scripts that manipulatestderr
andstdout
.
When this parameter is undefined or set to
n
, the following are written tostdout
on the submission host for interactive tasks and interactive batch jobs:The following are written to
stderr
on the submission host for interactive tasks and interactive batch jobs:When this parameter is set to
y
, the following are written tostdout
on the submission host for interactive tasks and interactive batch jobs:
- Job standard output messages
- The following are written to
stderr
on the submission host:- Job standard error messages
- LSF messages
- NIOS standard messages
- NIOS debug messages (if LSF_NIOS_DEBUG=1 in
lsf.conf)
Undefined
When this parameter is set, the change affects interactive tasks and interactive batch jobs run with the following commands:
- Pseudo-terminal--Do not use this parameter if your application depends on
stderr
as a terminal. This is because LSF must use a non-pseudo-terminal connection to separatestderr
fromstdout
.- Synchronization--Do not use this parameter if you depend on messages in
stderr
andstdout
to be synchronized and jobs in your environment are continuously submitted. A continuous stream of messages causesstderr
andstdout
to not be synchronized. This can be emphasized with parallel jobs. This situation is similar to that ofrsh
.- NIOS standard and debug messages--NIOS standard messages, and debug messages (when LSF_NIOS_DEBUG=1 in
lsf.conf
or as an environment variable) are written tostderr
. NIOS standard messages are in the format<<message>>
, which makes it easier to remove them if you wish. To redirect NIOS debug messages to a file, define LSF_CMD_LOGDIR inlsf.conf
or as an environment variable.LSF_NIOS_DEBUG, LSF_CMD_LOGDIR
LSF_IRIX_BESTCPUS
LSF_IRIX_BESTCPUS=y
|Y
If set, enables the best-fit algorithm for IRIX cpusets
Undefined
LSF_LIBDIR
LSF_LIBDIR=
dirSpecifies the directory in which the LSF libraries are installed. Library files are shared by all hosts of the same type.
LSF_MACHDEP/libLSF_LICENSE_FILE
LSF_LICENSE_FILE=
file_name... | port_number@host_nameSpecifies one or more demo or FLEXlm-based permanent license files used by LSF.
The value for LSF_LICENSE_FILE can be either of the following:
- The full path name to the license file.
UNIX example:
LSF_LICENSE_FILE=/usr/share/lsf/cluster1/conf/license.datWindows example:
LSF_LICENSE_FILE= C:\licenses\license.dator
LSF_LICENSE_FILE=\\HostA\licenses\license.dat- For a permanent license, the name of the license server host and TCP port number used by the
lmgrd
daemon, in the format port@host_name. For example:LSF_LICENSE_FILE="1700@hostD"The port number must be the same as that specified in the
SERVER
line of the license file.Multiple license files should be quoted and must be separated by a pipe character (|).
Windows example:
LSF_LICENSE_FILE="C:\licenses\license1|C:\licenses\license2|D:\mydir\license3"Multiple files may be kept in the same directory, but each one must reference a different license server. When checking out a license, LSF searches the servers in the order in which they are listed, so it checks the second server when there are no more licenses available from the first server.
If this parameter is not defined, LSF assumes the default location.
If you installed LSF with a default installation, the license file is installed in the LSF configuration directory (
LSF_CONFDIR/license.dat
).If you installed LSF with a custom installation, you specify the license installation directory. The default is the LSF configuration directory (LSF_SERVERDIR for the custom installation).
If you installed FLEXlm separately from LSF to manage other software licenses, the default FLEXlm installation puts the license file in the following location:
LSF_LIM_DEBUG
LSF_LIM_DEBUG=1
|2
Sets LSF to debug mode.
If LSF_LIM_DEBUG is defined, LIM operates in single user mode. No security checking is performed, so LIM should not run as root.
LIM will not look in the services database for the LIM service port number. Instead, it uses port number 36000 unless LSF_LIM_PORT has been defined.
Specify 1 for this parameter unless you are testing LSF.
- LSF_LIM_DEBUG=1
LIM runs in the background with no associated control terminal.
- LSF_LIM_DEBUG=2
LIM runs in the foreground and prints error messages to
tty
.Undefined
LSF_RES_DEBUG, LSF_CMD_LOGDIR, LSF_CMD_LOG_MASK, LSF_LOG_MASK, LSF_LOGDIR
LSF_LIM_PLUGINDIR
LSF_LIM_PLUGINDIR=
pathThe path to
liblimvcl.so
. Used only with SUN HPC.Path to LSF_LIBDIR
LSF_LIM_PORT, LSF_RES_PORT, LSB_MBD_PORT, LSB_SBD_PORT
Example:
LSF_LIM_PORT=
port_numberTCP service ports to use for communication with the LSF daemons.
If port parameters are undefined, LSF obtains the port numbers by looking up the LSF service names in the
/etc/services
file or the NIS (UNIX). If it is not possible to modify the services database, you can define these port parameters to set the port numbers.With careful use of these settings along with the LSF_ENVDIR and PATH environment variables, it is possible to run two versions of the LSF software on a host, selecting between the versions by setting the PATH environment variable to include the correct version of the commands and the LSF_ENVDIR environment variable to point to the directory containing the appropriate
lsf.conf
file.On UNIX, the default is to get port numbers from the services database.
On Windows, these parameters are mandatory.
Default port number values are:
LSF_LIM_SOL27_PLUGINDIR
LSF_LIM_SOL27_PLUGINDIR=
pathThe path to
liblimvcl.so
. Used only with Solaris2.7.Path to LSF_LIBDIR
LSF_LOG_MASK
LSF_LOG_MASK=
message_log_levelSpecifies the logging level of error messages for LSF daemons.
For example:
LSF_LOG_MASK=LOG_DEBUGTo specify the logging level of error messages, use LSB_CMD_LOG_MASK. To specify the logging level of error messages for LSF commands, use LSF_CMD_LOG_MASK.
On UNIX, this is similar to
syslog
. All messages logged at the specified level or higher are recorded; lower level messages are discarded. The LSF_LOG_MASK value can be any log priority symbol that is defined insyslog.h
(seesyslog
(8)).The log levels in order from highest to lowest are:
- LOG_EMERG
- LOG_ALERT
- LOG_CRIT
- LOG_ERR
- LOG_WARNING
- LOG_NOTICE
- LOG_INFO
- LOG_DEBUG
- LOG_DEBUG1
- LOG_DEBUG2
- LOG_DEBUG3
The most important LSF log messages are at the LOG_ERR or LOG_WARNING level. Messages at the LOG_INFO and LOG_DEBUG level are only useful for debugging.
Although message log level implements similar functionalities to UNIX
syslog
, there is no dependency on UNIXsyslog
. It works even if messages are being logged to files instead ofsyslog
.LSF logs error messages in different levels so that you can choose to log all messages, or only log messages that are deemed critical. The level specified by LSF_LOG_MASK determines which messages are recorded and which are discarded. All messages logged at the specified level or higher are recorded, while lower level messages are discarded.
For debugging purposes, the level LOG_DEBUG contains the fewest number of debugging messages and is used for basic debugging. The level LOG_DEBUG3 records all debugging messages, and can cause log files to grow very large; it is not often used. Most debugging is done at the level LOG_DEBUG2.
In versions prior to LSF 4.0, you needed to restart the daemons after setting LSF_LOG_MASK in order for your changes to take effect.
LSF 4.0 implements dynamic debugging, which means you do not need to restart the daemons after setting a debugging environment variable.
The daemons log to the
syslog
facility unless LSF_LOGDIR is defined.LOG_WARNING
LSB_CMD_LOG_MASK, LSB_CMD_LOGDIR, LSB_DEBUG, LSB_DEBUG_CMD, LSB_DEBUG_NQS, LSB_TIME_CMD, LSF_CMD_LOGDIR, LSF_CMD_LOG_MASK, LSF_DEBUG_LIM, LSB_DEBUG_MBD, LSF_DEBUG_RES, LSB_DEBUG_SBD, LSB_DEBUG_SCH, LSF_LOG_MASK, LSF_LOGDIR, LSF_TIME_CMD
LSF_LOG_MASK_WIN
LSF_LOG_MASK_WIN=
message_log_levelAllows you to reduce the information logged to the LSF Windows event log files. Messages of lower severity than the specified level are discarded.
For all LSF files, the types of messages saved depends on LSF_LOG_MASK, so the threshold for the Windows event logs is either LSF_LOG_MASK or LSF_LOG_MASK_WIN, whichever is higher. LSF_LOG_MASK_WIN is ignored if LSF_LOG_MASK is set to a higher level.
The LSF event log files for Windows are:
The log levels you can specify for this parameter, in order from highest to lowest, are:
LOG_ERR
LSF_LOGDIR
LSF_LOGDIR=
dirRequired if you use Windows.
Error messages from all servers are logged into files in this directory. To effectively use debugging, set LSF_LOGDIR to a directory such as
/tmp
. This can be done in your own environment from the shell or inlsf.conf
.If a server is unable to write in this directory, LSF attempts to write in the following directories, in this order:
- LSF_TMPDIR if defined
%TMP%
if defined%TEMP%
if defined- System directory, such as
c:\winnt
for exampleIf a server is unable to write in this directory, the error logs are created in
/tmp
on UNIX.If LSF_LOGDIR is not defined, then
syslog
is used to log everything to the system log using the LOG_DAEMON facility. The syslog facility is available by default on most UNIX systems. The/etc/syslog.conf
file controls the way messages are logged and the files they are logged to. See the man pages for thesyslogd
daemon and thesyslog
function for more information.Undefined
On UNIX, if undefined, log messages go to
syslog
.On Windows, if undefined, no logging is performed.
LSB_CMD_LOG_MASK, LSB_CMD_LOGDIR, LSB_DEBUG, LSB_DEBUG_CMD, LSB_TIME_CMD, LSF_CMD_LOGDIR, LSF_CMD_LOG_MASK, LSF_LOG_MASK, LSF_TIME_CMD
lim.log.
host_nameres.log.
host_namesbatchd.log.
host_namesbatchdc.log.host_name
(Windows only)mbatchd.log.
host_nameeeventd.log.
host_namepim.log.
host_nameLSF_MACHDEP
LSF_MACHDEP=
dirSpecifies the directory in which machine-dependent files are installed. These files cannot be shared across different types of machines.
In clusters with a single host type, LSF_MACHDEP is usually the same as LSF_INDEP. The machine dependent files are the user commands, daemons, and libraries. You should not need to modify this parameter.
As shown in the following list, LSF_MACHDEP is incorporated into other LSF variables.
- LSF_BINDIR=$LSF_MACHDEP/bin
- LSF_LIBDIR=$LSF_MACHDEP/lib
- LSF_SERVERDIR=$LSF_MACHDEP/etc
- XLSF_UIDDIR=$LSF_MACHDEP/lib/uid
/usr/share/lsfLSF_MANDIR
LSF_MANDIR=
dirDirectory under which all man pages are installed.
The man pages are placed in the
man1
,man3
,man5,
andman8
subdirectories of the LSF_MANDIR directory. This is created by the LSF installation process, and you should not need to modify this parameter.Man pages are installed in a format suitable for BSD-style
man
commands.For most versions of UNIX, you should add the directory LSF_MANDIR to your MANPATH environment variable. If your system has a
man
command that does not understand MANPATH, you should either install the man pages in the/usr/man
directory or get one of the freely availableman
programs.LSF_INDEP/manLSF_MASTER_LIST
LSF_MASTER_LIST="
host_name ..."
Optional. Defines a list of hosts that are candidates to become the master host for the cluster.
Listed hosts must be defined in
lsf.cluster.
cluster_name.Host names are separated by spaces.
Whenever you reconfigure, only master LIM candidates read
lsf.shared
andlsf.cluster.
cluster_nameto get updated information. The elected master LIM sends configuration information to slave LIMs.
Master candidate hosts should share LSF configuration and binaries.
To dynamically add or remove hosts, you must define LSF_MASTER_LIST.
Undefined
LSF_MC_NON_PRIVILEGED_PORTS
LSF_MC_NON_PRIVILEGED_PORTS=Y
MultiCluster only. If this parameter is enabled in one cluster, it must be enabled in all clusters.
Specify Y to make LSF daemons use non-privileged ports for communication across clusters.
This disables privileged port daemon authentication, which is a security feature. If security is a concern, you should use
eauth
for LSF daemon authentication (seeLSF_AUTH_DAEMONS
inlsf.conf
).Undefined (LSF daemons use privileged port authentication)
LSF_MISC
LSF_MISC=
dirDirectory in which miscellaneous machine independent files, such as example source programs and scripts, are installed.
LSF_CONFDIR/miscLSF_NIOS_DEBUG
LSF_NIOS_DEBUG=1
Turns on NIOS debugging for interactive jobs.
If LSF_NIOS_DEBUG=1, NIOS debug messages are written to standard error.
This parameter can also be defined as an environment variable.
When LSF_NIOS_DEBUG and LSF_CMD_LOGDIR are defined, NIOS debug messages are logged in
nios.log.
host_name. in the location specified by LSF_CMD_LOGDIR.If LSF_NIOS_DEBUG is defined, and the directory defined by LSF_CMD_LOGDIR is inaccessible, NIOS debug messages are logged to
/tmp/
nios.log.
host_name instead ofstderr
.On Windows, NIOS debug messages are also logged to the temporary directory.
Undefined
LSF_CMD_LOGDIR, LSF_CMD_LOG_MASK, LSF_LOG_MASK, LSF_LOGDIR
LSF_NIOS_JOBSTATUS_INTERVAL
LSF_NIOS_JOBSTATUS_INTERVAL=
time_minutesApplies only to interactive batch jobs.
Time interval at which NIOS polls
mbatchd
to check if a job is still running. Used to retrieve a job's exit status in the case of an abnormal exit of NIOS, due to a network failure for example.Use this parameter if you run interactive jobs and you have scripts that depend on an exit code being returned.
When this parameter is undefined and a network connection is lost,
mbatchd
cannot communicate with NIOS and the return code of a job is not retrieved.When this parameter is defined, before exiting, NIOS polls
mbatchd
on the interval defined by LSF_NIOS_JOBSTATUS_INTERVAL to check if a job is still running. NIOS continues to pollmbatchd
until it receives an exit code ormbatchd
responds that the job does not exist (if the job has already been cleaned from memory for example).If an exit code cannot be retrieved, NIOS generates an error message and the code -11.
Any integer greater than zero
Undefined
Set this parameter to large intervals such as 15 minutes or more so that performance is not negatively affected if interactive jobs are pending for too long. NIOS always calls
mbatchd
on the defined interval to confirm that a job is still pending and this may add load tombatchd
.Environment variable LSF_NIOS_PEND_TIMEOUT
LSF_NIOS_RES_HEARTBEAT
LSF_NIOS_RES_HEARTBEAT=
time_minutesApplies only to interactive non-parallel batch jobs.
Defines how long NIOS waits before sending a message to RES to determine if the connection is still open.
Use this parameter to ensure NIOS exits when a network failure occurs instead of waiting indefinitely for notification that a job has been completed. When a network connection is lost, RES cannot communicate with NIOS and as a result, NIOS does not exit.
When this parameter is defined, if there has been no communication between RES and NIOS for the defined period of time, NIOS sends a message to RES to see if the connection is still open. If the connection is no longer available, NIOS exits.
Any integer greater than zero
Undefined
The time you set this parameter to depends how long you want to allow NIOS to wait before exiting. Typically, it can be a number of hours or days. Too low a number may add load to the system.
LSF_PAM_HOSTLIST_USE
LSF_PAM_HOSTLIST_USE=unique
Used to start applications that use both OpenMP and MPI.
uniqueUndefined
You can submit a job to Platform Parallel and LSF will reserve the correct number of processors and PAM will start only 1 process per host. For example, to reserve 32 processors and run on 4 processes per host, resulting in the use of 8 hosts:
% bsub -n 32 -R "span[ptile=4]" pam yourOpenMPJobThis parameter can alternatively be set as an environment variable. For example:
setenv LSF_PAM_HOSTLIST_USE uniquePlatform Parallel
LSF_PAM_NUMPROC_OPTION
LSF_PAM_NUMPROC_OPTION=y
|n
Allows
bsub -n
andpam -n
options to be used together.If set, you can use both
bsub -n
andpam -n
in the same job submission. Thepam -n
option specifies the number of tasks that PAM should start within the number of processors reserved bybsub -n
.The number specified in the
pam -n
option should be less than or equal to the number specified bybsub -n
. If The number of task specified in thepam -n
option is greater than the number specified bybsub -n
, thepam -n
is ignored.If LSF_PAM_NUMPROC_OPTION=N,
pam -n
is ignored.% bsub -n 5 pam -n 2 -mpi a.out5 processors are reserved for the job, but PAM only starts 2 parallel tasks. The 2 parallel tasks will spawn threads to take remaining reserved processors.
Y;
pam -n
is enabled when used as absub
optionLSF_PAM_PLUGINDIR
LSF_PAM_PLUGINDIR=
pathThe path to
libpamvcl.so
. Used with SUN HPC and Platform Parallel.Path to LSF_LIBDIR
LSF_PAM_USE_ASH
LSF_PAM_USE_ASH=y
|Y
Enables LSF to use the SGI IRIX Array Session Handles (ASH) to propagate signals to the parallel jobs.
See the IRIX system documentation and the
array_session
(5
) man page for more information about array sessions.Undefined
LSF_PIM_INFODIR
LSF_PIM_INFODIR=
pathThe path to where PIM writes the
pim.info.
host_name
file.Specifies the path to where the process information is stored. The process information resides in the file
pim.info.
host_name
.
The PIM also reads this file when it starts so that it can accumulate the resource usage of dead processes for existing process groups.Undefined. If undefined, the system uses
/tmp
.LSF_PIM_SLEEPTIME
LSF_PIM_SLEEPTIME=
time_secondsThe reporting period for PIM.
PIM updates the process information every 15 minutes unless an application queries this information. If an application requests the information, PIM will update the process information every LSF_PIM_SLEEPTIME seconds. If the information is not queried by any application for more than 5 minutes, the PIM will revert back to the 15 minute update period.
15
LSF_PIM_SLEEPTIME_UPDATE
LSF_PIM_SLEEPTIME_UPDATE=y
|n
UNIX only.
Use this parameter to improve job throughput and reduce a job's start time if there are many jobs running simultaneously on a host. This parameter reduces communication traffic between
sbatchd
and PIM on the same host.When this parameter is undefined or set to n,
sbatchd
queries PIM as needed for job process information.When this parameter is defined,
sbatchd
does not query PIM immediately as it needs information--sbatchd
will only query PIM every LSF_PIM_SLEEPTIME seconds.When this parameter is defined:
sbatchd
may be intermittently unable to retrieve process information for jobs whose run time is smaller than LSF_PIM_SLEEPTIME.- It may take longer to view resource usage with
bjobs -l
.Undefined
LSF_RES_ACCT
LSF_RES_ACCT=
time_milliseconds |0
If this parameter is defined, RES will log information for completed and failed tasks by default (see
lsf.acct
(5)).The value for LSF_RES_ACCT is specified in terms of consumed CPU time (milliseconds). Only tasks that have consumed more than the specified CPU time will be logged.
If this parameter is defined as LSF_RES_ACCT=0, then all tasks will be logged.
For those tasks that consume the specified amount of CPU time, RES generates a record and appends the record to the task log file
lsf.acct.
host_name
. This file is located in the LSF_RES_ACCTDIR directory.If this parameter is not defined, the LSF administrator must use the
lsadmin
command (seelsadmin
(8)) to turn task logging on after RES has started.Undefined
LSF_RES_ACCTDIR
LSF_RES_ACCTDIR=
dirThe directory in which the RES task log file
lsf.acct.
host_name is stored.If LSF_RES_ACCTDIR is not defined, the log file is stored in the
/tmp
directory.(UNIX)
/tmp
(Windows)
C:\temp
LSF_RES_DEBUG
LSF_RES_DEBUG=1
|2
Sets RES to debug mode.
If LSF_RES_DEBUG is defined, the Remote Execution Server (RES) will operate in single user mode. No security checking is performed, so RES should not run as root. RES will not look in the services database for the RES service port number. Instead, it uses port number 36002 unless LSF_RES_PORT has been defined.
Specify 1 for this parameter unless you are testing RES.
- LSF_RES_DEBUG=1
RES runs in the background with no associated control terminal.
- LSF_RES_DEBUG=2
RES runs in the foreground and prints error messages to
tty
.Undefined
LSF_LIM_DEBUG, LSF_CMD_LOGDIR, LSF_CMD_LOG_MASK, LSF_LOG_MASK, LSF_LOGDIR
LSF_RES_PLUGINDIR
LSF_RES_PLUGINDIR=
pathThe path to
lsbresvcl.so
. Used only with SUN HPC.Path to LSF_LIBDIR
LSF_PAM_PLUGINDIR, LSF_LIM_PLUGINDIR
LSF_RES_PORT
See LSF_LIM_PORT, LSF_RES_PORT, LSB_MBD_PORT, LSB_SBD_PORT.
LSF_RES_RLIMIT_UNLIM
LSF_RES_RLIMIT_UNLIM=cpu
|fsize
|data
|stack
|core
|vmem
(LSF Base only) By default, RES sets the hard limits for a remote task to be the same as the hard limits of the local process. This parameter specifies those hard limits which are to be set to unlimited, instead of inheriting those of the local process.
Valid values are
cpu
,fsize
,data
,stack
,core
, andvmem
, for CPU, file size, data size, stack, core size, and virtual memory limits, respectively.The following example sets the CPU, core size, and stack hard limits to be unlimited for all remote tasks:
LSF_RES_RLIMIT_UNLIM="cpu core stack"Undefined
LSF_RES_SOL27_PLUGINDIR
LSF_RES_SOL27_PLUGINDIR=
pathThe path to
libresvcl.so
. Used only used with Solaris2.7.If you want to link a 64-bit object with RES, then you should set LSF_RES_SOL27_PLUGINDIR.
Path to LSF_LIBDIR
LSF_RES_TIMEOUT
LSF_RES_TIMEOUT=
time_secondsTimeout when communicating with RES.
15
LSF_ROOT_REX
LSF_ROOT_REX=local
UNIX only.
Allows root remote execution privileges (subject to identification checking) on remote hosts, for both interactive and batch jobs. Causes RES to accept requests from the superuser (root) on remote hosts, subject to identification checking.
If LSF_ROOT_REX is undefined, remote execution requests from user root are refused.
Sites that have separate root accounts on different hosts within the cluster should not define LSF_ROOT_REX. Otherwise, this setting should be based on local security policies.
The
lsf.conf
file is host-type specific and not shared across different platforms. You must make sure thatlsf.conf
for all your host types are changed consistently.Undefined (root execution is not allowed)
LSF_SECUREDIR
LSF_SECUREDIR=
path(Windows only; mandatory if using
lsf.sudoers
) Path to the directory that contains the filelsf.sudoers
(shared on an NTFS file system).LSF_SERVER_HOSTS
LSF_SERVER_HOSTS="
host_name ..."
Defines one or more server hosts that the application should contact to find a Load Information Manager (LIM). This is used on client hosts on which no LIM is running on the local host. LSF server hosts are hosts that run LSF daemons and provide loading-sharing services. Client hosts are hosts that only run LSF commands or applications but do not provide services to any hosts.
If LSF_SERVER_HOSTS is not defined, the application tries to contact the LIM on the local host.
The host names in LSF_SERVER_HOSTS must be enclosed in quotes and separated by white space. For example:
LSF_SERVER_HOSTS="hostA hostD hostB"The length of the parameter string must be less then 4096 characters.
Undefined
LSF_SERVERDIR
LSF_SERVERDIR=
dirDirectory in which all server binaries and shell scripts are installed.
These include
lim
,res
,nios
,sbatchd
,mbatchd
, andmbschd
. If you useelim
,eauth
,eexec
,esub
, etc, they are also installed in this directory.LSF_MACHDEP/etc
LSF_SHELL_AT_USERS
LSF_SHELL_AT_USERS="
user_name user_name ..."
Applies to
lstcsh
only. Specifies users who are allowed to use@
for host redirection. Users not specified with this parameter cannot use host redirection inlstcsh
.If this parameter is undefined, all users are allowed to use
@
for host redirection inlstcsh
.Undefined
LSF_STRICT_CHECKING
LSF_STRICT_CHECKING=Y
If set, enables more strict checking of communications between LSF daemons and between LSF commands and daemons when LSF is used in an untrusted environment, such as a public network like the Internet.
If you enable this parameter, you must enable it in the entire cluster, as it affects all communications within LSF. If it is used in a MultiCluster environment, it must be enabled in all clusters, or none. Ensure that all binaries and libraries are upgraded to LSF Version 6.0, including LSF_BINDIR, LSF_SERVERDIR and LSF_LIBDIR directories, if you enable this parameter.
If your site uses any programs that use the LSF base and batch APIs, or LSF MPI (Message Passing Interface), they need to be recompiled using the LSF Version 6.0 APIs before they can work properly with this option enabled.
You must shut down the entire cluster before enabling or disabling this parameter.
If LSF_STRICT_CHECKING is defined, and your cluster has slave hosts that are dynamically added, LSF_STRICT_CHECKING must be configured in the local lsf.conf on all slave hosts.
Set to
Y
to enable this feature.Undefined. LSF is secure in trusted environments.
LSF_STRIP_DOMAIN
LSF_STRIP_DOMAIN=
domain_suffix [:
domain_suffix ...](Optional) If all of the hosts in your cluster can be reached using short host names, you can configure LSF to use the short host names by specifying the portion of the domain name to remove. If your hosts are in more than one domain or have more than one domain name, you can specify more than one domain suffix to remove, separated by a colon (:).
For example, given this definition of LSF_STRIP_DOMAIN,
LSF_STRIP_DOMAIN=.foo.com:.bar.comLSF accepts
hostA
,hostA.foo.com
, andhostA.bar.com
as names for hosthostA
, and uses the namehostA
in all output. The leading period `.' is required.Example:
LSF_STRIP_DOMAIN=.platform.com:.generic.comIn the above example, LSF accepts
hostA
,hostA.platform.com
, andhostA.generic.com
as names forhostA
, and uses the namehostA
in all output.Setting this parameter only affects host names displayed through LSF, it does not affect DNS host lookup.
Undefined
LSF_TIME_CMD
LSF_TIME_CMD=
timimg_levelThe timing level for checking how long LSF commands run. Time usage is logged in milliseconds; specify a positive integer.
Undefined
LSB_TIME_MBD, LSB_TIME_SBD, LSB_TIME_CMD, LSF_TIME_LIM, LSF_TIME_RES
LSF_TIME_LIM
LSF_TIME_LIM=
timing_levelThe timing level for checking how long LIM routines run.
Time usage is logged in milliseconds; specify a positive integer.
Undefined
LSB_TIME_CMD, LSB_TIME_MBD, LSB_TIME_SBD, LSF_TIME_RES
LSF_TIME_RES
LSF_TIME_RES=
timing_levelThe timing level for checking how long RES routines run.
Time usage is logged in milliseconds; specify a positive integer.
Undefined
LSB_TIME_CMD, LSB_TIME_MBD, LSB_TIME_SBD, LSF_TIME_LIM
LSF_TMPDIR
LSF_TMPDIR=
dirSpecifies the path and directory for temporary job output.
When LSF_TMPDIR is defined in
lsf.conf
, LSF creates a temporary directory under the directory specified by LSF_TMPDIR on the execution host when a job is started and sets the temporary directory environment variable for the job.When LSF_TMPDIR is defined as an environment variable, it overrides the LSF_TMPDIR specified in
lsf.conf
. LSF removes the temporary directory and the files that it contains when the job completes.The name of the temporary directory has the following format:
$LSF_TMPDIR/job_ID.tmpdirOn UNIX, the directory has the permission 0700.
After adding LSF_TMPDIR to
lsf.conf
, usebadmin hrestart all
to reconfigure your cluster.This parameter can also be specified from the command line.
Specify any valid path up to a maximum length of 256 characters. The 256 character maximum path length includes the temporary directories and files that the system creates as jobs run. The path that you specify for LSF_TMPDIR should be as short as possible to avoid exceeding this limit.
Specify an absolute path. For example:
LSF_TMPDIR=/usr/share/lsf_tmpSpecify a UNC path or a path with a drive letter. For example:
LSF_TMPDIR=\\HostA\temp\lsf_tmpor LSF_TMPDIR=D:\temp\lsf_tmpBy default, LSF_TMPDIR is not enabled. If LSF_TMPDIR is not specified either in the environment or in
lsf.conf
, this parameter is defined as follows:LSF_TOPD_PORT
LSF_TOPD_PORT=
port_numberUDP port used for communication between the LSF cpuset topology daemon (
topd
) and the cpuset ELIM. Used with SGI IRIX cpuset support.Undefined
LSF_TOPD_WORKDIR
LSF_TOPD_WORKDIR=
directoryDirectory to store the IRIX cpuset permission file and the event file for the cpuset topology daemon (
topd
). Used with SGI IRIX cpuset support.You should avoid using
/tmp
or any other directory that is automatically cleaned up by the system. Unless your installation has restrictions on the LSB_SHAREDIR directory, you should use the default for LSF_TOPD_WORKDIR.LSB_SHAREDIR/topd_dir.port_numberWhere port_number is the value you set for LSF_TOPD_PORT.
LSF_ULDB_DOMAIN
LSF_ULDB_DOMAIN=
domain_nameLSF_ULDB_DOMAIN specifies the name of the LSF domain in the ULDB domain directive. A domain definition of name domain_name must be configured in the IRIX
jlimit.in
input file.Used with IRIX 6.5.8 User Limits Database (ULDB). Configures LSF so that jobs submitted to a host with the IRIX job limits option installed are subject to the job limits configured in the IRIX User Limits Database (ULDB).
The ULDB contains job limit information that system administrators use to control access to a host on a per user basis. The job limits in the ULDB override the system default values for both job limits and process limits. When a ULDB domain is configured, the limits will be enforced as IRIX job limits.
If the ULDB domain specified in LSF_ULDB_DOMAIN is not valid or does not exist, LSF uses the limits defined in the domain named
batch
. If thebatch
domain does not exist, then the system default limits are set.When an LSF job is submitted, an IRIX job is created, and the job limits in the ULDB are applied.
Next, LSF resource usage limits are enforced for the IRIX job under which the LSF job is running. LSF limits override the corresponding IRIX job limits. The ULDB limits are used for any LSF limits that are not defined. If the job reaches the IRIX job limits, the action defined in the IRIX system is used.
IRIX job limits in the ULDB apply only to batch jobs.
See the IRIX 6.5.8 resource administration documentation for information about configuring ULDB domains in the
jlimit.in
file.LSF resource usage limits controlled by ULDB
- PROCESSLIMIT--Corresponds to IRIX JLIMIT_NUMPROC;
fork
(2) fails, but the existing processes continue to run- MEMLIMIT--Corresponds to JLIMIT_RSS; Resident pages above the limit become prime swap candidates
- DATALIMIT--Corresponds to LIMIT_DATA; malloc(3) calls in the job fail with errno set to ENOMEM
- CPULIMIT--Corresponds to JLIMIT_CPU; IRIX sends SIGXCPU signal to job, then after the grace period expires, sends SIGINT, SIGTERM, and SIGKILL
- FILELIMIT--No corresponding IRIX limit; use process limit RLIMIT_FSIZE
- STACKLIMIT--No corresponding IRIX limit; use process limit RLIMIT_STACK
- CORELIMIT--No corresponding IRIX limit; use process limit RLIMIT_CORE
- SWAPLIMIT--Corresponds to JLIMIT_VMEM; use process limit RLIMIT_VMEM
Increasing the default MEMLIMIT for ULDB
In some pre-defined LSF queues, such as
normal
, the default MEMLIMIT is set to 5000 (5 MB). However, if ULDB is enabled (LSF_ULDB_DOMAIN is defined) the MEMLIMIT should be set greater than 8000 inlsb.queues
.The following steps enable the ULDB domain
LSF
for useruser1
:
- Define the LSF_ULDB_DOMAIN parameter in
lsf.conf
:... LSF_ULDB_DOMAIN=LSF ...Note that you can set the LSF_ULDB_DOMAIN to include more than one domain. For example:
LSF_ULDB_DOMAIN="lsf:batch:system"- Configure the domain directive
LSF
in thejlimit.in
file:domain <LSF> { # domain for LSF jlimit_numproc_cur = unlimited jlimit_numproc_max = unlimited # JLIMIT_NUMPROC jlimit_nofile_cur = unlimited jlimit_nofile_max = unlimited # JLIMIT_NOFILE jlimit_rss_cur = unlimited jlimit_rss_max = unlimited # JLIMIT_RSS jlimit_vmem_cur = 128M jlimit_vmem_max = 256M # JLIMIT_VMEM jlimit_data_cur = unlimited jlimit_data_max =unlimited # JLIMIT_DATA jlimit_cpu_cur = 80 jlimit_cpu_max = 160 # JLIMIT_CPU }- Configure the user limit directive for
user1
in thejlimit.in
file:user user1 { LSF { jlimit_data_cur = 128M jlimit_data_max = 256M } }- Use the IRIX
genlimits
command to create the user limits database:genlimits -l -vUndefined
LSF_USE_HOSTEQUIV
(UNIX only; optional)
If LSF_USE_HOSTEQUIV is defined, RES and
mbatchd
call theruserok
(3) function to decide if a user is allowed to run remote jobs.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.
Undefined
LSF_USER_DOMAIN
LSF_USER_DOMAIN
=
domain_name |.
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 invalid
- 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 undefined, 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 undefined (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.
LSF_VPLUGIN
LSF_VPLUGIN=
pathThe full path to the vendor MPI library
libxmpi.so
. Used with Platform Parallel and MPI.For PAM to access the SGI MPI
libxmpi.so
library, the file permission mode must be 755 (-rwxr-xr-x
).Undefined
XLSF_APPDIR
XLSF_APPDIR=
dir(UNIX only; optional) Directory in which X application default files for LSF products are installed.
The LSF commands that use X look in this directory to find the application defaults. Users do not need to set environment variables to use the Platform LSF X applications. The application default files are platform-independent.
LSF_INDEP/misc
XLSF_UIDDIR
XLSF_UIDDIR=
dir(UNIX only) Directory in which Motif User Interface Definition files are stored.
These files are platform-specific.
LSF_LIBDIR/uid
[ Top ]
[ Platform Documentation ] [ Title ] [ Contents ] [ Previous ] [ Next ] [ Index ]
Date Modified: February 24, 2004
Platform Computing: www.platform.com
Platform Support: support@platform.com
Platform Information Development: doc@platform.com
Copyright © 1994-2004 Platform Computing Corporation. All rights reserved.