A render farm is a collection of one or more computer(s) that are almost exclusively used for rendering images. At larger facilities a “render node” normally takes the form of a 1-u server (such as this one)
Why are they needed?
Rendering images is a CPU intensive job. It takes a long time to figure out where the billions of light rays emitted from a light end up. Similarly it takes a while to overlay 30+ 4k plates in stereo, colour correct and warp for lens distortion.
In short they do lots of heavy lifting so artists can get results quicker.
What software is needed?
Surprisingly very little, at its heart a render farm is incredibly simple. There are three components:
- A dispatcher
- A render node
Number 1 are your artists, they need to have a way to create jobs to run on the farm. Once you have a list of jobs, you need something to manage them all, that’s where number 2 comes in. It will work out what nodes are free and tell them to run a job. Finally you need a render node that does the heavy lifting.
If you substitute number 3 for taxis you’ll get a real world analogy that fits rather well.
A worked example:
Taking the taxi analogy for a moment, imagine you have a client that wants to move 200 people from A to B. It takes about an a hour to physically travel that distance, so the logical thing to do is to try an fit as many people into a car and move them all at once.
A 200 person taxi might exist, but it’s going to be expensive. You could just use one taxi and go backwards and forwards. However that’ll take days. If you use two taxis, you’ll reduce the over all travel time by ½. If you have 50 taxis, you could move everyone in 1 hour.
The same thing holds for Rendering. If your render takes 1 hour, and you have 200 frames, it’ll take just over 8 days to render it all on one computer. Chuck 200 computers at it and you might be able to render everything inside an hour.
The real world
Sadly in the real world, things are a little harder. On the very basic level, how do you physically install an operating system on 200 computers, what cooling requirements are there? How do you get the source files onto each node? Where does the node up its finished image? Can the network disk supply enough bandwidth? Real time cinema 4k playback requires ~500 megabytes a second bandwidth to play in real-time. ( a normal hardrive can sustain around 80megs a second)
There are no off the shelf renderfarms, they require a certain amount of planning . You’ll need to figure out where the bottlenecks are. There is no point throwing loads of CPU power at a job that requires lots of disk I/O. Only by knowing your workload will you be able to make things faster.