Jump to content
Sign in to follow this  
AromaKat

How to Build an Amazon EC2 Render Farm for C4D

Recommended Posts

Yeah, I got it working a while ago. Then I broke it somehow so I had to re-do the setup from scratch and figured it would be a good opportunity to do a walk through video for my own records and to share.

 

It wasn't fun, but I hope someone out there benefits from it.

Share this post


Link to post
Share on other sites

Do you know how much this might save you over using RebusFarm or RenderFeed or something like that?

 

That is a little difficult to answer.

 

First, there are some up front costs using the method I am. Approx 2k worth. So you have to consider that into how much you actually use such render services. There are also monthly costs involved just to keep your machines available. All of this is discussed in the videos.

 

I had this working on R13 with Net Render, but with R14 we had to use deadline. I can't say for sure, but team render server in R16 may be able to support this type of method without Deadline. That would also save you some money on command line render licenses. So that could possibly save you pretty much all of the up front software costs. That said, you would definitely need a dedicated "team render server" machine, which feels a bit against what Maxon is doing with it. Due to the networking aspect of the setup, it would be impossible to have multiple machines act as the team render server willy-nilly. Again, we will have to wait and see how the new team render server actually works. Also, if its using the same authentication methods as R14 team render, there may be some issues. I was able to get team render to see the ec2 machines when initially trying to go down that path, but it gave a weird authentication error that I could never resolve.

 

Now, for just regular rendering, to have my 5 machines rendering for 24 hours costs $350 - the same as RenderFeed's day rental of one block unit which I'm pretty sure is also a set of 5 machines. They aren't transparent about the specs of their hardware, but at best they could have the same hardware as these EC2 machines. The 8xLarge instances I'm using is the fastest hardware config you could possibly have these days.

 

I highly suspect Renderfeed's OnDemand service is pretty much this exact setup, with a custom plugin and an interface with their Amazon account's API. Creating a web interface that communicates with deadline to create accounts, talk to Amazon, etc is all a feature of Deadline. I'm pretty sure most render farms out there are being managed by Deadline. Again, there is no real transparency with their OnDemand service but you have to pre-pay with them in set amounts which can get weird if you under / over estimate what you need. Also, surely in order for them to make money there is a markup.

 

Rebus is the cheapest Ghz/hr type farm out there. Its not SUPER cheap until you are talking about rendering a feature or something. Its difficult to estimate costs even with their calculator because of the whole Ghz / hr billing schema. With EC2 its just hourly per machine.

 

The real benefit, for me, is that I don't have to wait on support if there is a problem, am able to install whatever libraries / plugins I want, and the billing makes a bit more sense than a pre-pay options out there.

 

Using spot instances could end up costing only 1/3rd of this solution. It just involves a TON of extra babysitting / admin stuff through the AWS admin panel, remoting into all your machines, etc each time you want to render. For us, working on 30 second commercials with

Edited by AromaKat

Share this post


Link to post
Share on other sites

That was an awesome, informative reply! Thanks! I have used Rebus Farm on a few jobs, and it's an awesome option for certain situations. If I need to render a couple of 3D things and it will take 3-4 hours on my machine, I'm happy to pay $25 to render it in 10 minutes through Rebus. I don't do a lot of render-heavy 3D stuff, and I imagine that's when it starts to make sense to invest in a farm or an Amazon setup. I think I've spent like $100 with Rebus so far, and I tried RenderFeed but their C4D plugin didn't seem to work very well.

 

joey

Share this post


Link to post
Share on other sites

I haven't tested it yet, but after reading the manual on how Team Render Server works it seems that it should work just fine on an EC2 farm. Not only that, but there would be no need for a license server, command line rendering licenses, or Deadline. So, no upfront software costs!

 

I'll work on an updated how-to this weekend.

Edited by AromaKat

Share this post


Link to post
Share on other sites

Just tried everything out and I think its safe to say R16 will not work in an Amazon EC2 setup like this natively, like what was possible in R14.

 

The reason being that, like r15 teamviewer, the server needs to reach out and find each client node instead of each client node phone homing to the server. This is fairly troublesome in Amazon world.

 

I couldn't get elastic IPs to work, either. Even had all firewall settings wide-open.

 

Oh well. I'm just bummed that I can't render R16 until there is an update on Deadline's end that supports R16.

Share this post


Link to post
Share on other sites

Oh well. I'm just bummed that I can't render R16 until there is an update on Deadline's end that supports R16.

I was able to modify some Deadline files a while ago to add submission support when a new version of Maya was released but hadn't been updated by Thinkbox yet. If the pattern is the same for C4D then if you add R16 lines to the /Repository/plugins/Cinema4D/Cinema4D.dlinit and Cinema4D.param files (this just adds a box and sets the path for what you see in the 'plugins' window in Monitor). And you may (or may not) need to update the /Repository/scripts/Submission/Cinema4DSubmission.py to update the VersionBox. My hunch is you just need the .dlinit and .param updates but haven't tried it myself.

Share this post


Link to post
Share on other sites

I was able to modify some Deadline files a while ago to add submission support when a new version of Maya was released but hadn't been updated by Thinkbox yet. If the pattern is the same for C4D then if you add R16 lines to the /Repository/plugins/Cinema4D/Cinema4D.dlinit and Cinema4D.param files (this just adds a box and sets the path for what you see in the 'plugins' window in Monitor). And you may (or may not) need to update the /Repository/scripts/Submission/Cinema4DSubmission.py to update the VersionBox. My hunch is you just need the .dlinit and .param updates but haven't tried it myself.

 

Nice! Thanks!

Share this post


Link to post
Share on other sites

I was able to modify some Deadline files a while ago to add submission support when a new version of Maya was released but hadn't been updated by Thinkbox yet. If the pattern is the same for C4D then if you add R16 lines to the /Repository/plugins/Cinema4D/Cinema4D.dlinit and Cinema4D.param files (this just adds a box and sets the path for what you see in the 'plugins' window in Monitor).

Can confirm this works for R16, was able to do a test render via Deadline 6.2.0.32. Just copy/paste the previous line(s) for the .dlinit and .param files that have "R15" and change to "R16"

Share this post


Link to post
Share on other sites

Found some tutorial videos on how to setup Deadline 7's new VMX & Cloud Wizard for cloud rendering. See videos 13-15.

http://www.thinkboxsoftware.com/deadline-7-webinar-videos

 

Seems interesting for budget limiting and being able to use multiple clouds at the same time (Amazon, Google, MS Azure, etc.) Sounds like it installs the repository directly in cloud storage (video 15 @ 3:15), but I'm curious if the 'sample images' he mentioned already has command line rendering software like Maya or C4D already preinstalled or if you still need to go through the whole install process. Looks like he simply installed the wizard and started rendering a Maya and Blender job?

Share this post


Link to post
Share on other sites

Sounds like it installs the repository directly in cloud storage (video 15 @ 3:15), but I'm curious if the 'sample images' he mentioned already has command line rendering software like Maya or C4D already preinstalled or if you still need to go through the whole install process. Looks like he simply installed the wizard and started rendering a Maya and Blender job?

 

Deadline 7 does add some very nice script features to specify budget and things, which is super nice, but aside from greater control and visibility of different stats on the cloud service provider side, not too much is different. Not to sound like its a bummer - all of this is fantastic. The wizard is for the deadline install. He just didn't go over the software side because it supports like, 100 different programs.

 

In the case of C4D, you need command line render licenses. Other software requires similar licensing so I dont see how its possible to just use a magic wizard.

 

Yes, just like before, the repository needs to be somewhere accessible by ALL machines, and be as quickly updated as possible. I use dropbox, and it looks like they are using a mapped s3 bucket or something. Same thing, really.

 

And yes, you need to install and configure your images beforehand.

 

VMX, is just a buzz phrase for a virtual machine instance. Thats all. Its not new magic.

 

However, once configured for the most part, you can use deadline to push updates across all machines at once. So you dont need to log into each and every one and plug whatever plugin in. You can just script it, and deadline will push the same update out across all machines. You wouldnt want to do this for the big installs, because it is still indeed uploading from your office workstation once per instance you have floating out there. Its great for adding a plugin real quick though.

Share this post


Link to post
Share on other sites

I just wanted to add an update here, in case anyone else is actually doing this.

 

 

For the past few weeks, I have been trying everything I could to get this working within a linux server environment, which would cut the hourly cost nearly in half. I hired on a linux programmer for help, and we have nearly everything working. I can't figure out how to tell deadline to launch a program via WINE though, and its currently just throwing an error indicating the application is not built for the OS. Also, an interesting find is that cinebench via wine seems to only register 4 cores of the machine, which baffles me.

 

 

 

Anyway.... I tested the brand new C4.8xlarge ec2 instances on the regular Windows instances today. 29% better performance (cinebench of 2675 compared to 2072 of the c3.8xlarge instances) with an hourly cost difference of +17.5%. So... its about 12% more bang for the buck.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...