Tdarr
Tdarr copied to clipboard
Enhancement - Node Prioritization
Is your feature request related to a problem? Please describe. With multiple nodes, Tdarr seems to assign any pending tasks to a node at random.
Describe the solution you'd like The ability to prioritize node assignment on multi-node systems. E.g. if you have three nodes, ability to have Tdarr Server assign all open tasks to one specific node until worker limit is reached, then assign to a second specific node, then to a third specific node.
Suggestion is to implement a prioritization setting with three options:
- Random: Tdarr Server assigns tasks to whatever node it chooses
- Prioritized: Tdarr Server assigns tasks to a node prioritized as first until all worker tasks are used, then assigns to a node prioritized as two until all worker tasks are used, etc.
- Round Robin: Tdarr Server assigns tasks to node prioritized as first, then to node prioritized as second, then node prioritized as third, then back to node prioritized as first (example is a three node system)
Describe alternatives you've considered No alternatives.
+1
Is your feature request related to a problem? Please describe. With multiple nodes, Tdarr seems to assign any pending tasks to a node at random.
Describe the solution you'd like The ability to prioritize node assignment on multi-node systems. E.g. if you have three nodes, ability to have Tdarr Server assign all open tasks to one specific node until worker limit is reached, then assign to a second specific node, then to a third specific node.
Suggestion is to implement a prioritization setting with three options:
- Random: Tdarr Server assigns tasks to whatever node it chooses
- Prioritized: Tdarr Server assigns tasks to a node prioritized as first until all worker tasks are used, then assigns to a node prioritized as two until all worker tasks are used, etc.
- Round Robin: Tdarr Server assigns tasks to node prioritized as first, then to node prioritized as second, then node prioritized as third, then back to node prioritized as first (example is a three node system)
Describe alternatives you've considered No alternatives.
In addition, tiers would be very helpful. The ability to create tiers with nodes allocated to tiers, and then each tier can have assignment selections based upon the above choices. A waterfall spillover to go from tier to tier.
For example, I have two nodes that each have access to 2x E5-2680 v4 processors. I have one node with access to 2x E5-2697 v2 chips. One node with 2x E5-2620 v1. Ideally, all jobs will be placed on the two most powerful nodes until their queues are filled, then spill over to the second tier which would be my 2697's, and then if there are still jobs pending utilize the slow poke 2620's. At present, it is possible for one job to be running but get assigned to the 2620's. The transcode times are nearly 4x compared to the 2680 v4's. I have four nodes total for when I have many concurrent transcodes, but I would prefer the most powerful nodes be utilized when one or very few concurrent tasks are running.
Yes, this!! :)
Node prioritization added for next version (2.00.20) as mentioned here https://github.com/HaveAGitGat/Tdarr/issues/675 Perhaps can do tiers at a later date if new system not adequate but would be possible to achieve same effect atm by just setting the priority of each node.