A Different View: Per Core and Per Thread Performance
With high core count servers, many are virtualized or running containers. In theory, it should be uncommon for a 64 core/ 128 thread server to rely heavily on single threaded performance. If you have a single thread per system workload, there are better options in the SKU stacks. Instead, we wanted to look at per core performance running multi-threaded workloads.
Let us first look at those UnixBench Whetstone results. EPYC was a clear leader in the performance charts.
Here we see a general trend around the Intel chips performing a bit better on a per core/ thread basis. The Dhrystone 2 results:
Here you can see that EPYC’s commanding lead shifts significantly when it comes to per core performance. Directionally, these views make sense.
Turning to the Linux Kernel Compile benchmark, here is what that view looks like:
The Broadwell-EP v. Skylake-SP numbers are exaggerated a bit by clock speed differences but the trend is fairly simple: EPYC draws strength from having lots of cores.
For those reading this article that either are not in corporate IT, or do not have to deal with per-core licensing, the AMD EPYC 7601 is a beastly CPU. Frankly, when buying your next generation of servers you should look into getting a few to run your workloads. We hope to have EPYC in DemoEval soon, so you can run your own workloads on our hardware, but we are short on platforms to spare for that while we are testing. Likely in the next few months, this will happen so stay tuned.
If you live in environments with Microsoft, Oracle, or other applications where licensing is on a per-core basis then your TCO calculations will look considerably different. [Edit: Thanks, commenters! VMware vSphere version(s) that EPYC is supported on (vSphere 6.5u1) are per socket not per core licensing like older VMware licenses. Removed VMware from the list.] Especially if you are being hit by a double-whammy of OS/ hypervisor per core licensing/ support as well as application per core licensing/ support, per core performance is paramount. In Part 2 we will have performance on some high-end engineering applications that are several thousand dollars per core so using as few cores as possible is important.
At the initial AMD EPYC 7000 series launch, there are essentially nine performance variants, excluding “P” single socket only SKUs. We have seven of the nine already in the lab so there will be a lot of follow up. At the same time, Intel has several dozen public performance variants without touching other vectors of differentiation. Intel’s CPUs are not just optimized for performance, they are explicitly optimized for licensing as well. For example, we have a pair of Intel Xeon Silver 4112 CPUs in the lab that are around $500 but with only 4 cores and extended cache. Compare that to the similarly priced 8 core/ 16 thread Xeon Silver 4110’s that have lower clock speeds and less L3 cache per core and Intel’s per core licensing optimized SKUs reach far down into the stack.
If your environment costs thousands of dollars per core, Intel is very interesting. If your main licensing and support costs are at the server level or have a case where you want to plug heaps of DIMMs and PCIe devices into a server, AMD looks extremely interesting.
We did want to address one other elephant in the room, Intel Xeon Platinum comparisons.
Sneak Preview: Please Stop Comparing Intel Xeon Platinum and AMD EPYC
Intel seeded several review sites, including STH, with Xeon Platinum CPUs and systems. At STH, we tested a 4P Intel Xeon Platinum 8180 system that is an absolute beast. It uses $10,000 CPUs which are meant to be low volume parts where the list price (note list price) has a significant premium. These parts command premium list price both for potential discounting purposes and also as specialized tools for specific workloads.
To illustrate the concept of specialized tools, here is a preview of our first set of GROMACS benchmarking results using our “small” workload.
A key note on the above, it took us some time to get to that level of performance. We needed to grab the latest AMD AVX2 patches and the latest AVX-512 patches for Intel. The above we are going to call a “Work in Progress” but on the flip side, we have several thousand runs completed. For the particular workload, the above was very consistent run-to-run but we are going to modify the go-forward test cases.
The key takeaway here is that the quad socket Intel Xeon Platinum 8180 CPUs are over 3x as fast as the dual socket AMD EPYC 7601 parts largely thanks to AVX-512. We say our “small” workload as we found that the 4P Intel Xeon Platinum 8180 machine had so many cores and threads that we were well beyond the point where our performance was not scaling well due to the number of simulated atoms per CPU core being too low. We are currently testing an updated 150,000 atom model which we are calling “hard” for now. More on this in Part 2.
From a price perspective, AMD and Intel are going to compete in the single and dual socket markets between the Intel Xeon Bronze and Gold lines. The Platinum SKUs are Intel’s low volume highly specialized tools. That is why we pulled results from most of the charts above. While a $3300 and a $4200 CPU may compete in some markets, a $4200 and $10000 CPU are unlikely to compete.
If you are using open source software, or if you license software on a per node basis, AMD EPYC is going to be strong in many use cases. Performance even on legacy workloads is going to be extremely strong. From a platform perspective, AMD has more memory channels, more PCIe lanes (NB) and a great architecture to service a variety of workloads. There is no premium for going over 768GB/ socket memory (despite the fact that hitting 2TB/ socket is a $70K per socket cost itself.)
When looking at AMD EPYC performance there is a time element. There is a very good chance that several quarters down the road, AMD EPYC performance gets significantly better. We are testing this before commercially available systems are shipping en masse. Once EPYC gets to developers, we expect performance to improve. Likewise, Skylake is a significant architecture change so we expect Xeon Scalable systems to get a performance bump over time.
At STH we have a view of the platform informed by the fact that we have around 30% of all AMD EPYC and Intel Xeon Scalable 1P and 2P SKU’s covered by the CPUs in our lab, along with about two dozen legacy configurations online. We have been testing these AMD EPYC 7601 CPUs for some time. Now that we are seeing system firmware working as we would expect, and the software ecosystem improving, we can say that for our web hosting cluster, EPYC will be a great fit. We are working on adding EPYC to the cluster and actually have had a Ryzen 7 1700 system in the cluster for over a quarter just to profile where we would put EPYC.