Cross Platform Rendering

Overview

Many of the applications that Deadline supports are available for multiple operating systems, and if you have a mixed farm, you will probably run into one or more of these scenarios:

  • You want to submit Jobs from one operating system and render on a different one.
  • You want one or more Jobs to render on machines with different operating systems concurrently.

Both of these can be achieved, thanks to Deadline’s Path Mapping feature. While there may be other considerations to take into account, depending on the application you’re rendering with, the Path Mapping feature will do most of the work for you.

Mapped Path Setup

When using a mixed render farm, it is all but guaranteed that asset paths will be different on each operating system. In many cases, Deadline is aware of the paths being passed to the rendering application, so you can configure Path Mappings to swap out these paths when appropriate based on the operating system.

../_images/cro_paths.png

To add a new Path Mapping, just click the ‘Add’ button. Then, you specify the path that needs to be swapped out, along with the paths that will be swapped in based on the operating system. You can also specify a region so you can have different mappings for the same path across different regions. For best results, make sure that all paths end with their appropriate path separator (‘/’ or ‘'). This helps avoid mangled paths that are a result of one path with a trailing separator, and one without.

../_images/add_mapped_path.png

Note that these swaps only work one-way, so if you are swapping from PC to Linux and vice-versa, you will need two separate entries. For example, let’s say the PC machines use the path ‘\server\share' for assets, while the Linux machines use the path ‘/mnt/share/’. Here are what your two entries should look like:

  • Entry 1 (replaces the Linux path with the PC path on PCs):

    Replace Path: /mnt/share/
    Windows Path: \\server\share\
    Linux Path:
    Mac Path:
    
  • Entry 2 (replaces the PC path with the Linux path on Linux):

    Replace Path: \\server\share\
    Windows Path:
    Linux Path: /mnt/share/
    Mac Path:
    

If you have Mac machines as well, you will need three entries. For example, if the Macs use ‘/Volumes/share/’ to access the assets from the previous example, here are what your three entries should look like:

  • Entry 1 (replaces the Linux path with the PC path on PCs and the Mac path on Macs):

    Replace Path: /mnt/share/
    Windows Path: \\server\share\
    Linux Path:
    Mac Path: /Volumes/share/
    
  • Entry 2 (replaces the PC path with the Linux path on Linux and the Mac path on Macs):

    Replace Path: \\server\share\
    Windows Path:
    Linux Path: /mnt/share/
    Mac Path: /Volumes/share/
    
  • Entry 3 (replaces the Mac path with the PC path on PCs and the Linux path on Linux):

    Replace Path: /Volumes/share/
    Windows Path: \\server\share\
    Linux Path: /mnt/share/
    Mac Path:
    

By default, Deadline just uses regular string replacement to swap out the paths. In this case, Deadline takes care of the path separators (‘/’ and ‘') automatically. If you want more flexibility, you can configure your path mappings to use regular expressions, but not that you will need to handle the path separators manually using ‘[/\]’ in your regular expressions.

Best Practices

Here are a number of best practice recommendations when setting up mapped paths:

  • Initially, create simple path mappings with Case Sensitive and Regular Expression both set to False and Region set to All. Once the mapped paths have proven to all be successful, then consider tightening up the configuration with these settings ONLY if necessary later.
  • Create the minimal number of path mappings to cover your needs. De-duplicate identical paths to the minimal required to match all cases.
  • Leaving 1 or more platform ‘replace’ columns empty is perfectly fine in a path mapping entry. Of course, the path mapping will do nothing, if you don’t enter at least 1 ‘replace’ path!
  • Create 2-way or 3-way path mappings only if you need multi-directional path mapping. i.e. A 1-way path mapping is perfectly valid if that is all that is required for your setup.
  • Always ensure you have a trailing path separator in each of your ‘replace’ paths which is the correct path separator for the platform.
  • Don’t ‘replace’ the path on the incoming ‘find’ path on the same operating system! i.e. If find path is “T:", then don’t swap this on Windows platform for the identical “T:" path. Simply, leave the Windows column empty and only enter ‘replace’ paths in the Linux and/or OS X columns where applicable.
  • On Windows, looking for the mapped drive: “Z:" will not match “Z:/”.

Application-Specific Considerations

For some applications, like Maya and Nuke, configuring Path Mappings is enough to allow for cross-platform rendering. For other applications, like After Effects and Cinema 4D, more setup is required. More information on how to render with these applications on mixed farms can be found in their Cross-Platform Rendering Considerations sections in the Plugins documentation.

Regions

Regions can be used to setup different mappings for the same path across your farm. For example, let’s say we have a local farm and a remote farm, and we want to map the path ‘/mnt/share/’ in our remote farm but not in our local farm. All we have to do is set the region of our mapping to the same region our remote slaves are in. Slaves in the region will replace ‘/mnt/share/’ but all the other slaves will use ‘/mnt/share/’ normally. We could also setup an alternate path for the slaves in our local farm.

A mapping in the ‘All’ region will apply to every region, even unrecognized ones. It should be noted that a region’s mapping is applied before the ‘All’ region, and if you are configured to the region ‘none’, then the path mapping with the regions configured to ‘All’ will apply.

A mapping in the ‘unrecognized’ region will only apply to the regions that are unrecognized.