Wednesday, November 29, 2017

ECU And CPU Understanding For Cloud

Over the past couple of months we've spent some time benchmarking about 150 different cloud server configurations with 20 different vendors. This included all 8 AWS EC2 instances types (m1.small - m2.4xlarge) in all 4 regions (32 servers total for EC2). The benchmark suite we ran includes about 100 different benchmarks from synthetic benchmarks measuring raw CPU performance such as Unixbench and Geekbench to higher level application benchmarks such as mysql-bench, pgbench, tpcc-mysql and blog bench. This post will be the first in a series highlighting the results of these benchmarks. In it, we'll focus purely on raw CPU performance. Future posts will focus on other aspects of performance such as disk IO and application specific performance metrics.
We believe choosing a cloud provider should be based on a variety of factors including performance, price, support, reliability/uptime, scalability, network performance and features. We've previously written a few posts regarding network performance are continue to compile network performance and uptime statistics for most of the major cloud providers. With all of hype surrounding the cloud, our goal, is to provide objective information and analysis to enable educated decisions pertaining the adoption of, and migration to cloud services.

Benchmark Setup

All benchmarked cloud servers were configured almost identically in terms of OS and software, CentOS 5.4 64-bit (or 32-bit in the case of EC2 m1.small and c1.medium and IBM's Development Cloud where 64-bit is not supported).

Benchmark Methodology

Most IaaS/server clouds are based on hypervisor/virtualization technology and running in multi-tenant environments (multiple virtual servers running on a single physical host). Different hypervisors support different methods of CPU allocation/sharing including fixed/weighted, burstable, and others. Because of this, it is difficult to compare CPU performance in different clouds. Vendors often use different terminology to define cloud server CPUs including ECU (EC2), VPU (vCloud), GHz (KVM), CPUs, Cores, and more. Many provide an approximation of how that terminology relates to physical resources (e.g. 1 ECU = 1.0-1.2 GHz 2007 Xeon), but this is generally not sufficient for an objective comparison of providers.
Amazon's EC2 in addition to being one of the oldest and most mature cloud server platforms, also provides clearly defined CPU tiers across its 8 different instance sizes. These are defined in terms of ECUs (EC2 Compute Unit) where 1 ECU is the equivalent CPU capacity of a 1.0-1.2 GHz 2007 Opteron or 2007 Xeon processor. Their instance sizes includes the following:
  • Small/m1.small (32-bit) = 1 ECU
  • Large/m1.large = 4 ECUs
  • High-CPU Medium/c1.medium (32-bit) = 5 ECUs
  • High-Memory Extra Large/m2.xlarge = 6.5 ECUs
  • Extra Large/m1.xlarge = 8 ECUs
  • High-Memory Double Extra Large/m2.2xlarge = 13 ECUs
  • High-CPU Extra Large/c1.xlarge = 20 ECUs
  • High-Memory Quadruple Extra Large/m2.4xlarge = 26 ECUs
With a few exceptions, most of our CPU benchmarks showed clear upward scaling (although not always proportional) from m1.small (1 ECU) up to m2.4xlarge (26 ECUs). Because of these factors, we feel that the ECU metric provides a good, standard, understandable metric for comparing cloud servers not only within EC2, but also within other IaaS clouds as well. However, although it is based on the ECU, there will be some subtle differences (as described below), so we will refer this new metric as a CCU (CloudHarmony Compute Unit)
To calculate the CCU metric we selected 19 CPU benchmarks that showed clear upward scaling on smaller to larger sized EC2 instances. We use the average of the highest scores in all 4 EC2 regions (generally from the m2.4xlarge 26 ECU instance) to produce a 100% baseline for each of these 19 benchmarks. Each instance is then assigned a relative score as a ratio of that instance's score to the highest average score (<= 100). The relative scores for all 19 benchmarks are then aggregated to produce a CPU comparison score (CCS) for each instance. In calculating the CCS, some benchmarks are weighted higher than others. For example, the Geekbench and Unixbench results are weighted 200 points for the baseline, while opstone and john-the-ripper are weighted 33 points each (the remaining benchmarks are all weighted 100). We then use these results to create a CCU evaluation table where the left column in the table is the # of CCUs, and the right column is the average CCS corresponding with that CCU value. This table was then populated with 5 rows, one for EC2 instance sizes m1.small, m1.large, m2.xlarge, m2.2xlarge and m2.4xlarge, using an average of the CCS for those instances in all 4 regions. Once the comparison table was populated, we use the same algorithm to compute CCS values for every cloud server benchmarked. To translate from CCS to CCU, we determine the closest matching row(s) to the CCS for a given cloud server using the left column, and then compute an CCU value using the right column (if the CCS falls between 2 rows, a proportional average CCU value is calculated).

Example CCU Evaluation Table

ECUsCCSEC2 Instance
261574m2.4xlarge
131405m2.2xlarge
6.51225m2.xlarge
4873m1.large
1312m1.small

Example CCU Calculation

Eval_CCS = 1524
Enter table from top and find first row where Eval_CCS >= Column_2 (Row 2)
Since Eval_CCS resides between rows 1 and 2, find the proportional midpoint between ECUs:
CCU = 13 + ((1524 - 1405)/(1574 - 1405))*(26 - 13)
CCU = 13 + 9.15
CCU = 22.15

EC2 Discrepancies

During EC2 benchmarking we observed the CPU architecture reported for each instance type:
  • Small (m1.small) - US East Region Only: AMD Opteron 2218 2.6 GHz
  • Small, Large, Extra Large (m1.small, m1.large, m1.xlarge): Xeon E5430 "Harpertown" 2.66 GHz
  • High-CPU Medium and Extra Large (c1.medium, c1.xlarge): Xeon 5410 "Harpertown" 2.33 GHz
  • High-Memory Extra Large, 2 Extra Large, 4 Extra Large (m2.xlarge, m2.2xlarge, m2.4xlarge): Xeon X5550 "Nehalem" 2.66 GHz
We also noted the following EC2 ECU discrepancies with most of the 19 CPU performance benchmarks performed:
  1. The m1.large (4 ECU) always outperformed the High-CPU c1.medium (5 ECU) instance. This might be attributed to the m1.large being 64-bit vs 32-bit for the c1.medium
  2. Even the lowest High-Memory instance (m2.xlarge - 6.5 ECU) out performs the larger m1.large (8 ECU) and c1.xlarge (20 ECU) instances in many cases. This is most likely due to the newer and faster "Nehalem" CPUs used by the High-Memory instances
  3. The performance increase between m2.4xlarge (13 ECU) and m2.2xlarge (26 ECU) was minimal (15-20% higher based on CCU)
Because of these discrepancies, we used only the m1.small, m1.large, m2.xlarge, m2.2xlarge and m2.4xlarge instance sizes to create the CCU comparison table used to calculate CCUs for other cloud servers.

Benchmarks

The following are the 19 benchmarks we use to compute the CCU comparison metrics (benchmarks prefixed with ** are multi-core aware):
  • **c-ray [weight=100]: This is a test of C-Ray, a simple raytracer designed to test the floating-point CPU performance. This test is multi-threaded (16 threads per core), will shoot 8 rays per pixel for anti-aliasing, and will generate a 1600 x 1200 image.
  • **crafty [weight=100]: Crafty is a popular open-source chess engine that can be used to benchmark your CPU speed and is part of SPEC2000 benchmark. The benchmark itself is very basic. It analyzes pre-determined chess games positions and calculates the number of "nodes" (moves) per second till certain "depth" is reached and displays the total NPS as well as the average NPS.
  • dcraw [weight=100]: This test times how long it takes to convert several high-resolution RAW NEF image files to PPM image format using dcraw.
  • espeak [weight=100]: This test times how long it takes the eSpeak speech synthesizer to read Project Gutenbergs The Outline of Science and output to a WAV file.
  • **geekbench [weight=200]: Geekbench provides a comprehensive set of benchmarks engineered to quickly and accurately measure processor and memory performance. Designed to make benchmarks easy to run and easy to understand, Geekbench takes the guesswork out of producing robust and reliable benchmark results.
  • **graphics-magick [weight=100]: This is a test of GraphicsMagick with its OpenMP implementation that performs various imaging tests to stress the systems CPU.
  • **hmmer [weight=100]: This test searches through the Pfam database of profile hidden markov models. The search finds the domain structure of Drosophila Sevenless protein.
  • john-the-ripper-blowfish [weight=33]: This is a benchmark of John The Ripper, which is a password cracker.
  • john-the-ripper-des [weight=33]: This is a benchmark of John The Ripper, which is a password cracker.
  • john-the-ripper-md5 [weight=33]: This is a benchmark of John The Ripper, which is a password cracker.
  • mafft [weight=100]: This test performs an alignment of 100 pyruvate decarboxylase sequences.
  • nero2d [weight=100]: This is a test of Nero2D, which is a two-dimensional TM/TE solver for Open FMM. Open FMM is a free collection of electromagnetic software for scattering at very large objects. This test profile times how long it takes to solve one of the included 2D examples.
  • **openssl [weight=100]: This test measures the RSA 4096-bit performance of OpenSSL.
  • opstone-svd [weight=33]: CPU Singular Value Decomposition test.
  • opstone-svsp [weight=33]: CPU Sparse-Vector Scalar Product test.
  • opstone-vsp [weight=33]: CPU Vector Scalar test
  • sudokut [weight=100]: This is a test of Sudokut, which is a Sudoku puzzle solver written in Tcl. This test measures how long it takes to solve 100 Sudoku puzzles.
  • tscp [weight=100]: CPU performance benchmark based on TSCP (Tom Kerrigan's Simple Chess Program).
  • **unixbench [weight=200]: UnixBench provides a basic indicator of the performance of a Unix-like system. Multiple tests are used to test various aspects of the system's performance. These test results are then compared to the scores from a baseline system to produce an index value, which is generally easier to handle than the raw scores. The entire set of index values is then combined to make an overall index for the system. The parallel results are used when multiple CPUs exist for a cloud server.
We credit the Phoronix Test Suite for making it easier to run many of these benchmarks.

Results

The following results are broken down by cloud server vendor. If the vendor utilizes multiple data centers, multiple tables are displayed one for each data center. A total of 140 different cloud server configurations are included in this post. Each table shows our server identifier, the CPU architecture our benchmark server was placed on, the amount of memory for the server, raw Geekbench results linked to the full results page, raw Unixbench results linked to the full results page, and finally, the CCU score for that server instance.

Amazon EC2

EC2 is one of the oldest, most widely used, and mature cloud server platforms. EC2 currently supports 4 regions (US East, US West, EU West and APAC) and 10 availability zones. Each region consists of 2 or more availability zones each of which is basically a different physical data center in close proximity to the other availability zone in that region. EC2 uses the EC2 Compute Unit (ECU) term to describe CPU resources for each instance size where one ECU provides the equivalent CPU capacity of a 1.0-1.2 GHz 2007 Opteron or 2007 Xeon processor.
Although the CCU metric is based on EC2's ECU, the comparison table used to compute CCUs is based on only 5 instances sizes (m1.small, m1.large, m2.xlarge, m2.2xlarge and m2.4xlarge) and an average scores from all 4 regions. Because of this, the EC2 instance CCU will not be precisely equal to it's ECU allocation.
EC2 offers multiple pricing options including straight hourly, reserve (upfront reserve fee in exchange for lower hourly), and spot (bid pricing). The pricing shown in these table is for straight hourly pricing.
Amazon Web Services (AWS) [US East]
IDCPUMemoryPriceGeekbenchUnixbenchCCUs
m2.4xlarge [26 ECUs]Xeon X555068.42.4/hr5877151127.25
m2.2xlarge [13 ECUs]Xeon X555034.22.4/hr5163133214.89
linux.c1.xlarge [20 ECUs]Xeon E541070.68/hr51187808.78
m2.xlarge [6.5 ECUs]Xeon X555017.10.5/hr4049932.17.05
m1.xlarge [8 ECUs]Xeon E5430150.68/hr4256938.65.15
m1.large [4 ECUs]Xeon E54307.50.34/hr3092663.44.08
c1.medium [5 ECUs]Xeon E54101.70.17/hr2635776.23.43
m1.small [1 ECU]Opteron 22181.70.085/hr1726179.70.92
Amazon Web Services (AWS) [US West]
IDCPUMemoryPriceGeekbenchUnixbenchCCUs
m2.4xlarge [26 ECUs]Xeon X555068.42.68/hr6109152027.45
m2.2xlarge [13 ECUs]Xeon X555034.21.34/hr54751329.215.9
c1.xlarge [20 ECUs]Xeon E541070.76/hr46937858.21
m2.xlarge [6.5 ECUs]Xeon X555017.10.57/hr3883945.46.85
m1.xlarge [8 ECUs]Xeon E5430150.76/hr4185916.85.14
m1.large [4 ECUs]Xeon E54307.50.38/hr3026643.43.95
c1.medium [5 ECUs]Xeon E54101.70.19/hr2962715.53.45
m1.small [1 ECU]Xeon E54301.70.095/hr1312277.21.04
Amazon Web Services (AWS) [EU West]
IDCPUMemoryPriceGeekbenchUnixbenchCCUs
m2.4xlarge [26 ECUs]Xeon X555068.42.68/hr61881489.727.45
m2.2xlarge [13 ECUs]Xeon X555034.21.34/hr53681337.615.19
c1.xlarge [20 ECUs]Xeon E541070.76/hr49267878.55
m2.xlarge [6.5 ECUs]Xeon X555017.10.57/hr3836945.96.79
m1.xlarge [8 ECUs]Xeon E5430150.76/hr4147934.75.14
m1.large [4 ECUs]Xeon E54307.50.38/hr31606444.12
c1.medium [5 ECUs]Xeon E54101.70.19/hr2710730.53.43
m1.small [1 ECU]Xeon E54301.70.095/hr1288277.31.02
Amazon Web Services (AWS) [APAC]
IDCPUMemoryPriceGeekbenchUnixbenchCCUs
m2.4xlarge [26 ECUs]Xeon X555068.42.68/hr34721465.812.46
m2.2xlarge [13 ECUs]Xeon X555034.21.34/hr33571228.49.62
m2.xlarge [6.5 ECUs]Xeon X555017.10.57/hr3469821.26.27
c1.xlarge [20 ECUs]Xeon E541070.76/hr3042906.15.66
m1.xlarge [8 ECUs]Xeon E5430150.76/hr3271867.44.65
m1.large [4 ECUs]Xeon E54307.50.38/hr2594598.93.92
c1.medium [5 ECUs]Xeon E54101.70.19/hr2796415.83.23
m1.small [1 ECU]Xeon E54301.70.095/hr1522183.51.02

Rackspace Cloud

Rackspace Cloud servers showed a very flat CPU performance variation between server instance sizes. All instances we benchmarked in both data centers utilized homogenous Opteron 2374 "Shanghai" 2.2 GHz hardware. Rackspace states that their CPU provides a minimum allocation based on instance size with bursting allowed for all instance sizes.
We tested servers in both their Dallas as well as the newer Chicago data centers. However, Rackspace does not allow users to chose which data center to deploy servers to. Their use of multiple data centers appears to deal more with capacity issues rather than to offer user choice. When you create an account, that account is assigned to a specific data center, and from that point forward you will only have the option to deploy to that assigned data center.
Rackspace Cloud [Dallas]
IDCPUMemoryPriceGeekbenchUnixbenchCCUs
rs-16gbOpteron 2374160.96/hr3222933.24.95
rs-2gbOpteron 237420.12/hr3330935.44.94
rs-1gbOpteron 237410.06/hr3462934.24.93
rs-4gbOpteron 237440.24/hr3211935.14.9
Rackspace Cloud [Chicago]
IDCPUMemoryPriceGeekbenchUnixbenchCCUs
rs-16gb-ilOpteron 2374160.96/hr44731019.25.41
rs-8gb-ilOpteron 237480.48/hr42911035.55.39
rs-1gb-ilOpteron 237410.06/hr43391042.95.38
rs-4gb-ilOpteron 237440.24/hr43681013.85.29
rs-2gb-ilOpteron 237420.12/hr4360963.45.17

Storm on Demand

Storm on Demand was launched a few months ago by Liquid Web. They provide 2 types of cloud servers. The first is traditional 2-48GB cloud server running on multi-tenant hosts. The second, called "Bare Metal", allows you to select specific dedicated hardware (CPU, SATA or SAS disks, memory) to deploy your server on. Bare Metal servers are still virtualized, but do not share the underlying hardware with any other server instances.
Of all the IaaS vendors we reviewed, Storm offers by far the most diverse heterogenous infrastructure. This approach pays off big in terms of performance with 10 servers that scored 20+ CCUs. The only mismatched hardware we discovered was the cloud 16GB server running on Opteron 2350 hardware which performed poorly compared with the small 2, 4 and 8 GB servers. However, Storm has informed us that their 16GB Opteron 2350 hardware is being upgraded to Opteron 2378 which should improve performance on future benchmarks.
Storm's 48GB cloud server was the top performer out of all of our benchmarked servers with 42.5 CCUs and a Geekbench score of 13020! This is most likely due to the very new and extremely fast Xeon X5650 "Westmere" hardware it runs on. The Intel i5 CPUs also performed very well with our CPU benchmarks and provide an excellent performance to price ratio (26.5 CCUs for $0.171/hr)!
Storm Cloud [MI, US]
IDCPUMemoryPriceGeekbenchUnixbenchCCUs
Cloud: 48gbXeon X565045.91.37/hr130204448.542.87
Bare Metal: x3440-8gbXeon X344080.274/hr75972760.127.39
Bare Metal: e5506x2-4gbXeon E550680.274/hr77422906.727.24
Bare Metal: e5506x2-4gbXeon E550680.322/hr77042880.127.13
Bare Metal: e5506x2-8gbXeon E550680.391/hr77532837.526.72
Bare Metal: i5-750-2gbCore i5 75020.171/hr64172464.826.6
Bare Metal: i5-750-4gbCore i5 75040.206/hr64132450.126.47
Bare Metal: e5506x2-8gbXeon E550680.48/hr76862811.526.51
Cloud: 32gbOpteron 237830.40.69/hr83262373.326.4
Cloud: 8gbXeon X344070.27/hr61622284.721.41
Cloud: 4gbCore i5 7503.50.14/hr45551465.19.33
Bare Metal: amd2350x2-32gbOpteron 2350320.713/hr65311803.67.31
Cloud: 2gbCore 2 Q94001.70.07/hr3062629.75.01
Cloud: 16gbOpteron 235015.20.34/hr403412144.73

GoGrid

GoGrid's servers showed a decent linear performance increase with larger sized instances. The largest 8GB instance was deployed on an E5450 2.99 GHz host (compared with the E5520 2.27 GHz hosts for the other instances) which performed significantly better than the smaller sized instances.
GoGrid [CA, US]
IDCPUMemoryPriceGeekbenchUnixbenchCCUs
gg-8gbXeon E545081.52/hr8105507.523.2
gg-4gbXeon E552040.76/hr53731866.99.28
gg-2gbXeon E552020.38/hr3549993.34.87
gg-1gbXeon E552010.19/hr2860941.24.42

Voxel

Voxel maintains 3 cloud data centers in the US (New York), EU (Amsterdam), and Asia (Singapore). All of our cloud servers were deployed on homogenous harware: Xeon L5520 "Nehalem" 2.26 GHz. They appear to use more of a fixed CPU allocation because there was a notable increase in performance on larger instance sizes.
Voxel [NY, US]
IDCPUMemoryPriceGeekbenchUnixbenchCCUs
vx-14gb-nyXeon L5520140.727/hr51761023.510.15
vx-8gb-nyXeon L552080.421/hr4022846.46.12
vx-4gb-nyXeon L552040.211/hr3487680.75.33
vx-2gb-nyXeon L552020.106/hr2876483.44.67
Voxel [NL]
IDCPUMemoryPriceGeekbenchUnixbenchCCUs
vx-14gb-nlXeon L5520140.727/hr6169117816.2
vx-8gb-nlXeon L552080.421/hr4699954.77.53
vx-4gb-nlXeon L552040.211/hr3416645.85.48
vx-2gb-nlXeon L552020.106/hr30934944.85
Voxel [SG]
IDCPUMemoryPriceGeekbenchUnixbenchCCUs
vx-14gb-sgXeon L5520140.727/hr54191107.811.17
vx-8gb-sgXeon L552080.421/hr4428909.86.24
vx-4gb-sgXeon L552040.211/hr3168611.35.04
vx-2gb-sgXeon L552020.106/hr2779463.74.4

NewServers

NewServers is fairly unique in that their "bare metal" cloud servers actually run on physical hosts. There is no hypervisor layer between the server and the underlying hardware. When you deploy a server, the OS image is written directly to the physical disk(s). Their "Fast" server performed very well and is one of the better values at $0.53/hr for 26.41 CCUs.
NewServers [FL, US]
IDCPUMemoryPriceGeekbenchUnixbenchCCUs
ns-fastXeon E545040.53/hr62712193.527.21
ns-jumboXeon E5504480.6/hr57132809.719.15
ns-largeXeon E540540.25/hr45051849.76.12
ns-medXeon 3.2020.17/hr2672708.53.43
ns-smallXeon 2.8010.11/hr1669491.32.47

Linode

While Linode doesn't market itself as a "cloud", we included it in the benchmarks because they are a good and very popular service and provide many of the features common to the cloud including auto-provisioning, disk imaging. All instance sizes we benchmarked deployed on homogenous Xeon L5520 2.26 GHz hardware. The servers show a very flat CPU performance variation between instance sizes. We only benchmarked servers in their Atlanta data center. Linode also maintains data centers in Fremont CA, Dallas TX, Newark NJ, and London UK.
Linode VPS Hosting [Atlanta]
IDCPUMemoryPriceGeekbenchUnixbenchCCUs
ln-5760-atlantaXeon L55205.5410.67/day42171160.56.4
ln-14400-atlantaXeon L552014.0626.67/day38651144.16.3
ln-1080-atlantaXeon L55201.052/day3623957.25.48
ln-2880-atlantaXeon L55202.815.33/day3625979.45.38
ln-8640-atlantaXeon L55208.4516/day37809715.33

SoftLayer

All our benchmark servers deployed on to either Xeon X3460 2.8 GHz or E5520 2.27 GHz hardware. SoftLayer is another provider where CPU performance was very flat. Disk I/O was also painfully slow, but that is a topic for another post.
SoftLayer [Dallas]
IDCPUMemoryPriceGeekbenchUnixbenchCCUs
sl-8gb-dallasXeon E552080.5/hr58621514.114.35
sl-1gb-dallasXeon X346010.15/hr3745502.76.1
sl-4gb-dallasXeon E552040.35/hr4482941.85.52
sl-2gb-dallasXeon X346020.25/hr4399573.95.11
SoftLayer [WDC]
IDCPUMemoryPriceGeekbenchUnixbenchCCUs
sl-4gb-wdcXeon X346040.35/hr55991250.916.88
sl-8gb-wdcXeon E552080.5/hr58851527.716.84
sl-2gb-wdcXeon X346020.25/hr4265871.57.62
sl-1gb-wdcXeon X346010.15/hr3710507.75.81
SoftLayer [Seattle]
IDCPUMemoryPriceGeekbenchUnixbenchCCUs
sl-8gb-seattleXeon E552080.5/hr60401520.814.07
sl-4gb-seattleXeon X346040.35/hr54551324.412.3
sl-2gb-seattleXeon X346020.25/hr4429822.86.49
sl-1gb-seattleXeon X346010.15/hr3716505.85.52

Terremark vCloud Express

Terremark is one of the first VMWare vCloud providers. Deployment of servers in vCloud allows the user to select both desired memory and VPUs (the vCloud term for CPUs). All of our benchmark servers deployed on homogenous Opteron 8389 2.91 GHz hardware. CPU performance varied from benchmark to benchmark. Unixbench's parallel benchmark did show a notable increase in performance from 1 to 8 VPUs. However, other benchmarks did not show much increase leading to a flat CCU metric across all instance sizes and VPU combinations we benchmarked.
Terremark vCloud Express [FL, US]
IDCPUMemoryPriceGeekbenchUnixbenchCCUs
tm-16gb-8vpuOpteron 8389161.672/hr43042371.57.69
tm-8gb-4vpuOpteron 838980.64/hr599916676.41
tm-1gbOpteron 838910.074/hr28631279.35.44
tm-2gbOpteron 838920.137/hr27791272.75.38
tm-4gb-2vpuOpteron 838940.305/hr37931336.65.34

OpSource Cloud

OpSource is another VMWare based cloud. OpSource allows you to configure cloud severs with 1-4 "CPUs". CPU performance was very flat between instances of varying sizes even showing a decrease in performance from smaller to larger sized instances. All servers deployed to identical Xeon X7460 2.66 GHz hardware.
OpSource Cloud [VA, US]
IDCPUMemoryPriceGeekbenchUnixbenchCCUs
os-1gbXeon X746010.268/hr2100361.52.56
os-2gbXeon X746020.296/hr1894338.12.43
os-4gb-2cpuXeon X746040.392/hr19232412.24
os-8gb-4cpuXeon X746080.584/hr1830149.31.87
os-16gb-4cpuXeon X7460160.808/hr20041291.87
os-32gb-4cpuXeon X7460321.256/hr1908130.81.82

Speedyrails

Speedyrails is a VPS provider based out of Quebec Canada. All benchmark servers deployed on homogenous hardware: Xeon E5520 2.27 GHz.
Speedyrails [QC, CA]
IDCPUMemoryPriceGeekbenchUnixbenchCCUs
sr-1gbXeon E552012.27/day44131260.89.06
sr-4gbXeon E552048/day43591261.18.49
sr-2gbXeon E552024.27/day43471066.76.74

Zerigo

Zerigo is a VPS and Cloud Server vendor based out of Denver, CO. All benchmark servers deployed on identical hardware, Opteron 2374 2.20 GHz.
Zerigo [CO, US]
IDCPUMemoryPriceGeekbenchUnixbenchCCUs
zr-4gbOpteron 237440.24/hr3829805.54.83
zr-2gbOpteron 237420.12/hr3274813.94.73

ReliaCloud

While there was a notable increase in performance with larger sized instances, the overall CPU performance was not great. Hardware was also homogenous between different instance sizes.
ReliaCloud Cloud Services [MN, US]
IDCPUMemoryPriceGeekbenchUnixbenchCCUs
rc-4gbXeon E550440.32/hr1637226.81.11
rc-2gbXeon E550420.16/hr1653267.91.07
rc-1gbXeon E550410.08/hr1392243.20.65

IBM Development & Test Cloud

IBM's Development & Test Cloud is a free cloud service intended for only development and testing. Only 3 32-bit instance sizes are supported: small, medium and large. Instances are time limited to about 1 week with the option to extend. The large instance performed very well overall.
IBM Development & Test Cloud [NY, US]
IDCPUMemoryPrice (USD)GeekbenchUnixbenchCCUs
ibm-dev-largeXeon X55703.5102563059.527.9
ibm-dev-medXeon X55701.7555361526.65.44

BlueLock

BlueLock is another VMWare vCloud provider. As with the other VMWare providers, they appear to use a homogenous hardware environment for all instance sizes. However, unlike most other homogenous platforms, BlueLock's instances showed a notable increase in performance on larger sized (more CPUs) instances. Strangely, the 4CPU/8GB instance outperformed the 8CPU/16GB instance.
BlueLock [IN, US]
IDCPUMemoryPriceGeekbenchUnixbenchCCUs
bl-8gb-4cpuXeon X555080.661/hr63112159.126.26
bl-16gb-8cpuXeon X5550161.729/hr66652525.225.55
bl-4gb-2cpuXeon X555040.308/hr457513519.06
bl-1gbXeon X555010.068/hr36901153.36.3
bl-2gbXeon X555020.134/hr37271223.46.14

Cloud Central

Cloud Central is a new cloud server provider based out of Australia. All benchmark instances deployed to homogenous AMD Opteron 2.20 GHz hosts. Prices shown are Australian Dollar.
Cloud Central [AU]
IDCPUMemoryPriceGeekbenchUnixbenchCCUs
cc-largeOpteron 237480.96/hr4224767.34.97
cc-regOpteron 237440.48/hr3894787.24.96
cc-hugeOpteron 2374161.92/hr3674785.24.87
cc-medOpteron 237420.24/hr3913755.14.69
cc-smallOpteron 237410.12/hr3727756.64.63

RimuHosting

RimuHosting is a VPS provider based out of New Zealand. They maintain data centers in Australia, New Zealand, London, and Texas. We benchmarked 2GB instances in their Auckland NZ and Dallas TX data centers.
RimuHosting [TX, US]
IDCPUMemoryPriceGeekbenchUnixbenchCCUs
rh-tx-2gbXeon E55062104.57/mo3080735.64.56
RimuHosting [NZ]
IDCPUMemoryPrice (NZD)GeekbenchUnixbenchCCUs
rh-nz-2gbXeon E55062210.88/mo3122662.34.49

ElasticHosts

ElasticHosts is a UK based cloud provider. They currently maintain 2 data centers in the UK and a new data center in Dallas, TX. We only benchmarked their London Peer1 data center. ElasticHosts runs on the Linux KVM hypervisor. This hypervisor is unique in that it allows you to selected a specific MHz metric when deploying cloud servers. We benchmarked 2 GHz - 20 GHz cloud servers. Although the hardware environment appears to be homogenous, the benchmarks showed a clear increase in performance on larger sized instances.
ElasticHosts [UK]
IDCPUMemoryPrice (USD)GeekbenchUnixbenchCCUs
eh-8gb-20ghXeon E542080.654/hr6544881.79.98
eh-4gb-8ghXeon E542040.326/hr3919814.35.54
eh-2gb-4ghXeon E542020.164/hr34096314.75
eh-1gb-2ghXeon E542010.082/hr2545539.84.3

Flexiscale

Flexiscale is a UK based cloud server provider that has been around for a few years. They were recently acquired and renamed to Flexiant. They are currently in beta release of their Flexiscale 2.0 cloud server platform. These results were from testing 2.0 platform servers. Flexiant adopted a point-based subscription model for purchasing cloud servers. See their website for more details.
Flexiscale [UK]
IDCPUMemoryPrice (GBP)GeekbenchUnixbenchCCUs
fx-8gbOpteron 821884629636.53.81
fx-4gbOpteron 822043407541.63.66
fx-2gbOpteron 8218223945103.36
fx-1gbOpteron 821812354481.92.95

Summary

This is our first attempt at defining a standard CPU performance metric for comparing servers in multiple clouds. We acknowledge that it is not perfect and hope to make improvements over time. Please comment on this post if you have any suggestions on how we might improve our methods. We intend to continually run these benchmarks (every couple of months) to improve the quality and quantity of our data available as well as to check for upgrades and improvements made by the providers.
One take-away point we observed is that heterogenous hardware environments (where host hardware is configured with faster CPUs for larger sized instances) appears to be more conducive to true cloud CPU scaling. Of the 20 server clouds we benchmarked, only 4 appear to be providing such an environment: EC2Storm on DemandGoGrid and NewServers.

No comments:

Post a Comment