Requirement Expression Syntax
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
Requirement Variables
If you want to see more information about a single resource, use the wrf4g 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 |
Environment Expression Syntax
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
Environment Variables
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) |