Eliminating receive livelock in an interrupt-driven kernel

  title={Eliminating receive livelock in an interrupt-driven kernel},
  author={Jeffrey C. Mogul and K. K. Ramakrishnan},
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… 

Figures and Tables from this paper

HIP: hybrid interrupt-polling for the network interface
This paper attempts to reduce the network interface overhead by introducing a hybrid scheme (HIP) that uses interrupts under low network load conditions and polling otherwise, and the polling period in HIP is adjusted dynamically based on the rate of the arriving packet stream.
A predictable interrupt management policy for real-time operating systems
This paper uses threaded interrupts and employs the priority inheritance protocol (PIP) to enforce each interrupt service thread to be executed at its owner's priority, causing less interference with higher priority tasks.
Modeling and Analysis of Interrupt Disable-Enable Scheme
  • K. Salah, K. El-Badawi
  • Computer Science
    21st International Conference on Advanced Information Networking and Applications (AINA '07)
  • 2007
Analytically the performance of the scheme of interrupt disabling and enabling is investigated and compared with normal interruption and interrupt coalescing in terms of throughput, latency, and CPU availability for user applications.
Preventing interrupt overload
Three new techniques are described, two software-based and one hardware-based, for creating systems that delay or drop excessive interrupt requests before they can overload a processor and provide a last-ditch safety guarantee in the presence of a serious malfunction.
Analysis of Interrupt Coalescing Schemes for Receive-Livelock Problem in Gigabit Ethernet Network Hosts
An analytical model for the IC technique is presented and a detailed study of existing IC schemes in terms of their performance characteristics including system goodput, CPU consumption and latency is carried out.
A revisitation of kernel synchronization schemes
Measurements of the behavior of the NetBSD 1.2 kernel are presented, and a new model is presented that offers the simplicity of the traditional scheme with the performance of the optimistic schemes, which have a much lower synchronization cost than the traditional technique.
Predictable Interrupt Management and Scheduling in the Composite Component-Based System
The design of user-level scheduling hierarchies in the composite component-based system is presented, showing how it is possible to implement guaranteed differentiated services as part of the handling of I/O requests from a network device while avoiding livelock.
Eliminating Interrupt Overload in Embedded Systems
Three new techniques are described for creating systems that delay or drop excessive interrupt requests before they can overload a processor, allowing developers to avoid making assumptions about the worst-case interrupt rates of peripherals such as sensors and network interfaces.
Interrupt handler migration and direct interrupt scheduling for rapid scheduling of interrupt-driven tasks
Two techniques that aim to minimize the scheduling latency of high-priority interrupt-driven tasks, named the Interrupt Handler Migration (IHM) and Direct Interrupt Scheduling (DIS), are proposed and can be applied to all kinds of interrupt handlers with no modification.


Scheduling issues for interfacing to high speed networks
  • K. Ramakrishnan
  • Business
    [Conference Record] GLOBECOM '92 - Communications for Global Users: IEEE
  • 1992
It is shown that a straightforward design of the schedulers on the adapter and the host operating system makes a system prone to receive livelocks, significantly increases receive latency,
Giving applications access to Gb/s networking
The implementation described provides resource scheduling for network users, and considerably reduces interrupt overhead, and has been demonstrated experimentally and is shown to deliver high throughputs.
The packer filter: an efficient mechanism for user-level network code
The packet filter is described, a kernel-resident, protocol-independent packet demultiplexer, which performs quite well, and has been in production use for several years.
Lazy receiver processing (LRP): a network subsystem architecture for server systems
This work proposes and evaluates a new network subsystem architecture that provides improved fairness, stability, and increased throughput under high network load.
Fine-Grain Adaptive Scheduling using Feedback
The meaning of the term "scheduling" is broadened to include job assignment as a function of a sequence of events, such as timer interrupts, I/O operations, queue overflodunderflow, and system call traps, in order to facilitate fine-grain adaptive scheduling.
High-performance TCP/IP and UDP/IP networking in DEC OSF/1 for Alpha AXP
The paper describes the implementation of the TCP/IP and UDP/IP protocol suite on Digital's Alpha AXP systems with the DEC OSF/1 operating system over FDDI, and shows, via measurement results that TCP achieves a throughput of 95 Mbits/sec and that UDP performance is comparable.
A peer-to peer I/O system in support I/O intensive workloads
This dissertation argues that an I/O system supporting peer-to-peer communication between I/o objects improves programmability and increases overall system performance in terms of throughput and minimization of transaction delay over the traditional model.
Lessons Learned Tuning the 4.3BSD Reno Implementation of the NFS Protocol
Since its introduction by Sun Microsystems in 1986, the NFS protocol has become the defacto standard distributed file system protocol for Unix based workstations. Most of these Unix implementations
Spritely NFS: Implementation and Performance of Cache-Consistency Protocols
By modifying NFS to use the Sprite cache consistency protocols, this work isolates the effects of the consistency mechanism from the other features of Sprite, suggesting that an explicit cache consistency protocol is necessary for both correctness and good performance.
Hardware/Software Organization of a High-Performance ATM Host Interface
A successful hardware/software architecture that resolves performance bottlenecks at the workstation-to-network host interface and offers high end-to-end performance is described. The solution