moab.cfg
RMCFG[base] TYPE=WIKI SERVER=<HOSTNAME>[:<PORT>] ...
Field values must backslash escape the following characters if specified:
'#' ';' ':' (i.e. '\#')
Supported Commands are:
Only nodes updated more recently than <UPDATETIME> will be returned where <UPDATETIME> is specified as the epoch time of interest. Setting <UPDATETIME> to '0' will return information for all nodes. Specify a colon delimited list of NODEID's if specific nodes are desired or use the keyword 'ALL' to receive information for all nodes.
<NODEID> <ATTR>=<VALUE>[;<ATTR>=<VALUE>]...
<ATTR> is one of the names in the table below and the format of <VALUE> is dependent on <ATTR>.
wiki resource query
CMD=GETNODES ARG=0:node001:node002:node003
response:
wiki resource query response
node001 UPDATETIME=963004212;STATE=Busy;OS=AIX43;ARCH=RS6000... node002 UPDATETIME=963004213;STATE=Busy;OS=AIX43;ARCH=RS6000... ...
NAME | FORMAT | DEFAULT | DESCRIPTION |
ACLASS | one or more bracket enclosed <NAME>:<COUNT> pairs (ie, [batch:5][sge:3]) | --- | run classes currently available on node. If not specified, scheduler will attempt to determine actual ACLASS value. |
ADISK | <INTEGER> | 0 | available local disk on node (in MB) |
AFS | <fs id="X" size="X" io="Y" rcount="X" wcount="X" ocount="X"></fs>[...] | 0 | available filesystem state |
AMEMORY | <INTEGER> | 0 | available/free RAM on node (in MB) |
ANET | one or more colon delimited <STRING>'s (ie, ETHER:ATM) | --- | Available network interfaces on node. Available interfaces are those which are 'up' and not already dedicated to a job. |
APROC | <INTEGER> | 1 | available processors on node |
ARCH | <STRING> | --- | compute architecture of node |
ARES | one or more comma delimited <NAME>:<VALUE> pairs (ie, MATLAB:6,COMPILER:100) | --- | Arbitrary consumable resources currently available on the node |
ASWAP | <INTEGER> | 0 | available swap on node (in MB) |
CCLASS | one or more bracket enclosed <NAME>:<COUNT> pairs (ie, [batch:5][sge:3]) | --- | Run classes supported by node. Typically, one class is 'consumed' per task. Thus, an 8 processor node may have 8 instances of each class it supports present, ie [batch:8][interactive:8] |
CDISK | <INTEGER> | 0 | configured local disk on node (in MB) |
CFS | <STRING> | 0 | configured filesystem state |
CMEMORY | <INTEGER> | 0 | configured RAM on node (in MB) |
CNET | one or more colon delimited <STRING>'s (ie, ETHER:FDDI:ATM) | --- | configured network interfaces on node |
CPROC | <INTEGER> | 1 | configured processors on node |
CPULOAD | <DOUBLE> | 0.0 | one minute BSD load average |
CRES | one or more comma delimited <NAME>:<VALUE> pairs (ie, MATLAB:6,COMPILER:100) | --- | Arbitrary consumable resources supported and tracked on the node, ie software licenses or tape drives. |
CSWAP | <INTEGER> | 0 | configured swap on node (in MB) |
CURRENTTASK | <INTEGER> | 0 | Number of tasks currently active on the node |
EVENT | <STRING> | --- | Event or exception which occurred on the node |
FEATURE | one or more colon delimited <STRING>'s (ie, WIDE:HSM) | --- | generic attributes, often describing hardware or software features, associated with the node. |
GCOUNTER | <INTEGER> | --- | current total number of gevent event occurrences since epoch. This value should be monotonically increasing. |
GEVENT | GEVENT[<EVENTNAME>]=<STRING> | --- | generic event occurrence and context data. |
GMETRIC | GMETRIC[<METRICNAME>]=<DOUBLE> | --- | current value of generic metric, i.e., 'GMETRIC[temp]=103.5'. |
IDLETIME | <INTEGER> | --- | number of seconds since last detected keyboard or mouse activity (often used with desktop harvesting) |
MAXTASK | <INTEGER> | <CPROC> | Maximum number of tasks allowed on the node at any given time |
OS | <STRING> | --- | operating system running on node |
OSLIST | <STRING> | --- | operating systems accepted by node |
OTHER | <ATTR>=<VALUE>[,<ATTR>=<VALUE>]... | --- | opaque node attributes assigned to node |
PARTITION | <STRING> | DEFAULT | partition to which node belongs |
RACK | <INTEGER> | 0 | Rack location of the node |
SLOT | <INTEGER> | 0 | Slot location of the node |
SPEED | <DOUBLE> | 1.0 | Relative processor speed of the node |
STATE* | one of the following: Idle, Running, Busy, Unknown, Drained, Draining, or Down | Down | state of the node |
UPDATETIME* | <EPOCHTIME> | 0 | time node information was last updated |
VARIABLE* | <ATTR>=<VAL> | --- | generic variables to be associated with node |
* indicates required field
Note: node states have the following definitions:
Busy: | Node is running some jobs and will not accept additional jobs |
Down: | Resource Manager problems have been detected. Node is incapable of running jobs. |
Draining: | Node is responding but will not accept new jobs |
Idle: | Node is ready to run jobs but currently is not running any. |
Running: | Node is running some jobs and will accept additional jobs |
Unknown: | Node is capable of running jobs but the scheduler will need to determine if the node state is actually Idle, Running, or Busy. |
Only jobs updated more recently than <UPDATETIME> will be returned where <UPDATETIME> is specified as the epoch time of interest. Setting <UPDATETIME> to '0' will return information for all jobs. Specify a colon delimited list of JOBID's if information for specific jobs is desired or use the keyword 'ALL' to receive information about all jobs.
or
SC=<STATUSCODE> RESPONSE=<RESPONSE>
FIELD
is either the text name listed below or 'A<FIELDNUM>'
(ie, 'UPDATETIME' or 'A2')
STATUSCODE values:
0 SUCCESS
-1 INTERNAL ERROR
RESPONSE is a statuscode sensitive message describing error or state details
CMD=GETJOBS ARG=0:ALL
response syntax
ARG=2#nebo3001.0:UPDATETIME=9780000320;STATE=Idle;WCLIMIT=3600;...
NAME | FORMAT | DEFAULT | DESCRIPTION |
ACCOUNT | <STRING> | --- | AccountID associated with job |
ALLOCSIZE | <INTEGER> | --- | number of application tasks to allocate at each allocation adjustment. |
APPBACKLOG | <DOUBLE> | --- | backlogged quantity of workload for associated application (units are opaque), value may be compared against TARGETBACKLOG |
APPLOAD | <DOUBLE> | --- | load of workload for associated application (units are opaque), value may be compared against TARGETLOAD |
APPRESPONSETIME | <DOUBLE> | --- | response time of workload for associated application (units are opaque), value may be compared against TARGETRESPONSETIME |
APPTHROUGHPUT | <DOUBLE> | --- | throughput of workload for associated application (units are opaque), value may be compared against TARGETTHROUGHPUT |
ARGS | <STRING> | --- | job command-line arguments |
COMMENT | <STRING> | 0 | job resource manager extension arguments including qos, dependencies, reservation constraints, etc |
COMPLETETIME* | <EPOCHTIME> | 0 | time job completed execution |
DDISK | <INTEGER> | 0 | quantity of local disk space (in MB) which must be dedicated to each task of the job |
DGRES | name:value[,name:value] | --- | Dedicated generic resources per task. |
DPROCS | <INTEGER> | 1 | number of processors dedicated per task |
DNETWORK | <STRING> | --- | network adapter which must be dedicated to job |
DSWAP | <INTEGER> | 0 | quantity of virtual memory (swap, in MB) which must be dedicated to each task of the job |
ENDDATE | <EPOCHTIME> | [ANY] | time by which job must complete |
ENV | <STRING> | --- | job environment variables |
EVENT | <EVENT> | --- | event or exception experienced by job |
ERROR | <STRING> | --- | file to contain STDERR |
EXEC | <STRING> | --- | job executable command |
EXITCODE | <INTEGER> | --- | job exit code |
FLAGS | <STRING> | --- | job flags |
GEOMETRY | <STRING> | --- | String describing task geometry required by job |
GNAME* | <STRING> | --- | GroupID under which job will run |
HOSTLIST | comma or colon delimited list of hostnames - suffix the hostlist with a carat (^) to mean superset; suffix with an asterisk (*) to mean subset; otherwise, the hostlist is interpreted as an exact set |
[ANY] | list of required hosts on which job must run. (see TASKLIST) |
INPUT | <STRING> | --- | file containing STDIN |
IWD | <STRING> | --- | job's initial working directory |
NAME | <STRING> | --- | User specified name of job |
NODERANGE | <INTEGER>[,<INTEGER>] | --- | Minimum and maximum nodes allowed to be allocated to job. |
NODES | <INTEGER> | 1 | Number of nodes required by job (See Node Definition for more info) |
OUTPUT | <STRING> | --- | file to contain STDOUT |
PARTITIONMASK | one or more colon delimited <STRING>s | [ANY] | list of partitions in which job can run |
PREF | colon delimited list of <STRING>s | --- | List of preferred node features or variables. (See PREF for more information.) |
PRIORITY | <INTEGER> | --- | system priority (absolute or relative - use '+' and '-' to specify relative) |
QOS | <INTEGER> | 0 | quality of service requested |
QUEUETIME* | <EPOCHTIME> | 0 | time job was submitted to resource manager |
RARCH | <STRING> | --- | architecture required by job |
RCLASS | list of bracket enclosed <STRING>:<INTEGER> pairs | --- | list of <CLASSNAME>:<COUNT> pairs indicating type and number of class instances required per task. (ie, '[batch:1]' or '[batch:2][tape:1]') |
RDISK | <INTEGER> | 0 | local disk space (in MB) required to be configured on nodes allocated to the job |
RDISKCMP | one of '>=', '>', '==', '<', or '<=' | >= | local disk comparison (ie, node must have > 2048 MB local disk) |
REJCODE | <INTEGER> | 0 | reason job was rejected |
REJCOUNT | <INTEGER> | 0 | number of times job was rejected |
REJMESSAGE | <STRING> | --- | text description of reason job was rejected |
REQRSV | <STRING> | --- | Name of reservation in which job must run |
RESACCESS | <STRING> | --- | List of reservations in which job can run |
RFEATURES | colon delimited list <STRING>'s | --- | List of features required on nodes |
RMEM | <INTEGER> | 0 | real memory (RAM, in MB) required to be configured on nodes allocated to the job |
RMEMCMP | one of '>=', '>', '==', '<', or '<=' | >= | real memory comparison (ie, node must have >= 512MB RAM) |
RNETWORK | <STRING> | --- | network adapter required by job |
ROPSYS | <STRING> | --- | operating system required by job |
RSOFTWARE | <RESTYPE>[{+|:}<COUNT>][@<TIMEFRAME>] | --- | software required by job |
RSWAP | <INTEGER> | 0 | virtual memory (swap, in MB) required to be configured on nodes allocated to the job |
RSWAPCMP | one of '>=', '>', '==', '<', or '<=' | >= | virtual memory comparison (ie, node must have ==4096 MB virtual memory) |
SID | <STRING> | --- | system id (global job system owner) |
SJID | <STRING> | --- | system job id (global job id) |
STARTDATE | <EPOCHTIME> | 0 | earliest time job should be allowed to start |
STARTTIME* | <EPOCHTIME> | 0 | time job was started by the resource manager |
STATE* | one of Idle, Running, Hold, Suspended, Completed, or Removed | Idle | State of job |
SUSPENDTIME | <INTEGER> | 0 | Number of seconds job has been suspended |
TARGETBACKLOG | <DOUBLE>[,<DOUBLE>] | --- | Minimum and maximum backlog for application within job. |
TARGETLOAD | <DOUBLE>[,<DOUBLE>] | --- | Minimum and maximum load for application within job. |
TARGETRESPONSETIME | <DOUBLE>[,<DOUBLE>] | --- | Minimum and maximum response time for application within job. |
TARGETTHROUGHPUT | <DOUBLE>[,<DOUBLE>] | --- | Minimum and maximum throughput for application within job. |
TARGETVIOLATIONTIME | <ALLOCATIONTIME>[,<DEALLOCATIONTIME>] where values are specified using the format [[[DD:]HH:]MM:]SS | --- | By default, Moab allocates/deallocates resources as soon as a performance target violation is detected. |
TASKLIST | one or more comma-delimited <STRING>'s | --- | list of allocated tasks, or in other words, comma-delimited list of node ID's associated with each active task of job (i.e., cl01, cl02, cl01, cl02, cl03) The tasklist is initially selected by the scheduler at the time the StartJob command is issued. The resource manager is then responsible for starting the job on these nodes and maintaining this task distribution information throughout the life of the job. (see HOSTLIST) |
TASKS* | <INTEGER> | 1 | Number of tasks required by job (See Task Definition for more info) |
TASKPERNODE | <INTEGER> | 0 | exact number of tasks required per node |
UNAME* | <STRING> | --- | UserID under which job will run |
UPDATETIME* | <EPOCHTIME> | 0 | Time job was last updated |
WCLIMIT* | [[HH:]MM:]SS | 864000 | walltime required by job |
* indicates required field
Note: Job states have the following definitions:
Completed: | Job has completed |
Hold: | Job is in the queue but is not allowed to run |
Idle: | Job is ready to run |
Removed: | Job has been canceled or otherwise terminated externally |
Running: | Job is currently executing |
Suspended: | job has started but execution has temporarily been suspended |
Note: Completed and canceled jobs should be maintained by the resource manager for a brief time, perhaps 1 to 5 minutes, before being purged. This provides the scheduler time to obtain all final job state information for scheduler statistics.
send CMD=STARTJOB ARG=<JOBID> TASKLIST=<NODEID>[:<NODEID>]...
receive SC=<STATUSCODE> RESPONSE=<RESPONSE>
STATUSCODE
>= 0 indicates SUCCESS
STATUSCODE
< 0 indicates FAILURE
RESPONSE
is a text message possibly further describing an error or state
job start example
# Start job nebo.1 on nodes cluster001 and cluster002 send 'CMD=STARTJOB ARG=nebo.1 TASKLIST=cluster001:cluster002' receive 'SC=0;RESPONSE=job nebo.1 started with 2 tasks'
send CMD=CANCELJOB ARG=<JOBID> TYPE=<CANCELTYPE>
<CANCELTYPE> is one of the following:
ADMIN
(command initiated by scheduler administrator)
WALLCLOCK (command initiated by scheduler because
job exceeded its specified wallclock limit)
receive SC=<STATUSCODE> RESPONSE=<RESPONSE>
STATUSCODE
>= 0 indicates SUCCESS
STATUSCODE
< 0 indicates FAILURE
RESPONSE
is a text message further describing an error or state
job cancel example
# Cancel job nebo.2 send 'CMD=CANCELJOB ARG=nebo.2 TYPE=ADMIN' receive 'SC=0 RESPONSE=job nebo.2 canceled'
send CMD=SUSPENDJOB ARG=<JOBID>
receive SC=<STATUSCODE> RESPONSE=<RESPONSE>
STATUSCODE
>= 0 indicates SUCCESS
STATUSCODE
< 0 indicates FAILURE
RESPONSE
is a text message possibly further describing an error or state
job suspend example
# Suspend job nebo.3 send 'CMD=SUSPENDJOB ARG=nebo.3' receive 'SC=0 RESPONSE=job nebo.3 suspended'
send CMD=RESUMEJOB ARG=<JOBID>
receive SC=<STATUSCODE> RESPONSE=<RESPONSE>
STATUSCODE
>= 0 indicates SUCCESS
STATUSCODE
< 0 indicates FAILURE
RESPONSE
is a text message further describing an error or state
job resume example
# Resume job nebo.3 send 'CMD=RESUMEJOB ARG=nebo.3' receive 'SC=0 RESPONSE=job nebo.3 resumed'
send CMD=REQUEUEJOB ARG=<JOBID>
receive SC=<STATUSCODE> RESPONSE=<RESPONSE>
STATUSCODE
>= 0 indicates SUCCESS
STATUSCODE
< 0 indicates FAILURE
RESPONSE
is a text message further describing an error or state
job requeue example
# Requeue job nebo.3 send 'CMD=REQUEUEJOB ARG=nebo.3' receive 'SC=0 RESPONSE=job nebo.3 requeued'
send CMD=SIGNALJOB ARG=<JOBID> ACTION=signal VALUE=<SIGNAL>
receive SC=<STATUSCODE> RESPONSE=<RESPONSE>
STATUSCODE
>= 0 indicates SUCCESS
STATUSCODE
< 0 indicates FAILURE
RESPONSE
is a text message further describing an error or state
job signal example
# Signal job nebo.3 send 'CMD=SIGNALJOB ARG=nebo.3 ACTION=signal VALUE=13' receive 'SC=0 RESPONSE=job nebo.3 signalled'
send CMD=MODIFYJOB ARG=<JOBID> [BANK=name] [NODES=num] [PARTITION=name] [TIMELIMIT=minutes]
receive SC=<STATUSCODE> RESPONSE=<RESPONSE>
STATUSCODE
>= 0 indicates SUCCESS
STATUSCODE
< 0 indicates FAILURE
RESPONSE
is a text message further describing an error or state
job modify example
# Signal job nebo.3 send 'CMD=MODIFYJOB ARG=nebo.3 TIMELIMIT=9600' receive 'SC=0 RESPONSE=job nebo.3 modified'
send
CMD=JOBADDTASK ARG=<JOBID> <NODEID> [<NODEID>]...
receive
SC=<STATUSCODE> RESPONSE=<RESPONSE>
STATUSCODE
>= 0 indicates SUCCESS
STATUSCODE
< 0 indicates FAILURE
RESPONSE
is a text message possibly further describing an error or state
job addtask example
# Add 3 default tasks to job nebo30023.0 using resources located on nodes cluster002, cluster016, and cluster112. send 'CMD=JOBADDTASK ARG=nebo30023.0 DEFAULT cluster002 cluster016 cluster112' receive 'SC=0 RESPONSE=3 tasks added'
send
CMD=JOBREMOVETASK ARG=<JOBID> <TASKID> [<TASKID>]...
receive
SC=<STATUSCODE> RESPONSE=<RESPONSE>
STATUSCODE
>= 0 indicates SUCCESS
STATUSCODE
< 0 indicates FAILURE
RESPONSE
is a text message further describing an error or state
job removetask example
# Free resources allocated to tasks 14, 15, and 16 of job nebo30023.0 send 'CMD=JOBREMOVETASK ARG=nebo30023.0 14 15 16' receive 'SC=0 RESPONSE=3 tasks removed'