Intel Preparing Sapphire Rapids C0.2 Idle State Support For Better Energy Efficiency
Posted today were a set of Linux kernel patches for enabling Sapphire Rapids C0.x idle states support, which can provide a nice bump to the energy efficiency of the latest-generation Xeon Scalable servers while also helping out with possible turbo boost benefits for the busy CPU cores to enhance overall system performance.
The C0.2 idle state is new to 4th Gen Xeon Scalable "Sapphire Rapids" and is an idle state between the POLL and C1 states.
Intel Linux engineer Artem Bityutskiy explained with today's kernel patches:
For those concerned about the latency, with these patches the C0.2 state can be disabled using the "intel_idle.states_off=2" module option. Additionally, there is a sysfs interface to try a C0.1 idle state but in testing that didn't provide a clear power advantage like C0.2.
This Sapphire Rapids C0.2 idle state support for Linux is now out for review on the kernel mailing list. Hopefully it will be reviewed well and this power-savings feature for SPR Xeon servers will manage to land for the v6.4 cycle this summer. Once it's clear on a trajectory for mainline, I'll also be running some performance benchmarks and power efficiency comparisons.
The C0.2 idle state is new to 4th Gen Xeon Scalable "Sapphire Rapids" and is an idle state between the POLL and C1 states.
Intel Linux engineer Artem Bityutskiy explained with today's kernel patches:
According to my measurements, SPR C0.2 idle state is 5-20% more energy-efficient than Linux POLL state, and its latency is close to POLL latency.
When a CPU rests in C0.2, saved power increases power budget of a busy CPU. This way, C0.2 may improve turbo boost of a busy CPU and improve performance.
...
C0.2 has higher latency comparing to POLL, but it comes with substantial energy savings.
...
Conclusion: even with small C0.2 residency (~10%), hackbench shows some performance improvement. With larger C0.2 residency the improvement is more pronounced.
For those concerned about the latency, with these patches the C0.2 state can be disabled using the "intel_idle.states_off=2" module option. Additionally, there is a sysfs interface to try a C0.1 idle state but in testing that didn't provide a clear power advantage like C0.2.
This Sapphire Rapids C0.2 idle state support for Linux is now out for review on the kernel mailing list. Hopefully it will be reviewed well and this power-savings feature for SPR Xeon servers will manage to land for the v6.4 cycle this summer. Once it's clear on a trajectory for mainline, I'll also be running some performance benchmarks and power efficiency comparisons.
1 Comment