Free Maya Tutorials

Setup a Renderfarm in Maya and Mental Ray

Setup a Renderfarm in Maya and Mental Ray free tutorial

Maya and Mental ray are one of the most used 3d graphic production platforms over the world. One of the reasons is their easy and very powerful multi-platform distributed rendering capabilies. Have you ever wonder to speed up you render speed by 2x 4x 8x and so on? Just follow my Mental Ray distributed rendering guide: maya render farm setup!

TYPE: Free maya tutorial
CATEGORY: Rendering Maya, Hardware, Mental Ray Render

IMPORTANT NOTE:
Since Mental Ray 2017 this guide is obsolete, now there's a new simple method to do distributed render in Mental Ray but you need a MR license to make it work.  You can find more information to the official Mental Ray Nvidia website website.

INTRO

Autodesk Maya comes with 3 node licences, in theory it means a speed up performance of 300%, in pratics it's 190% with 1 master and 1 slave, and its 250% with 1 master and 2 slaves when we are working in a multi-core optimized scene. You should know that not any kind of render operation is parallelizable, for the truth a lot are still single core compiled (like hair and fur generation). Anyway when you work on high-res renders you can take a great advantage of distributed rendering in Mental Ray.

HOW IT WORKS: MR SATELLITE VS BACKBURNER

You could be tempted to think that Mental Ray for Maya distributed network rendering is something like backburner, a job scheduler good for batch renders like final renders or animations frames....well it's not! Mental ray's distributed rendering is awesome, because it's automatic (you just have to configure once in your life and it will always work as you launch Maya) and it works not only in batch render but in preview and IPR renders too, either along side the local computer or without it, freeing the local computer to continue working.

INSTALL SATELLITES

First of all you need to install Mental Ray Satellites to all your maya's slaves. You can find them here. Be sure to download the same version of your Maya in use.

Once you finishd the installation reboot your systems. Mental Ray satellite will start automatically as windows service.

CONFIGURE

1)Create a user in all your windows OS (master and slaves), make it administrator.

2)Create a file called maya.rayhosts in "\Users\username\Documents\maya\2013\prefs" directory.

The maya.rayhosts file must contain a listing of each slave machine’s name. These slave machines must be accessible on the network where mental ray for Maya (the master machine) is installed.


For mental ray for Maya Satellite masters, you must add the port number by typing “:port number” after the hostname in the maya.rayhosts file. The port number set on mental ray for Maya Satellite slave machines is, usually, 7413. For example:

pc-host1:7413
pc-host2:7413

You can use IP addresses as well as machine names.

NOTE: It is highly advised to check the exact PORT NUMBER in "C:\Windows\System32\drivers\etc\services" , you should find a string like "mi-raysat2013    7413/tcp" or something.


My generated host file look like this:

Maya distributed rendering host file

TEST DISTRIBUTED RENDER

1) Under Render Settings, choose Mental Ray as your renderer. Network rendering only works under Mental Ray.
2) Setup all rendering setups, lights, etc. to ready the scene for rendering.
3) Choose Render > Render Current Frame > click the box next to render current frame to get to the settings
4) Check Render on Network Machines Checkbox to use the network.
5) Optionally, Render on Local Machine (your own current session of Maya) also.
Using this, your machine will be rendering and the network will be rendering, adding your machine as a node in the farm process.
6) Click Render

The job may take a moment to start, as your computer sends the Maya file, all textures, and other information up to the render nodes and kicks of the process. Within a few moments you should see the render process begin, with various square “buckets” (or portions of the image) beginning to populate the rendered image. Each node on the render farm is working on up to 8 buckets (4 physical cores + 4 Hyper treading) at a time with my i7 machines.

To verify which hosts file is being read when you are rendering:
set the verbosity level for messages from the translation process by using the MEL command as outlined in Export Verbosity. During a render, messages similar to the following are output to the Output Window:

Maya render log distributed rendering

 

NOTES ON DISTRIBUTED RENDERING:

1) Mental Ray Satellite network rendering does not have a queue.
2) Network Rendering in Mental Ray Satellite may or may not be faster than rendering on your local machine only. This may seem counterintuitive, but in some cases, depending on complexity and file size, rendering just locally will be faster than processing on the network. It is our experience that only the most complex of rendering jobs will render faster on the network. Simple jobs do not pose much benefit because of the overhead of communicating over the network to control the job.

TIP FOR LAPTOP WORKING:

Network Rendering may be of greater benefit also if you are working from a laptop computer where your computer is significantly slower than the network nodes, and this makes up for the lags inherent in network overhead.

MAYA MENTAL RAY BENCHMARK SCENE:

Maya mental ray benchmark scene

Here you can download for free an effective Maya/Mental Ray Benchmark scene. I used that scene over the years to estimate the rendering performances of my hardware. Just open and click render (be sure to render at the right resolution)

Here some of my results:

RIS 640x480 ---> Intel [email protected] (197sec)
RIS 640x480 ---> Intel [email protected] (107 sec)
RIS 640x480 ---> Intel 2600k + i7 420 (115sec) RES 640x480 ---> Intel i7 2600K @3.4 + INTEL i7 2600k @ 3.4 (77sec)
RIS 640x480 ---> AMD OPTERON 4226 x2 CPU (153sec)
RIS 640x480 ---> Intel Xeon X5650 2.67ghz 4 cores of 12 (213sec)
RIS 640x480 ---> INTEL i7 2600k @ 3.4 (135sec)
RES 1920x1440 ---> AMD OPTERON 4226 x2 (814sec)
RES 1920x1440 ---> AMD OPTERON 4226 x2 + Xeon X5650 4 cores of 12 (519sec)
RES 1920x1440 ---> INTEL i7 2600k @ 3.4 (694sec)
RES 1920x1440 ---> INTEL i7 2600k @ 3.4 + INTEL i7 2600k @ 3.4 (414sec)
RES 1920x1440 ---> INTEL i7 2600k @ 3.4 + Xeon X5650 2.67ghz 4 cores of 12 (474sec)
RIS 1920x1440 ---> INTEL i7 2600k @ 3.4 + i7 420 (608sec)
RES 1920x1440 ---> INTEL i7 2600k @ 3.4 + INTEL i7 2600k @ 3.4 + i7 420 + Xeon X5650 2.67ghz 4 cores of 12 (294sec)

Maya mental ray benchmark scores

26 thoughts on “Setup a Renderfarm in Maya and Mental Ray

  1. which is faster:
    -render using satellite method
    or
    -render separated frames in different machines

    1. When batch render animations (or more than 1 frame) is always better to render different frames in different machines. Using render nodes as satellite there is always a certain amount of loss of power. The situation become worst when you add more nodes. Render nodes are useful for preview/work in progress, not for batch renders.

  2. Buongiorno Antonio,
    il setup di satellite mi consente di vedere il nodo slave e di assegnarli un job. Il problema è simile a quello di Anderson. Il risultato è un rendering nero dove sono presenti le texture.
    Non riuscendo a trovare una soluzione in rete, chiedo se il problema è stato risolto da qualcuno.
    Grazie

  3. Hi Antonio! I have a big scene and two machines. 1- i7 with 12gb ram, 2 – i5 with 4gb ram.
    When rendering, some squares are so bright than others, this squares are made by the second machine and FG points is “0”; but in the simple scenes works fine.
    Maybe because the 4gb ram? Thanks again.

    1. Hi Anderson, I’ve never experienced this kind of phenomenon…. but out of ram renders would stop or go slow…i dont think it could generate bright artifacts!

      1. Hi Antonio, problem resolved, there are a setting on the texture file options, “overall…”, when this setting are “on”, the image works fine. Thanks.

  4. Hi Antonio, Thank you for this tutorial. I have followed all the steps in the tutorial, but my slave’s cpu doesn’t seem to work as it supposed to. Master seem to work fine and I am guessing it might be the sharing part. I have set the project folder as sharing folder to be accessible on the network. I am not sure if this is the right way to accessing master from slave.

      1. Yes, I disabled both firewalls of my master and the slave pc. I am going to test it out again from the scratch to see if it works.

        1. Have you checked the exact port number in “C:\Windows\System32\drivers\etc\services” , you should find a string like “mi-raysat2013 7413/tcp” or something…

          1. Yes, I have checked “mi-raysat2013 7413/tcp” on my slave. I found it.
            I’m thinking maybe my master’s port number is wrong because I typed in 7413 same as my slave.

          2. Maybe it is because I didn’t create user as admistrator? I already have user as adminisrator on both my master and slave and they have different name? Is this a problem?

  5. Hi Antonio, i have a question. To do batch render network is same step to render in preview? only click batch render with newtwork option on?

    thanks!!
    amazing tutorials!

    1. Hi Anderson, thx for be here to read my tutorials. For batch render you just need to cactive “render on network machines” under the network tab that you can find clicking on the box at the right of Batch Render option.
      Hope it helps, have a nice day!

  6. Thank you for this tutorial I really need it.
    My question can I use MAC OS in the network to use it for rendering ?

    1. Hi Ghandi, thx for posting. I think it’s possible to use windows/osx and linux systems but I don’t know exactly how to do that in other enviroments than windows (because I use just win). Try to check the official autodesk documentation (“mental ray satellite configuration”)!

  7. Hello. Thanks for the tutorial.
    I am having problems on trying this..

    I think I jumped this step — 1)Create a user in all your windows OS (master and slaves), make it administrator.

    Do you mean a User account?

      1. Thanks for the reply.

        I did all the Steps, but whenever I use Submit Job on BackBurner in Maya it says “Cannot create job: No connection could be made because the target machine actively refused it.” Any ideas please?

  8. Thank you very much for the tutorial

    Using your benchmark file, rendering at 1920×1440, I was able to render 5:19 across two intel i7 quad core computers.

    RES 1920×1440 —> INTEL i7 3770k @ 4.78Ghz + INTEL i7 2600k @4.8Ghz (319sec) 5:19

Leave a Reply

Your email address will not be published. Required fields are marked *