One feature that Intel has had for some time is the ability to change the personality of its Xeon CPUs dynamically. On CPUs that have “Y” suffixes, and with compatible servers, we can get access to Intel Speed Select Technology or SST. This allows us to change the core counts, frequencies, and TDP of CPUs to different levels easily. We are going to show how to change the personality of a Y series Xeon using a Dell PowerEdge R760 iDRAC 9 interface since it is very easy.
How To Change Core Count and TDP of Intel Xeon Y CPUs on Dell PowerEdge
The two main components of making this capability work are having a compatible CPU and server. Here we have the Intel Xeon Platinum 8452Y as you can see here.
When these are installed, changing personalities is fairly straightforward. One can use BIOS, or even just the iDRAC 9 BIOS setting page. Here is the dropdown SST-Performance Profile:
Here we can see the options:
- Operating Point 1: P1: 2.0 GHz, TDP: 300w, Core Count:36
- Operating Point 2: P1: 1.9 GHz, TDP: 270w, Core Count:32
- Operating Point 3: P1: 2.1 GHz, TDP: 250w, Core Count:24
These match the Intel Ark page Intel SST-PP:
That BIOS setting can be selected, then the server reboots and the new performance profile will take effect.
Using Intel SST-PP is extremely easy. Most STH readers with SST-PP enabled Xeons are probably using the default maximum core count profile. Still, this is an option and is very easy to change. If you are wondering what the use case is for moving to lower core counts, that is fairly easy.
We saw a good example of how this is used recently in our Putting the Bare Metal Server in the PhoenixNAP Bare Metal Cloud piece. There, PhoenixNAP uses Supermicro servers with the same Intel Xeon Platinum 8452Y SKUs. Having Intel SST-PP options allows for one SKU to be installed then multiple types of bare metal instances to be serviced from that one SKU.
SST-PP for me mostly highlights how power inefficient the current core design of Intel is. Going from 36 to 24 cores for a total P1 of 72GHz versus 50.4GHz is a capacity reduction of 30% but only a power reduction of 17%. It would perhaps have made more sense to have a pure TDP configuration with a stable core count, something that has existed for years.
This feature would be far more interesting if it allowed to hit licensing sweet spots at high per-core performance but as it is I would call it a useless feature and a worrying direction for Intel to become even more of a feature locking vendor versus the main competitor that currently outperforms in both raw performance, performance efficiency and doesn’t feature lock SKUs (yet).
It seems one has to reboot each time the profile changes. Compared to the turbo switch on i286 PC clones of the 80’s, such rebooting seems clunky. My recollection is cores and SMT modes can be changed on the fly in Linux for some systems, for example Power 9 and some Nvidia embedded.
Is there any chance of betting able to change these profiles without rebooting? I can imagine situations with variable electricity tariffs or predictable system load where changing the power versus performance efficiency balance daily could be useful.
You can change all this crap without rebooting. It is only Dell+Windows being stupid that puts this stuff in the BIOS. All these parameters can be changed on the fly. I know how to do it on Linux but I am not familiar with the tools on Windows that I assume exist. Intel’s documentation does not describe a way to do it on Windows, however.
On Linux, SST-PP is just marketing words and a script that exercises the standard Linux CPU hot-plug, power capping, and frequency management features. If you ignore the marketing you can use these features the same way you would on any other CPU.
I believe Intel’s XTU program on the Windows side can do many of these features in the consumer space. I wouldn’t surprise me if they worked on Xeon’s to toggle such features in real time without a reboot.
What does the “P1” stand for in “Operating Point 1: P1: 2.0 GHz, TDP: 300w, Core Count:36”? Does this indicate that one CPU is running at this operating point, but the other is, for lack of a better word, independent?