AWS Thinkbox Discussion Forums

pools and priorties

Hello

Currently we prioritise fast 2d (nuke) renders over 3d just by setting their priority at 100.
This doesn’t tend to be an issue - and that’s how we’ve been doing it since our farm was small.

We now have more machines and Id like to prioritise some as 2d, but pick up 3d when not busy - so that sounds like I should use pools right?

The main issues come from long 3d renders hogging slaves, and having to wait for them to finish - and this issue would still happen if I use pools as far as I can tell?

Maybe I would like jobs which are not in the priority pool to be interruptible…
I do like that now there is a percentage available with interruptible, maybe it could be even more clever, based on frame length? or % complete?
I’m just think aloud now

Originally we just thought - section off a pool of machine for 2d, but that just seems a waste when they could also render 3d !

Correct.

Correct.

This feature has just been added to v8.0, soon to open for beta! :wink:

Indeed, wasteful idea.

What about that one? :slight_smile:
So machines which have 2D priority will ditch their 3D jobs in favour of a new 2D job?

The interruptible setting is job centric, not pool centric. So, if all the jobs which are currently “pool” assigned to be picked up by a particular slave have the “Job is Interruptible” setting enabled, then the slave will ditch its current render. Note, this can introduce high levels of wastage in the farm, in terms of efficiency. Careful and selective pool assignment helps here.

I guess I could at least use Interruptible a bit more efficiency when you bring in those extra controls.

Perhaps what I’m suggesting is, additionally to those % or time controls would be

“this job is interruptible if currently rendered by a slave in 2dpool”?

I understand the wasteage but it’s less waste than 2d machines sitting idle, and maybe better than 2d waiting for slow 3d.
Not sure!

Also on a similar topic, I have another suggestion that I would really like, and that is in job scheduling.
Currently I use “Priority, First-In First-Out” But that I would really like is “Priority, User, First-In First-Out”

So say there are 5 jobs on the farm, 3 for 1 user, 2 for another. If they’re all even priority, often it would make sense that the farm should be split between those users, rather than one user having to wait for the others jobs to finish.
This isn’t practical when you don’t have many machines, but when you have say 4 people submitting and 50+ machines I think it could work well. I’ve used a similar system elsewhere.

So, this should work ok, if you assign different “pools” to each of your slaves. Say, you have 5 slaves:

slaveName - assignedPool

slave1 - 3dpool, 2dpool
slave2 - 3dpool, 2dpool
slave3 - 3dpool
slave4 - 2dpool, 3dpool
slave5 - 2dpool

All jobs are made to be interruptible, but only slaves 1, 2, 4, 5 will be considering picking up 2D jobs in the first place.

re: “Priority, User, First-In First-Out”

You could name your “pools” as your “user” names and use the job scheduling order: “Priority, Pool, First-In First-Out”

So Simon submits jobs to the “Simon” pool. Slave1 has assigned pools = “Simon”, “Mike”, “Dave”, picking up Simon’s jobs first, before then considering Mike, and then Dave. Slave2 has assigned pools = “Mike”, “Dave”, “2Dpool” as it will pick up 2D comp jobs when there are no Mike or Dave jobs to do.

But jobs will still interrupt each other if they have higher priority, regardless of pools?

I understand how that would work, but it’s not practical really - it was more of a feature suggestion so it could be done automatically

Privacy | Site terms | Cookie preferences