Congestion avoidance and control
SIGCOMM '88 Symposium proceedings on Communications architectures and protocols
SIGCOMM '95 Proceedings of the conference on Applications, technologies, architectures, and protocols for computer communication
UNIX internals: the new frontiers
UNIX internals: the new frontiers
Polling watchdog: combining polling and interrupts for efficient message handling
ISCA '96 Proceedings of the 23rd annual international symposium on Computer architecture
Eliminating receive livelock in an interrupt-driven kernel
ACM Transactions on Computer Systems (TOCS)
Computer architecture (2nd ed.): a quantitative approach
Computer architecture (2nd ed.): a quantitative approach
Soft timers: efficient microsecond software timer support for network processing
Proceedings of the seventeenth ACM symposium on Operating systems principles
Soft timers: efficient microsecond software timer support for network processing
ACM Transactions on Computer Systems (TOCS)
High Performance Sockets over Kernel Level Virtual Interface Architecture
HPCASIA '05 Proceedings of the Eighth International Conference on High-Performance Computing in Asia-Pacific Region
Journal of High Speed Networks
On modelling and analysis of receive livelock and CPU utilization in high-speed networks
International Journal of Computers and Applications
Symerton--using virtualization to accelerate packet processing
Proceedings of the 2006 ACM/IEEE symposium on Architecture for networking and communications systems
Optimization and bottleneck analysis of network block I/O in commodity storage systems
Proceedings of the 21st annual international conference on Supercomputing
Performance analysis and comparison of interrupt-handling schemes in gigabit networks
Computer Communications
International Journal of High Performance Computing and Networking
Implementation and experimental performance evaluation of a hybrid interrupt-handling scheme
Computer Communications
ACM Transactions on Embedded Computing Systems (TECS)
ELI: bare-metal performance for I/O virtualization
ASPLOS XVII Proceedings of the seventeenth international conference on Architectural Support for Programming Languages and Operating Systems
A methodology for implementing a stress workload generator for the GTP-U plane
WWIC'05 Proceedings of the Third international conference on Wired/Wireless Internet Communications
On the accuracy of two analytical models for evaluating the performance of Gigabit Ethernet hosts
Information Sciences: an International Journal
Adding advanced storage controller functionality via low-overhead virtualization
FAST'12 Proceedings of the 10th USENIX conference on File and Storage Technologies
NetVM: high performance and flexible networking using virtualization on commodity platforms
NSDI'14 Proceedings of the 11th USENIX Conference on Networked Systems Design and Implementation
Hi-index | 0.01 |
The standard way to notify the processor of a network event, such as the arrival or transmission of a packet, is through interrupts. Interrupts are more effective than polling, in terms of the per packet send/receive latency. Interrupts, however, incur a high overhead both during and after the interrupt handling, because modern superscalar processors use long pipelines, out-of-order and speculative execution, and multi-level memory systems, all of which tend to increase the interrupt overhead in terms of clock cycles. In this paper, we attempt to reduce the network interface overhead by introducing a hybrid scheme (HIP) that uses interrupts under low network load conditions and polling otherwise. Even though such hybrid schemes have been proposed in the past, the polling period in HIP is adjusted dynamically based on the rate of the arriving packet stream. In this way, the increase in the per packet latency, which occurs with polling, is quite low. This is quantified with trace-driven simulations, which also show that the per packet overhead with HIP is significantly reduced compared to the conventional interrupt-based mechanism. HIP would be beneficial for high bandwidth network interfacing in servers with a heavy WWW or streaming media workload.