Creating low-cost render farms with old computers

Used servers can be bought for very low cost and can make for powerful rendering machines.  These Dell PowerEdge R610 servers are outfitted with dual Xeon Hexacore processors and are around $400 each.
When you have ten deadlines hanging over your head, it can be downright stressful to sit and watch a progress bar chug along while you count beads of sweat dripping down your forehead. How do you make that sweat-bead count drop to zero? Two words: render farm.

Render farms don’t have to be expensive. In fact, you can purchase used computers for very little cash, use old computers from around your office or even use computers that are idle while workers are at lunch or home for the evening.

We’re going to use Adobe After Effects as our example, but the same rules apply to any render farm capable software.

What’s a render farm and why do you need one?

Simply put, a render farm makes possible distributed network rendering. If it takes ten minutes per frame to render a clip, and that clip is 100 frames long, your render time is 1,000 minutes, or 16.67 hours. But what if you use three computers to render it? Each computer at any given time is working on a frame concurrently. You just cut your time by 1/3 — 1,000 minutes becomes 333.33 minutes, or 5.55 hours. Can you see the benefit now? Not only that, you can picture render on the farm and still be free to move onto another project on your creation computer. No more being forced to render overnight.

Before You Build a Farm

Do your best to avoid mixing kernels. The kernel is the central code to an operating system, so this means don’t mix Macs and PCs. Why? The Mac kernel handles random numbers differently than a Windows kernel. On things like noise or procedural textures — anything that uses a random seed parameter — you could end up with a flicker effect because the PC frames will look slightly different from the frames rendered on a Mac.  This isn’t always true, and there are some ways around this, but those techniques are way beyond the scope of this article. It’s best just to use “never mix kernels” as a rule of thumb.

Most software, After Effects included, does not require a full install to become a render node. After Effects only requires the render engine to be installed. This means that one After Effects license can be used across an entire farm. The full instructions for installing the render engine are available here on Adobe’s website.

However — and this is a big however — you do need to license and install any plug-ins on each render node along with any fonts that are associated with the projects you intend to render. Some plug-ins do come with a render node license, some do not.  You’ll have to check on your individual plug-ins.

Where to Get Nodes

As we said before, you can use idle computers around your network or old computers sitting in a storage closet. Power helps, but it’s not crucial. Think of it like a swarm of fire ants. One fire ant can’t do much damage, but an army of them can take down an elephant — or a huge render — in short order.

If power is what you want, it still doesn’t have to break the bank. You can always pick up used servers from sites such as Server Monkey. We picked up two Dell PowerEdge R610 servers each with two Xeon hexacores at 2.98 GHz for around $400 each. They both have the same render-power as our $8,000 creation machine because there’s no need for all the storage or a massive video card. They’re essentially just massive processors attached to a network and they happen to run Windows 10 Pro with no issues.

Setting up the Network

It’s important that your entire environment is mirrored across all the nodes. If you don’t have a SAN (Storage Area Network) device such as an ISIS, it’s ok. For this example, we’re using the RAID drives on the creation machine as storage. We set our content drive letters on Windows to V:\ and W:\  on the creation machine, named “HarleyQuinn”.  Then, on both of our render nodes, “Talia-AlGhul” and “White-Canary,” we map those same drive letters across the network to HarleyQuinn’s drives. Now all the computers are using the same physical drives associated with the same drive letters.

Mapping and mounting your content drives to the exact same drive letters / names is crucial to avoid having to copy (or collect) your raw assets, saving you tons of drive space.

On Macs it’s a little easier. Simply mount the network drives and they’ll have the same drive names as they did on the local machine. If you do have a SAN, just make sure all drive letters or mount names are the same for each drive on each render node

It’s also important to use as high-speed of a network as possible — Gigabit or higher.  Slow networks can cause slow renders. This is another advantage of using an old server. The R610s we’re using have four ethernet ports at a Gigabit each. They all work together to give the servers four gigabits of network bandwidth.

You should also have a way of monitoring your render nodes without getting up from your main computer. On a Mac, you can use screen sharing. On Windows, a screen sharing software package like Team Viewer, Logmein or VLC can be used. This will let you control all the render nodes and monitor them from one machine.

Setting Up and Kicking Off Renders

In After Effects, you should add your composition to the Render Queue. For the Output Module, select “Multi-Machine Sequence.” This is essentially an image sequence of PSD files output to a folder. Since there will be an individual image file for each frame, make sure you set your output to an empty folder, for your own sanity’s sake, on your content drive — V:\ or W:\ in this case.

Render farms work by distributing the work.  Each render node works on one frame of the video concurrently and saves that frame as one image to the same folder.

Also, make sure you tick “Multi-Machine Settings” under the Render Settings options.  This ensures that no two-machines will work on the same frame at the same time.
Now, on each render node, you can start up the render engine in one of two ways:
First, if it’s a dedicated render-node, you may as well just start up the render engine’s GUI and set the watch folder (File>Watch Folder). That sets the render node to automatically look at a folder on a network location and to start rendering if it finds a render-ready project.

The other way is use a command line. On dedicated render nodes, this can be useful to just start up the render engine on startup. If you’re doing rendering on idle machines, this can be assigned to a batch file that someone clicks on their desktop when they go to lunch, or it can be associated with a task scheduler — literally called “Task Scheduler” in Windows, or an iCal event on a Mac — so that every night it starts up after working hours. The command line on windows for a watch folder located on W:\AErender looks like this: "C:\Program Files\Adobe\Adobe After Effects CC 2017\Support Files\afterfx.exe" -wf W:\AErender

The quotes are necessary in the command line because of the spaces in the path to afterfx.exe.

Finally, all you have to do is kick off the render by collecting your project (File > Dependencies > Collect Files). Now, if you know After Effects, you were probably freaking out when we said you needed all the same drive letters and names across all nodes. Although it’s true that if you collect all the files associated with a project, you don’t need to do this. But why would you want to duplicate hundreds of gigabytes? Let’s save some drive space by utilizing our mapped drive policy. On the top dropdown menu, for the Collect Source Files interface just select “None (Project Only).” All of our source files are either on V:\ or W:\, and those drives are mapped properly, so no need to collect these files. After you complete this, the nodes will pick up the render and begin rendering frames.

The Selling Point for the Boss

Network rendering can really improve your efficiency at the office. Think of it this way: your average motion graphics artist in San Francisco makes around 35 dollars per hour. If adding a network node saves you 13 hours of that artist sitting and watching progress bars, that render node just paid for itself. We guarantee that motion graphics artists spend more than 13 hours staring at the word “rendering” on their screens in a year — some might even reach this amount in a month or a week.

For a complete tutorial on the processes described above, feel free to check out:

Conclusion

A little confused? Don’t worry; the first time you do anything it can be a bit overwhelming. But believe it or not, it’s pretty simple to setup and use render farms with post-production software. Lightwave has LWSN; there are a plethora of network rendering tools for Maya, Nuke, Shake and other packages. Once you setup your first renders and get them going, you won’t be able to help but brag about it and talk about how cool network rendering is.

Not only that, but you can render as many times faster as machines you can plug in!  You can even start a render and move on to another project!

Ty Audronis has consulted on Post-Production Technology and Workflows for major network studios, film houses, advertising agencies, and educational facilities.  He has well over 20 years of production technology experience.

Issue: 

Ty
Audronis
Thu, 02/02/2017 - 3:16pm