How Network Rendering Works
 
 
 

Rendering networks are sometimes called “render farms.” In 3ds Max, one computer is set up as the network Manager. The Manager "farms out" or distributes the work to rendering Servers. You can also have the same computer function simultaneously as both Manager and Server, so computing cycles don't go to waste.

Once rendering is underway, the Queue Monitor program lets you directly monitor and control the operation of the network rendering workload. The Queue Monitor allows you to edit job settings as well as to activate, deactivate, and reorder both jobs and servers involved in your render farm.

Important: When rendering using a render farm, it is recommended to render with single-frame formats such as BMP or PNG. Movie file formats such as AVI output all frames into a single file which cannot be split between different servers to take advantage of network rendering.

How Work Is Divided

3ds Max breaks up the task of network rendering among the rendering Servers, assigning one frame at a time to each Server. The completed output of the Servers accumulates in a common, shared directory.

Rendered frame files can also be written to a local directory on each machine, if the same path defines the directory. Frame files are sequentially numbered, making them easy to assemble later.

The Manager takes a number of different factors into account in determining how to assign frames and jobs, always striving for the most efficient usage of the rendering network. An idle rendering Server is automatically detected by the Manager and is considered for job or frame assignment. If a Server goes off-line for some reason, the Manager reclaims the Server's current frame and reassigns the frame to the next available rendering Server.

The Basic Process

Following is a step-by-step description of the sequence of events when you use network rendering:

  1. The user submits a job to the network Manager.
  2. On the submitting machine, the MAX file gets zipped up. If the user turned on Include Maps, all maps and XRefs are also zipped up.
  3. Once the file is zipped up, the ZIP file is copied to the Manager machine's Backburner\Network\Jobs\<jobname> folder. In the folder is an XML file describing the job itself, specifying frame size, output filename, frame range, render settings, etc.
  4. Once the Manager receives the ZIP and XML files, it looks to see which servers are sitting idle and can render jobs. It assigns the job to four servers at a time. (This is the Max Concurrent Assignments setting on the Manager General Properties dialog. See Starting Network Rendering ).
  5. Each Server machine receives the ZIP and XML files into the Backburner\Network\jobtemp folder.
  6. The MAX file gets unzipped, along with the maps and XRefs if they were included.
  7. 3ds Max is launched and loads the MAX file. If the maps and XRefs were not included, the Server searches for them as they are defined in the MAX file. For instance, if an XRef is in d:\foo\xref.max, the Server will look for xref.max in d:\foo\ on the local machine. If there are additional map paths set in the 3dsmax.ini file on the rendering server, it will search in those paths as well. If it does not find the maps and XRefs, the server fails for that particular job.

    This is why it is important to use UNC paths for all maps and XRefs in your scene file, so that all render servers can find them. However, if the maps and XRefs were included, then 3ds Max will get the ones that were unzipped into the \jobtemp folder.

  8. When a frame is finished rendering, 3ds Max on the Server saves the frame to the location specified via the Render Setup dialog before you submitted it.
  9. Once a Server successfully renders one frame, the Manager assigns a block of frames to the server to render; it might assign 20 consecutive frames. This minimizes the amount of communication needed between the Server and Manager.
  10. The Server continues rendering frames for the job until the job is done.
  11. The Server then closes 3ds Max, and goes idle. If the queue contains additional jobs, the Server picks up the next job and starts the process all over again.

    You can use this explanation to help determine the basic requirements for your network rendering setup, based on the type of usage. If your frames render quickly, you'll need a fast file server machine to handle the constant output from a number of different rendering servers. The same holds true of your scene uses a large quantity of map files that are stored in a central location. If you typically render large files, rendering will take longer, and most of the bandwidth will be required at the start, when the files are distributed to the rendering servers.

Next Step

Checking Requirements