Question

So Google now has its own IaaS solution called Google Compute Engine.

As a heavy user of cloud computing, I'm trying to figure out the difference between Amazon's EC2 Compute Unit and GCEU (Google's Compute Engine Unit) - to ascertain price-for-performance differences, etc.

Does anyone have more insight into the differences between these two?

ANSWER: Looks like 1 GCEU ~= 1 EC2 compute unit. More below at accepted answer.

Was it helpful?

Solution

According to Amazon,

One EC2 Compute Unit provides the equivalent CPU capacity of a 1.0-1.2 GHz 2007 Opteron or 2007 Xeon processor. This is also the equivalent to an early-2006 1.7 GHz Xeon processor referenced in our original documentation.

According to Google,

GCEU (Google Compute Engine Unit), or GQ for short, is a unit of CPU capacity that we use to describe the compute power of our instance types. We chose 2.75 GQ’s to represent the minimum power of one logical core (a hardware hyper-thread) on our Sandy Bridge platform.

It's hard to make a 1:1 comparison with such a vague description from Google. Assuming Amazon and Google use the same CPUs, this would be as follows:

Using Amazon's Cluster Compute Eight Extra Large Instance as an example, because it defines the CPU and the CU rating.

88 EC2 Compute Units (2 x Intel Xeon E5-2670, eight-core "Sandy Bridge" architecture)

This is 32 logical cores, 2x 8 physical with hyperthreading. With Google's rating of one logical core being 2.75 GQ, this turns out to be in-line with Amazon, being 88 GQ in total.

Again, this is assuming Google and Amazon would use the same CPU (which is likely), and would be impossible to know without an official statement from Google, or a CPU-stat from a running instance.

OTHER TIPS

The definition of 2.75 GCEUs is given in the developer documentation as the compute power given by a single processing core in the Intel's Sandy Bridge platform processors that Google has selected.

Amazon's documentation defines a single EC2 compute unit as "the equivalent CPU capacity of a 1.0-1.2 GHz 2007 Opteron or 2007 Xeon processor." In the description for one of the service levels, it defines 33 EC2 compute units as being roughly equivalent to eight cores worth of Intel's older Nehalem platform. It also defines 88 EC2 compute units as being roughly equivalent to 16 cores worth of Sandy Bridge.

Blindly assuming that Amazon and Google are using roughly the same processors in their Sandy Bridge setups (not necessarily a safe assumption), each Sandy Bridge core is about 5.5 EC2 compute units. We can now compare the two units: what happens when you divide 5.5 by 2.75? You get 2.

tl;dr: One unit of GECU is probably about two units of EC2. This is utter and complete speculation and will need to be proven by real-world testing and use.

According to the Google Compute Engine FAQs, "one GCEU is at least as powerful as the CPU capacity of a 1.0-1.2 GHz 2007 Opteron." More info here:

https://developers.google.com/compute/docs/faq#morecompute

The best answer would be your own benchmarks, as any other benchmark might give results optimized for a different use case.

The second best answer are independent benchmarks, as http://gigaom.com/2013/03/15/by-the-numbers-how-google-compute-engine-stacks-up-to-amazon-ec2/.

Looking at those numbers, it makes sense to ponder if your code is CPU or IO bounded. With the same theoretical CPU, how much faster would your app work if persistent writes where 4 times faster? Or if network communications where 20 times faster?

Fortunately quick tests in both and other platforms should be fast, and bring considerable cost savings in the long term.

I know this is late, but maybe it will help someone. On a single benchmark run:

Google Compute Engine: 0.185 s at 2014-11-28 10:17:16 on : 1 x Intel(R) Xeon(R) CPU @ 2.60GHz; 1.7 GB RAM; Ubuntu 14.04 (trusty); PHP ver.: 5.5.9-1ubuntu4.5 (small)

AWS: 0.167 s at 2014-12-01 11:00:18 on : 1 x Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz; 2 GB RAM; Ubuntu 14.04 (trusty); PHP ver.: 5.5.9-1ubuntu4.5 (small)

DigitalOcean: 0.357 s at 2014-12-01 10:03:28 on : 2 x Intel(R) Xeon(R) CPU E5-2630L v2 @ 2.40GHz; 2 GB RAM; Ubuntu 14.04 (trusty); PHP ver.: 5.5.9-1ubuntu4.4 ($20 one)

With ApacheBench:

GCE:

  • 100 100 = 3.14 #/s - 39 dropped connection
  • 200 200 = 4.7 #/s - 132 dropped
  • 400 400 = 7.7 #/s - 144 dropped

AWS:

  • 100 100 = 5.8 #/s - 32 dropped
  • 200 200 = 8.9 #/s - 110 dropped
  • 400 400 = 17.6 #/s - 132 dropped

DO:

  • 100 100 = 4.37 #/s - 31 dropped
  • 200 200 = 6.6 #/s - 131 dropped
  • 400 400 = 13.5 #/s - 132 dropped connections
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top