Jump to content

Amazon EC2 render farm for EIAS


verb
 Share

Recommended Posts

Has anyone else tried to set up rendering cores on an Amazon EC2 virtual machine?

 

They have a year worth of free computing, I thought I'd give it a go.

 

I've been able to set up the machine and install eias (on windows server 2008) but rama can't seem to access the machine, I've opended all TCP and UDP ports with no luck.

  • Like 1
Link to comment
Share on other sites

Okay, I got this working it was a problem with the virtual machine's firewall settings, turning off the firewall within the virtual machine fixed the problem (the amazon firewall is still running)

 

Anyone interested in this, I followed this dudes post to get the basic virtual machine set up and running (http://www.judpratt.com/tutorials/ec2-renderfarm/) then simply downloaded and installed eias within the virtual machine, set up the slave, and entered the amazon dns name and port into renderama, it now works a treat.

 

I think Amazon have a free service for a year, so far I've set up 4 machines, each machine has a geek bench score of about 2500, my mac pro is about 14000 so 4 machines is kind of like adding an extra machine to my work flow, I'm not sure yet what the limit is for a free user, but I'm going to find out :)

Link to comment
Share on other sites

1. The first thing you have to do is set up an account with Amazon, or login with your existing account.

 

2. Follow this guys guide on setting up the virtual machine (http://www.judpratt....ec2-renderfarm/) I think you only need to watch the first one or two videos, make sure you learn how to create an AMI image, you use this once you've finished setting up the first slave. He's setting up a different render farm so you can ignore everything past the first or second video.

 

If you want to keep it free be sure to read (http://aws.amazon.com/free/) and make sure you understand what is free and what is not. There are plenty of CPU options if you want to pay, kind of handy if you're in a rush and need to finish a job. One you've set up your first slave you can create as many nodes as you like and you can set up new nodes with different CPU's, you're not locked into the cpu you set up on the first instance.

 

3. Set up your security group to only allow for the remote admin port, and the slave port, you do this under "security groups" in your Amazon services dashboard, Jud briefly goes into this on his video.

 

4. Log into your windows machine, Jud explains how to connect so if you watch his videos it should be pretty easy. I'm on os x so I use CoRD (http://cord.sourceforge.net) great program it works a treat.

 

5. Once you're logged into windows use internet explorer to download a better browser ;)

 

6. download eias 9

 

7. Create a short cut for slave so that the application opens on start-up. (I don't use windows and can't remember how to do it - google it)

 

8. go into the start menu and go to the control panel, choose security/firewall and turn it off. I couldn't get slave to get through it so gave up on it. Besides you control access to the machine using amazon security groups.

 

9. test access to the machine, type the DNS name of your machine into renderama with the port number (the same url you use to connect to the virtual machine, Jud shows you how to find this) Make sure your new slave renders your frame :)

 

10. Once you've got your machine rendering, make sure there's not camera control file in the EIAS folder (I assume everyone knows how to find this file) and log out of the remote desktop app.

 

11. Find your new machine instance in your EC2 control dashboard, right click or control click the instance (it can be running) and choose "Create Image (EBS AMI)" give it a name like EIAS render node or whatever. This will capture an image of your set up slave machine. Give it 10 minutes.

 

12. Go to "images/AMI" in your amazon EC2 dashboard and find your new machine image, Right click/control click the image and choose "Launch". This will bring up a dialog box, the "number of instances" is the number of slaves, so if you want 10, make it 10. Instance type: "T1 Micro" is the only free one. It has a geek bench score of about 2500, but only 650 mb of ram, so if you need more ram you'll have to pay. continue on until you get to "configure firewall", and choose the setting you created with the renderama ports, you might only have one setting/option here. Continue on to review and press "Launch". This will launch 10 new instances (or whatever number you created)

 

13. Go to "instances" in your amazon EC2 dashboard, there you'll find your 10 slaves, give them a few minutes to boot up, you'll need to right click each one and choose "connect" to get the DNS name to type into renderama, these machines will be identical to the first slave you made so should work the same, you might need to give it 5 minutes for each machine to boot up and open the slave app.

 

14. If renderama doesn't connect or can't connect, log into each machine and make sure the app has opened and your slave short cut is working.

 

I've only been using this for 24 hours so don't have much trouble shooting experience, but at this stage If I'm in a pinch to finish a job, I think this is a great option.

 

The only other thing I'd say is if you've got a lot of data (models, texture maps etc) for renderama to upload to each slave, I recommend setting up the first slave with the job already uploaded to the slave to save bandwidth and the time to upload.

 

Lastly, you get 730 hours per month, so if you set up 10 machines, thats 73 hours with 10 machines running, So when you've finish with the machines be sure to shut them down by right clicking on each of the instances and choosing "stop" otherwise you'll be up for a hefty bill.

 

Have fun.

  • Like 1
Link to comment
Share on other sites

  • 2 weeks later...

An 8 core "high CPU" instance with 7GB RAM is only .90 per hour, still very affordable (and scalable with multiple instances).

 

In a severe time crunch you could run 80 cores over a 24 hour peroid for $216.

It turns into "real money" in a hurry over a few days time, but if you need maximum resources for a short timeline (and you can charge for it) this could be a great option.

 

 

For a "paltry" $2160 you could run an 800 core render farm for 24 hours!

  • Like 1
Link to comment
Share on other sites

  • 2 years later...

1. The first thing you have to do is set up an account with Amazon, or login with your existing account.

 

2. Follow this guys guide on setting up the virtual machine (http://www.judpratt....ec2-renderfarm/) I think you only need to watch the first one or two videos, make sure you learn how to create an AMI image, you use this once you've finished setting up the first slave. He's setting up a different render farm so you can ignore everything past the first or second video.

 

If you want to keep it free be sure to read (http://aws.amazon.com/free/) and make sure you understand what is free and what is not. There are plenty of CPU options if you want to pay, kind of handy if you're in a rush and need to finish a job. One you've set up your first slave you can create as many nodes as you like and you can set up new nodes with different CPU's, you're not locked into the cpu you set up on the first instance.

 

3. Set up your security group to only allow for the remote admin port, and the slave port, you do this under "security groups" in your Amazon services dashboard, Jud briefly goes into this on his video.

 

4. Log into your windows machine, Jud explains how to connect so if you watch his videos it should be pretty easy. I'm on os x so I use CoRD (http://cord.sourceforge.net) great program it works a treat.

 

5. Once you're logged into windows use internet explorer to download a better browser ;)

 

6. download eias 9

 

7. Create a short cut for slave so that the application opens on start-up. (I don't use windows and can't remember how to do it - google it)

 

8. go into the start menu and go to the control panel, choose security/firewall and turn it off. I couldn't get slave to get through it so gave up on it. Besides you control access to the machine using amazon security groups.

 

9. test access to the machine, type the DNS name of your machine into renderama with the port number (the same url you use to connect to the virtual machine, Jud shows you how to find this) Make sure your new slave renders your frame :)

 

10. Once you've got your machine rendering, make sure there's not camera control file in the EIAS folder (I assume everyone knows how to find this file) and log out of the remote desktop app.

 

11. Find your new machine instance in your EC2 control dashboard, right click or control click the instance (it can be running) and choose "Create Image (EBS AMI)" give it a name like EIAS render node or whatever. This will capture an image of your set up slave machine. Give it 10 minutes.

 

12. Go to "images/AMI" in your amazon EC2 dashboard and find your new machine image, Right click/control click the image and choose "Launch". This will bring up a dialog box, the "number of instances" is the number of slaves, so if you want 10, make it 10. Instance type: "T1 Micro" is the only free one. It has a geek bench score of about 2500, but only 650 mb of ram, so if you need more ram you'll have to pay. continue on until you get to "configure firewall", and choose the setting you created with the renderama ports, you might only have one setting/option here. Continue on to review and press "Launch". This will launch 10 new instances (or whatever number you created)

 

13. Go to "instances" in your amazon EC2 dashboard, there you'll find your 10 slaves, give them a few minutes to boot up, you'll need to right click each one and choose "connect" to get the DNS name to type into renderama, these machines will be identical to the first slave you made so should work the same, you might need to give it 5 minutes for each machine to boot up and open the slave app.

 

14. If renderama doesn't connect or can't connect, log into each machine and make sure the app has opened and your slave short cut is working.

 

I've only been using this for 24 hours so don't have much trouble shooting experience, but at this stage If I'm in a pinch to finish a job, I think this is a great option.

 

The only other thing I'd say is if you've got a lot of data (models, texture maps etc) for renderama to upload to each slave, I recommend setting up the first slave with the job already uploaded to the slave to save bandwidth and the time to upload.

 

Lastly, you get 730 hours per month, so if you set up 10 machines, thats 73 hours with 10 machines running, So when you've finish with the machines be sure to shut them down by right clicking on each of the instances and choosing "stop" otherwise you'll be up for a hefty bill.

 

Have fun.

Hi,

Been testing this for a long time now and it works very well.

The setup described (above) is a bit outdated but a big thanks, only because Amazon has vastly updated their interface since this post. It's really quite easy to setup. 

Also monitoring and clarity of what is going on has vastly improved.

Basically I keep an "image" (AMI) of a complete computer setup with EIAS rama and slave up on Amazon. This does cost. Around $1.22 per month. Depending on your storage (GB) amount.

I can launch that image of that setup onto any machine that they offer at any time.

As I type this I am running 4 x 62 cores at $1.55 USD each. (4 x 1.55). Once they finish, I terminate them and the cost stops. "Alarms" can be set to impose as well.

The upload via rama from my desktop is the pain though. Fast transfer through rama via internet connection I am yet to find. 

Hence my other post to be able to collect files from EIAS, render to rama on a virtual disk and upload the disk image, run rama from another (free) virtual machine to the more powerful slaves (all on Amazon) and it is a complete virtual renderfarm. It does work, just organising EIAS to look for the correct "collected" files is the trick.

I think I will just re-name my hard drive each time. Bit nerve wracking though!

The speed up in transfer being by uploading to the virtual machine via dropbox or FTp etc. and downloading then running from the virtual machine.

Thought I would post this for the reason that it may be a useful tip.

BTW the way, a tip and tricks section on the forum would be handy!

Best regards,

 

 

 

  • Like 1
Link to comment
Share on other sites

  • 3 weeks later...

Hi,

I will post a video Tomas, still working on a few things to get this "workflow" friendly.

I did just realise I didn't mention another post on this forum that relates to running rama on another machine. I can't find it right now, it was based on a Mac but same principal.

That is a key element in getting the rama file up onto the virtual machine and running it from there. Because you can't launch Animator on the virtual machine to render to rama. Nice and easy if you could! :-)

 

Hi Adam, yes it is.

I recently had to do an animation but did it through Studio max and Re-Bus renderfarm. Jesus wept was that an expensive exercise! Looks like a renderfarm is actually a money tree in truth!

I have done, but not finished, some cinebench testing on Amazon and comparing it with some other people's data as well. Amazon rates very, very high. Higher than anything rebus offers outside of premium rates. (which I haven't tested, thankfully).

I am still testing this of course but so far so good. Rama master is perfectly fine running from a basic virtual machine on Amazon and networking out to High end CPU slaves.

One other good thing is that everything is off my machine in terms of file sending, receiving. I seem to get power cuts more often nowadays and having rama master running on a virtual machine alleviates any problems with an unintentional shutdown.

Having said that I could run it from a laptop and rely on battery power but uploads via rama from my network is slow. Much quicker to FTP or Dropbox etc. all the related files in one hit.

BTW, any Remote Desktop (Windows RDC) dropouts I have had in the past are gone now I am on Win 10. You need to use RDC to control Amazon EC instances. I know you're a Win user too.

Hope that helps a bit and I'll keep posting when I have more to post!

  • Like 1
Link to comment
Share on other sites

  • 5 months later...

Hi Again,

It seems Amazon has upgraded their interface and setting up a slave or slaves for rendering from EIAS is very simple. I recently lost all my original setup but managed to use a template setup provided by for a re-build.

30 mins and I had a template of my own for use with any "form" of machine setup on offer. Running multiple machines is very simple.

I have come back to this topic because I have been using this for quite a while now. Yes it does cost, but any render farm does. RAMA handles it beautifully.

Anyway if anyone is interested or needs advice on how to get started I can explain how to set it up fairly easily.

There is no fee other than what you use.

FYI. I keep a "snapshot" of a machine setup on Amazon for under a dollar a Month. When I want to launch and instance of that setup, yes it costs. You can see different setup costs for varying machines here.

I can keep that "snapshot" or "image" of that setup indefinitely.

https://aws.amazon.com/ec2/pricing/

Be sure to click on windows, as it defaults to Linux which is much cheaper!

It's the only option for "outsourced" render farm type rendering that I have found for EIAS. It works for sure.

All good, cheers

  • Like 1
Link to comment
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.

Loading...
 Share

×
×
  • Create New...