This sounds pretty good if confirmed! May improve faster and better machine learning and AI!
"... uncovered inefficiencies in how the Linux operating system (OS) processes network traffic at the kernel level ...
The OS also periodically polls the network to check for incoming packets before an interrupt request fires. This busy polling mechanism minimizes delays in network traffic processing at the cost of CPU power consumption. During low traffic conditions in particular, polling continues even without packets to process, leading to needless energy usage. ...
devised a technique such that busy polling happens during high network traffic periods, with unnecessary interrupt requests suspended. When network traffic dies down, interrupt-based delivery resumes. ...
“We piggyback on existing code in the Linux kernel, and we change the order in which things operate.”
That change led to around 30 lines of reworked code. They tested the functionality and performance of their modifications on different scenarios and workloads, and found that the kernel improvements can decrease power consumption by up to 30 percent. ...
The code has been implemented as part of the Linux kernel release version 6.13 in January. ..."
From the abstract:
"This paper reviews the performance characteristics of network stack processing for communication-heavy server applications. Recent literature often describes kernel-bypass and user-level networking as a silver bullet to attain substantial performance improvements, but without providing a comprehensive understanding of how exactly these improvements come about.
We identify and quantify the direct and indirect costs of asynchronous hardware interrupt requests (IRQ) as a major source of overhead. While IRQs and their handling have a substantial impact on the effectiveness of the processor pipeline and thereby the overall processing efficiency, their overhead is difficult to measure directly when serving demanding workloads.
This paper presents an indirect methodology to assess IRQ overhead by constructing preliminary approaches to reduce the impact of IRQs. While these approaches are not suitable for general deployment, their corresponding performance observations indirectly confirm the conjecture.
Based on these findings, a small modification of a vanilla Linux system is devised that improves the efficiency and performance of traditional kernel-based networking significantly, resulting in up to 45% increased throughput without compromising tail latency. In case of server applications, such as web servers or Memcached, the resulting performance is comparable to using kernel-bypass and user-level networking when using stacks with similar functionality and flexibility."
No comments:
Post a Comment