NIC Load Balancing Using Receive Queue Length Across CPU Cores

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing network interface card (NIC) systems face inefficiencies due to high likelihood of data traffic imbalance among CPU cores, leading to some cores being overloaded while others remain idle, which adversely affects system-wide performance.

Innovation Solution

Implementing an NIC-based adaptive load balancing technique that dynamically redistributes data traffic by monitoring CPU core responsiveness and redirecting packets to less busy cores using real-time metrics, such as receive queue length, without requiring software intervention.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If Receive Side Scaling (RSS) is used to distribute data packets to CPU cores, then data processing capability is improved, but data traffic imbalance occurs causing some cores to be overloaded while others remain idle

Engineering Contradiction:
Improvedata processing capabilityVSAvoidload distribution balance
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The patent implements dynamic load balancing by continuously monitoring CPU core responsiveness metrics (such as receive queue length) and adaptively redirecting data packets in real-time. The NIC dynamically adjusts packet distribution based on current system state, transitioning from static RSS hashing to adaptive load balancing that responds to changing workload conditions.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system employs feedback mechanisms where the NIC monitors CPU core performance metrics and uses this information to make informed routing decisions. The feedback loop continuously evaluates core responsiveness and adjusts packet redirection accordingly, ensuring optimal load distribution based on actual system state rather than predetermined rules.

Inventive Principle:
Principle #23Feedback

2Ease of operation

If data packets are redirected to less busy CPU cores, then load balance is improved, but additional latency or CPU cycle usage may occur

Engineering Contradiction:
Improveload distribution balanceVSAvoidpacket processing latency
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The system performs preliminary monitoring of CPU core metrics and maintains readiness information about core responsiveness. By pre-evaluating core availability and maintaining this information in the NIC, the system can make rapid redirection decisions without incurring significant latency when load balancing is needed.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The NIC autonomously performs load balancing operations without requiring software intervention or additional CPU cycles. The hardware-based implementation monitors core metrics and redirects packets independently, eliminating the overhead that would result from software-based load balancing solutions.

Inventive Principle:
Principle #25Self-service

3Device complexity

If static RSS hashing is used for packet distribution, then implementation simplicity is improved, but system adaptability to changing workload conditions deteriorates

Engineering Contradiction:
Improveimplementation simplicityVSAvoidworkload adaptation capability
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The system transitions from static RSS hashing to dynamic load balancing by continuously monitoring CPU core metrics and adaptively adjusting packet distribution. The NIC dynamically changes routing decisions based on real-time system state, enabling adaptation to varying workload conditions while maintaining implementation efficiency through hardware-based operation.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the routing parameters dynamically based on monitored CPU core performance metrics. Instead of using fixed hash-based routing, the system adjusts routing decisions based on variables such as receive queue length and core responsiveness, allowing adaptation to changing workload characteristics.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS12608243B2Dynamic load balancing in network interface cards for optimal system level performance
Publication Date: 2026.04.21 INTEL CORP
  • US12608243B2 patent drawing
  • US12608243B2 patent drawing
  • US12608243B2 patent drawing

AI summary

A network interface card (NIC) can be configured to monitor a first central processing unit (CPU) core mapped to a first receive queue having a receive queue length. The NIC can also be configured to determine whether the CPU core is overloaded based on the receive queue length. The NIC can also be configured to redirect data packets that were targeted from the first receive queue to the CPU core to another CPU core responsive to a determination that the CPU core is overloaded.