we’ve recently switched from first-in first-out to balanced scheduling (technically, we’re running “Priority, Balanced”).
this is nice for sharing resources amongst multiple tasks/users, but it would be nice if there was some means to still give some weight to older jobs so they didn’t have to continually share resources as new jobs come and go. ideally some kind of weighting factor could be controlled by the user so that you could manage just how much priority is given based on age…
also, it would be nice if there was a “Priority, Balanced, First-in By User” setting that would balance among the oldest tasks for each user. this would retain the flexible sharing of balanced, but then not make a single user’s tasks all compete against each other for resources.
Hello,
I think what you are looking for here is Weighted scheduling, which is where you can set different characteristics, like age, to have different weights in deciding on stuff. You can get more information on this here: thinkboxsoftware.com/deadlin … Scheduling and let us know if you have any more questions.
thanks for the reply.
my reading of the “weighted” scheduling scheme is that whatever task gets the most weight is going to get all available resources – it’s like a dynamic hard priority. it seems unlikely that you’d have any tasks getting the same weight calculation, so “weighted, balanced” seem nearly pointless.
now if the weighting mechanism were to affect how a balanced scheduling system were to divide up slaves, that would be great, but that’s not what it seems to do from the docs.
what we’d like to avoid is a single user dominating the farm. that’s why i was thinking balanced having an option to divvy up slaves per user instead of per job and then having each user’s jobs execute in first-in, first-out order. additionally, being able to weight the balance to throw some extra slaves at older jobs would be bonus.
Have you thought about giving each user a pool, then assigning a group of Slaves to pull from those pools first, then fall back to the whole farm?
As far as the weighting not matching, to be honest, if age is in there, it’s unlikely perfect matches would happen. Normally, I think some sort of fuzz factor would need to be introduced the accommodate age. I hadn’t considered this before. More thought needed.
overall, balanced has worked well at sharing things the farm. i think we prefer it to the first-in, first-out method. but we do miss some of the focus first-in, first-out provides which is mostly evident when you personally queue up a large number of tasks. i think the easiest work-around for now is to use the dependency system to force an order of execution.