Network Rendering
Courtesy of Sevengreen Picture Works. www.sevengreen.de
In high-end productions, it is often necessary to distribute a render job over a number of machines in a farm to quickly obtain all the frames needed for a sequence or to calculate a very large image. Maxwell Render’s networking capabilities are very powerful (more computers equals more speed in a very linear way), and very flexible - networking is multi-platform allowing a mixture of Windows, Mac and Linux systems to be connected together. The software’s wizard system makes setting a network job a straightforward task. With networking, you can tell Maxwell to render the same image on all your computers (cooperative rendering), or each computer can render one frame of an animation.
Introduction to network rendering
The Network System allows you to:
- Launch a cooperative render with several machines working together to render the same image. The contributions of the machines are merged to a single image.
- Launch a non-cooperative render queue, distributing the MXS scenes among the available CPUs, but every CPU renders an independent image. Each machine works on its own MXS scene.
- Launch an animation, distributing the frames among the CPUs in the farm to get the whole frame range.
Network components
The Network System (mxnetwork.exe or mxnetwork.app in Mac or mxnetwork in Linux) is composed of three components:
- The Manager: it is the server computer that distributes the jobs between the available render nodes. It also merges the images in a cooperative render.
- The Monitor: interface where you add jobs, assign jobs to nodes, stop a network render, display info about the current job and show a merged preview of a network render in progress.
- The Render Nodes: the slave computers that actually render the frames.
You can choose to start the Manager, the Monitor or a Render Node on a computer by clicking on the appropriate shortcut (mx_manager, mx_node, mx_monitor). Please note that a computer that runs the Manager and/or the Monitor can also be used as a Render Node at the same time. The Maxwell network can render across a mixed network of computers running Windows, Mac, and Linux.
Only one instance of each type (Manager, Monitor or Node) can run in the same machine at the same time. Several Monitors however can run at the same time in the network, on different machines. This allows you to add jobs and control the network rendering from several different machines.
Command line
It is also possible to start the Manager, Monitor or any Render Node through the command line, using:
- mxnetwork -manager
- mxnetwork -monitor
- mxnetwork -node
This is extremely useful in special cases, like if you want to connect your Monitor (or a Rendernode) to a specific Manager if you have more than one Manager in the same network, or if the Manager is in a different subnet. In that case you will have to launch that Monitor via command line, and indicate the IP of the Manager to be connected, in the way:
mxnetwork.exe -monitor:xxx.xxx.x.xx or
mxnetwork.exe -monitor:[name]
where xxx.xxx.x.xx and [name] are the IP or the name of the Manager, respectively.
mxnetwork.exe - monitor:192.168.0.12
Using this flag, mxnetwork stablishes a TCP connection instead of using UDP broadcasting.
The same must be applied to the desired Rendernode:
mxnetwork.exe -node:xxx.xxx.x.xx or
mxnetwork.exe -node:[name]