This post compares the performance of some of the most popular database workloads on Red Hat Enterprise Linux 8.3 powered by Intel’s Cascade Lake and the recently available Intel’s Ice Lake CPU. In our performance runs, the two CPU designs are compared on the performance lab’s “white-box” hardware servers with similar performance optimized memory configurations using the same NvME IO controllers and the HammerDB workload driver. 

When it comes to running a database for your mission-critical application, performance is a crucial decision factor. In fact, delivering low latency, and high-throughput application responses comes down to tuning your database to run in a consistent and reliable operating system environment—one that can provide a solid foundation for performance, and run on bare metal, virtual, private and public cloud environments. 

CPU

Intel’s 3rd Generation Ice Lake Xeon Platinum 8360Y increases core count and level 3 hardware cache sizes, to bring more processing power and improved scalability for high-end database workloads.  In our tests hyperthreading was disabled since storage was limited and the tests had to run at a smaller scale.

The below table summarizes the differences between the two “white-box” servers used in the RHEL performance lab for this benchmark - 

Intel Cascade Lake 

Intel Ice Lake 

Architecture: x86_64

Architecture: x86_64

CPU op-mode(s): 32-bit, 64-bit

CPU op-mode(s): 32-bit, 64-bit

Byte Order: Little Endian

Byte Order: Little Endian

CPU(s): 96

CPU(s): 144

 

L1d cache: 32K

L1d cache:           48K

L1i cache: 32K

L1i cache:           32K

L2 cache: 1024K

L2 cache:            1280K

L3 cache: 36608K

L3 cache:            55296K

Memory

We tried to maximize memory performance for each configuration.  The table below shows the memory configuration on the 2 hosts. 

Intel Cascade Lake 

Intel Ice Lake 

768 GB  (needs to be multiple of 6 or 12)

512 GB (interleave of 4 works best)

 

As per Intel’s guidelines, Cascade Lake was configured with memory banks divisible by 12 to a total of 768 GB. Ice Lake optimizes memory banks divisible by 4 and thus 512 GB was sufficient to deliver optimal memory performance.  We configured the workloads to run with the same buffer sizes for all the databases that fit well within 512 GB and ensured that the same amount of memory was in use by the workloads on both platforms.

Test setup

For testing purposes, we leveraged the HammerDB tool, which is an open source workload driver that generally works well to demonstrate the performance of a database server. HammerDB was set up to run a TPC-C workload against the databases. These results are considered estimates since they are not audited and do not include the large server and I/O requirements of a formal TPC-C benchmark.

Databases and schema

The tests were run against the following databases

  • Oracle 19.0.0.

  • Postgres 10.15-1

  • MariaDB 3:10.3.27-3

  • Microsoft SQL Server  15.0.4102.2-4

The tests were run with a total of 500 data warehouses.

Methodology

To enforce fairness, the tests were run on both configurations without any special tuning and out-of-the-box RHEL TuneD settings. The workloads were run while increasing user counts on both platforms and the best data points were collected. The runs were done multiple times and numbers were consistently reproducible.

HammerDB OLTP Database Performance Gains:

HammerDB OLTP Database Performance Gains

As shown, the performance gains range from 27-55% for running different databases on Ice Lake and Cascade Lake using the same PC-4600 NvME I/O controllers.

MariaDB

The testing with MariaDB showed an average 30% gain on the Ice Lake system. MariaDB is considered a mostly in-memory database. Both our Ice Lake and Cascade Lake “white-box” servers used the same speed memory DDR4 - 2999 Mhz.

 

Maria DB

PostgreSQL

PostgreSQL database uses a file cache along with the database cache. The workload saw up to a 30% gain in performance.

Rhel8.3 Icelake vs Cascade Lake

Microsoft SQL Server  

The HammerDB OLTP performance on Ice Lake benefited from larger L3 cache and higher CPU counts, achieving between 35-55% better transactions per minute (TPM) than the Cascade Lake at higher user counts.

Microsoft SQL Ice lake vs Cascade Lake

If you want to learn about TPC-H results with Microsoft SQL Server on RHEL, check out the March 2021 result summary here.

 

Oracle 19c

Oracle HammerDB OLTP workload also performed between 40-45% transactions per minute (TPM) on Ice Lake compared to Cascade Lake with more than 20 users.

Databases like Microsoft SQL Server and Oracle have data structures that are designed to align well with cache lines to deliver more performance, and scale based on more CPUs. 

Conclusions

Intel’s 3rd Gen Ice Lake Xeon Platinum 8360Y increases core count per CPU and bigger 3rd level hardware cache sizes, which helps to keep high-end databases scalable when compared to the Performance Lab’s production Cascade Lake system using the same memory and controller options.   

Overall, we're pleased with the improvements in this new generation of Xeon processors, and look forward to seeing them in production running Red Hat Enterprise Linux!

table { border: #ddd solid 1px; } td, th { padding: 8px; border: #ddd solid 1px; } td p { font-size: 15px !important; }