Visitor publication

User-Space Hinting will help AMD EPYC processors achieve better task performance

Posting time:2022-12-06 02:25:55

User-Space Hinting will help AMD EPYC processors achieve better task performance

Ahead of next week's Linux Plumbers Conference in Dublin, Ireland, AMD also plans to discuss how to improve the scheduler for its Split Last Level Cache (LLC) architecture. An engineer on the AMD Linux server team, K. Prateek Nayak has just released a series of patches and is focused on task placement counts for User-Space Hinting. Phoronix pointed out that the latest work shows that AMD intends to improve the Linux kernel scheduler and use it in the LLC CPU project to improve the company's EPYC (Xiaolong) server processor. The new patch is still in the "experimental" and "comment" stages, as indicated by the flags on the Linux Kernel Announcement Mailing List (LKML). The current API design can only set low-level hints and is not available to the public - it is only used to test and demonstrate the efficacy of User-Space Hinting in application scheduling / optimal placement decisions. The scheduler is free to ignore userspace hints if it believes that following the hints would put the system in a suboptimal state. In contrast, the heuristics used by today's schedulers - such as WF-SYNC flags, wake_wide logic, etc. - still suffer from inability to accurately infer the nature of the workload. In other words, the scheduler doesn't know whether it's best to merge a set of threads, or split them up. Unable to infer the nature of the workload, or lead to a series of inaccurate placement decisions, which adversely affects the performance of the workload. For systems with split LLCs, such as the AMD EPYC EPYC server platform, the negative impact is greatly amplified. The good news is that the new patch series includes the ability to select task placement near the parent when there are inactive cores in the local group. The process is responsible for deciding to continue scaling the workload with the group that contains the least utilization, and checking for other possible hints. In fact, as early as last year, Peter Zijlstra, an engineer on the Intel Linux kernel team, also introduced an advanced hinting framework. It is designed to help the kernel scheduler's task sequences cope with increasingly complex CPUs and workloads, and User-Space Hinting in its current state is done through the prctl interface. Finally, preliminary test results on the Intel Xeon Ice Lake platform show that EPYC servers are expected to usher in significant performance improvements on various workloads such as Hackbench, Schbench, and Tbench. However, since this series of patches is still in the experimental stage, it is speculated that end users will have to wait several months to see it is ready to be added to the Linux kernel.

Top ranking