cgru icon indicating copy to clipboard operation
cgru copied to clipboard

Job Priority Boost

Open lithorus opened this issue 3 years ago • 1 comments

We've found ourselves needing some way of being able to boost priority on some jobs while still maintaining user averaging.

Some background : We currently have a lot of shots that are ongoing and we find, that we need to be able to prioritize some shots more than others. One way to do this is to create branches for each project / sequence / shot. However this will probably be very messy and impossible to get a good overview. Also we would effectively lose user averaging since we have to switch to job averaging.

So my suggestion is to introduce a special "priority boost" multiplier to each job.

The current user averaging is like this :

3 jobs running : jobA (10 tasks running) jobB (10 tasks running) jobC (10 tasks running)

need = pow( 1.1, priority) / (running_tasks_num + 1.0) need = pow( 1.1, 99) / (30 + 1.0) = 404.123529027

If there was a way to have running_tasks_num be affected by a boost :

3 jobs running : jobA (10 tasks running) / 1 (priority boost) jobB (10 tasks running) / 2 (priority boost) jobC (10 tasks running) / 1 (priority boost)

need = pow( 1.1, priority) / (running_tasks_num*priority_boost + 1.0) need = pow( 1.1, priority) / (10/1.0 + 10/0.5 + 10/1.0 + 1.0) = 481.839592301

This way you would still have user averaging and jobs with this "priority boost" would not cost as much when running.

It could also be a "Job Cost" parameter which would at 0.0 cost nothing and would effectively ignore user averaging completely (also needed sometimes).

And I guess it would also make sense to have this on the Branches, so you for instance could have project branches (if you use that) which by default have higher priority.

lithorus avatar Dec 13 '21 22:12 lithorus

Hi! We are using special branch(es) for it. You can create some "boosted" branch and admin can move some special jobs there. May be your situation can be already solved by this method?

But the idea to have some other parameter that affects priority for special jobs, but keeping user averaging can be useful.

timurhai avatar Dec 22 '21 14:12 timurhai