CentOS Stream ISA Optimized Packages Show Great Results On Intel Xeon Emerald Rapids
As part of Red Hat evaluating x86-64-v3 for Red Hat Enterprise Linux 10, there is the CentOS ISA SIG that's been experimenting with ISA Optimized builds for the x86-64-v3 target. Via the CentOS ISA SIG there is the easy ability to transition an existing CentOS Stream 9 system/server over to using the x86_64-v3 optimized packages. In this article are some benchmarks on a modern Intel Xeon Scalable "Emerald Rapids" server showing the performance benefits when the entire Linux server OS is recompiled for x86_64-v3.
The x86-64-v3 micro-architecture feature level as a reminder mandates AVX/AVX2 support along with BMI2, FMA, MOVBE, and other newer instructions. This roughly correlates to Intel Haswell and newer processors as well as AMD Excavator and newer processors -- but with some exceptions such as some Intel Atom cores of more recent years lacking the necessary Advanced Vector Extensions support.
While Red Hat is still said to be evaluating the x86-64-v3 requirements for RHEL 10, it will presumably happen. It makes sense after all with RHEL 10.0 not due to debut until 2025 and aging pre-Haswell/Excavator servers can still continue using CentOS/RHEL 9 with not many of those aging servers likely to be upgraded to RHEL 10 anyhow in mature environments.
The CentOS ISA Special Interest Group offers an "ISA Baseline" build that is CentOS Stream 9 compiled with GCC 12 rather than GCC 11 as used by default on CentOS Stream 9. This ISA baseline is to match the GCC 12 compiler used by the "ISA Optimized" version. In some benchmarks simply using the ISA Baseline packages is faster than a clean CentOS Stream 9 install thanks to the upgraded compiler. The ISA Optimized packages are built with GCC 12 and targeting x86_64-v3 rather than x86_64-v2. This CentOS.org documentation page outlines the few steps to migrate an existing CentOS Stream 9 server to either the ISA Baseline or ISA Optimized packages.
For this round of testing it was done on a dual Intel Xeon Platinum 8592+ Emerald Rapids server and looking at the performance of the Baseline ISA packages against using the ISA Optimized packages that are built for x86-64-v3. It's a straight-forward comparison looking at what difference the x86_64-v3 upgrade means for a variety of workloads on CentOS Stream.