Hey Nathan,
We have some ideas for Deadline 7 on how we can make the pools/groups system more flexible. This stuff falls under Deadline’s logic component, which we wanted to leave untouched for the most part in Deadline 6 because we’re already rewriting the backend and frontend components. But for Deadline 7, we will be focusing a lot more on the logic component.
One idea, which you mentioned, is the ability to assign jobs to multiple groups. We also want to expand on this and allow you to configure certain checks when a slave starts up so that it can auto-assign itself to groups. We definitely agree that the current group system isn’t the most flexible, and this should address that. It can complicate the submission procedure for an average user, but we think it’s intuitive enough that it won’t be a big deal.
Another idea, which is a bit more ambitious, is to expose a plugin system for Deadline’s scheduling logic. This would allow studios to write their own logic for how slaves prioritize tasks.
Regarding pool priorities, could the functionality you’re looking for be achieved with Deadline’s pool priority system? It’s not exactly the same, but you can customize your farm so that 20% of your farm prefers the Nuke pool at top priority (assign those slaves the nuke pool at priority 1), 40% prefers the Maya pool (assign those slaves the maya pool at priority 1), etc. This allows priority control at the slave/farm level, rather than the individual job level. Honestly, this is the first time someone has asked for this level of control at the job level, so we really haven’t put much thought into it.
I’m a bit concerned about granting the ability to override the pool priorities. Can you give an example of a situation where you would use this? Then we can determine if it requires a new feature in Deadline, or if it can be done with the existing feature set.
That’s definitely an interesting idea, although I’m curious what case this would work where the current pool priority system would not. Could you provide another example?
This is probably something we won’t be able to do without drastically refactoring our scheduling logic. Deadline’s priority system is handled at the job level. In order to support task priority overrides, scheduling would have to be done at the task level. Generally, when people have asked for this, they basically wanted to give X frames a higher priority so they could do a “preview”. This can be done with the current feature set by submitting two separate jobs (one with higher priority), or by changing the frame list so that every 10th frame is rendered first (ie: 1-100x10,1-100).
Cheers,