Building a Render Farm - Price vs Performance in Blender $$
So, its 2020, a new decade is upon us and what better way to set yourself up for success in your creative projects than building a render farm? However, if you've never designed or even heard of a render farm before, this task might seem daunting.
In this article we present some solid benchmark data and recent pricing to help you get a handle on how much bang for your buck you can expect. The data is from blender.org and is freely available by the way, just in case you want to delve deeper.
By the end of this article, you should have a good understanding of how performance relates to price for CPU based render farms, and some ideas for hardware.
Top ten CPUs according for rendering in Blender (using cycles)
This graph shows the top ten CPUs according to the open benchmark data from blender.org. The x axis shows how many seconds each CPU took to render a scene using the cycles engine (we used the barber shop interior scene), the y axis is price in Australian Dollars of that CPU. All data was using windows and blender 2.79b.
Whats immediately plain to see is that the relationship between price and render time is not linear, which means that if you want to half the time it takes to render, in some cases, you more than double the cost. Mathematically speaking, performance appears to be related to cost by a power or polynomial function. We'll see a similar relationship in a moment when considering a render farm consisting of multiple systems.
You can see a similar thing happening in the chart below, from another benchmark software. Once you account for the outliers, the data is curved, not linear! Also note AMD pretty much owning Intel right now in terms of value in this benchmark. Read on though cause it isn't all AMD win in this article!
Whats also important to recognise here, is that the data in the graphs above is the cost of the CPU only, we have to add the rest of the system build costs to get a more accurate number of what it costs to build a system capable of rendering. Thankfully the cost of the system is fairly similar across the CPUs we chose since we aimed to build each system to a certain price point for the other components.
This means that after adding the rest of the components to the cost, the data points don't move much relative to each other and we see similar performance for price as before. So the chart above is still useful for considering even just a single system for rendering, with one caveat! The benchmark data doesn't say what motherboard, hard drive and RAM were used, only the CPU, so your results may vary!
Which CPU should we choose then??
If we were building just one system, then we'd like to choose the fastest CPU of course! Being more realistic, the fastest CPU we looked at costs over four grand, so it might not be in your budget. We can select our hardware based on best bang for buck then, which means we'd prefer CPUs that give us good performance for the money, we can see a few CPUs in that category, relatively speaking.
For example, if your budget for a CPU is say, $600, this is pretty easy, the chart shows three CPUs under this price, and the 1920X is the fastest, so if Blender rendering in cycles is what your are buying the CPU for, the choice here is easy. If we choose higher price points, the curve in the chart can help (its a trend line, so its based on the data you see, and isn't perfect, but helpful nonetheless).
If, for example, we want to look at a $2000 CPU, then we can again use the data in the chart, there are a couple of choices here, the i9-7989XE and the i9-7920X (of course in reality there are probably more choices than this, but these are the data we have for blender!). Of the two CPUs, the i9-7980Xe appears like it might be the better deal just looking at the chart, $300 more expensive, but over 300 seconds faster. So an 18% increase in price for a 33% reduction in render time. Seems like a good deal and it appears our chart does help us find better value CPUs for the task of rendering in Blender.
Things are about to get interesting though, lets see what happens when we start building a render farm!
Whats in a render farm??
Simple, lots of computers, and building one isn't exactly rocket science these days. If you have two computers in your house and a wifi router, you can build a render farm. Here's a video on how to do that if you are interested!
The basic idea is many computers doing at least one frame each. If you have two computers, doing a frame each at the same time, you just doubled the amount of frames you're rendering and potentially halved your render time.
I say potentially because to exactly halve your render time with two machines, is kinda impossible as we'll see. First, the two computers need to have the same rendering power, and second, overheads like reading from the disk, building the scene and preparing to render all reduce the effective increase in speed. That said, if you have a scene that takes a lot of time to draw its pixels compared to the loading and building phase, you'll see excellent results.
Performance vs Price for a render farm
Since a render farm is just many computers, we can model the performance vs price of a few different configurations if we know the render time and cost for one system. In the chart above we've modelled two render farms, one uses a system configured with the fastest CPU (the $4000 one!) and the other uses the tenth fastest, which was the thread ripper 1920X. There are 20 computers in each farm. As you can see, it gets real expensive real quick as you try to get the render time down to zero!
What you also need to realise here is that these are ideal render farms, they don't account for the overhead in render time we just mentioned. However, they are useful for educational purposes, just don't try to forecast how fast you can render the barbershop interior scene using these curves! You'll find your render farm won't be as fast.
That said, the curves are useful to understand where the sweet spot for your renderfarm is. You can see from the chart that going from one machine to two makes a huge difference in the render time, it halves it (ideal case, not real!). However, the increase in power is smaller for each computer you add, until the cost is rising very steeply compared to how much benefit you are getting. You might have noticed that it is physically impossible and mathematically impossible to get the render time to exactly zero!
So don't try!
Why cheaper faster isn't always better
If we zoom in where the two curves are closest ( apologies for the blurry image there ) we can see that even though the Intel Xeon CPU is far more expensive, it is quick enough to actually be a more valuable purchase. Though not by much. As you can see, if our budget was around say $10000 for a render farm, we would get slightly more power, for slightly less money if we chose the Intel platform, than threadripper.
However, there's more to it than that. First, redundancy. The thread ripper farm has seven computers in total for the $10000-ish budget. Loosing one machine due to failure moves us very little on the curve in terms of lost performance. The Intel farm is far more risky here, it has only two. So death of one computer means the render time just doubled! So if redundancy is your thing, you'd go with the slight performance and price penalty, but have seven computers not two.