AMD proposes push-based load balancing for Linux kernel

Advanced Micro Devices is advancing a push-based load balancing mechanism for the Linux kernel to optimize performance on its Epyc server processors. This approach shifts from traditional pull-based scheduling to allow overloaded cores to proactively distribute tasks to idle ones. The proposal aims to enhance efficiency in high-core-count systems used in data centers and cloud environments.

In a recent request for comments (RFC) patch series submitted to the Linux kernel mailing list, AMD engineers have introduced a push-based load balancing system designed specifically for its Epyc processors. This innovation addresses limitations in the existing Completely Fair Scheduler (CFS), which has been the default since 2007 and relies on idle cores pulling tasks from busier ones. In contrast, the push model enables overloaded cores to actively offload tasks to underutilized siblings, reducing migration latency and overhead in multi-core architectures.

The proposal targets systems with high core counts, such as the Epyc 9004 series exceeding 128 cores per socket, common in non-uniform memory access (NUMA) topologies found in AMD's Zen architectures. Internal testing on Epyc Genoa processors demonstrates up to 15% improvements in throughput for multi-threaded applications like kernel compilation and database queries. For instance, in workloads such as SPEC CPU and online transaction processing (OLTP) databases, task migration overhead decreased by 10-20% on dual-socket Epyc systems.

Technically, the patches modify the scheduler's select_task_rq function to trigger push operations based on core load metrics, such as average runqueue length. These pushes occur within the same last-level cache (LLC) domain to minimize costs associated with cross-NUMA migrations. The approach integrates with existing features like CPU affinity and control groups, while inviting community feedback on edge cases including real-time tasks.

This development builds on prior kernel enhancements, such as the sched_ext framework in Linux 6.19, which introduced eBPF-based custom schedulers for better latency. It also responds to competitive pressures from Intel's cache-aware load balancing patches for Xeon processors. Beyond performance, the push model promises power efficiency gains by enabling even load distribution, potentially reducing thermal throttling in data centers handling AI workloads, virtualization, and databases. AMD's initiative underscores ongoing efforts to scale Linux for hyperscale operators like Google and Amazon, fostering collaborative improvements in open-source software.

Dette nettstedet bruker informasjonskapsler

Vi bruker informasjonskapsler for analyse for å forbedre nettstedet vårt. Les vår personvernerklæring for mer informasjon.
Avvis