Skip to content

Requirements

fernanqv edited this page Mar 17, 2022 · 1 revision

Requirements and environment Syntax

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 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

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''')