
Hybrid Cluster Network Rendering

Once Upon a Time at DEPO ComputersWe received a request to calculate a solution for 10 designers working in 3ds Max. It was necessary to select not only workstations, but also a render server for visualizing the results. There were no problems with graphic stations, but the render server didn’t want to fit into the budget. The amount of rendering work was not supposed to be large, but the speed of the calculation was high. I recommended that the customer use distributed computing on all workstations using network rendering, but this option did not suit the customer. He said that when starting the calculation, all network machines are loaded at 100%, and the possibility of local work is practically eliminated. At the same time, available tools to adjust the load on the network machines involved in the calculation,
We had to develop a new way to implement the solution, which would provide the necessary functionality within the given budget.
The basis of the solution was the isolation of resources intended for local work and resources allocated for network computing. This problem was solved by transferring computing resources to a virtual environment and combining them into a computing cluster. The virtual environment was built on top of the Parallels Workstation 6 hypervisor.
Implementation example
All graphics stations have the Parallels Workstation operating system and hypervisor installed. Using the hypervisor, a virtual machine is created on which the operating system is installed - in our case it is Windows 7, but it is possible to install various operating systems. In our configuration, the host machine has 12 computing threads, 10 out of 12 are allocated for the virtual machine. The remaining 2 threads will ensure stable operation of the host machine.

Also, a physical network adapter is allocated to the virtual computing server to provide high-speed access to the local network. The virtual machine receives the amount of RAM and disk space necessary for work.

On the host machine, specialized software is installed that allows network calculations. Software modules (solvers) are installed on virtual machines, which allow identifying the machine in the network as a link in a computing cluster.
In our case, we use the Autodesk 3Ds MAX program for three-dimensional modeling and the Mental Ray visualization system with support for network rendering. In order to use the computing power of network machines when rendering, we write the IP addresses of each machine in the settings of the visualization system. In our example, 5 graphic stations are involved, one of which is the initiator of the calculation.

In the process of rendering, the visualization system uses 90-100% of the computing power of all the machines involved in the calculation. Since not all station resources are allocated in the hybrid solution for the virtual machine, during the network calculation the host machine will retain the ability to work locally. The image shows an example of loading the computing resources of the virtual machine and the host under the following load: the virtual machine is involved in network calculation, and the Full HD video is locally played at the graphics station and 3D object is processed.

The resource monitor shows 100% loading of the virtual machine and 93% loading of the graphic station. If for the local operation of the graphic station more computing power is required, then in the settings of the hypervisor you can redistribute resources in favor of the host.
At the moment when the work on the graphic station was not carried out and only the virtual machine was active, the load of the host machine was reduced to 50-60%. This means that there is a supply of computing resources for the local operation of the graphics station.

The performance gain in this solution is proportional to the number of cores involved in the calculation of the processors (provided that they are the same)
Thus, a hybrid graphical solution for cluster computing allows you to efficiently use the computing resources of each graphic station without compromising local work and perform simple calculations without using dedicated servers. This solution can be used to improve system performance in ANSYS, MSC, Mental ray, V-Ray and other programs that use distributed computing.
I hope that this simple solution will help someone optimizing the work of a group of users in computational and graphical applications.