List of SLURM Constraints and its Usage

Constraints of SuperMUC-NG:

constraintMeaning
workJob will start only when WORK is available on that nodes
scratchJob will start only when SCRATCH is available on that nodes 
work&scratchJob will start only when WORK and SCRATCH are available on that nodes
fat*nn fat nodes will be used (useful for mixed jobs)
thin*nn thin nodes will be used (useful for mixed jobs)
Use only for special cases:
i0xIsland: Will run only on nodes of thin Island x
f0xIsland: Will run only on nodes of fat Island x
coldrun on cold islands
hotrun on hot islands (connected to adsorbtion coolers)

Examples:

Single Name: Only nodes which have the specified feature will be used. For example, "--constraint="work"

AND: The ampersand is used for an AND operator: --constraint="work&scratch"

OR: The vertical bar is used for an OR operator: --constraint="work|scratch"

Matching OR: If only one of a set of possible options should be used for all allocated nodes, then use the OR operator and enclose the options within square brackets. For example: --constraint=[i03|i04|i05] might be used to specify that all nodes must be allocated on a single island, but any of those three can be used.

Node Counts/Multiple Counts: request can specify the number of nodes needed with some feature by appending an asterisk and count after the feature name:  "--nodes=16 --constraint=[fat*4&thin*12] indicates that the job requires 4 fat and 12 thin nodes.

Parenthesis: can be used to group like node features together. For example --constraint=[i02&(scratch|work)]

Documentation

https://slurm.schedmd.com/sbatch.html#OPT_constraint