Please note: This master’s thesis presentation will take place online.
Mohammadamin Shafiei, Master’s candidate
David R. Cheriton School of Computer Science
Supervisor: Professor Martin Karsten
Modern high-performance computing environments face increasing demands from data-intensive applications, making efficient network I/O a critical performance factor. The Linux network stack, traditionally reliant on interrupt-driven models, employs mechanisms, such as NAPI and SoftIRQ, to balance responsiveness and throughput. However, frequent context switches, cache pollution, and lack of alignment between application execution and interrupt handling can degrade performance, especially under heavy network loads. Virtualized environments further complicate this landscape, as software-emulated devices and layered interrupt delivery introduce additional overhead. Recent advances, such as busy polling and hardware interrupt coalescing, offer improvements but often trade off CPU efficiency for lower latency and higher throughput.
This thesis investigates the design and evaluation of a hybrid interrupt handling mechanism, IRQ Suspend, within the Linux network stack. The approach dynamically switches between interrupt-driven and busy polling modes based on application activity and traffic load, aiming to reduce context switches and better synchronize packet processing with application execution. Through comprehensive experiments on both bare-metal and virtualized systems, including scenarios with VirtIO-net, SR-IOV, and PCI-passthrough, the study demonstrates that IRQ Suspend consistently improves throughput and tail latency compared to traditional interrupt-driven and static busy polling configurations. The results show that IRQ Suspend achieves performance close to that of pure busy polling under high load, while significantly reducing CPU utilization during idle periods. Additionally, examining the cache behavior of the IRQ Suspend approach reveals more efficient cache usage compared to interrupt-driven methods, with particularly noticeable improvements in L1 instruction cache utilization. These findings highlight the importance of adaptive, application-aware interrupt management for modern network stacks, offering a practical path to high efficiency and predictable performance in both physical and virtualized environments.