...
host.processors=N+M
Dispatch to a worker with at least N to M open slots. Upon being dispatched to a worker, it occupies as many slots as it can, up to M, as slots become available.
...
From version 6.5 on Qube! allows for a more "dynamic" evaluation of the "host.processors=1+" or "host.processors=4-8" style of reservations.
A "1+" reservation used to mean "all the slots", but there was no way to know how many slots it was allocated; there could be a 2-slot job already running on an 8-slot worker, and then the 1+ would just assume that it was getting all 8 slots and the worker would be over-scheduled for as long as both the 2-slot and the 1+ job were running at the same time.
...
Dynamic Thread Assignment
When a 1+ or similar job picks up on a Worker, we don't know how many slots were available or assigned to that instance. That number is made available dynamically in the running job's environment as an environment variable, QB_JOBSLOTS=6
, (or whatever the value) and stored in the Qube! database in the job's subjob table as "allocations". One use of this could be that the job references $QB_JOBSLOTS on the command line to specify the number of threads a renderer should use.
Examples
Reservation | Explanation |
---|---|
"host.memory=200" | Reserve 200MB of memory on the host |
"host.processors=1+" | Reserve all processors on a host, but at least 1 must be available in order to start |
"host.processors=1-20" | Reserve 20 processors on a single host, but at least 1 must be available in order to start |
"global.maya=1" | Reserve a global resource called maya |
Relevant environment variables
When a 1+ or similar job picks up on a Worker, we don't know how many cores were available or assigned to that instance. That number is made available dynamically in the running job's environment as an environment variable, QB_JOBSLOTS=6
, (or whatever the value) and stored in the Qube! database in the job's subjob table as "allocations".
See Also
...
See Also
supervisor_global_resources
worker_resources
global and host resources