Blender Flamenco - 3 node render farm now working!

I finally got a 3 node render farm working with Flamenco! I’m using Linux Mint to run the Dashboard, Server, Manager, and Worker. I have OS X and Windows 10 computers running just as Workers.

The entire process is documented here separated into 6 Pages: https://ontheothersideofthefirewall.wordpress.com/2015/09/05/blender-flamenco-3-node-cluster-working/

The more interesting one is probably the timings and results Page: https://ontheothersideofthefirewall.wordpress.com/blender-flamenco-timings-and-results/

But to save you from having to read a wall of text, here are the end results:

I have 3 computers, 1 more significantly powerful than the other 2.
Here are the main specs of the animation that I rendered:

240 frames @ 24 Frames Per Second -> 10 second video

780p resolution (1280 x 720) at 100%

100 samples (Thus we are using Cycles)

Time it took to render on the Flamenco farm: 20 minutes
Time it took to render on just my most powerful computer: 26 minutes

While the animation itself is nothing special, here is just for the sake of it: https://www.youtube.com/watch?v=o-gEMF25rQg

I hope this helps anyone else who is looking to get a Flamenco render farm up and working.

–Shaun

So I decided to splurge, and ran out and got an NVIDIA GTX 970 :slight_smile: (It’s actually an NVIDIA produced card compared to ASUS/PNY/etc). I put this in another older computer that I had built in 2009. Fortuantely it still has a pci-e slot, so all I had to do was get another new power supply as well.

I decided to do a couple interesteing tests. The first one was to do the same render with just these 2 computers (so using a GTX 780 and a GTX 970). The render time on the Flamenco farm - 17 minutes. Compare that to 20 minutes when I had my original 3 systems running. I was also curious how many chunks each card would render:

GTX 780: 28 chunks
GTX 970: 20 chunks

Ok, so that seems about right. The N80 series is one step up from the N70 series, so it makes sense that the 780 was able to do more chunks than the 970. But the 970 can still clearly do a good portion of the rendering.

So now let’s get all 4 systems in the farm rendering the same animation. How long does it take…15 minutes. So 2 minutes less when we add an NVIDIA 650M and a Core i3 processor.

So what would have taken me 26 minutes to render, I can now render in 15 minutes. The longest render I ever did took 60 hours on my GTX 780. If my math is right, I estimate if I re-did that render on this farm, it would have taken about 35 hours. Makes me happy :slight_smile:

–Shaun

hey, thanks a lot for the indepth documentation on the setup. we plan to get about 20 workers hooked up which are currently used for software testing so we want to make use of the idle time:D
i was trying to get the manager and server running on windows but im stuck with this error when i run either of them.
do you have any idea why i get this error?

C:\SVN\flamenco>python ./flamenco/manager/manage.py runserverINFO:alembic.migration:Context impl SQLiteImpl.
INFO:alembic.migration:Will assume non-transactional DDL.
Automatic DB Upgrade
Press Ctrl+C when finished
Traceback (most recent call last):
File “./flamenco/manager/manage.py”, line 118, in <module>
manager.run()
File “C:\Python27\lib\site-packages\flask_script_init_.py”, line 412, in run
result = self.handle(sys.argv[0], sys.argv[1:])
File “C:\Python27\lib\site-packages\flask_script_init_.py”, line 383, in handle
res = handle(*args, **config)
File “C:\Python27\lib\site-packages\flask_script\commands.py”, line 216, in call
return self.run(*args, **kwargs)
File “./flamenco/manager/manage.py”, line 38, in runserver
upgrade()
File “C:\Python27\lib\site-packages\flask_migrate_init_.py”, line 176, in upgrade
config = get_config(directory)
File "C:\Python27\lib\site-packages\flask_migrate_init
.py", line 45, in _get_config
config.set_main_option(‘script_location’, directory)
File “C:\Python27\lib\site-packages\alembic\config.py”, line 198, in set_main_option
self.file_config.set(self.config_ini_section, name, value)
File “C:\Python27\lib\ConfigParser.py”, line 753, in set
ConfigParser.set(self, section, option, value)
File “C:\Python27\lib\ConfigParser.py”, line 396, in set
raise NoSectionError(section)
ConfigParser.NoSectionError: No section: ‘alembic’

C:\SVN\flamenco>pause
Press any key to continue . . .

Hard to say, but try removing/renaming the manager.sqlite file and restarting the manager (Manager will recreate the manager.sqlite file). It looks like it’s having trouble with a DB upgrade, so maybe something got corrupted early on. After removing the manager.sqlite file, it will then prompt you again for the path’s to your Blender binaries.

–Shaun

unfortunately it doesnt help removing the sql file.

however i also removed the config file and now getting the message

ERROR:root:No config.py file found, importing config from Server.

so does that mean i need to run the server first before i can start the manager? i get the same ‘alembic’ error when i try to start the server as well… so i will do some more googling about that issue.

ERROR:root:No config.py file found, importing config from Server.

By default in each of the components “application/config.py” does not exist. So basically it’s just getting default values. There is however an application/config.py.example that you can copy as application/config.py and tweak as necessary. In my case, I don’t have a config.py for the Manager, so the defaults were fine for me. But on the Workers for example, I had to copy/tweak the config.py file so they point to the Manager’s ip address. Your mileage will vary here depending on your network setup.

I just tried starting the Manager with the Server down, and the Manager just constantly tries connection with the Server “Cant connect with Server, retrying…”
So yes, the Server does need to be started before the Manager.

You can also post the issue on Flamenco’s github issue page: https://github.com/armadillica/flamenco/issues

Another thought, do you have python 3 installed as well? If I remember correctly, I ended up needing both Python2 and Python3 to make everything work.

–Shaun

yes i have python 3 installed as well and tried to get it running with python 3 but there i get some other issues. might have an other look.
i also opend a issue in the git tracker so maybe i will get some additional information there:)

got help on the issue tracker and i was trying to run the server like

this:

python  ./flamenco/manager/manage.py runserver

which was the issue. instead one needs to start directly inside the folder for alembic to work

like this:

cd ./flamenco/manager/
python manage.py runserver