Modern system power management is anything but simple. Modern CPUs (or APUs in AMD’s parlance) have complex sensor networks and power management schemes that take temperature reads from multiple points inside the system, including its skin temperature. A recent investigation into Intel’s Linux P-state driver showed this — end-users were reporting better results if they used the “powersave” governor as opposed to the “performance” governor.
A series of patches created by Francisco Jerez, one of Intel’s open-source driver developers, is intended to help resolve the issue. Here’s how he frames the problem:
In IO-bound scenarios (by definition) the throughput of the system doesn’t improve with increasing CPU frequency beyond the threshold value at which the IO device becomes the bottleneck, however with the current governors (whether HWP is in use or not) the CPU frequency tends to oscillate with the load, often with an amplitude far into the turbo range, leading to severely reduced energy efficiency, which is particularly problematic when a limited TDP budget is shared among a number of cores running some multithreaded workload, or among a CPU core and an integrated GPU.
The goal here is not to waste CPU cycles on I/O-bound workloads where they are literally of no use, whether that’s in a multi-threaded scenario or a simultaneous CPU and GPU workload, like gaming. At the same time, however, Intel wants the system to maintain a certain minimum level of responsiveness. The solution, Jerez writes, is to limit the CPU to a “reasonably energy-efficient frequency able to at least achieve the required amount of work in a time window approximately equal to the ramp-up latency target.”
In other words, the CPU drops to a lower and more energy-efficient frequency without sacrificing Intel’s latency requirement. The software is still under active development. Currently, it may not work very effectively if used in heavy multi-tasking environments where multiple applications request very low ramp-up latency targets, because the lowest target is always used.
Still, the performance improvements for the IGP are significant: up to 43 percent improvement in FPS/W and up to 15 percent straight performance improvement based on results Jerez posted from a Razer Blade Stealth 13 Late 2019/Early 2020 laptop. He does caution that the gains will depend on what kind of laptop you have and what the cooling configuration is, which makes sense, though from the discussion of the problem, it sounds like this issue could hog performance even when the laptop wasn’t running particularly hot.
An increasingly large number of the performance-boosting optimizations we see coming out of companies these days involve this kind of tweak to power state management, through a mixture of hardware and software. The links between OS, CPU, and GPU power management will only become more complex in the years ahead.
- Microsoft Will Publish exFAT Spec, but Linux Devs Aren’t Happy
- IBM Open-Sources Power ISA, Shares CPU, OpenCAPI Reference Designs
- Intel Unveils Clear Linux OS Update at Open Source Summit