OAR Syntax simplification

From Grid5000
Jump to navigation Jump to search

In order to ease the reservation of resources with OAR (using oarsub or the job API), Grid'5000 provides the following mechanisms to simplify the oarsub filters (which otherwise use a regular SQL syntax to select resources):

  • An alias system to translate simple and short keywords to the OAR resource filter expressions (which are often long and complex).
  • The automatic addition of simple quotes for strings (quote still required for text including spaces) in the expressions (e.g. in cluster='yeti' or ib=EDR quotes are not mandatory)
  • The use of short names of nodes instead of the long names which include the grid5000.fr domain name.
  • The use of & alternatively to and; | alternatively to or in OAR resource filter expressions



Aliases are defined for the most common resources, for instance, to ease clusters selection, GPUs, etc. Aliases do not replace the classical way of using the OAR properties. Some of the aliases are site-specific (e.g. cluster and node names).

Aliases must be used within the classical oarsub options: -l and -p.

Here some examples:

Request a node with an SSD
Terminal.png frontend:
oarsub -I -p SSD

Which is equivalent using the regular SQL syntax to:

Terminal.png frontend:
oarsub -I -p "disktype like '%/SSD'"

Request a node with a GTX 1080 Ti Nvidia GPU
Terminal.png frontend:
oarsub -I -p gtx1080ti

Which is equivalent using the regular SQL syntax to:

Terminal.png frontend:
oarsub -I -p "gpu_model='GeForce GTX 1080 Ti'"

Request 2 nodes with an SSD and 256G or more RAM
Terminal.png frontend:
oarsub -I -l nodes=2 -p "ssd&256GB"

Which is equivalent using the regular SQL syntax to:

Terminal.png frontend:
oarsub -I -l nodes=2 -p "disktype like '%/SSD' and memnode >= 262144"
Request a node on grimoire cluster with all its disks
Terminal.png frontend:
oarsub -I -l "{host+disk&grimoire}"/nodes=1

Which is equivalent using the regular SQL syntax to:

Terminal.png frontend:
oarsub -I -l "{(type='default' or type='disk') and cluster='grimoire'}"/nodes=1

Aliases can be mixed with the classical way of requesting resources
Terminal.png frontend:
oarsub -I -p "ib=EDR & 256GB"

Which is equivalent using the regular SQL syntax to:

Terminal.png frontend:
oarsub -I -p "ib='EDR' and memnode >= 262144"

Long node names completion

The automatic completion of short hostnames to add the domain name can be used when filtering with the host property:

For one host
Terminal.png frontend:
oarsub -I -p "host='yeti-1'"

Or even without the quotes:

Terminal.png frontend:
oarsub -I -p "host=yeti-1"

Or since we provide aliases for each node host property, the following also works:

Terminal.png frontend:
oarsub -I -p "yeti-1"

All 3 are equivalent using the regular SQL syntax to:

Terminal.png frontend:
oarsub -I -p "host='yeti-1.grenoble.grid5000.fr'"
For multiple host within an IN()
Terminal.png frontend:
oarsub -I -p "host IN (yeti-1,yeti-2,yeti-3)"

Which is equivalent using the regular SQL syntax to:

Terminal.png frontend:
oarsub -I -p "host IN ('yeti-1.grenoble.grid5000.fr', 'yeti-2.grenoble.grid5000.fr', 'yeti-3.grenoble.grid5000.fr')"

Disabling the syntax simplification

If for any reason you want to disable the syntax simplification in order to just use the OAR regular syntax, it is possible by using the no-syntax-simplifier job type, as follows:

Terminal.png frontend:
oarsub -I -p "cluster='yeti'" -t no-syntax-simplifier

Available aliases

Clusters and nodes

%d is a digit representing a node's number.

Alias Description Translate to
dahu Select node(s) from cluster Dahu cluster='dahu'
dahu-%d Select a node from cluster Dahu host='dahu-%d.grenoble.grid5000.fr'
drac Select node(s) from cluster Drac cluster='drac'
drac-%d Select a node from cluster Drac host='drac-%d.grenoble.grid5000.fr'
servan Select node(s) from cluster Servan cluster='servan'
servan-%d Select a node from cluster Servan host='servan-%d.grenoble.grid5000.fr'
troll Select node(s) from cluster Troll cluster='troll'
troll-%d Select a node from cluster Troll host='troll-%d.grenoble.grid5000.fr'
yeti Select node(s) from cluster Yeti cluster='yeti'
yeti-%d Select a node from cluster Yeti host='yeti-%d.grenoble.grid5000.fr'
Alias Description Translate to
chetemi Select node(s) from cluster Chetemi cluster='chetemi'
chetemi-%d Select a node from cluster Chetemi host='chetemi-%d.lille.grid5000.fr'
chiclet Select node(s) from cluster Chiclet cluster='chiclet'
chiclet-%d Select a node from cluster Chiclet host='chiclet-%d.lille.grid5000.fr'
chifflet Select node(s) from cluster Chifflet cluster='chifflet'
chifflet-%d Select a node from cluster Chifflet host='chifflet-%d.lille.grid5000.fr'
chifflot Select node(s) from cluster Chifflot cluster='chifflot'
chifflot-%d Select a node from cluster Chifflot host='chifflot-%d.lille.grid5000.fr'
Alias Description Translate to
petitprince Select node(s) from cluster Petitprince cluster='petitprince'
petitprince-%d Select a node from cluster Petitprince host='petitprince-%d.luxembourg.grid5000.fr'
Alias Description Translate to
gemini Select node(s) from cluster Gemini cluster='gemini'
gemini-%d Select a node from cluster Gemini host='gemini-%d.lyon.grid5000.fr'
hercule Select node(s) from cluster Hercule cluster='hercule'
hercule-%d Select a node from cluster Hercule host='hercule-%d.lyon.grid5000.fr'
neowise Select node(s) from cluster Neowise cluster='neowise'
neowise-%d Select a node from cluster Neowise host='neowise-%d.lyon.grid5000.fr'
nova Select node(s) from cluster Nova cluster='nova'
nova-%d Select a node from cluster Nova host='nova-%d.lyon.grid5000.fr'
orion Select node(s) from cluster Orion cluster='orion'
orion-%d Select a node from cluster Orion host='orion-%d.lyon.grid5000.fr'
pyxis Select node(s) from cluster Pyxis cluster='pyxis'
pyxis-%d Select a node from cluster Pyxis host='pyxis-%d.lyon.grid5000.fr'
sagittaire Select node(s) from cluster Sagittaire cluster='sagittaire'
sagittaire-%d Select a node from cluster Sagittaire host='sagittaire-%d.lyon.grid5000.fr'
sirius Select node(s) from cluster Sirius cluster='sirius'
sirius-%d Select a node from cluster Sirius host='sirius-%d.lyon.grid5000.fr'
taurus Select node(s) from cluster Taurus cluster='taurus'
taurus-%d Select a node from cluster Taurus host='taurus-%d.lyon.grid5000.fr'
Alias Description Translate to
graffiti Select node(s) from cluster Graffiti cluster='graffiti'
graffiti-%d Select a node from cluster Graffiti host='graffiti-%d.nancy.grid5000.fr'
graoully Select node(s) from cluster Graoully cluster='graoully'
graoully-%d Select a node from cluster Graoully host='graoully-%d.nancy.grid5000.fr'
graphique Select node(s) from cluster Graphique cluster='graphique'
graphique-%d Select a node from cluster Graphique host='graphique-%d.nancy.grid5000.fr'
graphite Select node(s) from cluster Graphite cluster='graphite'
graphite-%d Select a node from cluster Graphite host='graphite-%d.nancy.grid5000.fr'
grappe Select node(s) from cluster Grappe cluster='grappe'
grappe-%d Select a node from cluster Grappe host='grappe-%d.nancy.grid5000.fr'
grcinq Select node(s) from cluster Grcinq cluster='grcinq'
grcinq-%d Select a node from cluster Grcinq host='grcinq-%d.nancy.grid5000.fr'
grele Select node(s) from cluster Grele cluster='grele'
grele-%d Select a node from cluster Grele host='grele-%d.nancy.grid5000.fr'
grimani Select node(s) from cluster Grimani cluster='grimani'
grimani-%d Select a node from cluster Grimani host='grimani-%d.nancy.grid5000.fr'
grimoire Select node(s) from cluster Grimoire cluster='grimoire'
grimoire-%d Select a node from cluster Grimoire host='grimoire-%d.nancy.grid5000.fr'
grisou Select node(s) from cluster Grisou cluster='grisou'
grisou-%d Select a node from cluster Grisou host='grisou-%d.nancy.grid5000.fr'
gros Select node(s) from cluster Gros cluster='gros'
gros-%d Select a node from cluster Gros host='gros-%d.nancy.grid5000.fr'
grouille Select node(s) from cluster Grouille cluster='grouille'
grouille-%d Select a node from cluster Grouille host='grouille-%d.nancy.grid5000.fr'
grue Select node(s) from cluster Grue cluster='grue'
grue-%d Select a node from cluster Grue host='grue-%d.nancy.grid5000.fr'
gruss Select node(s) from cluster Gruss cluster='gruss'
gruss-%d Select a node from cluster Gruss host='gruss-%d.nancy.grid5000.fr'
grvingt Select node(s) from cluster Grvingt cluster='grvingt'
grvingt-%d Select a node from cluster Grvingt host='grvingt-%d.nancy.grid5000.fr'
Alias Description Translate to
econome Select node(s) from cluster Econome cluster='econome'
econome-%d Select a node from cluster Econome host='econome-%d.nantes.grid5000.fr'
ecotype Select node(s) from cluster Ecotype cluster='ecotype'
ecotype-%d Select a node from cluster Ecotype host='ecotype-%d.nantes.grid5000.fr'
Alias Description Translate to
paranoia Select node(s) from cluster Paranoia cluster='paranoia'
paranoia-%d Select a node from cluster Paranoia host='paranoia-%d.rennes.grid5000.fr'
parasilo Select node(s) from cluster Parasilo cluster='parasilo'
parasilo-%d Select a node from cluster Parasilo host='parasilo-%d.rennes.grid5000.fr'
paravance Select node(s) from cluster Paravance cluster='paravance'
paravance-%d Select a node from cluster Paravance host='paravance-%d.rennes.grid5000.fr'
Alias Description Translate to
uvb Select node(s) from cluster Uvb cluster='uvb'
uvb-%d Select a node from cluster Uvb host='uvb-%d.sophia.grid5000.fr'


Alias Description Translate to
ssd Select node(s) with SSD disktype like '%/SSD'
hdd Select node(s) with HDD disktype like '%/HDD'
host+disk Select node(s) with all its reservable disks (type='default' or type='disk')


Alias Description Translate to
rtx2080ti Select node(s) with GeForce RTX 2080 Ti GPU gpu_model='GeForce RTX 2080 Ti'
gtx1080ti Select node(s) with GeForce GTX 1080 Ti GPU gpu_model='GeForce GTX 1080 Ti'
p100-pcie-16 Select node(s) with Tesla P100-PCIE-16GB GPU gpu_model='Tesla P100-PCIE-16GB'
p100-sxm2-16 Select node(s) with Tesla P100-SXM2-16GB GPU gpu_model='Tesla P100-SXM2-16GB'
v100-pcie-32 Select node(s) with Tesla V100-PCIE-32GB GPU gpu_model='Tesla V100-PCIE-32GB'
v100-sxm2-32 Select node(s) with Tesla V100-SXM2-32GB GPU gpu_model='Tesla V100-SXM2-32GB'
m2075 Select node(s) with Tesla M2075 GPU gpu_model='Tesla M2075'
gtx980 Select node(s) with GeForce GTX 980 GPU gpu_model='GeForce GTX 980'
k40m Select node(s) with Tesla K40m GPU gpu_model='Tesla K40m'
t4 Select node(s) with Tesla T4 GPU gpu_model='Tesla T4'
a100-pcie-40 Select node(s) with A100-PCIE-40GB GPU gpu_model='A100-PCIE-40GB'
a100-sxm4-40 Select node(s) with A100-SXM4-40GB GPU gpu_model='A100-SXM4-40GB'
a40 Select node(s) with A40 GPU gpu_model='A40'
rtx6000 Select node(s) with Quadro RTX 6000 GPU gpu_model='Quadro RTX 6000'
mi50-32 Select node(s) with Radeon Instinct MI50 32GB GPU gpu_model='Radeon Instinct MI50 32GB'


Alias Description Translate to
24GB Select node(s) with 24GB RAM or more memnode>=24576
32GB Select node(s) with 32GB RAM or more memnode>=32768
48GB Select node(s) with 48GB RAM or more memnode>=49152
64GB Select node(s) with 64GB RAM or more memnode>=65536
96GB Select node(s) with 96GB RAM or more memnode>=98304
128GB Select node(s) with 128GB RAM or more memnode>=131072
192GB Select node(s) with 192GB RAM or more memnode>=196608
256GB Select node(s) with 256GB RAM or more memnode>=262144
384GB Select node(s) with 384GB RAM or more memnode>=393216
512GB Select node(s) with 512GB RAM or more memnode>=524288
768GB Select node(s) with 768GB RAM or more memnode>=786432
1024GB Select node(s) with 1024GB RAM or more memnode>=1048576


Alias Description Translate to
kavlan Select routed VLAN(s) type='kavlan'
kavlan-local Select local VLAN(s) type='kavlan-local'
kavlan-global Select global VLAN(s) type='kavlan-global'