My understanding is that Intel's quoted "max turbo boost" speed is only guaranteed when a single core is active, and that when all cores are active, the clock speed could conceivably fall to the base clock speed (which is often much lower).
I'm wondering how this actually looks in practice for a modern server Intel CPU. I ran some tests on AWS and I can't detect any clock speed slowdown even up to n=32 active processes, which is surprising and contradicts online references (links at bottom).
I'm on an AWS EC2 box with 32 core Xeon Platinum 8375C, which advertises 3.5 GHz max turbo boost and 2.9 GHz base speed.
When I run stress --cpu 32 --timeout 20
and measure clock speed via watch -n 1 "cat /proc/cpuinfo | grep 'MHz'"
, I see speeds extremely close to 3.5 GHz regardless of how many active cores I use.
This contradicts all the analysis I can find online - each of the links below has a table showing all core frequency significantly less than the max turbo frequency. The general intuition is that turbo speed will decrease as active cores increases. What's going on here? Does AWS have unusually good cooling?
- https://servethehome.com/wp-content/uploads/2023/01/4th-Gen-Intel-Xeon-Scalable-Sapphire-Rapids-Launch-SKU-List.jpg
- https://community.intel.com/t5/Processors/What-is-the-all-core-non-avx-turbo-freq-of-xeon-gold-6256-and/m-p/677979
- https://forum.level1techs.com/t/intel-xeon-all-core-turbo/203623/4
From a practical perspective, when selecting a server CPU should one pay any attention at all to the base frequency or simply optimize for the max turbo boost frequency, even for highly parallel workloads?