Prioritizing Blades

Hello.

I am Alex and the TD of Eve-Images. We just recently switched to Deadline and we are verry happy with it. We use 3DsMax and Corona as our main tools to create our content with. I already wrote our own farm submission tool for tiles and corona and so on… everything is fine so far.

everything? well, there are still a couple issues that would sound easy to fix first but at least I could not really find a solution for some of them so far. I hope some of you could help.

The first one I would like to adress here:

we have a couple of more powerful blades and every job should try to utilize these machines first. of course, if they are in use the other blades should work on the jobs as well, but I want to prioritize these so called powerblades. So I tried putting them into the pool powerblades and the normal renderblades are there second group. So it’s like this:

powerblades: powerblades, renderblades, workstations
renderblades: renderblades, powerblades, workstations
workstations: workstations, renderblades, powerblades

but still, If a job gets submitted it is totally random which blades will start working on it. So, how can I change that behavior? I also do not want to blacklist all the other blades as they should still be used at some point…

sorry for my bad english :frowning:

I’ve got a second question in addition:

I want to set a Jobs Start Up Timeout when submitting.

I can only see the SMTDSettings.TaskTimeoutEnabled option as well as some other options in the SMTDSettings for other Timeouts, but not for this one. so how do I set the Maximum Start Job Time from within 3dsmax (via maxscript) then?

Hello,

For your first issue, you are correct. Due to the decentralized nature of Deadline, slaves do not know what each other are doing, so all they do is check their available pools and groups, and see if there is any work they can do. In future we are planning to refactor how slaves dequeue jobs, and having a performance based factor in rendering. However that type of functionality is not in the near future, so will not likely help for the time being.

As for setting the start job timeout, I am not sure if that can be set in maxscript, but it could definitely be set using an OnJobSubmit script. An example of an OnJobSubmit script can be found at github.com/ThinkboxSoftware/Dea … PoolChoice if you have a python programmer who can make the modifications to make this fit your needs.

Thanks a lot for your help!

for the first thing: I am looking forward to this, but is’nt ther anything I can do for now? I guess we are not the only studio having that problem. (maybe some kind of auto-update blade whitelist script…)

for the second thing: As I do not know anything about python yet, could someone please help me with this? what do I need to do in order to make that example script work? and as just setting the Start up Timeout to a fix value (like 20min) will be the same for every job, I guess this would be some kind of one-liner in this callback. could someone tell me where i can find information how this could look like (some help pages or so?)

Thanks a lot in advance!

Hello,

For the question of prioritizing blades, the only aspect of Deadline that would help in any way is the Pools system, which you would put your fast machines in one pool, and your slower in another. Then you would have your jobs use the faster pool as it’s primary, and the slower as it’s secondary. This will not prevent a slower machine picking up the job if it’s one of the first ones to check, but it at least won’t be in the primary scan, but instead a secondary one. I am going to have a coworker help on the scripting part of your request.

Hey,

Getting set up with custom event scripts in Deadline is pretty straightforward. You can check out the examples in the github like you already have, and you can take a look at some sample templates in our docs here: docs.thinkboxsoftware.com/produc … ugins.html

I’ve made a super simple plugin that will set your job start timeout to 20 minutes. You can add to the plugin if you’d like.

To use this plugin in your farm, unzip the folder into DeadlineRepository8/custom/events and enable it in the ‘Configure Events’ menu in the Monitor.

Let us know if you have any more questions, or run into any issues.
SetTimeout.zip (1.06 KB)

WoW! thank you so much!

We are still using deadline 7 but I did some modifications and I could get it to work. It does exaclty what I want. so thanks again! I should really lerarn python :slight_smile: maxscript seems to be not enough anymore. :slight_smile:

Oh dang, I should have mentioned the 7/8 difference!

In terms of learning python, I highly recommend Codecademy’s Python course (codecademy.com/learn/python). If you’re already familiar with programming the first few lessons are tedious but its a good teacher.

Privacy | Site terms | Cookie preferences