Moab Workload Manager

Job Attributes/Flags Overview

Job Attributes

FLAGS
<FLAG>[,<FLAG>]...
---
specifies job specific flags
FLAGS=ADVRES,DEDICATED

(The job should only utilize reserved resources and should only use resources on hosts which can be exclusively dedicated)

   
PDEF
<PARTITION_NAME>
[DEFAULT]
specifies the default partition associated with the object. 
PDEF=P1

(The object is assigned the default partition P1)

   
PLIST*
<PARTITION_NAME>[^|&]
[:<PARTITION_NAME>[^|&]]...
[ALL]
specifies the list of partitions the object can access.  If no partition list is specified, the object is granted default access to all partitions.
PLIST=OldSP:Cluster1:O3K

(The object can access resources located in the OldSP, Cluster1, and/or O3K partitions)

   
QDEF
<QOS_NAME>
[DEFAULT]
specifies the default QOS associated with the object.
QDEF=premium

(The object is assigned the default QOS premium)

   
QLIST*
<QOS_NAME>[^|&]
[:<QOS_NAME>[^|&]]...
<QDEF>
specifies the list of QoS's the object can access.  If no QOS list is specified, the object is granted access only to its default partition/
QLIST=premium:express:bottomfeeder

(The object can access any of the 3 QOS's listed)

*Note:  By default, jobs may access QOS's based on the 'logical or' of the access lists associated with all job credentials.  For example, a job associated with user John, group staff, and class batch may utilize QOS's accessible by any of the individual credentials.  Thus the job's QOS access list, or QLIST, equals the 'or' of the user, group, and class QLIST's.  (i.e., JOBQLIST = USERQLIST | GROUPQLIST | CLASSQLIST).    If the ampersand symbol, '&', is associated with any list, this list is logically and'd with the other lists.    If the carat  symbol, '^', is associated with any object QLIST, this list is exclusively set, regardless of other object access lists using the following order of precedence user, group, account, QOS, and class.  These special symbols affect the behavior of both QOS and partition access lists.

Job Flags

ADVRES
ADVRES[:<RESID>]
Use available resources where ever found, whether inside a reservation or not.
specifies the job may only utilize accessible, reserved resources.  If <RESID> is specified, only resources in the specified reservation may be utilized.
FLAGS=ADVRES:META.1

(The job may only utilize resources located in the META.1 reservation)

   
BENCHMARK
BENCHMARK
N/A
N/A
FLAGS=BENCHMARK
   
BESTEFFORT
BESTEFFORT
N/A
N/A
FLAGS=BESTEFFORT
   
BYNAME
BYNAME
N/A
N/A
FLAGS=BYNAME
   
DEDICATED
DEDICATED
Use resources according to the global NODEACCESSPOLICY
specifies that the job should not share node resources with tasks from any other job
FLAGS=DEDICATED

(The job will only allocate resources from nodes which can be exclusively dedicated to this job)

   
DYNAMIC
DYNAMIC
If set, active jobs may dynamically grow and shrink based on internal job requests or external scheduler driven requests based on application performance targets.  Note: In order for a job to use this flag, the job's associated QOS credential must also have the DYNAMIC flag set within the QFLAGS attribute.
do not allow dynamic allocations for active jobs
FLAGS=DYNAMIC

The job will be allowed to dynamically allocate/de-allocate resources according to internal requests or scheduler-specified performance targets.

   
IGNIDLEJOBRSV
IGNIDLEJOBRSV
N/A
Only applies to QOS. IGNIDLEJOBRSV allows jobs to start without a guaranteed walltime. Instead, it overlaps the idle reservations of real jobs and is preempted 2 minutes before the real job starts.
QOSCFG[standby] JOBFLAGS=IGNIDLEJOBRSV
   
NOQUEUE
NOQUEUE
Jobs remain queued until the are able to run
specifies that the job should be removed it is is unable to allocate resources and start execution immediately.
FLAGS=NOQUEUE

(The job should be removed unless it can start running at submit time.)

This functionality is identical to the resource manager extension QUEUEJOB:FALSE.

   
PREEMPTEE
PREEMPTEE
Jobs may not be preempted by other jobs
Specifies that the job may be preempted by other jobs which have the PREEMPTOR flag set.
FLAGS=PREEMPTEE

(The job may be preempted by other jobs which have the 'PREEMPTOR' flag set)

   
PREEMPTOR
PREEMPTOR
Jobs may not preempt other jobs
Specifies that the job may preempt other jobs which have the PREEMPTEE flag set 
FLAGS=PREEMPTOR

(The job may preempt other jobs which have the 'PREEMPTEE' flag set)

   
PRESTART
PRESTART
Jobs are started only after the first scheduling iteration
Note:  used only in simulation mode to pre-populate a system.
FLAGS=PRESTART
   
RESTARTABLE
RESTARTABLE
Jobs may not be restarted if preempted.
Specifies jobs can be requeued and later restarted if preempted
FLAGS=RESTARTABLE

(The associated job can be preempted and restarted at a later date)

   
SHAREDRESOURCE
SHAREDRESOURCE
N/A
N/A
N/A
   
SUSPENDABLE
SUSPENDABLE
Jobs may not be suspended if preempted.
Specifies jobs can be suspended and later resumed if preempted
FLAGS=SUSPENDABLE

(The associated job can be suspended and resumed at a later date)

   
SYSTEMJOB
SYSTEMJOB
N/A
Creates an internal system job that does not require resources.
FLAGS=SYSTEMJOB
   
WIDERSVSEARCHALGO
<BOOLEAN>
---
When Moab is determining when and where a job can run, it either searches for the most resources or the longest range of resources. In almost all cases searching for the longest range is ideal and returns the soonest starttime. In some rare cases, however, a particular job may need to search for the most resources. In those cases this flag can be used to have the job find the soonest starttime. The flag can be specified at submit time, or you can use mjobctl -m to modify the job after it has been submitted.
> msub -l flags=widersvsearchalgo

> mjobctl -m flags+=widersvsearchalgo job.1

See Also