We have a renderfarm of different types of computers, some newer and considerably faster than others. We have a wish for utilizing the ressources of our farm in the best possible way, and therefore have the faster computers take jobs before the slower ones.
The way we’ve tried to set it up, is by using pools and their priority. We’ve made a pool for all the fast computers, simply called “fast” and setup all submissions to use “fast” as primary pool and “none” as the secondary pool.
All submitted jobs
Pool: fast
Secondary Pool: none
Render farm example
Fast server #1 - Pools: fast, none
Fast server #2 - Pools: fast, none
Fast server #3 - Pools: fast, none
Fast server #4 - Pools: fast, none
Slow server #1 - Pools: none
Slow server #2 - Pools: none
Slow server #3 - Pools: none
Slow server #4 - Pools: none
The theory in the above setup, is that that if every slave is idle, and 4 jobs are submitted, all 4 jobs should start on the fast servers, and when subsequent jobs are submitted, they should recognize that the primary pool is full and fill op the slow servers.
However this is not the case. New jobs submitted, is still picked up by slow servers, even though a fast one is available.
Do I misunderstand how pools work, in regards to primary and seconday pools? It is also worth noting that we changed the Job Scheduling Order to: “Priority, Pool, First-In First-Out”, will this affect the desired outcome, when Pool isn’t first priority?