In its current state it is not well suited for communication over a Wide Area Network (WAN) such as between different offices, or to an external cloud resource. It needs this to keep open connections in order to move and distribute data. Swarm relies on a fast Local Area Network (LAN) to communicate between different machines. Because of the way that Swarm manages resources, the users on the Swarm machines will generally not even be aware that their computers are being used for rendering. Every machine on the network has the potential to contribute to the rendering, including administration and accounting computers. With Swarm, you can now use every computer resource that your local network has to offer. V-Ray Swarm machines can be easily managed and tagged in the web interface Or you may want to make a group of machines that are reserved for a certain job and tag them as such. For example, you may only want to tag machines that are faster than others.
In doing so, when launching a job on the Swarm, you can use the tags to only use certain machines. Using a simple web interface, groups of machines can be tagged for different things. By moving that slider to the right, Swarm dynamically adds more compute power. The user is presented with a slider that depicts the total amount of compute power available to him or her to do the rendering. Since a vast majority of the tasks previously needed to run DR are automatically negotiated now, the user interface is extremely simple. Please Note: Since this feature essentially allows you to run an application from a remote computer, it uses cryptography to make sure that the application that is launched is actually V-Ray. If it does not, then the host machine runs the correct version remotely on the Swarm machine. Each machine checks to see if their version coincides with the host machine. The machine launching the render makes sure every other machine is rendering the same version. Users can then include or exclude different computers or groups of computers based on tags from the swarm. It can also monitor the hardware available, such as the number of CPUs and GPUs available. Machines can be tagged as part of groups based on their resources available. Using a peer-to-peer network, it automatically selects which computer will be the master node that controls and manages the entire Swarm. Swarm machines automatically find each other over the network so you no longer need to know the address of each computer. This feature also existed in the old DR system but has been made more robust in Swarm. If not, it will automatically restart it. Swarm is constantly monitoring the state of the computer to make sure that V-Ray is active and ready. Swarm is much smarter on how it communicates over the network. Older Distributed Rendering Interface in V-Ray for Maya You also needed to make sure that every DR machine was using the exact same version of V-Ray. Additionally, you would have to know how much power each DR machine had and if it was up to the task at hand. Some of the limitations of this old system is that you had to know the port and all the addresses of the DR machines. When going to render, you would need to select which computers you want to use, and then render. Additionally, you would need to know the port used for DR. Then from the computer you are launching DR you need to know the network address (usually the IP) of every computer you want to use. Then you would have to launch a Spawner program that would listen over the network if it had any tasks to do.
In order to use DR, V-Ray had to be installed on every machine that you needed to render on. Through the local network, it gets all the data that it needs to render a bucket, calculates it, sends that bucket back, and moves on to the next task.
Distributed rendering takes it a step further and adds more cores by talking to other computers on the network. As each bucket is done, it moves on to the next one that is not being worked on by another core. The simplest way is by rendering small portions of the image, known as buckets. Render engines like V-Ray take advantage of this by distributing those tasks among the many cores (GPU or CPU) on your computer. The general idea is that renderings can be broken up into many little tasks. It has been a part of V-Ray since version 1. Distributed rendering (DR) is nothing new.