Eliminating receive livelock in an interrupt-driven kernel

Most operating systems use interface interrupts to schedule network tasks. Interrupt-driven systems can provide low overhead and good latency at low offered load, but degrade significantly at higher arrival rates unless care is taken to prevent several pathologies. These are various forms ofreceive livelock, in which the system spends all of its time processing interrupts, to the exclusion of other necessary tasks. Under extreme conditions, no packets are delivered to the user application or the output of the system. To avoid livelock and related problems, an operating system must schedule network interrupt handling as carefully as it schedules process execution. We modified an interrupt-driven networking implementation to do so; this modification eliminates receive livelock without degrading other aspects of system performance. Our modifications include the use of polling when the system is heavily loaded, while retaining the use of interrupts ur.Jer lighter load. We present measurements demonstrating the success of our approach.

[1]  Radia J. Perlman,et al.  Fault-Tolerant Broadcast of Routing Information , 1983, Comput. Networks.

[2]  David W. Wall,et al.  Global register allocation at link time , 1986, SIGPLAN '86.

[3]  Jeffrey C. Mogul,et al.  The packer filter: an efficient mechanism for user-level network code , 1987, SOSP '87.

[4]  Armando P. Stettner The design and implementation of the 4.3BSD UNIX operating system , 1988 .

[5]  W. R. Hamburgen,et al.  Precise robotic paste dot dispensing , 1989, Proceedings., 39th Electronic Components Conference.

[6]  Calton Pu,et al.  Fine-Grain Adaptive Scheduling using Feedback , 1989, Comput. Syst..

[7]  Silvio Turrini,et al.  Optimal group distribution in carry-skip adders , 1989, Proceedings of 9th Symposium on Computer Arithmetic.

[8]  Jeffrey Mogul,et al.  Spritely NFS: Implementation and Performance of Cache-Consistency Protocols , 1989 .

[9]  N. P. Jouppi,et al.  A 20-MIPS sustained 32-bit CMOS microprocessor with high ratio of sustained to peak performance , 1989 .

[10]  Jeffrey C. Mogul,et al.  Efficient use of workstations for passive monitoring of local area networks , 1990, SIGCOMM '90.

[11]  Samuel J. Leffler,et al.  The design and implementation of the 4.3 BSD Unix operating system , 1991, Addison-Wesley series in computer science.

[12]  J. Mogul Efficient use of workstations for passive monitoring of local area networks , 1990, SIGCOMM 1990.

[13]  J. Mogul Network locality at the scale of processes , 1991, TOCS.

[14]  Rick Macklem,et al.  Lessons Learned Tuning the 4.3BSD Reno Implementation of the NFS Protocol , 1991, USENIX Winter.

[15]  David W. Wall,et al.  Systems for Late Code Modification , 1991, Code Generation.

[16]  J. Pasquale,et al.  Network issues for Sequoia 2000 , 1992, Digest of Papers COMPCON Spring 1992.

[17]  Jeffrey C. Mogul,et al.  Observing TCP dynamics in real networks , 1992, SIGCOMM '92.

[18]  Russell Kao,et al.  Piecewise Linear Models for Switch-Level Simulation , 1992 .

[19]  K. K. Ramakrishnan,et al.  Scheduling issues for interfacing to high speed networks , 1992, [Conference Record] GLOBECOM '92 - Communications for Global Users: IEEE.

[20]  Jeffrey C. Mogul Observing TCP dynamics in real networks , 1992, SIGCOMM 1992.

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

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

[23]  Van Jacobson,et al.  Random early detection gateways for congestion avoidance , 1993, TNET.

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

[25]  Robert N. Mayo,et al.  Boolean matching for full-custom ECL gates , 1993, Proceedings of 1993 International Conference on Computer Aided Design (ICCAD).

[26]  Marcus J. Ranum,et al.  A Toolkit and Methods for Internet Firewalls , 1994, USENIX Summer.

[27]  NetworksAllyn Romanow,et al.  Dynamics of Tcp Traac over Atm Networks , 1994 .

[28]  A. Eustace,et al.  ATOM: a system for building customized program analysis tools , 1994, PLDI '94.

[29]  K. K. Ramakrishnan,et al.  High-performance TCP/IP and UDP/IP networking in DEC OSF/1 for Alpha AXP , 1993, Proceedings of 3rd IEEE International Symposium on High Performance Distributed Computing.

[30]  Kevin R. Fall,et al.  A peer-to peer I/O system in support I/O intensive workloads , 1994 .

[31]  Cüneyt M. Özveren,et al.  GIGAswitch System: A High-performance Packet-switching Platform , 1994, Digit. Tech. J..

[32]  William E. Weihl,et al.  Lottery scheduling: flexible proportional-share resource management , 1994, OSDI '94.

[33]  D. Grunwald,et al.  The predictability of branches in libraries , 1995, Proceedings of the 28th Annual International Symposium on Microarchitecture.

[34]  Steven McCanne,et al.  Workstation Video Playback Performance with Competitive Process Load , 1995, NOSSDAV.

[35]  Jeremy Dion,et al.  Contour: a tile-based gridless router , 1995 .

[36]  Sally Floyd,et al.  Dynamics of TCP Traffic over ATM Networks , 1995, IEEE J. Sel. Areas Commun..

[37]  Carl A. Waldspurger,et al.  Lottery and stride scheduling: flexible proportional-share resource management , 1995 .

[38]  J. Bradley Chen,et al.  Kernel instrumentation tools and techniques , 1995 .

[39]  Carl A. Waldspurger,et al.  Stride Scheduling: Deterministic Proportional- Share Resource Management , 1995 .

[40]  Jeffrey C. Mogul,et al.  The case for persistent-connection HTTP , 1995, SIGCOMM '95.

[41]  Cary G. Gray,et al.  Metadata Logging in an NFS Server , 1995, USENIX.

[42]  Amitabh Srivastava,et al.  Analysis Tools , 2019, Public Transportation Systems.

[43]  Larry L. Peterson,et al.  Making paths explicit in the Scout operating system , 1996, OSDI '96.

[44]  Sarita V. Adve,et al.  Shared Memory Consistency Models: A Tutorial , 1996, Computer.

[45]  Peter Druschel,et al.  Lazy receiver processing (LRP): a network subsystem architecture for server systems , 1996, OSDI '96.

[46]  David W. Wall,et al.  Software Methods for System Address Tracing: Implementation and Validation , 1999 .

[47]  Joel F. Bartlett,et al.  Don’t Fidget with Widgets, Draw! , 1999 .

[48]  Michael N. Nelson,et al.  Virtual Memory vs. The File System , 1999 .

[49]  Ramsey W. Haddad Drip: A Schematic Drawing Interpreter , 1999 .

[50]  P. Boyle Electrical Evaluation Of The BIPS-0 Package , 1999 .

[51]  Jeffrey C. Mogul,et al.  Simple and Flexible Datagram Access Controls for UNIX-based Gateways , 1999 .

[52]  Jeffrey C. Mogul,et al.  Network Behavior of a Busy Web Server and its Clients , 1999 .