-
Notifications
You must be signed in to change notification settings - Fork 10
Requirements
The syntax of the requirement
expressions is defined as:
stmt::= expr
expr::= VARIABLE '=' INTEGER
| VARIABLE '>' INTEGER
| VARIABLE '<' INTEGER
| VARIABLE '=' STRING
| expr '&' expr
| expr '|' expr
| '!' expr
| '(' expr ')'
Each expression is evaluated to 1 (TRUE) or 0 (FALSE). Only those hosts for which the requirement
expression is evaluated to TRUE will be considered to execute the job.
Logical operators are as expected ( less '<', greater '>', '&' AND, '|' OR, '!' NOT), '=' means equals with integers. When you use '=' operator with strings, it performs a shell wildcard pattern matching.
Examples:
requirements = LRMS_TYPE = "pbs" # Only use pbs
requirements = HOSTNAME = "*.es" # Only hosts ending in ".es"
requirements = HOSTNAME = "mycomputer" # Only use mycomputer
requirements = ARCH = "x86_64" # Only host x86_64 architecture
requirements = ARCH = "x86_64" & HOSTNAME = "*.es" # Only hosts ending in ".es" and have x86_64 architecture
If you want to see more information about a single resource, use the shellwrf4g host
command followed by the host identification (HID):
[user@mycomputer~]$ wrf4g host
HID ARCH JOBS(R/T) LRMS HOSTNAME
0 x86_64 0/0 fork localmachine
[user@mycomputer~]$ wrf4g host 0
HID ARCH JOBS(R/T) LRMS HOSTNAME
0 x86_64 0/0 fork localmachine
QUEUENAME JOBS(R/T) WALLT CPUT MAXR MAXQ
default 0/0 0 0 1 1
The requirement
values are:
Variable | Description |
---|---|
HID | Host identifier |
ARCH | Architecture |
JOBS(R/T) | Number of jobs: R = running, T = total |
LRMS | Local Resource Management System |
HOSTNAME | Host name |
QUEUENAME | Queue name |
WALLT | Queue wall time |
CPUT | Queue cpu time |
MAXR | Max. running jobs |
MAXQ | Max. queued jobs |
The syntax of the environment expressions is specified in a comma-separated, source/destination pair.
stmt::= VARIABLE = VALUE, VARIABLE = VALUE, ...
Examples:
environment = WALLTIME = 00:01:00 # 60 seconds of max walltime
environment = WALLTIME = 00:01:00, MEMORY = 2000 # 60 seconds of max walltime and 2 GB of RAM memory
The variables defined in the environment
are:
Variable | Description |
---|---|
PPN | Specify the number of processors per node requested for the job |
CPUTIME | Maximum amount of CPU time used by all processes in the job ('''HH:MM:SS''') |
WALLTIME | Maximum amount of real time during which the job can be in the running state ('''HH:MM:SS''') |
MEMORY | Maximum amount of physical memory used by the job ('''MB''') |