Powered by 100% effective Miaozi Theme By miaozi diet pills, 100% Real . Miaozi Slimming Capsule

Setting up a Renderfarm in Maya and Mental Ray (Distributed Rendering)

Distributed rendering in Mental Ray and Maya

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 even in preview render window by 2x 4x 8x and so on? Just follow my Mental Ray distributed rendering guide.

TYPE: Free maya tutorial

CATEGORY: Rendering Maya, Hardware, Mental Ray

STATUS: Available since 19 February 2013

 

Distributed render in Maya tutorial (mental ray render farm)

Maya mental ray benchmark scores

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 Q6600@3.2 (197sec)
RIS 640x480 ---> Intel 2600K@4.6 (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)

Write your results in the comment's box below, I'll integrate all the results in the graph. More results, more accuracy.

Maya mental ray benchmark scores

Distributed rendering in Mental Ray tutorial

Comments   

 
+1 #1 quakebox 2013-11-08 21:45
thanks very much for your tutorial nice info
Quote
 
 
0 #2 Antonio Bosi 2014-02-19 00:00
Thx quakebox, hope to put online new stuff soon!
Quote
 
 
0 #3 JBevel 2014-03-13 08:22
Thank you very much for the tutorial

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

RES 1920x1440 ---> INTEL i7 3770k @ 4.78Ghz + INTEL i7 2600k @4.8Ghz (319sec) 5:19
Quote
 
 
+1 #4 Antonio Bosi 2014-03-13 09:01
Hi JBevel thx for posting, how much with 3770 alone??
Quote
 
 
0 #5 Eduardo Rodrigues 2014-04-26 14:28
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?
Quote
 
 
0 #6 Antonio Bosi 2014-04-26 20:35
Quoting Eduardo Rodrigues:
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?


yes, create windows user accounts with admin priviliges. use same name and password for all the computers you are going to connect.
Quote
 
 
0 #7 Eduardo Rodrigues 2014-04-27 15:57
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?
Quote
 
 
0 #8 Antonio Bosi 2014-04-27 17:49
Eduardo, this tutorial is not about using backburner so I can't help you. cheers
Quote
 
 
0 #9 Ghandi 2014-06-02 07:08
Thank you for this tutorial I really need it.
My question can I use MAC OS in the network to use it for rendering ?
Quote
 
 
0 #10 Antonio Bosi 2014-06-02 16:33
Quoting Ghandi:
Thank you for this tutorial I really need it.
My question can I use MAC OS in the network to use it for rendering ?


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") !
Quote
 
 
0 #11 Anderson 2014-06-27 01:29
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!
Quote
 
 
+1 #12 Antonio Bosi 2014-06-27 08:34
Hi Anderson, thx for stopping reading 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!


Quoting Anderson:
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!
Quote
 
 
0 #13 sam 2014-09-13 07:13
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.
Quote
 
 
0 #14 Antonio Bosi 2014-09-13 23:19
Hi Sam,have you tried to disable window's firewall from both the slave and the master pc?
Quote
 
 
0 #15 sam 2014-09-14 08:20
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.
Quote
 
 
0 #16 Antonio Bosi 2014-09-15 08:56
Have you checked the exact port number in "C:\Windows\Sys tem32\drivers\e tc\services" , you should find a string like "mi-raysat2013 7413/tcp" or something...
Quote
 
 
0 #17 sam 2014-09-16 05:18
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.
Quote
 
 
0 #18 sam 2014-09-16 05:30
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?
Quote
 
 
+1 #19 Antonio Bosi 2014-09-16 07:10
you need same name with same password and same privileges (administrator) !
Quote
 
 
0 #20 sam 2014-12-07 13:36
Quoting Antonio Bosi:
you need same name with same password and same privileges (administrator) !

Thank you! It works now finally! Thank you for this tutorial!
Quote