modo bubbble logo

Network Rendering


Home >> Shade, Light & Render >> Network Rendering

back next

Network rendering in MODO is designed to enable simple access to multiple machines across a home network or company wide intranet for rendering single images or sequences. Utilizing cross-platform Bonjour technology (developed by Apple and installed when you installed MODO) the number of steps have been greatly reduced, eliminating the overhead usually associated with setting up network rendering. Once activated, any render tasks on the host system will be automatically spread out across all available slaves.

Network Rendering Step by Step

To setup network rendering with two or more systems, you will need to do the following:

  1. Install the same version and build number of MODO on each system being used. See "Help > About MODO" to verify the build number. Slave systems do not need any Content installed, but should have any 3rd party plug-ins and/or kits installed, if scenes to be rendered contain those features.

  2. Make sure that all the slave systems can see the master on the network and vice versa. Connected systems are visible in the 'Network View' window, found under "Render > Open Network View" in the menu bar. Also, be wary of hardware and software firewalls that can often block communications between systems, preventing network rendering.

  3. Start MODO on the slave system(s) and enter into slave mode by selecting "Render > Enter Slave Mode" from the menu bar. Unlicensed installs can only enter slave mode.

  4. Enable Network Rendering on the master system by enabling the ‘Use Network Render Nodes’ toggle in 'Preferences'. Found under the "Rendering > Final Rendering" section of the window.

    Net Render Preferences

  5. Open a scene or animation on the host and render with a 'Render' command (Preview does not utilize multiple machines).

MODO defaults to using the ‘Send and Accept Assets for Network Job’ option being enabled. This means the master system will use network sockets to transfer scenes and asset data to each slave system. The option of using a Shared Network Folder is also available (see below). For simplicity of setup and use, MODO also defaults to ‘Discover Render Nodes via Bonjour’. This setting should work for most basic network setups. With ‘Use Network Render Nodes’ enabled on the master and slave system in slave mode, any render started on the master will send scene and asset data to the slaves, then assign them buckets on each rendered frame (these buckets appear with blue outlines in the Render Window). When the slave systems complete those buckets, they will return them to the master.

Using a Shared Network Folder

When the ‘Send and Accept Assets for Network Job’ setting is disabled, the master system will deposit the scene and assets to the specified ‘Network Shared Directory’ for access by all slaves. To use this feature, the slaves much each be set up to use that same directory. This can be done by starting MODO on each slave and editing the 'Preferences' setting 'Network Shared Directory', or by setting the directory through the Render Slave dialog (present only when a slave is in 'slave mode'), by clicking the ‘Set Shared Directory’ button. Users must be certain that all systems have proper access and permissions to read and write to the specified folder.

Net License Error Msg

 

Network View

The Network view can be accessed from the menu bar under "Render > Open Network View" or by dragging up on the divider handle on the very bottom of the Render Display window. This allows one to view the connection status of all the systems on the network running MODO.

The Network View above shows eight systems on the network. The various columns of the 'Network View' show the following information-

<--->: This is the communication column, it indicates if there is communication happening between the master and the slave with the back and forth arrow icon.

Send: The 'Send' column shows if the connected system has the 'Send and Accept Assets' option enabled. If it does a check mark will appear, if not the value is left blank.

ID: The 'ID' column shows the info of any connected systems. The colored dots preceding the system names denote their present state-
Red- The node is unreachable or not compatible.
Green- The node is compatible and available for rendering.
Black- The node is compatible but not available for rendering.
Gray- The nodes status is unidentified.
Clicking the triangle preceding each system name will expand or collapse the systems information.  When collapsed, each system takes up one row. When expanded additional information can be seen, such as Network Folder path, IP address, OS, and whether or not it has been claimed by a master system for rendering.

Cores: This column display the number of cores available for rendering on each system. This setting can be changed on each system individually by editing the option under "Preferences > Final Rendering > Render Threads".

Status: This column displays the current status of each system on the network-
Normal- For systems that are not running in 'Slave' mode.
Idle- The system is in 'Slave' mode and waiting for a job.
Rendering- The system is in 'Slave' mode and is rendering.

Mode: The 'Mode' column displays the current mode of the system-
Master- This system is a Master in an active network render.
Slave- This system is in 'Slave' mode and ready to render.
Free- This system is neither a 'Slave' or a 'Master' and is not currently rendering.

Group: The 'Group' column displays which Group the system is currently participating in. When expanded the 'Group' column also shows the 'Network Shared Folder' path which is set on each system.

Progress: The 'Progress' column is used to display the progress of each system that is rendering, showing vertical progress bars for each of it’s cores. As the bucket data is completed, a cyan bar will rise from the bottom to the top and turn green upon completion. If the Network Job Size is set to a value greater than 100%, then the progress bars will cycle through one time for each bucket rendered (for the default 200%, the bar will fill twice for each job). Please note that due to the modal nature of MODO’s 'Render Window', when it is open only the 'Network View' inside of it will update regularly during a render.

 

Advanced Options

The 'Network Render Group' option in the "Preferences > Final Rendering" allows systems on a large network to be grouped. This allows users to specify which systems can actively participate in a network render. Any 'Master' and 'Slave' system with the same ‘Network Render Group’ name set in their preferences will only participate with other system that specify the same group name.

Host List

If the ‘Discover Render Nodes via Host List’ option is enabled in "Preferences > Rendering > Final Rendering", then 'Slave' systems can be manually added to a network render configuration by using the 'Host List' Preference option (under Preferences > Rendering > Host List).

net render

Hosts can be added by Host Name or IP, by clicking the Add Host button. Once a host has been added to the list and is running Modo in slave mode, the connection to it can be tested by selecting it in the Host List and clicking ‘Test Selected’. All systems in the Host List can be tested at once by clicking ‘Test Hosts’. Note: When adding Mac hosts, system names usually need to have ‘.local’ added to the computer name.

MODO command line

MODO_cl can now be set to run in slave mode. The ‘-slave’ command line flag will start MODO_cl in 'Slave' mode and it will then operate like any normal slave on the network. Please note that no progress data is displayed in the terminal/console when running is slave mode.

Tip icon

TIP: When using a network firewall, make sure that MODO has access to the necessary ports for network rendering. Blocked ports is a common cause of network rendering issues such as idle slaves.

Best Practices

Here are a few best practices that we've come across to help ensure that network rendering is a smooth process-

  • When rendering scenes with slow Irradiance Pass calculations (the part of an Irradiance Cache enabled Global Illumination render that takes place before the actual buckets are rendered), the most powerful system (fastest at rendering) in your network should be used as the master, as it will be doing all of the IC pre-pass calculations.

  • In general, using the most powerful system as the 'Master' (i.e. the fastest at rendering) will yield the best results.

  • Network speed has a direct effect on network rendering performance. We recommend having at least 100Base-T wired Ethernet; 1000Base-T Gigabit Ethernet would be even better.

  • Hosting the assets via a shared network drive as opposed to using “send and receive assets” option will help speed up transfer times when rendering big scenes (file size wise) with many assets.

Known Issues

There are a few consideration users should note when using Network Rendering-

  • The use of the CAD item from the CAD loader plug-in is not supported; convert the CAD item to a mesh prior to network rendering.
  • Rendering with 'Write Buckets to Disc' is not supported for Network Rendering.

For users that are having difficulties with Network Rendering, we have written a short troubleshooting guide.

 

comment balloon Comments (1) RSS Icon

FLS Eugene May 21, 2014 at 2:38 AM

Note, Frame Passes is NOT compatible with network render for 801 initial release. I hope they update this in the future.

Top

back next