Tuesday, March 22, 2011

Distributed Rendering using Backburner

Hiya,
 Just did my first distributed render @  SAITM!

We have about 20 Core2Duo Dell Vostros at our Lab @ SAITM, and we have done several distributed render jobs as of today. However, none of us are networking/ programming gurus. We (me and two three guys) always had to manually setup every computer with the exact same folder structure and copy every source file to each node. Then we have to calculate the time needed to render the entire thing and set divide the frame ranges needed from each machine accordingly and manually enter them.

Needeless to say, this is BIG PAIN IN THE ASS. Therefore, these days I have been looking into softwares and implementations for managing render farms.

In my search I came across several names.

1. Dr Queue
2. Deadline
3. Smedge
4. Muster
5. Backburner
6. RenderPal
7.Qube!

Well, I think I came across a few others but this is all I can remember right now. Now when we look at each software, one of main features I was looking for was open source. So that it will be free. Only DrQueue is open source from the above list and it certainly seems very powerful. However the problem is as of yet, it doesn't offer a binary installer. We have to compile it ourselves from the source code provided. That is a leeeetle bit over my head right now. :)

Next on is Deadline. This was actually developed by Frantic Films/ Prime Focus Studios. The same studio that developed Krakatoa (particle rendering system). And this seems to be a very robust and flexible manager. It even supports tile rendering. Where one frame can actually be split up between computers. As far as I understand only Deadline has this feature. The only caveat here is, of course the price.

Smedge, Muster, Renderpal, Qube! all seem to be very stable and lots of studios appear to use them. I've gone through several threads on CGS itself where the consumer base was divided almost equally between them. However, none of them are free (and why should it be?) and as such I cannot really field test them.

Then I arrive on Backburner. It is developed by Autodesk and is distributed freely with it's "creative applications". Thats what they call their DCC apps in the user guide of Backburner. (:D lol, i know). Anyway, since it is free and also since it was installed in every machine in our lab, I decided to try it out then and there just for the heck of it.

First of all,  I misunderstood their website information and thought Maya support was only added in Backburner 2010. When i saw Bakburner 2008 installed i felt let up. But I had a lot of time to kill while some of my renders were coming so I thought what the hell and loaded up Max.
Disclaimer- I'm very very rusty on max. I haven't used it for almost 3years now. So initially I wasn't really sure about getting this to work.

A quick overview of how backburner works

You need to first start up Manager. This is the hub of the backburner network. All the jobs are sent here, and is distributed over the network through this node.

Then you need to start up Servers. These are nodes where the actual processing gets done.

Then, you can start up the Monitor. This as its name implies, provides you with a gui displaying the status of the network.It also provides you with several tools to control the Manager, like suspending jobs, reactivating them, assigning servers to specific jobs, etc.


So I roughed up a quick scene with some foliage and objects. Then I went to render settings to 'submit' the job to my render farm. When i had ticked the checkbox for net render, I pressed Render and I got the Job submission form. It was pretty self explanatory and I could easily set up the job. Then I connected to the Manager, and started the servers. And it just worked! I couldn't believe how easy it was. And kudos to backburner. I know next to nothing about max and I was able to configure and render on 3 server machines without much hassle. I also started the monitor and it gave me some pretty neat info. For example, which frame was rendering on which machine, the names of the servers and so on. Again, this is my first time doing this. So it was all pretty exciting.

But there are lot's of things to experiment with now. For example I didn't use any maps of any kind in my max file. Tomorrow I'm going to test an acutal Maya scene with textures, MR shaders and lights and animation.. u know, the works.
Also, I want to setup so that the servers will do all the processing and save the image on my computer. That would be really really cool. :D . And I'm pretty sure there must be a way to configure that.

For now, I'm really happy with the results I got today. I hope I'll have same success with Maya tomorrow.

well, be back laters with more progress.

cheers!
-sira-

4 comments:

  1. http://www.max-realms.com/modules/mylinks/visit.php?cid=4&lid=249

    check this out =D

    ReplyDelete
  2. :) aaah nice info. But sadly, I need a solution for Maya. I tried Backburner with Maya today and it did NOT go well :(. I couldnt ecen get the job sent to the manager properly :P .

    On the other hand, I did test deadline today and it was exhilaratingly powerful. Far far more number of features. But my version was outdated and dint support Maya 2010 :'(

    Going to test Deadline 4.1 (newest) one tomo. Should work like a charm. -_____-

    ReplyDelete
  3. You should share that site on FB. It's really really good.

    ReplyDelete
  4. Already have shared it :-)
    Hows the progress? Any idea to change the banner of your blog? :P lol

    ReplyDelete