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
Restrictions
A restriction is really defined as a "filter" for hosts based upon information in the queuing algorithm; the values are one or more cluster names. In the priority/cluster queuing system, a user 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
Hosts
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
Host Groups
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
Omit Groups
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
Host Order
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:
signhost.property
signhost.resource.[total|used|avail]
The sign in the expression is used to determine if the job would prefer the smallest or the largest value possible.
The possible values for sign are "+" or "-", 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