AMD seeks higher performance of EPYC CPUs in Linux using user-space hinting for workloads
The new patches are labeled “experimental” and “request for comments” and count low-level knobs to control the scheduler’s arrangement of user-space tasks relying upon the hints provided by the user-space. The new patch sequence from AMD includes the capability to select task placement near the parent if there is an inactive core in the local group. From there, the process determines to proceed with the group containing the least utilization to extend the workload, and additional probable hints are also being examined. Peter Zijlstra, an engineer for Intel’s Linux kernel team, proposed a high-level hinting framework last year that would assist the kernel scheduler’s task sequence with the increasingly complex CPUs and workloads. This user-space hinting in the present state is accomplished through the prctl() interface.
- Motivation The heuristics used by the scheduler today, such as the WF_SYNC flag, wake_wide() logic, etc., fall short at accurately inferring the nature of the workload in terms of whether it is preferable to consolidate a group of threads close together or if they should be spread apart. The inability to infer the nature of the workload can lead to a series of incorrect placement decisions that can be detrimental to the workload performance. The penalty seems to be severe on systems with split-LLC such as AMD EPYC. AMD’s initial testing of the user-space hinting patches has demonstrated the prospect of increasing EPYC server performance for diverse workloads like Hackbench, Schbench, Tbench, and more. Initial testing has been done on Intel’s Xeon Ice Lake in an area where user-space hinting can benefit workloads. Since the current patchwork is experimental, it is speculated that it will be several months before we see the user-space hinting fully implemented and ready for adding to the Linux kernel. Users interested in discovering the current patchwork can find out more through the Linux kernel mailing list. News Sources: Phoronix, Linux kernel mailing list