25.06.2015 Views

Administering Platform LSF - SAS

Administering Platform LSF - SAS

Administering Platform LSF - SAS

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Chapter 26<br />

Runtime Resource Usage Limits<br />

OS memory limit<br />

enforcement<br />

Process limit<br />

On UNIX, the time interval between SIGINT, SIGKILL, SIGTERM can be<br />

configured with the parameter JOB_TERMINATE_INTERVAL in lsb.params.<br />

OS enforcement usually allows the process to eventually run to completion.<br />

<strong>LSF</strong> passes mem_limit to the OS which uses it as a guide for the system<br />

scheduler and memory allocator. The system may allocate more memory to a<br />

process if there is a surplus. When memory is low, the system takes memory<br />

from and lowers the scheduling priority (re-nice) of a process that has<br />

exceeded its declared mem_limit.<br />

OS memory limit enforcement is only available on systems that support<br />

RLIMIT_RSS for setrlimit().<br />

The following operating systems do not support the memory limit at the OS<br />

level:<br />

◆ Windows NT<br />

◆ Sun Solaris 2.x<br />

Run time limit<br />

Job syntax (bsub) Queue syntax (lsb.queues) Fomat/Units<br />

-p process_limit PROCESSLIMIT=[default] maximum integer<br />

Sets the limit of the number of processes to process_limit for the whole job.<br />

The default is no limit. Exceeding the limit causes the job to terminate.<br />

Limits the number of concurrent processes that can be part of a job.<br />

If a default process limit is specified, jobs submitted to the queue without a<br />

job-level process limit are killed when the default process limit is reached.<br />

If you specify only one limit, it is the maximum, or hard, process limit. If you<br />

specify two limits, the first one is the default, or soft, process limit, and the<br />

second one is the maximum process limit.<br />

Job syntax (bsub) Queue syntax (lsb.queues) Fomat/Units<br />

-W run_limit RUNLIMIT=[default] maximum [hours:]minutes[<br />

/host_name |<br />

/host_model]<br />

A run time limit is the maximum amount of time a job can run before it is<br />

terminated. It sets the run time limit of a job. The default is no limit. If the<br />

accumulated time the job has spent in the RUN state exceeds this limit, the job<br />

is sent a USR2 signal. If the job does not terminate within 10 minutes after<br />

being sent this signal, it is killed.<br />

With deadline constraint scheduling configured, a run limit also specifies the<br />

amount of time a job is expected to take, and the minimum amount of time<br />

that must be available before a job can be started.<br />

Jobs submitted to a chunk job queue are not chunked if the run limit is greater<br />

than 30 minutes.<br />

<strong>Administering</strong> <strong>Platform</strong> <strong>LSF</strong> 353

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!