Glenn Berry

AMD EPYC 7002 Series Processors and SQL Server

Download the SentryOne Plan Explorer Extension for Azure Data Studio
SentryOne eBooks

In these books, you will find useful, hand-picked articles that will help give insight into some of your most vexing performance problems. These articles were written by several of the SQL Server industry’s leading experts, including Paul White, Paul Randal, Jonathan Kehayias, Erin Stellato, Glenn Berry, Aaron Bertrand, and Joe Sack.

Register to Download

Featured Author

Itzik is a T-SQL trainer, a co-founder of SolidQ, and blogs about T-SQL fundamentals and query tuning.

Itzik’s Posts

On August 7, 2019, AMD finally unveiled their new 7nm EPYC 7002 Series of server processors, formerly code-named "Rome" at the AMD EPYC Horizon Event in San Francisco. This is the second generation EPYC server processor that uses the same Zen 2 architecture as the AMD Ryzen 3000 Series desktop processors. These new processors are socket compatible with the previous generation AMD EPYC 7001 Series processors, so they will work in existing model servers (with a BIOS update). Despite that, you will need a new model server to be able to use PCIe 4.0 support from the newer processors.

The AMD EPYC 7002 series includes 19 public launch SKUs that have anywhere from 8 to 64 physical cores, plus SMT, for twice the number of logical cores per processor. There are fourteen SKUs that will work in both one-socket and two-socket servers. There are also five less expensive processor SKUs (which have a "P" suffix) that only work in one-socket servers. This processor family has enough compute horsepower, memory bandwidth and capacity, and I/O bandwidth to support large server workloads on a single-socket server.

Single-Socket Database Servers

AMD is definitely pushing the idea that a one-socket AMD Ryzen 7002 based server is a superior replacement for nearly any two-socket Intel-based server. A one-socket AMD EPYC 7002 Series server can have up to 64 physical cores, 4TB of DDR4-3200 RAM, and 128 PCIe 4.0 I/O lanes. It will also use less power than a two-socket Intel server, with a lower hardware cost, and potentially lower licensing costs (for things like VMware). Figure 1 shows an example from AMD comparing a two-socket server with two Intel Xeon Gold 6262V processors to a one-socket server with one AMD EPYC 7702P processor.

Figure 1: AMD Example of Two-socket vs. One-socket Server

This idea is not unique to AMD. Dell Vice President/Server CTO Robert W. Hormuth recently argued "Why Single-Socket Servers Could Rule the Future", which talks about Amdahl's Law, NUMA overhead, and power usage, among other things. As processor core counts continue to increase, single-socket servers will make more sense for many workloads.

There is already very broad industry support behind these new processors, with Dell EMC, HPE, Gigabyte, Lenovo, SuperMicro, and TYAN announcing new server models for these processors.

The initial reviews and benchmarks for these processors have been very impressive:

TPC-H Benchmark Results with SQL Server 2017

HPE has already submitted a new official TPC-H result on SQL Server 2017 for a single-socket, HPE Proliant DL325 Gen10 1U server that was 743,750 QphH@1000GB. This system has one AMD EPYC 7502P 32-core processor and 512GB of RAM. If we divide 743,750 by 32 cores, we get 23,242 per core. The price per QphH for this system is 0.34 USD.

HPE has a previous official TPC-H result on SQL Server 2017 for a two-socket, HPE Proliant DL380 Gen 10 server that was 1,009,065 QphH@1000GB. That is a higher score, but this system used two Intel Xeon Platinum 8180 28-core processors (that had a total of 56C/112T) and 512GB of RAM. If we divide 1,009,065 by 56 cores, we get 18,019 per core. The price per QphH for this system is 0.47 USD.

TPC-E Benchmark Results with SQL Server 2017

Lenovo has also submitted a new official TPC-E result for a single-socket, Lenovo ThinkSystem SR655 2U server that has a TPC-E Throughput score of 6,716.88. This system has one AMD EPYC 7742 64-core processor and 1TB of RAM. This is the first time any server vendor has even bothered to submit a TPC-E result for an AMD-based system since 2013.

The TPC-E Throughput score is a good measure of the overall CPU capacity of the system for an OLTP workload. If you divide that total score by the number of physical cores in the system, you will get a "score per core" which is a good measure of the single-threaded performance of the processor used in the system. In this case, 6,716.88/64 equals 104.95 per core.

For comparison's sake, Lenovo has an earlier submission of an official TPC-E result for a two-socket, Lenovo ThinkSystem SR650 2U server that has a TPC-E Throughput score of 7012.53. This system has two, Intel Xeon Platinum 8280 28-core processors and 1.5TB of RAM. If we divide 7012.53 by 56, the score per core ends up being 125.22, which is about 19% higher than the AMD result. Single-threaded CPU performance is the one relative weak point of the AMD EPYC 7742 processor.

I would argue that the advantages of the AMD EPYC 7002 Series include:

  • A more modern modular architecture
  • Higher memory density/capacity
  • Higher memory speed and bandwidth
  • PCIe 4.0 support
  • More total PCIe lanes and bandwidth
  • Lower power usage
  • Much lower pricing, especially compared to "M" and "L" suffix Intel processors
  • Better security, with Secure Memory Encryption and Secure Encrypted Virtualization

Preferred AMD EPYC Processors

Among the 19 public processor SKUs, there are preferred choices for SQL Server at each available core count. AMD does a lot less product segmentation than Intel. They don't artificially limit the number of PCIe 4.0 lanes on the lower cost SKUs, and they don't charge more for extra memory capacity like Intel does. Intel charges $3K extra for the "M" suffix SKUs, and $7K extra for the "L" suffix SKUs

All of these AMD EPYC processors support 4TB of RAM in a single-socket server. The main specifications for my preferred AMD processors at each core count are shown in Figure 2.

Figure 2: Preferred AMD EPYC 7002 Processor Specifications

The corresponding preferred 2nd Generation Intel Xeon Scalable processors for SQL Server at each core count are shown in Figure 3.

Figure 3: Preferred 2nd Generation Intel Xeon Scalable Processor Specifications

Conclusion

AMD has released a game-changing processor family for the server market. AMD EPYC 7002 Series processors have more memory capacity (on standard SKUs), more memory bandwidth, and more general-purpose integer and floating-point performance per socket than current Intel Cascade Lake-SP processors. They also have PCIe 4.0 support and a higher number of PCIe lanes than the latest Intel server processors. AMD also gives you more performance per dollar and per watt with the EPYC 7002 Series.

Because of this, I think they will be a great choice for virtualization hosts and for Storage Spaces Direct nodes. I also think they will be a great choice for SQL Server DW/Reporting workloads because of the memory and I/O capacity/bandwidth advantages compared to Intel.

The single-threaded CPU performance is not quite as good as Intel's best current offerings, but it is closer than it has ever been before. If you are upgrading from an older Intel processor family (especially if the exact processor was a lower-frequency SKU), you will be able to get better single-threaded CPU performance with a new EPYC 7002 Series processor in most cases.

AMD's biggest challenge is going to be convincing customers to actually buy AMD-platform servers, since Intel has been so dominant in the server market since the Nehalem architecture era back in 2008. AMD is not going to stand still and wait for Intel to catch up. They are on track to probably release the next Zen 3 architecture in mid-late 2020.

AMD EPYC 7002 DeliveryFigure 4: AMD EPYC Roadmap