More CPUs or Newer CPUs

More CPUs or Newer CPUs

In a CPU-bound database workload, regardless of price, would you scale-up or scale-new?
What if price was the driving factor, would you scale-up or scale-new?

I am using as a baseline the first available AWS Graviton2 processor for RDS (r6g). As part of my benchmarking using the IMDb read-only workload , I have performed tests both in doubling vCPUs , i.e. 2x, 4x, 8x, and also comparing newer Graviton processors , i.e. r6g, r7g, r8g.  This analysis does not factor additional differences in RAM, network bandwidth or disk throughput.

Granted this is only one test comparing the baseline (r6g.2x), however the scale-new strategy (i.e. r8g.2x) yields the same throughput as scale-up strategy (i.e. r6g.4x). The scale-new is 11% more expensive, compared with 100% for scale-up?

Would latency have an impact on your decision?

With comparable threads workload there is negligible difference in average latency.  

r6g.4xlarge (red bar)

Threads Average Latency 95th Percentile Throughput
96 10.206 17.633 9404.62
128 13.642 27.659 9380.89

Test Results

r8g.2xlarge (purple bar)

Threads Average Latency 95th Percentile Throughput
96 10.07 19.29 9531.00
128 13.64 27.17 9383.90

Test Results

It pays to have an adequate testing infrastructure in your organization to evaluate your workloads and new processors and/or new features offered by the Cloud Service Providers.

Comparing r6g with r8g Processors

What are the marketing claims for performance improvement?

If these marketing claims were accurate and supported with provided benchmarks, Graviton3 = 1.3 (30% faster than Graviton2) and Graviton4 = 1.3 × 1.4 = 1.82 (i.e., r8g is 82% faster than r6g). 

How do these marketing claims stand up?

How accurate are these statements with my initial read-only benchmark?

r6g.2xlarge

Threads Average Latency 95th Percentile Throughput Ratio Expected Throughput r8g.2xlarge Throughput
96 18.95 33.72 5065.97  x 1.82 9219 9531
128 25.13 44.17 5092.16 x 1.82  9267 9383

Test Results

r8g.2xlarge

Threads Average Latency 95th Percentile Throughput
96 10.07 19.29 9531.00
128 13.64 27.17 9383.90

Test Results

Does r8g outperform r6g by 1.82x?

Maybe!

The r8g processor with 8 vCPUs in this single benchmark exceeds the 1.82x performance improvement of the r6g processor with vCPUs when comparing equivalent threads (emulating an application workload).

As I mentioned earlier, you should always test your unique workload and situation adequately to make informed decisions for your infrastructure. Different workloads and different resource-bound situations create a complex matrix of .  My tests also included higher thread concurrency than shown here.

Other Impacts

The r6g family were choosen as there is both r7g and r8g to compare. There are no Intel equilivant instance types available for RDS across 3 families.

There are a few reasons why scale-new would not be option. These include:

  • Size Flexible Reserved Instance Reservations (these are locked to family, product, region) for a 1 year or 3 year committment.
  • Only a subset of regions support newer instance types . r8g & m8g were only just expanded beyond an initial 3 regions.

As I have mentioned, there is no reason to not upgrade from r7g to r8g if using on-demand instances as these are currently the same price.

Test Results

2x comparison across families

Comparing New Processors

r6g 2x,4x,8x CPU Tests

Comparing Upsizing Processor

Tagged with: Performance Cost Benchmarking

Related Posts

An Interesting Artifact with AWS RDS Aurora Storage

As part of using public datasets with my own Benchmarking Suite I wanted upsize a dataset for larger volume testing. I have always used the INFORMATION_SCHEMA.TABLES data_length and index_length columns as a sufficiently accurate measurement for actual disk space used.

Read more

Easy Money-Saving Tips for Your AWS Cloud Spend

There are numerous Cloud Service Provider (CSP) FinOps products that can review, collate, summarize, and recommend ways to optimize your cloud spend. If you’re using one or more cloud providers and don’t actively manage your Cost and Usage Reports (CURs) on a daily basis, investing in such a product is a smart move.

Read more

RDS MySQL Aurora 3.07.0 is unusable for upgrades

Yesterday I detailed an incompatible breakage with RDS MySQL Aurora 3.06.0 , and one option stated is to upgrade to the just released 3.07.0. Turns out that does not work. It is not possible to upgrade any version of AWS RDS MySQL Aurora 3.

Read more