SetupAndResults

From Loki Render
Jump to: navigation, search

Single Frame Render: desktop and AWS

To get a rough idea of how Amazon and Google compute instances compare in render times to my desktop and laptop computers, I ran a single frame render on all the machines. See the results in the table below.

System Cores Seconds Performance $cost/Hr perf/cost
Desktop - AMD Phenom II X4 840 4 233 5.83
Laptop - Intel i5 4 237 5.73
EC2 m3.medium 1 1359 1 .077 12.98
EC2 c3.large 2 434 3.13 .12 26.09
EC2 c3.xlarge 4 223 6.09 .239 25.49
EC2 c3.2xlarge 8 115 11.81 .478 24.72
EC2 c3.4xlarge 16 62 21.919 .956 22.93
EC2 c3.8xlarge 32 36 37.75 1.912 19.74
GCE n1-standard-1 1 684 1.98 .063 31.53
GCE n1-highcpu-2 2 489 2.78 .08 34.73
GCE n1-highcpu-4 4 260 5.23 .16 32.67
GCE n1-highcpu-8 8 125 10.87 .32 33.97
GCE n1-highcpu-16 16 68 19.98 .64 32.22

Notes:

  • 'Performance' is using the slowest machine as a baseline: (e.g. m3.mediumSeconds/mySeconds)
  • 'perf/cost' is dividing performance by the cost - higher numbers are better
  • 'Cost' is on demand pricing for EC2, and 'Full price without sustained use' for GCE, taken 2014/10/21
  • instance performance in the cloud can sometimes be inconsistent, and this is only one sample on each machine. They are 'on demand' nodes however, so they're hopefully representative of 'normal' performance.
  • Since the render process has certain portions that are single-threaded, comparisons like this will be slightly skewed, with the skew being more pronounced when rendering simpler frames like this one. Whilst being completely ignorant of Blender's internals and render process, I would still guess the skew isn't greater than 10%.
  • I didn't include spot pricing here, but it can be substantially lower than 'on demand'. For example, current spot price on a c3.2xlarge is .08, compared with .478 for on demand, that's a huge difference! Since Loki can handle grunts disappearing and just re-assigns the task, there's really no reason not to always use spot pricing.
  • From these numbers, when comparing EC2 on demand pricing, to GCE, Google obviously provided better overall computing value for your money. HOWEVER, EC2 spot pricing takes the cake.
  • GCE charges by the minute, so just terminate whenever you're done.
  • AWS charges at the beginning of each hour, from the time you launch instances, so launch as many as you need to get all your work done in just under an hour mark.

Conclusion: Loki can handle grunts disappearing, so use EC2 Spot pricing and save a whole lot of money.

Amazon EC2 setup; grunts in the cloud, master on local desktop

(from zeealpal's post on the 0.7.0 release thread here.) Here's my Amazon test:

  • 8x c3.8xlarge Instances
    • total of 256 Threads, 128 Physical Cores
    • each with 60GB RAM.

Costs AUD $2.05 per hour for the above, and here's some tests I did:

A simple 250 frame benchmark (fast file transfer):

  • My Quad Core i5 @ 3.2 GHz: 5sec/Frame, ~20 minutes 50 sec
  • My 2 GTX 970's: 1.5 sec/Frame, ~6 minutes 20 sec
  • Loki with the above instances (128 Physical Cores) 1 minutes 31 seconds (including transfer)

Second test with a more complex frame:

  • Quad Core i5: 5m22s/frame, 22.36 hours
  • Dual 970's: 46s/frame, 3 hours, 12 minutes
  • Loki with 128 Physical Cores (256 Threads) @$2.05/hour: 48 minutes 23 seconds