Let’s say we have 20 render nodes and every node can be used both as a main machine and as a render slave. Now let’s submit just one job (with one frame) to the farm and use one machine as main machine and other 19 as render slaves. Now let’s submit another 9 jobs (and again each with one frame). In ideal case we have to stop 9 running render slaves to use them as main machines and (assuming that every node has the same priority) redistribute the remaining render nodes between jobs, so that every job gets one main machine and one render slave. But in the real life we will end with first job having 10 render slaves and 9 remaining jobs without render slaves.
So the question is whether there is a possibility to add or remove render slaves to and from particular machines dynamically? I know the render machines use port 20205 to broadcast a message that they are ready to join an DR rendering, but is it possible to define which render machines exactly is informed about it?
If I think about communication between master/slave render nodes and render manager (or render farm), it could be like this:
The guy at the bottom of the image is the render farm. The render farm should have just two commands, to use it’s full power with V-Ray:
1. “setNodeStateToIdle(nodeName)”
In my picture the yellow node gets this command before it starts the new job as master. So command means the node should stop it’s job and wait until another command comes.
2. “assignNodeAsSlave(slaveName, masterName)”
This is what the blue node does. It does not send the message “I am ready to work now” to all of the master nodes, but only to particular one (Master-2 in our case). The render farm has to make a decision “Who should help whom?” after analyzing the number of jobs, their priorities and the number of free nodes etc.
The UI is a nice thing, but such two commands could be really enough to use the full power of the render farm with V-Ray.
If you already have such commands available, would it be possible to share them (even if the UI is not ready)?
Thanks in advance!
I’m also looking for a way to add these, but I’m happy for it to happen infrequently between Maya sessions, for example by modifying the user prefs file. But I can’t find where the settings are stored. Anybody prepared to divulge that? Doesn’t seem to be in userPrefs.mel, or ~/.ChaosGroup
The files server_alias.tmp, server_ports.tmp, server_status.tmp, server_list.tmp are stored here: C:\Users\Username\Documents\maya . But they can’t be modified during Maya session and they only contain information about the slave list.