Adaptive Interrupt Handling for High-Performance Network I/O in Linux and Virtualized Environments

dc.contributor.authorShafiei, Mohammadamin
dc.date.accessioned2025-08-15T14:34:05Z
dc.date.available2025-08-15T14:34:05Z
dc.date.issued2025-08-15
dc.date.submitted2025-08-08
dc.description.abstractModern 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.
dc.identifier.urihttps://hdl.handle.net/10012/22175
dc.language.isoen
dc.pendingfalse
dc.publisherUniversity of Waterlooen
dc.subjectinterrupt
dc.subjectIRQ
dc.subjecthigh-performance computing
dc.subjectNetwork Stack
dc.subjectlatency
dc.subjectCPU efficiency
dc.subjectcache
dc.subjectVirtual Machine
dc.subjectSR-IOV
dc.titleAdaptive Interrupt Handling for High-Performance Network I/O in Linux and Virtualized Environments
dc.typeMaster Thesis
uws-etd.degreeMaster of Science
uws-etd.degree.departmentDavid R. Cheriton School of Computer Science
uws-etd.degree.disciplineComputer Science
uws-etd.degree.grantorUniversity of Waterlooen
uws-etd.embargo.terms0
uws.contributor.advisorKarsten, Martin
uws.contributor.affiliation1Faculty of Mathematics
uws.peerReviewStatusUnrevieweden
uws.published.cityWaterlooen
uws.published.countryCanadaen
uws.published.provinceOntarioen
uws.scholarLevelGraduateen
uws.typeOfResourceTexten

Files

Original bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
Shafiei_Mohammadamin.pdf
Size:
1.4 MB
Format:
Adobe Portable Document Format

License bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
license.txt
Size:
6.4 KB
Format:
Item-specific license agreed upon to submission
Description: