Restrictions
A restriction is really defined as a "filter" for hosts based upon information in the queuing algorithm. In the priority/cluster queuing system, one specifies their restrictions by directory structure format:
/[<segment>/][<segment>/][+|*]
- + means all hosts at that level and below in the hierarchy.
- * means only hosts at that level.
The restriction value is actually evaluated as an expression, and is specified in a "this cluster or that cluster or the other cluster" type of string, with the "||" symbol to mean "or"
Example
Allows hosts/jobs in /hello/world, but do not include lower levels:
- /hello/world
Allows hosts/jobs in /good/bye and all levels below:
- /hello/world/+
Allows only hosts/jobs below /hello/world/… but not including /hello/world:
- /hello/world/*
Allows hosts in /hello or /goodbye:
- /hello || /goodbye
...
There are several way to control which hosts the supervisor will select when deciding where to start job instances on the farm.
Hosts: Send only to an explicit set of workers
Host Groups: Send only to an explicit pre-defined group of workers
Host Order: Select hosts in a certain preferential order
Anchor | ||||
---|---|---|---|---|
|
Include Page | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Qube allows users to specify a list of hosts, for the job to run on. This is a comma-delimited list of hostnames.
Example
% qbsub --hosts "qb001,qb002" command
Omit Hosts
Qube allows users to specify a list of hosts on which the job is restricted from running. This is a comma-delimited list of hostnames. This blacklists the hosts from running on these hosts.
Example
% qbsub --omithosts "qb001,qb002" command
Anchor | ||||
---|---|---|---|---|
|
Qube allows the administrator to organize the farm into clusters or host groups. These groups have no hierarchy, and hosts are allowed membership in multiple groups. In order to restrict a job to a specific set of hosts, the user may specify in the 'group' field of the job, which groups they want the job restricted to.
Example
% qbsub --groups "vfx,character" Render my/file.ma
Anchor | ||||
---|---|---|---|---|
|
This is the opposite of the Host Groups option, where the job will restrict itself from running upon any hosts which are contained by the specified groups.
Example
% qbsub --omitgroups "vfx,character" command
Anchor | ||||
---|---|---|---|---|
|
By default Qube chooses any host in the list of hosts which qualify. If given a choice, a job is allowed to prefer a particular host based upon its attributes. This is established using the Qube resources and priorities defined earlier in the Requirements section of this document.
Syntax:
...
The sign in the expression is used to determine if the job would prefer the smallest or the largest value possible. If not specified, sign is equal to .
The possible values for for sign are are "+" or "-". The , and if not specified, sign defaults to "+". The "+" is used to specify using the highest value first, and the "-" is to use the lowest value. These can be combined and will be used in order specified.
Example
Choose the fastest host:
% qbsub --hostorder "host.processor_speed" Render myscene.ma
Choose the host with the least processors:
% qbsub --hostorder "-host.processors.total" Render myscene.ma
Choose the fastest host with the least processors:
% qbsub --hostorder "host.processor_speed,-host.processors.total" Render myscene.ma