Greg Gibeling
Andrew Schultz
SMT
Low Overhead Interrupt Handling
and
Zero Copy Networking with Click
CS252 Spring 2005 Project Proposal (1 of 2)
CS 252 Project
Proposal
Spring 2005
Greg Gibeling
Andrew Schultz
SMT Low Overhead Interrupt Handling and Zero Copy
Networking with Click
It
is widely known that improvements in network bandwidth have been increasing
even faster than microprocessor performance governed by
Even with tighter integration between the NIC and the processor, packet processing still has a fair amount of overhead. This overhead comes primarily from two sources: context switching to handle device interrupts, and copying data from kernel to user space buffers. With extremely high bandwidth networking devices, the cost of taking interrupts to handle incoming and outgoing data becomes prohibitive, requiring techniques such as interrupt coalescing to prevent the interrupt rate from hurting system performance. This problem is particularly acute when low latency packet processing is required. For example, the Click modular router goes as far as ripping out the interrupt handling code and converts packet handling into a polling operation.
To
address this problem, we propose using dedicated SMT threads for device
interrupt handling. The key
idea is to dedicate both a thread, and some resources in the cache, to allow
very low overhead interrupt handling.
Additionally, we would like to explore using SMT threads and a more
tightly coupled NIC to implement zero copy packet processing, in a similar vein
as U-Net. Finally, we would like to
determine the benefit of partitioning the cache to allow a thread to “pin” some
space for its state, allowing a processor to specify particular state which it
does not want evicted. We plan to
evaluate the performance of our packet processing by comparing the performance
of Click with the polling optimizations versus traditional interrupt handling
with our enhancements.