Slashdot Mirror


Build Your Own Render Farm

Another installment of Tom's Hardware's how-to articles has a look at what it might take to build your own render farm. The article looks at everything from top-to-bottom roll-your-owns to buying things pre-built and the pricing insanity that goes along with it. "If you are working as a freelance artist in the above-mentioned media, toying with the idea, or doing so as a hobbyist, then building even a small farm will greatly increase your productivity compared to working on a single workstation. Studios can even use this piece as a reference for building new render farms, as we're going to address scaling, power, and cooling issues. If you're looking at buying a new machine and are thinking of spending big bucks to get a bleeding-edge system, you might want to step back and consider whether it would be more effective to buy the latest and greatest workstation or to spend less by investing in a few additional systems to be used as dedicated render nodes."

36 of 114 comments (clear)

  1. How to Jump Your Own Shark! by eldavojohn · · Score: 5, Funny
    Considering this article and the last one from Tom's Hardware, I cannot wait for the next Tom's Hardware articles:

    Build Your Own Annoyingly Segmented 10 Page Article!

    How to Run Out of Practical DIY Ideas!

    Host Your Own Ads for Under $1000!

    Turn 50% of Your Site into Flash Ads in One Day!

    How to Fake Content!

    Embedding Popup Ads the Automated Way!

    Going from Pioneer to Slowly Losing Relevance in 10 Easy Steps!

    Earn Pennies a Day By Inconveniencing Your users!

    R.I.P. Tom's Hardware.

    --
    My work here is dung.
    1. Re:How to Jump Your Own Shark! by jedidiah · · Score: 2, Informative

      Both the last "bad idea" and this one really doesn't seem that far removed
      form a lot of MythTV setups me and some of the users have. MythTV supports
      a nice little cluster/farm setup where work can be shoved out to other
      machines that are part of Myth. I have 3 frontend boxes, 2 backend boxes
      and another desktop machine that can all share video processing duties.

      Large disk arrays are not terribly unusual either.

      --
      A Pirate and a Puritan look the same on a balance sheet.
    2. Re:How to Jump Your Own Shark! by Hurricane78 · · Score: 2

      By the way: Does anyone know a replacement? Something with complete comparison charts on graphics cards, CPUs, etc. Something serious that is not bought by the hardware companies.

      --
      Any sufficiently advanced intelligence is indistinguishable from stupidity.
    3. Re:How to Jump Your Own Shark! by anonymous+donor · · Score: 2, Informative

      Firefox + AutoPager + Adblock Plus + NoScript + Stylish and problem's gone. Yeah, browsing the web is a lot more complicated than it used to be...

      --
      fortune favors the lucky
    4. Re:How to Jump Your Own Shark! by Hurricane78 · · Score: 2, Insightful

      Well, if you of all people state that, then it must be true, mustn't it, managing editor *with a huge interest in the site not looking bad* "Chris". ;)

      But let's just say, after all the problems with your tests, I can not trust you any more. If you want to re-gain that trust, try to make your testing methods really clear, and do not fall for so many beginners errors and strange things, that the first person in the comments can point out in about five minutes. ^^
      I recommend getting some feedback from external people, before you put an article out there. That way you can fix these issues in-place.
      (Oh, and better have comments pointing out errors, than having no comments at all. Everyone with a bit of web experience will avoid sites without comments, for obvious trust issues.)

      --
      Any sufficiently advanced intelligence is indistinguishable from stupidity.
  2. Unlatest by fm6 · · Score: 3, Insightful

    ... or to spend less by investing in a few additional systems to be used as dedicated render nodes.

    Especially if you buy used systems. Computer hardware depreciates fast.

    1. Re:Unlatest by i.r.id10t · · Score: 2, Informative

      Unless they are very old, and power use would be better spent running fewer nodes with more rendering oomph.

      --
      Don't blame me, I voted for Kodos
    2. Re:Unlatest by mr_exit · · Score: 2, Insightful

      the bandwidth to Amazon would kill you. It's not uncommon for one frame to pull in gigabytes of textures and geometry needed for the render. Rendering CG is very disk, memory and CPU intensive.

      --

      -------
      Drink Coffee - Do Stupid Things Faster And With More Energy!
  3. Recycling? by Monkeedude1212 · · Score: 2, Funny

    OR - if you get a real job, at a real company, they'll give you their unwanted outdated computers for FREE.

    Seriously! Build a massive render farm out thousands of 286's!

    1. Re:Recycling? by mcgrew · · Score: 4, Funny

      My grandparents rendered on their small farm, but unfortunately I hate lye soap.

  4. roll-your-own by basementman · · Score: 2, Funny

    "everything from top to bottom roll-your-own to buying things pre-built" Is there some way to get high off computers now? I tried smoking all that junk that fell in my keyboard but it just smelt like burnt hair.

    1. Re:roll-your-own by nschubach · · Score: 3, Funny

      Keyboard dust is made of people!

      --
      Every time I start to have faith in humanity, I ruin it by driving to work between 7 and 8 am.
    2. Re:roll-your-own by Em+Emalb · · Score: 2, Funny

      I tried smoking all that junk that fell in my keyboard but it just smelt like burnt hair.

      Dude, if my co-workers' keyboards are any indication of the "typical" keyboard out there, you're damned lucky you didn't kill yourself.

      --
      Sent from your iPad.
  5. Re:This is a factory farm! by nschubach · · Score: 4, Funny

    I hear non-factory farming also produces denser images that are more pleasing to the eye and have a higher contrast value. Besides, you'd be helping out the small rendering businesses by only selecting local renders.

    --
    Every time I start to have faith in humanity, I ruin it by driving to work between 7 and 8 am.
  6. EIE I/O by Anonymous Coward · · Score: 2, Funny

    If you run your render farm on PowerPC's you can put their eieio instruction to good use!!!!!

  7. Thanks for this by TheModelEskimo · · Score: 3, Interesting

    The article touches on general bits of info that might have been time consuming to find. I live in a small town where commercials for clients like the local chamber of commerce are often put together in iMovie, and delivered in a rush. Recently I was approached by a local art director and was asked about moving from 3D stills (which I do occasionally) to 3D animation to be composited into commercial work (probably for bigger clients than the chamber...). I've determined that I can afford about 2-3 minutes of render time per frame before deadlines really start to get pushed out. So rendering infrastructure is very important.

    My studio is unique in that I work with open source software, Blender, Lux, etc. And my clients dig it because many of them are into sustainability and see my philosophy as being similar to theirs. I've looked at outsourcing the animation projects to commercial renderfarms, but when you start to "Better Know a Linux Network," you move beyond "get it done" and start to take interest in your own little LAN. Next to my video compositing and 3D graphics books I have a big ol' fat Pro Linux System Administration book, and it's handy, and I like it that way.

    The article points out that I can save $140 per node by not needing to buy Windows XP Pro 64 bit edition. This is actually great for me since I typically use the money I save on software to buy more hardware.

    BTW, what's up with Slashdot javascript? I'm going to have to build a freaking /. renderfarm pretty soon, and I'll be sending my receipts to CmdrTaco.

    1. Re:Thanks for this by dr00g911 · · Score: 2, Informative

      The article neatly sums up how to build a render box from about 5 years ago, or for a hobbyist who doesn't really push the hardware.

      In the last few years, with the prevalence of displacement mapping and linear workflow, file sizes and memory usage to get renders at the quality folks expect of CG work have skyrocketed.

      As someone working as a freelance CG/VFX artist, I can tell you a few practical truths:

      1. You may not need XP 64 but you need 64-bit if you hope to do high-resolution, or detailed renders in a single pass. An addendum to this is: don't even consider a motherboard that supports less than 8 gigs of ram, and max the thing out. If you are rendering under Windows, you're shooting yourself in the foot if you're stuck on 32-bit, in particular. You will hit a memory wall with a 4gb RAM system very very quickly. Linux 64 is fine. XP 64 (and even my tests with Win7 64 are good). Avoid Vista 64 like the plague.

      2. Depending on your primary rendering usage, a Core i7 may actually be working against you with hyperthreading. Quite a few of the big boys (Renderman, Mental Ray) are still licensed per thread. With hyperthreading enabled on the motherboard, an i7 looks like 8 cores to many rendering apps. Relevant example: A dual quad Xeon Mac pro can only use half of the machine's processing power as a Mental Ray satellite node with Maya, because it's licensed to only use 8 threads total. In addition, a lot of compositing apps -- and LOTS of plug-ins -- are single-threaded (I'm looking at you, random After Effects plug-in, and just about any dynamics plug-in for a 3d app). The short of it: if you're going to be rendering with something that's actually capable of saturating a multi-threaded CPU, go for it. But do some research and tests first.

      3. You might be able to get away with a crap mainboard video card -- but make sure of it. A few CG apps don't have command-line rendering available, and it'll suck to learn after the fact that the app you're trying to launch on your pile of new 1U servers won't launch because you don't have a decent video card. Linux & Mac OS (even Hackintoshes) are far superior to Windows in this regard -- you'll rarely find an app that refuses to run due to the card. Crap interactivity is fine as long as you can initiate a render.

      4. Standardize your render boxes AND WORKSTATIONS on a single platform (ie Linux 64, Win 64, MacOS X 10.5 intel). Lots of apps require shaders to be recompiled per platform, and small studios generally use share/freeware stuff that might not be available on all platforms -- it's much better to work around this issue when you're creating your assets, versus when you've got a delivery deadline looming and you realize that your fancy layered shader looked great on your Win64 previews, but the code isn't available for Linux 64 to render within your lifetime.

    2. Re:Thanks for this by dr00g911 · · Score: 2, Interesting

      All fair points, but I must say that the Mental Ray workflow that's so prevalent among pro-sumer/small studio CG (now that Autodesk owns most everything and bundles MR) is terribly hard on memory usage, displacement or no, 32-bit float or no, physically accurate shading/lighting or no. Renderman is far far more efficient, however due to the licensing costs, not many of the little shops are using it.

      The article suggests buying a crapload of boxes with 4GB RAM mainboards, and my argument is that if you find yourself in need of building a render farm of more than a box or two, you're doing yourself a huge disservice by following that advice.

      I can tell you first hand that it's a nightmare best avoided to assemble a bunch of assets into layout only to find that you're throwing memory exceptions right & left on deadline.

      I stand by that advice: if you're actually to the point of investing a fair bit of cash for some render boxes, spend just a couple more bucks on the mainboard and RAM so you don't build yourself into a corner. I'm talking about a $50 difference (including ram and mainboard) per machine to safeguard against blowing deadlines.

      Sure, there are lots and lots of workarounds for memory/detail/physics/computation issues, but on deadline you don't always have the luxury of using those cheats... and sometimes you've just got to brute-force your way through a sequence. Dynamics and rendering in Maya with Shave & a Haircut come to mind. Incredibly powerful, but single-threaded. You'd be better off rendering hair and contact shadow passes on a single P4 than an i7 unless you're using Renderman in this case.

      I think you misunderstood me on the crap GPU issue: there are some apps that literally won't launch at all without a certain level of hardware acceleration under Windows. Most pro-level apps have a CLI-only render interface that's commonly invoked by farm management software -- but not all do. The point I was making is: if you're buying a ton of anything, make sure it's going to do what you want it to do ahead of time. It would suck to get a bunch of motherboards in 1U cases that can't even take an AGP/PCI-E video card, and that was preventing you from using the software that you built the farm for.

      The main message was really: these guys give you a low-end, once-size-fits-all recipe for building a 16U farm, basically, and at that level of game, I think their advice is pretty poor hardware-wise. You'd be insane to fork over the cash for that much kit and stick 4GB mainboards in there. Imagine someone who had a need for that kind of horsepower but were limiting themselves to the low end of the capability spectrum on such a major purchase when the price difference in the grand scheme of things to future-proof is so small. Not that there's such a thing as future-proofing, but if you're trying to render anything using mental ray with a 4GB system, I can guarantee you that you'll hit a memory wall after playing with ZBrush or mia* physically accurate materials for a few weeks. Or real global illumination etc etc. Particularly under Win32. Sure there are cheats for everything, but they take time too, and sometimes you just need to hit render and know that 1200 frames will be done by Monday AM without spending a huge amount of time tuning cheats.

      If you're a small shop, in the vast majority of cases an Autodesk product (or XSI) with Mental Ray bundled, and it's an engine that is not at all comfortable with a 4GB RAM limit.

  8. Re:Ask a Slashdot Pimp by Red+Flayer · · Score: 3, Informative

    Dear Slashdot Pimp,

    I am a little confused as to your business plan. Why would you offer advice to slashdotters on getting laid on their own, when it would be far more profitable to ensure they need to visit your stable of hos to get laid?

    Might I suggest you acquire the services of a business plan consultant to help you maximize your profits by leveraging the synergisms of your diverse talent pool? Careful attention to branding (perhaps literally) and marketing could help you achieve your quarterly and yearly targets for growth and margins.

    Sincerely,

    Slashdot Business Plan Consultant

    --
    "Trolls they were, but filled with the evil will of their master: a fell race..." -- J.R.R. Tolkien on Olog-hai
  9. render nodes by Tom · · Score: 3, Insightful

    Even a single render node dramatically increases productivity for me.

    I'm doing TG2 skybox renders, something that easily takes 12 hours each, and often two, three, four times that. Having a few render nodes (two at the moment) means I can continue working while a few frames are already rendering. That means more of my time is spent productive and less is spent waiting.

    My render nodes aren't even dedicated machines, just other machines I have around that are mostly idle.

    --
    Assorted stuff I do sometimes: Lemuria.org
  10. Re:The need is fading by hardburn · · Score: 4, Insightful

    Is this astroturfing? Their website implies that they can streamline frame rendering down by several orders of magnitude, but there's no indication about how. Their FAQ is content-free, using buzzword-laden statements like " . . . gives non-linear access to lighting, ambient occlusion, materials . . . ." What is "non-linear" supposed to mean here?

    There's always going to be a place for a render farm. Even if 3D modelers tomorrow can work in real time with settings that would take hours to render today, that'll just mean that the render farm will be running with even higher settings that might not exist today. At some point, we'll be able to run a render farm doing ray tracing with hundreds of reflections and get realistic skin pores and wood grain out of the technique, but the modeler is only going to be working with 20 or so.

    --
    Not a typewriter
  11. A classic quote by somenickname · · Score: 3, Insightful

    A total of 10 copies of XP (for 10 nodes) may sound like a big expense, but it actually adds $140 per unit, pushing the cost of these machines to about $485 per unit for a dual-core node or $610 per unit for a quad-core configuration.

    I think Tom should have rephrased that to put it into perspective: "Don't worry only 20% of the node cost is from Windows". I find it amazing that the most expensive component on the cheaper node is Windows XP and on the beefier node, it's nearly the same price as the CPU. It's even more baffling that this statement appears on the same page in reference to CPU selection:

    It's really all about how much you want to spend here, because this is the single most expensive component required for each node.

    Maybe Tom is a secret Linux fan and is hinting that Windows isn't a component but a tax. Or maybe he's just really bad at math.

    1. Re:A classic quote by BitZtream · · Score: 2, Insightful

      Windows is certainly overpriced, no argument there.

      I would argue however that the OS is probably the single largest and most important component of the PC. While its not a piece of hardware, and it is just one of many required components, its the one that matters the most, I think.

      I mean, change your ram manufacture, you probably won't notice. Mobo, processor, case, power supply, all these things can change a fair amount and in most cases won't provide an immediately noticeable difference. The software running on them for the most part won't care.

      Change the OS and the world just changed. All of your other software needs to be changed in most cases, save for FreeBSD emulating Linux or Wine letting you run Windows binaries, which you're probably not going to want if you're trying to render frames as fast as possible.

      Either way, unless your software requires Windows, I can't imagine why you wouldn't use a free OS for your rendering farm. Its something you shouldn't really directly interact with after it is setup. Even if you prefer Windows the desktop/workstation (I do personally) I can't imagine why would would waste the money on licenses when you're probably going to get far superior performance out of something like a cut down, bare bones Linux or FreeBSD install.

      Truth be told, the guy writing the article really isn't all that knowledgeable, as you can tell by his take on how much memory you should use and its limitations mentioned in my other post.

      http://hardware.slashdot.org/comments.pl?sid=1306469&cid=28734027

      --
      Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
    2. Re:A classic quote by im_thatoneguy · · Score: 2, Insightful

      Windows is just the start. If you really want to use your renderfarm you're going to want some rendermanagement software to keep it all running.

      Cost per node of Deadline (which I highly recommend) is $140 per computer. Then of course you've already bought a copy of Maya or Max etc. $3k. You might want to use an alternate renderer than Mental Ray. $1k per workstation. And you're going to want ghost for equivalent to keep all your computers up to date and get them back to work in the event of a crash.

      Also you're going to need a file server. If you have more than 10 computers that means Windows Server and CAL licenses. It's going to need to be a pretty beefy machine to feed GBs of data to the render nodes so expect at least $3k. If you lose all your data this will all be for nothing so you'll want to also be sure you invest in some good backup software. Also probably want to consider archiving all your old work on tape so I would factor in an LTO drive.

      When you factor in the costs of actualing running a render farm the cost of windows is pretty negligible.

  12. Part Time Render Farms are cool by mdarksbane · · Score: 2, Interesting

    I really loved the system they have set up at ACCAD at Ohio State. They had some clustering software running on all of the workstations that could take it over when it wasn't in use. So you had a very nice computer lab and a render farm all rolled into one. And as a user you could set how much you wanted to share while you were working - so if you were just web browsing, the second core could be churning away on someone's render, but if you were using Maya yourself you could have it all to yourself.

    I really wish I remember what the software was, and I'm sure this is a common arrangement at these sorts of facilities, but I remember being impressed at the execution of it.

    1. Re:Part Time Render Farms are cool by Rtfm42 · · Score: 2, Informative

      The software you're thinking of is Pixar's Alfred.

  13. 4 Gig of ram is the max for 2 procs? WTF? by BitZtream · · Score: 5, Informative

    For memory, 4 GB is a good start. With the availability of inexpensive 4 GB kits (reviewed here), there's no reason not to. If you are using a dual-core processor and your renderer is a 32-bit application, then 4 GB means you'd have just short of the maximum RAM for each core (which is a good idea if your renderer doesn't multi-thread properly).

    This is where I got off. I wasn't aware that dual core processors treated ram separately. Thats news to me, and the guys at AMD, Intel, MS, and Linus as well. Every OS I'm aware of bases the memory available on the app, not the core, with most 32 bit OSes allowing for about 3G of memory usable to the app (roughly a gig is part of the kernel space for various things in most cases), and allowing for more with some kernel tuning depending on the OS. I think Linux allows for that, I know Windows and FreeBSD do.

    I also guess he's never heard of PAE? Last I checked pretty much every modern processor and OS was capable of supporting 36 bit addressing, meaning a process is more than capable of addressing vastly larger amounts of RAM if its designed to do so, and even without support directly in the application, you can run multiple processes to get the 3G or so per process, which with 2 processes you are at 6. So if your shitting rendering app is 32 bit, not PAE aware, single threaded and you have more than 1 core than you can just pile on more processes with any modern OS and exceed 4G of usage. With a real rendering app, i.e. multithreaded, PAE aware and still 32 bit, its a no brainer. Of course if you're going through the effort to do all this, what are the chances your renderer is going to be 32 bit instead of 64? This is a question I really do not know as I'm not a render monkey, but I just can't see anything that matters still being a 32 bit app unless RAM really doesn't matter in rendering, which lets face it, for a complex scene, it does.

    Its good to know Tom's has some real techs working for him that understand how computers work.

    --
    Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
    1. Re:4 Gig of ram is the max for 2 procs? WTF? by BitZtream · · Score: 2, Interesting

      Really? Tell that to all the apps that are PAE aware, MSSQL server for instance.

      Its the same as using the old segmented memory model from a practical perspective, although the OSes today use a completely different API for accessing the other memory.

      http://en.wikipedia.org/wiki/Physical_Address_Extension

      --
      Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
  14. Re:Ask a Slashdot Pimp by thedonger · · Score: 3, Funny

    And three months to finally get laid, and three hours of crying afterwords. Followed by three apologetic phone calls, three stalking incidents, three calls by her to the police, a restraining order keeping you three hundred feet from her at all times...

    --
    Help fight poverty: Punch a poor person.
  15. Playstation 2? by Uncle+Ira · · Score: 2, Interesting

    PS2s are cheap now, and I know they've had linux running on them for some time. Has anyone managed to get something like ClusterKnoppix running on PS2 hardware? A renderfarm of slim PS2s sitting on a bookshelf would be kind of neat looking.

    1. Re:Playstation 2? by fuzzyfuzzyfungus · · Score: 2, Informative

      I don't think that there is anything stopping you(though the official PS2 linux kit is unsupported on the slim); but performance would probably be pretty underwhelming. 32 megs of RAM is an unpleasant limitation to labor under for a fair few computational problems, and(unless you are serious about doing optimizations to suit the PS2's particular hardware) you'll find that the stock general purpose processing power of a PS2 is pretty unimpressive.

  16. I already have my render farm. by Hurricane78 · · Score: 4, Funny

    It's called a botnet.

    TYVM.

    --
    Any sufficiently advanced intelligence is indistinguishable from stupidity.
  17. Separate machines are the way to go by Anonymous Coward · · Score: 3, Interesting

    I did this two years ago with four cheap Dell Inspirons ($299 each, with free shipping). They're thin, easy to stack, and consume less power combined than my desktop. No discrete graphics, smallest possible HDD; all they need is processors (dual-core) and RAM. I run a stripped-down Ubuntu on them, and use some Python scripts to distribute Blender render jobs to them over the network, assembling the final frames on a file server.

    Separate machines make an enormous difference. Even though rendering is relatively amenable to parallelization, a quad core machine isn't nearly as fast as two dual-core machines with the same specs. Even today, you would have to spend an awful lot of money to get a single machine that renders animations as fast as my two-year-old cluster of four.

    I could even have built my own machines, and saved a few tens of dollars per machine, but the price was already pretty reasonable.

  18. Re:The need is fading by Trent+Hawkins · · Score: 2, Informative

    If I was to guess, non-linear probably refers to GI calculations. Global Illumination does take some time pre-calculate and a lot of things in those calculations are relative to the timeline so getting those pre-calculations done on a network so that the rest of the nodes can get access to it in a non-linear method does make a lot of sense. this goes fro particle and point caching too.
    Also, if there's one thing that I've learned is that as hardware gets better, the demand gets higher. I can render stuff that I made five years ago that took days at the time in a minute but the scene is terribly dated and now I have scenes that look great but still take days to render, so I feel rather confident that in ten years, scenes will still take forever to render but they'll have hyper-atomic precision or some other crap to them.

  19. Re:Ask a Slashdot Pimp by oatworm · · Score: 2, Funny

    It's a classic open source strategy. He's letting the nerds have free sex, then charging for support. I mean, eventually the nerd will want to know where the clitoris is, right?

  20. DrDgaf by Theodore · · Score: 2, Interesting

    Didn't read, don't give a fuck.
    Building your own cluster can be done by any retard.

    I've been looking into building one for myself, mainly for Blender and LuxRender.
    Now, if there were CUDA/OpenCL versions for the above programs, the Zotac atom/nvidia-ion boards might be nice, expensive, but nice and low powered (or add PCI geforce 9500's, which would also work with my following idea (why the fuck won't they put a PCI-E/16 on these boards?))...
    I've been looking into mini-itx mobos (off of Newegg, that mainly shows me zotac geforce 7 series),
    and intel Wolfdale procs that the reviews say overclock to al least around 3.5G...
    Add 4G of ram (or whatever the board will take), a gigabit switch, set up PXE or a command line only linux distro off of flash,,,
    DING!!! FRIES ARE DOEN!!!

    Building your own render farm is easy and cheap if you have half a clue as to what you're doing.
    Oh,,, knowing where your circuit breakers are when setting it up will help too.