
When we first got The moon project at Domani it became apparent very quickly that rendering hundreds of thousands of images on my local machine would NOT be an option. I also realized it would be a major pain in the ass to set up each machine manually so we decided to set up a render farm. Here's the steps we took to get it up and running and the things I wish I knew ahead of time.
1) Hardware - use 'em if you got 'em
Do you have a bunch of old machines sitting in the closet somewhere in your office? We did, and that's what we used. Step 1 complete!
Some things to think about:
- How fast are the machines you're going to use? If they don't have fast enough processors or enough ram they'll essentially "steal" frames from other faster machines that can finish a frame faster and get truckin' on the next one. It's best to use machines that have similar specs so that your farm runs efficiently.
- How much ram do your machines have? If they're sparse double the ram in them. It's cheaper than buying all new hardware and will really improve performance. Newegg is a good source for reasonably priced ram.
- If you have an office network put your machines on a private network. It'll keep your main office network from dragging ass while you're accessing files.
Conclusion: Use old machines that are just lying around and use the whole office's computers at night. It should go without saying, but don't use people's machines during the day when they're working.
2) Software - time is money
Leading up to the project I had done quite a bit of research on my own about setting up a render farm. There's all kinds of free render managers here but they're a lot of work to get set up. You can go the free way if you want, but if you're not a super hardcore commandline nerd, you'll spend WAY more time than it's worth. Just bite the bullet and get some software that has a good support staff behind it (especially if you're up against a fast deadline).
In this case we had just under 6 weeks to get the project from "File>New" to "Liftoff!" so after a little more research we ended up using Smedge. It's $100 per machine (luckily not per core) which is kinda pricey for an invisible background running application, but it works really well once you get it set up. It also works with pretty much any program you could ever think of including Maya, C4d and After effects. It took me about a week to get it set up, so plan some setup time into your schedule to work out the kinks or be prepared to spend some extra weekends in the office ;)
Conclusion: Buy a render manager instead of trying to set up a free one. Even though you're paying it'll make up for itself when you have questions and can get speedy answers.
3) Storage - it's not always nice to share
Once we got all the computers set up with software we set up a 1TB drive to render all the images to. After a night of letting the machines run I came back only to discover that the estimated time to render the sequence was something like 3 weeks or something. Being the newbie brainiac that I was I deduced that this wasn't right. Sharing the drive, even over a closed network was creating a bottleneck, not only that but all my renders were junk because all the textures fell off since none of the assets were local.
Long story short, we used Apple Remote Desktop to mass duplicate each render file to the desktop of each machine. This way all the textures stayed local and we rendered directly to each local drive. To my shock, doing this alone cut our render time for the same scene in HALF.
Conclusion: Render locally to each machine and then collect your files onto the network shared drive in the morning.
4) Random tips that I wish I would have known
- Be very organized with your naming. When you end up rendering 20 versions of something, naming your sequence "rocket-FinalFinal3" won't do you any good. Put a date in the folder name and know that you know.
- Make sure all dynamic effects are either turned off or you have a cache that's being copied to each machine. This includes fluid effects, particles and basically anything that is dynamic. Turning off our particle systems when rending passes that didn't include FX cut or render in time in HALF!
- Use references for geometry when you can. I'm planning on doing a Maya tutorial on this soon. Until then read up on it here. It'll basically keep you from saving your geometry over and over into your 500 file versions of whatever.
- Managing a render farm for a project is a job in itself. Be prepared to pull a double shift if you're doing the 3D and doing the rendering.
So there ya have it! At the end we had used something like 3 years of CPU time to render nearly 250,000 frames. It was a lot of work but it was worth it. For someone like me who wasn't alive during the actual moon landing, recreating it and watching it "live" online with other people around the world was a really fun experience. It was even on CNN for god's sake!
I hope this at least gives someone a starting point. If not, I hope you at least enjoyed my witty writing. As always, if you have questions just drop me a comment below and I'll do my best to help out. Until next time...Adios!


February 3rd, 2010 at 12:59 am
Great Article, I want to set up a 5 system Mac G5 2.5 PowerPc setup. right now two have 2mb, one has 4, and the other five.
I'll leet you know when i get started. Enjoy!
February 3rd, 2010 at 7:53 am
Glad it was helpful. Thanks for being the first person to comment as well! Good luck!