Network Interface Queue Latency Reduction via Interrupt Postponement

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Network interfaces face increased latency due to interrupt processing, which diverts CPU resources and can lead to synchronization problems between user context applications and network driver circuits, especially when handling packet transfers.

Innovation Solution

Implementing a device driver circuit that operates in both interrupt and polling modes, with user context applications having direct access to the network interface queue, utilizing a synchronization mechanism like a lock to prevent conflicts, and allowing for interrupt postponement to reduce the frequency of interrupts and enhance data processing efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If interrupt processing is used to signal packet availability, then the network interface can notify the driver circuit of completed data transfer, but CPU processing cycles are consumed and network processing latency increases

Engineering Contradiction:
Improvepacket transfer completion notificationVSAvoidnetwork processing latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system dynamically switches between interrupt mode and polling mode based on traffic conditions. During normal operation, polling is used to avoid interrupt overhead. When packets arrive, the system transitions to interrupt-driven processing, allowing flexible adaptation between the two modes to optimize latency and CPU utilization.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The driver circuit performs periodic polling of the network interface queue at configured intervals to check for packet availability. This periodic checking eliminates the need for continuous interrupt handling while maintaining awareness of packet transfer completion, thereby reducing CPU cycle consumption and processing latency.

Inventive Principle:
Principle #19Periodic action

2Loss of time

If the driver circuit polls the network interface queue continuously, then packet processing latency is reduced, but CPU resources are consumed and synchronization problems may arise

Engineering Contradiction:
Improvenetwork processing latencyVSAvoidqueue access synchronization
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

Instead of continuous polling, the system implements periodic polling at configured intervals. This approach maintains low latency by checking the queue regularly while reducing CPU resource consumption and simplifying synchronization requirements compared to continuous monitoring.

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The system uses feedback mechanisms where the network interface provides status information about packet availability and processing completion. This feedback allows the driver circuit to adjust polling intervals and optimize the balance between latency and CPU utilization without requiring complex synchronization protocols.

Inventive Principle:
Principle #23Feedback

3Productivity

If user context applications access the network interface queue directly, then packet processing speed improves, but synchronization conflicts occur between user context system calls and network driver circuit

Engineering Contradiction:
Improvepacket processing speedVSAvoidqueue access synchronization
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system introduces a synchronization mechanism as an intermediary between user context applications and the network interface queue. This mediator coordinates access rights and manages concurrent operations, allowing direct queue access for high-speed processing while preventing synchronization conflicts between multiple user context system calls and the network driver circuit.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS20230421512A1Packet processing with reduced latency
Publication Date: 2023.12.28 INTEL CORP
  • US20230421512A1 patent drawing
  • US20230421512A1 patent drawing
  • US20230421512A1 patent drawing

AI summary

Generally, this disclosure provides devices, methods, and computer readable media for packet processing with reduced latency. The device may include a data queue to store data descriptors associated with data packets, the data packets to be transferred between a network and a driver circuit. The device may also include an interrupt generation circuit to generate an interrupt to the driver circuit. The interrupt may be generated in response to a combination of an expiration of a delay timer and a non-empty condition of the data queue. The device may further include an interrupt delay register to enable the driver circuit to reset the delay timer, the reset postponing the interrupt generation.