Managing V-Ray Swarm Renders With Deadline

Version: Deadline 9.0.7.0 and later

Introduction

Deadline supports many content creation applications, including V-Ray Swarm ®, the latest distributed rendering application from Chaos Group ®. It allows you to take advantage of unused computing power on your network to distribute and render small chunks of your images. V-Ray Swarm works as a standalone application, so you might be asking yourself: Why would you need to use it with Deadline?

That’s a great question!

One of the biggest reasons to do so is if you want to use your render farm to render with other applications besides V-Ray Swarm. You can queue up your V-Ray Swarm render just like any other regular job, and it will adhere to the same scheduling rules (pool, priority, etc). Just pop it in the queue and the job will wait for its turn.

Note that unlike a traditional Deadline job, it doesn’t start rendering immediately when it’s picked up by a Deadline Slave. Instead, it reserves the Slaves so they can’t be occupied by another job, and allows them to wait for V-Ray Swarm renders to come in. Once the V-Ray Swarm renders are done, the job can be marked as completed, which allows the Slaves to move on to other jobs. This allows you to seamlessly integrate your V-Ray Swarm jobs with your other renders using Deadline!

Setting Up Your Swarm

Traditionally, you would manually start V-Ray Swarm on each machine you would like to use before starting your render, but Deadline helps simplify the process. Each Slave will still need to have V-Ray Swarm installed, but there is no need to manually start it. This is done automatically when the Slaves pick up a V-Ray Swarm job.

To ensure the Slaves can find where V-Ray Swarm is installed, you can configure the VraySwarm plugin from the Deadline Monitor. First enable Super User Mode by selecting Tools > Super User Mode, and then select Tools > Configure Plugins… > VraySwarm. All file paths under the V-Ray Swarm Executables section will be checked. If the path to the V-Ray Swarm installation on your Slaves isn’t listed, simply add it here and click OK.

swarmfilepaths.png

Submitting Your First V-Ray Swarm Job

A V-Ray Swarm job can be submitted from the Deadline Monitor by selecting Submit > 3D > V-Ray Swarm. This will bring up the submission window.

swarmsubmission.png

The Maximum Servers field refers to the maximum number of Slaves that can be used in your swarm. For example, if you set this to 10, then the submitted job will have 10 tasks. Each task can be picked up by a Slave, so the task count is what limits the number of Slaves that can join your swarm.

When Slaves pick up your job, you’ll notice that the job status will say Rendering, even though you haven’t sent any renders to your swarm yet. This is normal, and means that the Slaves have been reserved by your job, and are waiting to receive renders. In the task panel in the Monitor, any task that is in the Rendering state represents a Slave that has started V-Ray Swarm and is waiting to receive renders. The Slave will not be interrupted by any other Deadline jobs until the V-Ray Swarm renders are complete.

swarmtasks.png

Checking Your Swarm Status

Any machine that is part of the swarm can view the status of all other machines in the same swarm. From any machine in the swarm, you can go to the V-Ray Swarm web interface running on localhost (ie: http://localhost:24267) to see all the machines running an instance of V-Ray Swarm on your local network.

Machines that are part of your Deadline job are marked with a special tag that consists of your Deadline job’s name and ID, which can help you identify the machines that are going to be used. Machines running V-Ray Swarm on your local network that aren’t part of the job will show up here without the special tag. Here is a screenshot of the V-Ray Swarm web interface, with a job titled Deadline Swarm that has the job ID 5a0b86810e96df170c246e78. The computer neutrino.local is running V-Ray Swarm, but is not part of the Deadline job.

swarmui.png

Unleash the Swarm!

Now that some Slaves are running V-Ray Swarm, it’s time to put this computing power to use! Inside an application that supports V-Ray Swarm, you can select tags to specify which machines you want to use for rendering. Select the tag that corresponds to your V-Ray Swarm Deadline job to use the Slaves to render. Once the V-Ray render button is clicked, the render job will be broken down into small tasks and split up between your Slaves. Now just sit back and relax, while you harness the power of distributed rendering! Here is an example submission in Autodesk ® Revit ®.

swarmsubmit.gif

You can see which machines are currently being used to render in the V-Ray Swarm web interface.

swarmrendering.png

Resource Management

After you’re finished rendering with V-Ray Swarm, the Deadline job will still be in the Rendering state and should be cleaned up. Right click your job in the Monitor and select Complete Job to free up the Slaves so they can move on to other jobs.

swarmcomplete.gif

Alternatively, the V-Ray Swarm plugin in Deadline has options that can help you automatically free up the Slaves once they’re finished rendering. In the Monitor, while in Super User Mode, click on Tools > Configure Plugins… > VraySwarm, and scroll down to the section Swarm Session Handling.

swarmsettings.png

To allow Deadline to automatically mark V-Ray Swarm jobs as complete, you must enable the Swarm Session Auto Timeout Enable option. Once enabled, you can modify the following settings:

  • Swarm Session Auto Timeout: Wait for first render: This option controls whether or not a Slave can mark its task as complete before it has even rendered anything. Enabling this option ensures the V-Ray Swarm job doesn’t run indefinitely if someone submits and forgets about it.
  • Swarm Session Auto Timeout (Minutes): This is the time it takes for a Slave to mark its Deadline task as complete before it receives its first swarm render. It’s only applicable if the option above is enabled.
  • Swarm Session Auto Timeout: After first render (Minutes) - After a Slave has finished a swarm render, it will mark its Deadline task as complete if it does not receive another render in this amount of time.

With these options, you will never have to worry about remembering to free up your resources again!

Conclusion

Figuring out how to integrate a new application into your workflow can be a daunting task. With the help of Deadline, you can easily add V-Ray Swarm into your set of tools and take advantage of distributed rendering!

Further information regarding the usage of V-Ray Swarm in Deadline can be found in our documentation.

Chaos Group and V-Ray are registered trademarks or trademarks of Chaos Software Ltd. in Bulgaria and/or other countries.

Autodesk, Revit are registered trademarks or trademarks of Autodesk, Inc., and/or its subsidiaries and/or affiliates in the USA and/or other countries.