A Look At Linux Application Scaling Up To 128 Threads
Arriving last week in our Linux benchmarking lab was a dual EPYC server -- this Dell PowerEdge R7425 is a beast of a system with two AMD EPYC 7601 processors yielding a combined 64 cores / 128 threads, 512GB of RAM (16 x 32GB DDR4), and 20 x 500GB Samsung 860 EVO SSDs. There will be many interesting benchmarks from this server in the days and weeks ahead. For some initial measurements during the first few days of stress testing this 2U rack server, here is a look at how well various benchmarks/applications are scaling from two to 128 threads.
This article with these benchmarks is mainly intended for reference purposes for those curious how well different Linux workloads scale up to 128 threads with these multi-core benchmarks available via the Phoronix Test Suite and OpenBenchmarking.org. Tests were done with 2, 4, 8, 16, 32, and 64 cores enabled and then the default configuration of 64 threads plus SMT to yield 128 threads of jaw-dropping power.
During this testing, the benchmarks were running off an 18 x RAID10 array of these Samsung 860 SSDs to ensure there was no I/O bottleneck in any of these real-world or synthetic benchmarks, most of which are open-source. Ubuntu 18.04 LTS was running on this PowerEdge R7425 while having upgraded to the Linux 4.19-rc6 kernel.
Again, these are just some initial measurements while during the initial "burn-in" period of the server but figured plenty of readers would be curious how these different workloads are scaling up to 128 threads so here are these results for reference or for assisting in your own multi-core performance testing. In the days ahead will also be some interesting container density benchmarking via a new addition to the Phoronix Test Suite for those interested in containers/Docker performance, among other interesting benchmarks.