Job deadlines may be specified on a per job and per credential basis and are also supported using both absolute and QoS based specifications. A job requesting a deadline is first evaluated to determine if the deadline is acceptable. If so, Moab adds it to the list of deadline jobs and allocates resources to guarantee that all accepted deadline jobs are able to complete on or before their requested deadline. Once the scheduler confirms that all deadlines can be satisfied, it then optimizes resource allocation (in priority order) attempting to execute all jobs at the earliest possible time.
A job may request a specific completion time if, and only if, it requests and is allowed to access a QoS with the DEADLINE flag set. If so, a job's -l deadline attribute is honored. If such QOS access is not available, or if resources do not exist at job submission time to allow the deadline to be satisfied, the job's deadline request is ignored. For example, consider the following configuration which sets a deadline for a job to finish by 8 a.m. on March 1st, 2008:
msub -l deadline=08:00:00_03/01/08
QoS's may be set up with both the DEADLINE flag and a response time target. For job's requesting these qualities of service, Moab identifies and sets job deadlines to satisfy the corresponding response time targets. For example, consider the following configuration which sets a queue time response target of 1 hour:
QOSCFG[special] QFLAGS=DEADLINE QTTARGET=1:00:00
Given this configuration, a two-hour job requesting QoS special has a completion time deadline set to 3 hours after the job's submission time.
In addition to job completion targets, jobs may also be submitted with a TERMTIME attribute. The scheduler attempts to complete the job prior to the termination date, but if it is unsuccessful, it will terminate (cancel) the job once the termination date is reached.
When a job cannot make a requested deadline Moab, by default, sets a hold on the job. The specific policy can be configured using the DEADLINEPOLICY parameter.
|CANCEL||The job is canceled and the user is notified that the deadline could not be satisfied.|
|HOLD||The job has a batch hold placed on it indefinitely. The administrator can then decide what action to take.|
|RETRY||The job continually retries each iteration to meet its deadline; note that when used with QTTARGET the job's deadline continues to slide with relative time.|
|IGNORE||The job has its request ignored and is scheduled as normal.|