Picking the Right AWS Instance Types for You

Version: Deadline 10

Introduction

With the release of Deadline 10 comes the introduction of the AWS Portal Panel, which is a powerful new tool to help you scale up your render farm with AWS Spot Instances! You can get started with AWS Portal by following the instructions here. After you’ve launched your infrastructure, you’ll be ready to start your Spot fleet requests. You’ve chosen the software you want to render with, and now it’s time to choose the instance type that you want.

spot_fleet_instances.png

Golly! That’s a lot of options. Where do you even start? After reading this blog entry you’ll know where!

Anatomy of an Instance Type Name

You’ll notice that all instance types names consist of a letter, a number, and a size. The letter at the beginning of the name is what the instance is suited for, and the available types are as follows.

  • C: Compute-optimized instances
  • D: High disk throughput
  • G: Graphics-intensive applications, GPUs
  • I: High storage instances, low latency, very high random I/O performance, high sequential read throughput and provide high IOPS
  • M: General purpose, fixed performance
  • P: General-purpose, GPU compute applications
  • R: Memory-intensive applications
  • T: General purpose, burstable performance
  • X: Large-scale, enterprise-class, in-memory applications and high-performance databases

The number is the generation. The higher the number, the newer the generation. For example, C4 is the fourth generation of the compute optimized instances and M4 is the fourth generation of the general purpose instances.

The size is how powerful the instance type is, and can be one of the following:

  • nano
  • micro
  • small
  • medium
  • large
  • xlarge
  • #xlarge (where # is a number)

Each size has twice the vCPUs and RAM of the size before it. For example:

  • c4.large has 2 vCPU and 3.75 GB of RAM
  • c4.xlarge has 4 vCPU and 7.5 GB of RAM
  • c4.2xlarge has 8 vCPU and 15 GB of RAM
  • etc…

Note also that not all instance types have all sizes. For example, T2 instances go from nano to 2xlarge but C4 instances only go from large to 8xlarge.

Check out the Amazon EC2 Instance Types documentation for more information on the various instance types that available.

What’s a vCPU?

Before we continue, you may be asking yourself what a vCPU is. Each vCPU is a hyperthread of an Intel Xeon core, except for T2 and M3.medium instance types. As mentioned above, T2 instances are Burstable Performance Instances that provide a baseline level of CPU performance with the ability to burst above the baseline. These are more appropriate for applications that don’t use the full CPU often, but occasionally need a burst of performance. Recommendations on choosing the appropriate instance type will be covered further down.

Presets

A great place to start is to select one of our Presets. You’ll notice that at the top of the Spot Fleet Configuration window, there are five buttons with five different presets to choose from.

spot_fleet_instances_presets.png

When you press one of the buttons, all of the instances that meet the specs of the preset are automatically added to your selected instance types.

  • Small will give you all available instance types that have 8 vCPUs and at least 15 GB of RAM
  • Medium will give you all available instance types that have 16 vCPUs and at least 30 GB of RAM
  • Large will give you all available instance types that have 32 vCPUs and at least 60 GB of RAM
  • XLarge will give you all available instance types that have 64 vCPUs and at least 120 GB of RAM
  • GPU will give you all available GPU instances types

How to Pick the Right Instance Type

If you are using a CPU biased renderer for Autodesk ® Maya ®, such as Arnold ®, or Chaos Group ® V-Ray ®, then C4 instances are a great choice because they have the lowest price/compute of any instance type. The minimum requirements for Maya is 8 GB of RAM, with 16 GB being recommended. As a result, the minimum C4 instance type you should use is c4.2xlarge, which has 8 vCPUs and 15 GB of RAM. When rendering with AWS Portal in Deadline 10, you won’t be using the user interface component of Maya, so 15 GB of RAM should be fine. If you want to be safe, you could go with c4.4xlarge, which features 16 vCPUs and 30 GB of RAM, giving you the benefit of having twice the vCPUs! Note though that c4.4xlarge, at the time of this writing, is a little over twice the price* of c4.2xlarge, so that should be taken into account as well.

Another instance type to consider in this situation is the M4, which are made for general purpose. These have a more balanced RAM to vCPU ratio so you can get a cheaper minimum RAM option in exchange for longer render times. The minimum recommended M4 instance would be m4.large, which has 2 vCPUs and 8 GB of RAM. If you want to match the recommended specs for Maya, then you can go with m4.xlarge which has 4 vCPUs and 16 GB of RAM.

Now let’s consider the cost difference. For the minimum RAM requirement for Maya, you can go with the following:

  • m4.large, which as of this writing is $0.0275 per Hour*
  • c4.2xlarge, which as of this writing is $0.0619 per Hour*

With the M4, you can meet the minimum required specs for 44% of the price of the C4. So why would you want to go for c4.2xlarge? Keep in mind that c4.2xlarge has four times the vCPUs, which typically means faster rendering times, which could lead to lower cost overall. For example, a render that would take three hours on m4.large will cost you $0.0825. If that render takes an hour on c4.2xlarge because of the increased number of vCPUs, it will only cost you $0.0619. The longer your renders, take the more apparent this will be. If your renders are relatively quick though, the m4.large could be a better deal.

These prices are in USD and are the On-Demand price in the US East (Ohio) region. Spot prices are set by Amazon EC2 and fluctuate periodically depending on the supply of and demand for Spot instance capacity. Spot instances are available at a discount of up to 90% compared to On-Demand pricing. To compare the current Spot prices against standard On-Demand rates, visit the Spot Bid Advisor and review the On-Demand prices.

Choosing Multiple Instance Types

Since AWS Portal uses EC2 Spot, you don’t have to only choose one instance type. If you only want to pay m4.large prices, you can select m4.large and c4.2xlarge and use the m4.large Spot price as your maximum price.

spot_fleet_instances_bid.png

If the Spot price of c4.2xlarge falls below your maximum, the Spot Fleet request could spin up a c4.2xlarge instance and you’ll pay m4.large prices for c4.2xlarge performance! However, please note that just because the c4.2xlarge price drops below your maximum, it doesn’t guarantee one will spin up instead of m4.large.

Another thing to keep in mind is that there is a risk to adding more expensive instance types with lower instance prices. If the Spot price for the more expensive instance types goes above your maximum price, then those instances could be terminated in the middle of rendering. The good news is that if this happens, Deadline recovers so that new instances can restart the task when they start up again.

What About GPUs?

With AWS Portal and EC2 Spot, you also have access to GPU instances, which allows you to render with GPU renderers like Redshift ® without the expense of having to pay for costly GPUs yourself! The G3 instances types are the ones recommend for rendering, and they feature NVIDIA ® Tesla M60 GPUs, each with 2048 CUDA ® cores and 8 GB of GPU memory.

The following G3 instance types are currently available:

  • g3.4xlarge has 1 GPU with 8 GB of GPU RAM, and 16 vCPUs with 122 GB of RAM
  • g3.8xlarge has 2 GPUs with 16 GB of GPU RAM, and 32 vCPUs with 244 GB of RAM
  • g3.16xlarge has 4 GPUs with 32 GB of GPU RAM, and 64 vCPUs with 488 GB of RAM

There are also the P2 instance types which are designed for general-purpose GPU computing, such as machine learning and computational fluid dynamics. They feature NVIDIA ® K80 GPUs, each with 2,496 CUDA cores and 12 GB of GPU memory.

The following P2 instance types are currently available:

  • p2.xlarge has 1 GPU with 12 GB of GPU RAM, and 4 vCPUs with 61 GB of RAM
  • p2.8xlarge has 8 GPUs with 96 GB of GPU RAM, and 32 vCPUs with 488 GB of RAM
  • p2.16xlarge has 16 GPUs with 192 GB of GPU RAM, and 64 vCPUs with 732 GB of RAM

Note that the P2 instance types have CUDA Compute Capability 3.7 and G3 instance types have CUDA Compute Capability 5.2, and the latter is recommend for Redshift rendering.

Conclusion

As you can see, there are many things to consider when choosing an instance type, including price and the minimum/recommended specs of your applications you wish to use with AWS Portal. A good approach is to determine how you want to meet/exceed the minimum/required specs, and add all of the instance types that fit that criteria. While we focused on Maya for this entry, the same approach can be applied to other content creation software and renderers.

NVIDIA and CUDA are registered trademarks or trademarks of NVIDIA, Inc., and/or its subsidiaries and/or affiliates in the USA and/or other countries.

Autodesk, Maya are registered trademarks or trademarks of Autodesk, Inc., and/or its subsidiaries and/or affiliates in the USA and/or other countries.

Redshift Rendering Technologies and Redshift are registered trademarks or trademarks of Redshift Rendering Technologies, Inc., and/or its subsidiaries and/or affiliates in the USA and/or other countries.

Chaos Group and V-Ray are registered trademarks or trademarks of Chaos Software Ltd. in Bulgaria and/or other countries.

All other brand names, product names, or trademarks belong to their respective holders.