Pools! I have two pools, “Fast” and “slow” but this is from the documentation and clearly describes a scenario similar to yours.What is import is that pools a machine belong to are prioritied by their order.
[code]Pools and Job Scheduling
How pools affect the job selection process is best explained through an example.
Say we need to render jobs for two shows, and we’ve already created corresponding pools for each show in Deadline:
show_a
show_b
Now say we have 10 machines in our render farm, and we want to give each show top priority on half the farm, but we don’t want half the farm sitting idle when jobs for one show finish up.
First, we’ll assign the pools to our slaves in the following order:
Slaves 0-4:
show_a
Slaves 5-9:
show_b
If jobs for both shows are in the queue, then slaves 0-4 will give priority to show_a jobs, and slaves 5-9 will give priority to show_b jobs. This accomplishes our first goal of giving priority to both shows. However, with this configuration, slaves 0-4 will sit idle when there are no more show_a jobs. The same for slaves 5-9 when there are no show_b jobs.
To accomplish our second goal of not having half the farm sit idle, we’ll assign the pools to our slaves in the following order:
Slaves 0-4:
show_a
show_b
Slaves 5-9:
show_b
show_a
Now, slaves 0-4 will give still give top priority to show_a jobs, and slaves 5-9 will still give top priority to show_b jobs. However, if show_a jobs finish up, slaves 0-4 will then start working on show_b jobs. Also, if show_b jobs finish up, slaves 5-9 will then start working on show_a jobs.
If all slaves are working on show_b jobs, and new show_a jobs get submitted, then slaves 0-4 will finish up their current task and move on to give the show_a jobs priority again.
Note that all slaves will render jobs that are submitting to the none pool. However, the slaves will only give priority to none jobs when jobs for all their assigned pools have finished rendering.[/code]