...
Restrictions are used to allow or restrict where jobs run, and are applied to both jobs and workers. Restrictions are based on cluster names, but differ from the clusters themselves by an important difference:
Note |
---|
Jobs and workers can belong to 1 and only 1 cluster, but can be restricted to none, 1, or several clusters |
This seems a bit hard to fathom, until you remember that a job has preferential priority on a worker whose cluster matches the job's cluster, but the job is free to run on any host in other clusters. The job's restriction value can be used to limit what other clusters the job could possibly run on.
...
/[<segment>/][<segment>/][+|*]
- + means all hosts at that level and below* means only the first level below.
- + means all levels below that level, regardless of depth in the hierarchy.
- * means only hosts at that level.
Note |
---|
Tip |
The restriction value is actually evaluated as an expression, and multiple clusters are specified in a "this cluster OR that cluster OR the other cluster" type of string, with the "||" symbol to mean OR. |
Examples
Worker Restrictions
...
qbsub -cl /private/very -rest restr '/private or /private/*' <cmd>
...
qbsub -cl /private/very/deep -restr '/private or /private/+' hostname