Promoting Certain Slaves


#1

Hi guys,

Just wondering, (outside of using the Primary and Secondary pool system) is there a way in Deadline to use the ‘best’ machines available? We sometimes have jobs that pick up all our slower machines and don’t run on our brand new boxes…

Is there a way to promote individual machines; like a star rating?

Thanks,
Shaun.


#2

Not yet. But it has been requested before.


#3

So it’s on the radar. Cool


#4

It would be quite egotistical for a job (or its user) to ask for only “good” machines, but there are some cases where this can be necessary, and there are several mechanisms to ensure that.

The simplest way, but the most laborious one would be to blacklist any slaves you don’t want working on a job.

A much easier way would be to create a Group called “FastAndFurios” or something like that, add all the good machines to it, and tag the job with that Group when submitting to ensure only the good slaves can render that job. Any job submitted with a different Group or no Group at all would of course render on all possible Slaves according to Pools, Limits etc.

Then there are Resource Limits. Technically they are the same as License Limits, except we don’t specify a License count, but either Unlimited, or a Counted Resource. Since a Limit has a Blacklist, you can create a Resource Limit called “HiCPU” and blacklist any machines you consider having too little CPU power. Set to “Unlimited Resource”, and tag any Job you want to see rendering on the bigger machines. The Job will always be able to get a stub for any machines on the left (Master) list, but any machines on the middle Blacklist will be skipped. You can then create similar Limits for memory (e.g. “64GBplus”, “128GBplus” etc.) and blacklist machines that don’t fit those rules. Then when a job is submitted, you can tag it with a limit that requires it to use machines that are on the Master list, which hopefully will have the memory amount you crave.

You can then combine two or more Limits, so one job could be set to “HiCPU” and “128GBplus”, while another could be set to only “64GBplus” and would not check for CPU count. When a Slave tries to pick up the first job, it will have to acquire two limit stubs, one for each Limit, ensuring you get both High CPU count and high amount of memory. A Slave considering the second job will only check if it is on the Master list of the 64 GB limit, and won’t care about CPU counts…

This way, you can create a bunch of finer rules to combine hardware or software requirements without using regular Groups (a Job can have only one Group assigned, so it is a limiting factor). License Limits already take care of ensuring machines without a certain licensed software don’t get to work on jobs using that software, but in some cases the software is free, so you would have no License Limit for it. However, you can create Resource Limits to keep track of such things, for example you could have Resource Limits for “maya2018”, “maya2019” etc. and blacklist any Slaves that don’t have the corresponding version installed. Then you can tag a Job with the right Limits to ensure it has both the hardware and software specs you need…


#5

Thank you for this answer. That’s great!


#6

Hmm, I just tested the resource limit - it has blacklisted the slower CPU nodes…

I wanted all the CPU nodes to render the job, I just wanted to make sure a certain 4 machines picked up the job first.

What happens when using the resource limit is that it renders on the 4 faster CPU machines, but the not the other ones, as they were blacklisted, as you described.

If I don’t use any resource limit, then Deadline just decides to render on whatever CPU machines it wants to and sometimes leaves the faster machines idle.


#7

Hi.

I haven’t updated my original thread, but at the end I wrote Python script to control everything via Deadline command. The script controls pool by actually assigning/unnassigning pools to the precise workstation we want. I have a list of high priority machines that the pool would get assigned first, before assigning to the rest of the farm until the numbers had been met. Deadline Limits are still in place just in case.

Not sure if you have solved your issue but I’ll be happy to show you what I did.


#8

Heya,

I have not solved it yet - I’d love to see what you did!

Cheers,
Shaun.