Is it possible to set up a group so that it’s limited to using a certain number of machines…
Example…
20 licenses of a piece of software…
80 render nodes…
Currently we have it installed on 30 machines, I put a machine limit count on the job of 20, but if I send two jobs with machine limits of 20, they can collectively use the 30 machines which causes license issues.
So is there any way to say that a jobs assigned to a certain group cannot be assigned to more than x machines?
Hi Dave,
I think you may be using “machine limit” to control how many machines pick up a certain type of job at once? For the limiting of licensing systems, you should use the “Limit Groups” or in version 5.0+, now simply called “Limits”. These “Limit Groups” are non job related so as long as all say, your “Vue” jobs are assigned the same limit group, something like “Vue license limit”, then once this limit is reached, it doesn’t matter how many machines are available, no more tasks can be processed until the limit group has some capacity (ie: some licenses become free).
If you need to limit certain license limit grouping to particular machines, then there is also the whitelist/blacklist system within the “limit group” system, which starts to become useful, when you may be running 2 different license schema approaches for say your workstations which may be static nodal based licensing and your farm may be floating. Right-clicking the limit groups section will explain the rest of the options available…
Mike
That’s what Limit Groups are for.
A Limit Group is a “stub”-based system typically used to limit the number of tasks pulling a lincense of a certain type.
When a slave picks up a task from a job assigned to, say, a “PluginA” limit group which has a limit set to the number of Plugin A lincenses, it gets a stub from the Limit Groups and the counter goes down by one. When the task finishes, it returns the stub and the counter goes up again. If you have a limit set to 20, if 20 slaves pick up stubs from the Limit Group, there will be no stub to give to the 21st slave and it won’t pull a license.
Currently, the Group only tells the slave whether the job may be rendered, but you also need the Limit Groups to enforce the license limits. Note that while a job can be only in one Group, it can have any number of Limit Groups enabled if it depends on two or five or ten different licenses… Also, Limit Groups can control whether a slave affects the limit, does not affect the limit or is blacklisted from pulling a stub altogether, so a Limit Group can be very powerful for enforcing what machines can render, say, HairFarm or Brazil r/s or FumeFX or whatever based solely on the Limit Group settings.
At submission level, we could probably implement some sort of higher-level “Preset” system where settings like Priority, Pool, Group and Limit Groups are combined into a named entity you can select for a job to set them all. So if you have a Max job for Project A that needs to render on the available 32GB RAM 64 bit machines and uses Plugins B and C which you have only 10 and 20 licenses of, respectively, you could define a preset that includes pool “Project A”, group “3dsMax64bit32GB” and has limit groups “PluginB” and “PluginC” checked. I can definitely look into doing something like that form SMTD, but it sounds like a good idea in general so we could wish for a Deadline Monitor-level solution.