On March 29, 2021, Lenovo submitted a new TPC-H result for a Lenovo ThinkSystem SR665. This system had a score of 624,778 QphH@3000GB, using two 8C/16T AMD EPYC 72F3 processors. This is unusual and quite impressive!
Normally, server vendors only submit official TPC-H or TPC-E results for the “flagship” SKU in a new processor family. This gives them the highest topline score for the benchmark, but the systems tested are much larger and more expensive than most organizations want or need. It is very refreshing to see a server vendor break out of this pattern.
Lenovo ThinkSystem SR665 Details
The new Lenovo ThinkSystem SR665 is a 2U, two-socket rack mount server for 3rd Generation AMD EPYC “Milan” processors. This server has thirty-two DDR4-3200 memory slots and eight PCIe 4.0 slots.
For this test, it had two 8C/16T AMD EPYC 72F3 processors and 1TB of DDR4-3200 RAM (sixteen 64GB DIMMs). The system was using internal storage, with six 3.84TB U.2 PM1733 PCIe 4.0 drives and two 1.6TB U.2 CM5-V PCIe 3.0 drives.
It was running on Microsoft SQL Server 2019 Enterprise Edition on top of Red Hat Enterprise Linux 8.3. The hardware and software details and prices are shown in more detail below.
AMD EPYC 72F3 Specifications
The AMD EPYC 72F3 is the lowest core count SKU from the “F” series of per core optimized models. It has 8C/16T with a base clock of 3.70 GHz and a Max Boost clock of 4.10 GHz. Even though it only has eight cores, it still has a 256MB L3 cache and a cTDP of 200 watts. That means that it has a huge amount of L3 cache per core, and the ability to boost those cores to higher speeds because of the high cTDP. This is an absolute speed demon SKU that is a great choice for SQL Server.
How Impressive Is This Result?
The official score is 624,778 QphH@3000GB. This means a 624,778 TPC-H composite query per hour score on a 3,000GB database. The system has only sixteen physical cores. If we divide 624,778 by 16, the result is 39,048.63 per core.
To put that in perspective, HPE also has a recent TPC-H result for a one-socket HPE Proliant DL345 Gen10 Plus server that I wrote about here. That server has one 64C/128T AMD EPYC 7763 processor, 2TB of RAM, and twelve NVMe drives. The system is running SQL Server 2019 Enterprise Edition on Red Hat Linux 8. This is also for a 3,000GB database, so the results are comparable.
The 64C/128T system has a score of 1,346,932 QphH@3000GB. If we divide 1,346,932 by 64 the result is 21,045.81 per core. The EPYC 72F3 has an 85.5% higher score/core by this measure.
Looking at price/performance for the entire system, we get $396.18 USD per kQphH@3000GB for the one-socket EPYC 7763. The two-socket EPYC 72F3 is $239.94 USD per kQphH@3000GB, which is much less expensive per QphH. This is the lowest cost per QphH ever for a SQL Server system on a 3000 scale factor database.
This reinforces the idea that lower core count frequency optimized SKUs can be huge wins for SQL Server usage. Lower core counts mean lower SQL Server license costs. Faster single-threaded CPU performance means better database and application performance (assuming you don’t have other bottlenecks).
It is encouraging to see more TPC-H and TPC-E benchmark results show up for new systems with new AMD EPYC “Milan” processors. This makes it easier to do accurate sizing analysis work. I also think it is a bad sign for Intel that there are still no TPC-H or TPC-E results for any systems using the new Intel Ice Lake-SP processors.
If you have any questions about this post, please ask me here in the comments or on Twitter. I am pretty active on Twitter as GlennAlanBerry. Thanks for reading!
2 thoughts on “New TPC-H Result for Lenovo ThinkSystem SR665”
I really wish someone would near comparable 1S vs 2S results. Note: In TPC-E, the Intel 4S 112c 2.9GHz is comparable to AMD 2S 128c 2.45 GHz. I would have said that TPC-E is not frequency sensitive, but is sensitive to memory latency which is why I really want to see the 1S/2S. But my recent tests should selective SELECT queries to random row is frequency sensitive but not latency, which I cannot explain. I expect TPC-H, which should be done in columnstore(?) to be linear with frequency, hence the comparison between 64c/2.45GHz vs. 16c/3.7GHz should be core-GHz adjusted. Another possibility is memory channels per core, though I do not expect SQL to tax raw memory BW, but that’s just a guess
I wish server vendors would do more TPC-E and TPC-H submissions with different model servers (one and two-socket) with more CPU SKUs. That way we would have more complete data and we would not have to extrapolate.
Once you have a server and storage setup and configured, it would be pretty easy to swap out the processor(s) and rerun the tests (with some configuration tweaks). Of course, maybe TPC charges a pretty hefty fee for each official submission. Not to mention that the DBMS vendor has veto power, and they would rather you just buy the flagship SKU anyway.