wiki:WRF4G2.0Resources

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
HIDHost identifier
ARCHArchitecture
JOBS(R/T)Number of jobs: R = running, T = total
LRMSLocal Resource Management System
HOSTNAMEHost name
QUEUENAMEQueue name
WALLTQueue wall time
CPUTQueue cpu time
MAXRMax. running jobs
MAXQMax. 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:

VariableDescription
PPNSpecify the number of processors per node requested for the job
CPUTIMEMaximum amount of CPU time used by all processes in the job (HH:MM:SS)
WALLTIMEMaximum amount of real time during which the job can be in the running state (HH:MM:SS)
MEMORYMaximum amount of physical memory used by the job (MB)
Last modified 7 years ago Last modified on Jul 21, 2015 1:12:58 PM