Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What does ECU units, CPU core and memory mean when I launch a instance

When I launch an instance on EC2, it gives me option for t1.micro, m1.small, m1.large etc. There is a comparision chart of vCPU, ECU, CPU cores, Memory, Instance store. Is this memory RAM of a system ?

enter image description here

I am not able to understand what all these terms refer to, can anyone give me a clear picture of what these terms mean ?

like image 202
Prats Avatar asked Oct 08 '13 12:10

Prats


People also ask

What is ECU in EC2 instance?

ECUs (EC2 Computer Units) are a rough measure of processor performance that was introduced by Amazon to let you compare their EC2 instances ("servers"). CPU performance is of course a multi-dimensional measure, so putting a single number on it (like "5 ECU") can only be a rough approximation.

What is vCPU and ECU in AWS?

What exactly is vCPU? While ECU was equal to a single processor unit, vCPU is a hyperthread of an Intel Xeon core for M4, M3, C4, C3, R3, HS1, G2, I2, and D2. With the difference in the purpose of each instance type, there is also a difference in the computing power of each instance.

What is a CPU instance?

An instance has a default number of CPU cores, which varies according to instance type. For example, an m5. xlarge instance type has two CPU cores and two threads per core by default—four vCPUs in total. Each vCPU is a thread of a CPU core, except for T2 instances and instances powered by AWS Graviton2 processors.

What is memory instance?

Memory optimized instances are designed to deliver fast performance for workloads that process large data sets in memory. R5, R5a, R5b, and R5n instances. These instances are well suited for the following: High-performance, relational (MySQL) and NoSQL (MongoDB, Cassandra) databases.

What is the difference between ECU and CPU?

It is simply a unit for CPU comparison between instances. It is not an actual CPU (physical unit), just if you have 5 ECU instance and 20 ECU instance, the latter is 4 times stronger in terms of CPU power. You will have a single core with a power equivalent to the above CPU.

What is the EC2 compute unit (ECU)?

One approach was the EC2 Compute Unit (or “ECU” ), a unit that Amazon created to measure the relative CPU performance of an instance type. Looking at the number of ECUs would allow you to compare CPU performance; an instance type with two ECUs was twice as powerful as one with one ECU, and so on.

What is ECU in AWS instance?

The ECU (Elastic Compute Unit) was a unit of measure designed to provide a relative measure of performance between Amazon EC2 instance types. For example, an m1.small instance had 1 ECU, an m1.large had 2 ECUs, etc. However, it is no longer possible to summarize the power of an instance in a single number.

How many ECU does a large instance have?

The original “Small” instance type was used as the baseline and it had one ECU. The new Large type had four ECUs (two virtual cores, two ECUs each), and the Extra Large had eight ECUs (four cores, two ECUs each).


2 Answers

ECU = EC2 Compute Unit. More from here: http://aws.amazon.com/ec2/faqs/#What_is_an_EC2_Compute_Unit_and_why_did_you_introduce_it

Amazon EC2 uses a variety of measures to provide each instance with a consistent and predictable amount of CPU capacity. In order to make it easy for developers to compare CPU capacity between different instance types, we have defined an Amazon EC2 Compute Unit. The amount of CPU that is allocated to a particular instance is expressed in terms of these EC2 Compute Units. We use several benchmarks and tests to manage the consistency and predictability of the performance from an EC2 Compute Unit. 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. Over time, we may add or substitute measures that go into the definition of an EC2 Compute Unit, if we find metrics that will give you a clearer picture of compute capacity.

like image 142
E.J. Brennan Avatar answered Oct 02 '22 04:10

E.J. Brennan


For linuxes I've figured out that ECU could be measured by sysbench:

sysbench --num-threads=128 --test=cpu --cpu-max-prime=50000 --max-requests=50000 run

Total time (t) should be calculated by formula:

ECU=1925/t

And my example test results:

|   instance type   |   time   |   ECU   | |-------------------|----------|---------| | m1.small          |  1735,62 |       1 | | m3.xlarge         |   147,62 |      13 | | m3.2xlarge        |    74,61 |      26 | | r3.large          |   295,84 |       7 | | r3.xlarge         |   148,18 |      13 | | m4.xlarge         |   146,71 |      13 | | m4.2xlarge        |    73,69 |      26 | | c4.xlarge         |   123,59 |      16 | | c4.2xlarge        |    61,91 |      31 | | c4.4xlarge        |    31,14 |      62 | 
like image 39
Mariusz Sawicki Avatar answered Oct 02 '22 05:10

Mariusz Sawicki