I have quite a few computers at my disposal- about 100 mac pro's bought 2 years ago, just as many windows PC's of varying age (1-3 years), 50 linux machines and a good few terabytes of storage on a central server. I'm seriously considering getting everything together into a cycles render farm. How can I set something up easily and quickly which will make use of everything I've got?
You could install BURP on one or more machines, and the BOINC client on the rest. That way you don't have to worry too much about the composition of your farm. This is what we also use on Renderfarm.fi as our backend.
I would recommend using the network render add-on. It's since Blender is cross-compatible, they should all work together fairly well(I've made it work between Mac and Windows). The docs are here: http://wiki.blender.org/index.php/Doc:2.6/Manual/Render/Performance/Netrender
Basically to sum it up, you'll have to:
- Enable the Network Render Addon
- Create a master server
- Create the slaves and connect them to the master
- In the master settings, set the render engine to Cycles.
$\begingroup$ The network render add-on is no more, it does not work anymore with a current Blender release of 2.8 or 3.x $\endgroup$ Jul 13, 2021 at 1:48
I have used DrQueue before. It isn't the easiest to use, but it is quite powerful, from what I understand. The guy who built the IKEA cabinet render farm used DrQueue, so it's got to be good, right? I believe the Blender Foundation uses DrQueue for at least one of their render farms- but don't quote me on that.
I have setup several render farms before. Some where made of dedicated computers, others using workers computers during night.
Looks like the computers you are talking are used by workers during day. In this scenario you have to think about several things :
- you must release ressources instantly when a user need his computer. I mean really quick, something that kills the process. Even with this the computer will feel sluggish while resuming (it have to clean ram). The best is to stop rendering early on the morning an shutdown or restart computer.
- computer that work all night generate a lot of heat, I mean a lot, when you enter in a 20 computer office early it is so hot that you must open the windows in winter so I let you imagine in summer.
- don't think about making something run on computers all day, or at very low priority and keeping at least 2 cores for user. And even in these conditions on dual xeon with 16Gb of ram, users complained of performance impact (they were coding with visual studio). And I must admit there is a performance impact even if you use only 40% of CPU. I think it is related to CPU cache RAM usage.
- questions will rise about energy usage, the electricity bill will be much higher
So if you are thinking "ho, there are some computers at job, let's play with them"... then you'll need to be careful.
That said, you'll find plenty of tutorial online. My advice : - use a dedicated software, there are plenty, make sure it has multi pool management and scheduler, and ability to kill running tasks (so you can kill them before employee get back to work) - use a dedicated file server, and don't make it also a master (don't know why, it should be multitask, but in practice it works much better to have a separate master) - use a powerful network, with a good switch, make sure all NIC drivers are up to date - take a good book to read, if something goes wrong you'll have to spend lot of time waiting for renders to fail, meanwhile it is better to read something interesting than just watching progressbars.