HIP: hybrid interrupt-polling for the network interface

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.

[1]  Walter Willinger,et al.  Self-similarity through high-variability: statistical analysis of Ethernet LAN traffic at the source level , 1997, TNET.

[2]  S. F. Actory,et al.  Personal correspondence , 1997 .

[3]  Jonathan M. Smith,et al.  Operating Systems Support for End-to-End Gbps Networking , 1993 .

[4]  Van Jacobson,et al.  Congestion avoidance and control , 1988, SIGCOMM '88.

[5]  T. S. West New Frontiers , 1968, Nature.

[6]  B.S. Davie The Architecture and Implementation of a High-Speed Host Interface , 1993, IEEE J. Sel. Areas Commun..

[7]  David Banks,et al.  A High-Performance Network Architecture for a PA-RISC Workstation , 1993, IEEE J. Sel. Areas Commun..

[8]  J.M. Smith,et al.  Giving applications access to Gb/s networking , 1993, IEEE Network.

[9]  Jonathan M. Smith,et al.  Hardware/Software Organization of a High-Performance ATM Host Interface , 1993, IEEE J. Sel. Areas Commun..

[10]  K. K. Ramakrishnan,et al.  Performance Considerations in Designing Network Interfaces , 1993, IEEE J. Sel. Areas Commun..

[11]  Uresh K. Vahalia UNIX Internals: The New Frontiers , 1995 .

[12]  Peter Druschel,et al.  Soft timers: efficient microsecond software timer support for network processing , 1999, SOSP.

[13]  David A. Patterson,et al.  Computer architecture (2nd ed.): a quantitative approach , 1996 .

[14]  PasqualeJoseph,et al.  The importance of non-data touching processing overheads in TCP/IP , 1993 .

[15]  Henning Schulzrinne,et al.  RTP: A Transport Protocol for Real-Time Applications , 1996, RFC.

[16]  K. K. Ramakrishnan,et al.  Eliminating receive livelock in an interrupt-driven kernel , 1996, TOCS.

[17]  Mark D. Hill,et al.  A Survey of User-Level Network Interfaces for System Area Networks , 1997 .

[18]  David A. Patterson,et al.  Computer Architecture: A Quantitative Approach , 1969 .

[19]  Jonathan M. Smith,et al.  Event-Signaling Within Higher Performance Network Subsystems , 1995, Third IEEE Workshop on the Architecture and Implementation of High Performance Communication Subsystems.

[20]  H.H.J. Hum,et al.  Polling Watchdog: Combining Polling and Interrupts for Efficient Message Handling , 1996, 23rd Annual International Symposium on Computer Architecture (ISCA'96).

[21]  David D. Clark,et al.  An analysis of TCP processing overhead , 1988, IEEE Communications Magazine.

[22]  Joseph Pasquale,et al.  The importance of non-data touching processing overheads in TCP/IP , 1993, SIGCOMM '93.