Moab Workload Manager

11.8 Using a Local Queue

Moab allows jobs to be submitted directly to the scheduler. With a local queue, Moab is able to directly manage the job or translate it for resubmission to a standard resource manager queue. There are multiple advantages to using a local queue:

  • Jobs may be translated from one resource manager job submission language to another (such as submitting a PBS job and running it on an LSF cluster).
  • Jobs may be migrated from one local resource manager to another.
  • Jobs may be migrated to remote systems using Moab peer-to-peer functionality.
  • Jobs may be dynamically modified and optimized by Moab to improve response time and system utilization.
  • Jobs may be dynamically modified to account for system hardware failures or other issues.
  • Jobs may be dynamically modified to conform to site policies and constraints.
  • Grid jobs are supported.

11.8.1 Local Queue Configuration

A local queue is configured just like a standard resource manager queue. It may have defaults, limits, resource mapping, and credential access constraints. The following table describes the most common settings:

Default queue
RMCFG[internal] DEFAULTCLASS=<CLASSID>
The job class/queue assigned to the job if one is not explicitly requested by the submittor.

Note All jobs submitted directly to Moab are initially received by the pseudo-resource manager internal. Therefore, default queue configuration may only be applied to it.

RMCFG[internal] DEFAULTCLASS=batch
   
Class default resource requirements
CLASSCFG[<CLASSID>] DEFAULT.FEATURES=<X>
CLASSCFG[<CLASSID>] DEFAULT.MEM=<X>
CLASSCFG[<CLASSID>] DEFAULT.NODE=<X>
CLASSCFG[<CLASSID>] DEFAULT.NODESET=<X>
CLASSCFG[<CLASSID>] DEFAULT.PROC=<X>
CLASSCFG[<CLASSID>] DEFAULT.WCLIMIT=<X>
The settings assigned to the job if not explicitly set by the submittor. Default values are available for node features, per task memory, node count, nodeset configuration, processor count, and wallclock limit.
CLASSCFG[batch] DEFAULT.WCLIMIT=4 DEFAULT.FEATURES=matlab

or

CLASSCFG[batch] DEFAULT.WCLIMIT=4
CLASSCFG[batch] DEFAULT.FEATURES=matlab
   
Class maximum resource limits
CLASSCFG[<CLASSID>] MAX.FEATURES=<X>
CLASSCFG[<CLASSID>] MAX.NODE=<X>
CLASSCFG[<CLASSID>] MAX.PROC=<X>
CLASSCFG[<CLASSID>] MAX.WCLIMIT=<X>
The maximum node features, node count, processor count, and wallclock limit allowed for a job submitted to the class/queue. If these limits are not satisfied, the job is not accepted and the submit request fails.
MAX.FEATURES
indicates that only the listed features may be requested by a job.
CLASSCFG[smalljob] MAX.PROC=4 MAX.FEATURES=slow,matlab

or

CLASSCFG[smalljob] MAX.PROC=4
CLASSCFG[smalljob] MAX.FEATURES=slow,matlab
   
Class minimum resource limits
CLASSCFG[<CLASSID>] MIN.FEATURES=<X>
CLASSCFG[<CLASSID>] MIN.NODE=<X>
CLASSCFG[<CLASSID>] MIN.PROC=<X>
CLASSCFG[<CLASSID>] MIN.WCLIMIT=<X>
The minimum node features, node count, processor count, and wallclock limit allowed for a job submitted to the class/queue. If these limits are not satisfied, the job is not accepted and the submit request fails.
MIN.FEATURES
indicates that only the listed features may be requested by a job.
CLASSCFG[bigjob] MIN.PROC=4 MIN.WCLIMIT=1:00:00

or

CLASSCFG[bigjob] MIN.PROC=4
CLASSCFG[bigjob] MIN.WCLIMIT=1:00:00
   
Class access
CLASSCFG[<CLASSID>] REQUIREDUSERLIST=<USERID>[,<USERID>]...
The list of users who may submit jobs to the queue.
CLASSCFG[math] REQUIREDUSERLIST=john,steve
   
Available resources
CLASSCFG[<CLASSID>] HOSTLIST=<HOSTID>[,<HOSTID>]...
The list of nodes that jobs in the queue may use.
CLASSCFG[special] HOSTLIST=node001,node003,node13

Class mapping between multiple sites is described in the section on Moab grid facilities.

If a job is submitted directly to the resource manager used by the local queue, the class default resource requirements are not applied. Also, if the job violates a local queue limitation, the job is accepted by the resource manager, but placed in the Blocked state.