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

Usage

Aliases

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.

Grenoble
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'
Lille
Alias Description Translate to
chiclet Select node(s) from cluster Chiclet cluster='chiclet'
chiclet-%d Select a node from cluster Chiclet host='chiclet-%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'
chirop Select node(s) from cluster Chirop cluster='chirop'
chirop-%d Select a node from cluster Chirop host='chirop-%d.lille.grid5000.fr'
chuc Select node(s) from cluster Chuc cluster='chuc'
chuc-%d Select a node from cluster Chuc host='chuc-%d.lille.grid5000.fr'
Luxembourg
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'
Lyon
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'
Nancy
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'
grappe Select node(s) from cluster Grappe cluster='grappe'
grappe-%d Select a node from cluster Grappe host='grappe-%d.nancy.grid5000.fr'
grat Select node(s) from cluster Grat cluster='grat'
grat-%d Select a node from cluster Grat host='grat-%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'
gros Select node(s) from cluster Gros cluster='gros'
gros-%d Select a node from cluster Gros host='gros-%d.nancy.grid5000.fr'
grosminet Select node(s) from cluster Grosminet cluster='grosminet'
grosminet-%d Select a node from cluster Grosminet host='grosminet-%d.nancy.grid5000.fr'
grostiti Select node(s) from cluster Grostiti cluster='grostiti'
grostiti-%d Select a node from cluster Grostiti host='grostiti-%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'
Nantes
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'
Rennes
Alias Description Translate to
abacus1 Select node(s) from cluster Abacus1 cluster='abacus1'
abacus1-%d Select node(s) from cluster Abacus1-%d host='abacus1-%d.rennes.grid5000.fr'
abacus2 Select node(s) from cluster Abacus2 cluster='abacus2'
abacus2-%d Select node(s) from cluster Abacus2-%d host='abacus2-%d.rennes.grid5000.fr'
abacus3 Select node(s) from cluster Abacus3 cluster='abacus3'
abacus3-%d Select node(s) from cluster Abacus3-%d host='abacus3-%d.rennes.grid5000.fr'
abacus4 Select node(s) from cluster Abacus4 cluster='abacus4'
abacus4-%d Select node(s) from cluster Abacus4-%d host='abacus4-%d.rennes.grid5000.fr'
abacus5 Select node(s) from cluster Abacus5 cluster='abacus5'
abacus5-%d Select node(s) from cluster Abacus5-%d host='abacus5-%d.rennes.grid5000.fr'
abacus8 Select node(s) from cluster Abacus8 cluster='abacus8'
abacus8-%d Select node(s) from cluster Abacus8-%d host='abacus8-%d.rennes.grid5000.fr'
abacus9 Select node(s) from cluster Abacus9 cluster='abacus9'
abacus9-%d Select node(s) from cluster Abacus9-%d host='abacus9-%d.rennes.grid5000.fr'
abacus10 Select node(s) from cluster Abacus10 cluster='abacus10'
abacus10-%d Select node(s) from cluster Abacus10-%d host='abacus10-%d.rennes.grid5000.fr'
abacus11 Select node(s) from cluster Abacus11 cluster='abacus11'
abacus11-%d Select node(s) from cluster Abacus11-%d host='abacus11-%d.rennes.grid5000.fr'
abacus12 Select node(s) from cluster Abacus12 cluster='abacus12'
abacus12-%d Select node(s) from cluster Abacus12-%d host='abacus12-%d.rennes.grid5000.fr'
abacus14 Select node(s) from cluster Abacus14 cluster='abacus14'
abacus14-%d Select node(s) from cluster Abacus14-%d host='abacus14-%d.rennes.grid5000.fr'
abacus16 Select node(s) from cluster Abacus16 cluster='abacus16'
abacus16-%d Select node(s) from cluster Abacus16-%d host='abacus16-%d.rennes.grid5000.fr'
abacus17 Select node(s) from cluster Abacus17 cluster='abacus17'
abacus17-%d Select node(s) from cluster Abacus17-%d host='abacus17-%d.rennes.grid5000.fr'
abacus18 Select node(s) from cluster Abacus18 cluster='abacus18'
abacus18-%d Select node(s) from cluster Abacus18-%d host='abacus18-%d.rennes.grid5000.fr'
abacus19 Select node(s) from cluster Abacus19 cluster='abacus19'
abacus19-%d Select node(s) from cluster Abacus19-%d host='abacus19-%d.rennes.grid5000.fr'
abacus20 Select node(s) from cluster Abacus20 cluster='abacus20'
abacus20-%d Select node(s) from cluster Abacus20-%d host='abacus20-%d.rennes.grid5000.fr'
abacus21 Select node(s) from cluster Abacus21 cluster='abacus21'
abacus21-%d Select node(s) from cluster Abacus21-%d host='abacus21-%d.rennes.grid5000.fr'
abacus22 Select node(s) from cluster Abacus22 cluster='abacus22'
abacus22-%d Select node(s) from cluster Abacus22-%d host='abacus22-%d.rennes.grid5000.fr'
abacus25 Select node(s) from cluster Abacus25 cluster='abacus25'
abacus25-%d Select node(s) from cluster Abacus25-%d host='abacus25-%d.rennes.grid5000.fr'
paradoxe Select node(s) from cluster Paradoxe cluster='paradoxe'
paradoxe-%d Select a node from cluster Paradoxe host='paradoxe-%d.rennes.grid5000.fr'
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'
roazhon1 Select node(s) from cluster Roazhon1 cluster='roazhon1'
roazhon1-%d Select node(s) from cluster Roazhon1-%d host='roazhon1-%d.rennes.grid5000.fr'
roazhon2 Select node(s) from cluster Roazhon2 cluster='roazhon2'
roazhon2-%d Select node(s) from cluster Roazhon2-%d host='roazhon2-%d.rennes.grid5000.fr'
roazhon3 Select node(s) from cluster Roazhon3 cluster='roazhon3'
roazhon3-%d Select node(s) from cluster Roazhon3-%d host='roazhon3-%d.rennes.grid5000.fr'
roazhon4 Select node(s) from cluster Roazhon4 cluster='roazhon4'
roazhon4-%d Select node(s) from cluster Roazhon4-%d host='roazhon4-%d.rennes.grid5000.fr'
roazhon5 Select node(s) from cluster Roazhon5 cluster='roazhon5'
roazhon5-%d Select node(s) from cluster Roazhon5-%d host='roazhon5-%d.rennes.grid5000.fr'
roazhon6 Select node(s) from cluster Roazhon6 cluster='roazhon6'
roazhon6-%d Select node(s) from cluster Roazhon6-%d host='roazhon6-%d.rennes.grid5000.fr'
roazhon7 Select node(s) from cluster Roazhon7 cluster='roazhon7'
roazhon7-%d Select node(s) from cluster Roazhon7-%d host='roazhon7-%d.rennes.grid5000.fr'
roazhon8 Select node(s) from cluster Roazhon8 cluster='roazhon8'
roazhon8-%d Select node(s) from cluster Roazhon8-%d host='roazhon8-%d.rennes.grid5000.fr'
roazhon9 Select node(s) from cluster Roazhon9 cluster='roazhon9'
roazhon9-%d Select node(s) from cluster Roazhon9-%d host='roazhon9-%d.rennes.grid5000.fr'
roazhon10 Select node(s) from cluster Roazhon10 cluster='roazhon10'
roazhon10-%d Select node(s) from cluster Roazhon10-%d host='roazhon10-%d.rennes.grid5000.fr'
roazhon11 Select node(s) from cluster Roazhon11 cluster='roazhon11'
roazhon11-%d Select node(s) from cluster Roazhon11-%d host='roazhon11-%d.rennes.grid5000.fr'
roazhon12 Select node(s) from cluster Roazhon12 cluster='roazhon12'
roazhon12-%d Select node(s) from cluster Roazhon12-%d host='roazhon12-%d.rennes.grid5000.fr'
roazhon13 Select node(s) from cluster Roazhon13 cluster='roazhon13'
roazhon13-%d Select node(s) from cluster Roazhon13-%d host='roazhon13-%d.rennes.grid5000.fr'
Sophia
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'
Toulouse
Alias Description Translate to
estats Select node(s) from cluster Estats cluster='estats'
estats-%d Select a node from cluster Estats host='estats-%d.toulouse.grid5000.fr'
montcalm Select node(s) from cluster Montcalm cluster='montcalm'
montcalm-%d Select a node from cluster Montcalm host='montcalm-%d.toulouse.grid5000.fr'

Disks

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')
disk Select reservable disk(s) type='disk'

GPUs

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'
k80 Select node(s) with Tesla K80 GPU gpu_model='Tesla K80'
m40 Select node(s) with Tesla M40 GPU gpu_model='Tesla M40'
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'
a5000 Select node(s) with RTX A5000 GPU gpu_model='RTX A5000'
p6000 Select node(s) with Quadro P6000 GPU gpu_model='Quadro P6000'
rtx6000 Select node(s) with Quadro RTX 6000 GPU gpu_model='Quadro RTX 6000'
rtx8000 Select node(s) with Quadro RTX 8000 GPU gpu_model='Quadro RTX 8000'
mi50-32 Select node(s) with Radeon Instinct MI50 32GB GPU gpu_model='Radeon Instinct MI50 32GB'
agx-xavier Select node(s) with AGX Xavier GPU gpu_model='AGX Xavier'
gpu-6GB Select node(s) with GPU having more than 6GB of memory gpu_mem>=6000
gpu-12GB Select node(s) with GPU having more than 12GB of memory gpu_mem>=12000
gpu-16GB Select node(s) with GPU having more than 16GB of memory gpu_mem>=16000
gpu-24GB Select node(s) with GPU having more than 24GB of memory gpu_mem>=24000
gpu-32GB Select node(s) with GPU having more than 32GB of memory gpu_mem>=32000
gpu-40GB Select node(s) with GPU having more than 40GB of memory gpu_mem>=40000
gpu-60GB Select node(s) with GPU having more than 60GB of memory gpu_mem>=60000

Memory

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

Vlans

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'