P-State Powersave Improvements May Help Boost I/O Performance
Those running Intel Skylake servers may soon see better I/O performance if using the P-State powersave governor that is often the default on many Linux distributions.
Kernel developers working on the Intel P-State CPU frequency scaling driver are working on a HWP (Hardware P-State) dynamic performance boost model intended to help Linux I/O performance. This comes after it was discovered of some I/O performance shortcomings when using the P-State powersave mode with some workloads, albeit unaffected when using the P-State performance governor. Unfortunately though most Linux distributions enabling P-State for Intel CPUs default to using the "powersave" mode for balanced power/performance, even on servers and workstations.
Srinivas Pandruvada explained of the new patches up for testing:
Their tests found no change in idle power use but under Dbench the performance improved by 50%, 10% with Tiobench and FIO, about 15% with SQLite, and about 10% better as well for x264 video encoding.
Hopefully these patches are deemed ready for the upcoming Linux 4.18 cycle.
Kernel developers working on the Intel P-State CPU frequency scaling driver are working on a HWP (Hardware P-State) dynamic performance boost model intended to help Linux I/O performance. This comes after it was discovered of some I/O performance shortcomings when using the P-State powersave mode with some workloads, albeit unaffected when using the P-State performance governor. Unfortunately though most Linux distributions enabling P-State for Intel CPUs default to using the "powersave" mode for balanced power/performance, even on servers and workstations.
Srinivas Pandruvada explained of the new patches up for testing:
By default HWP defaults to energy performance preference value of 0x80 on majority of platforms(Scale is 0-255, 0 is max performance and 255 is min). This value offers best performance/watt and for majority of server workloads performance doesn't suffer. Also users always have option to use performance policy of intel_pstate, to get best performance. But user tend to run with out of box configuration, which is powersave policy on most of the distros.
In some case it is possible to dynamically adjust performance, for example, when a CPU is woken up due to IO completion or thread migrate to a new CPU. In this case HWP algorithm will take some time to build utilization and ramp up P-states. So this may results in lower performance for some IO workloads and workloads which tend to migrate. The idea of this patch series is to temporarily boost performance dynamically in these cases. This is only applicable only when user is using powersave policy, not in performance policy.
Their tests found no change in idle power use but under Dbench the performance improved by 50%, 10% with Tiobench and FIO, about 15% with SQLite, and about 10% better as well for x264 video encoding.
Hopefully these patches are deemed ready for the upcoming Linux 4.18 cycle.
2 Comments