Network Interface Port Balancing With Dynamic Hash Bucket Reallocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing load balancing techniques in network interfaces struggle to achieve fair allocation of packets across output ports due to factors like flow control congestion, variable throughput, and head-of-line blocking, leading to inefficiencies and packet drops.

Innovation Solution

A network interface device autonomously detects port overflow or underflow conditions and adjusts load balancing schemes by reallocating hash-based packet buckets to ensure even distribution across available ports, using a combination of hardware and software to minimize packet drops and reordering.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If packet-to-flow affinity-based balancing is used, then flow throughput is maintained, but fair allocation to ports becomes difficult to achieve

Engineering Contradiction:
Improveflow throughputVSAvoidfair allocation to ports
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent implements dynamic load balancing that adapts to changing port conditions in real-time. The system continuously monitors port status and adjusts bucket allocations dynamically, transitioning from static hash-based assignments to adaptive distributions that respond to congestion, speed changes, and other port conditions, thereby achieving both flow throughput maintenance and fair port allocation

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system employs feedback mechanisms by monitoring port utilization metrics and using this information to adjust bucket allocations. The load balancer receives feedback about port conditions (congestion, speed changes) and modifies its distribution strategy accordingly, creating a closed-loop control system that achieves fair allocation while maintaining throughput

Inventive Principle:
Principle #23Feedback

2Device complexity

If static preventive configuration is used, then configuration simplicity is maintained, but fair allocation of heterogeneous traffic among output ports cannot be achieved during runtime

Engineering Contradiction:
Improveconfiguration simplicityVSAvoidfair allocation of heterogeneous traffic
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The load balancing system operates autonomously without requiring manual reconfiguration. It self-monitors port conditions, self-adjusts bucket allocations, and adapts to changing traffic patterns automatically. This self-service capability maintains configuration simplicity while achieving runtime adaptability for fair heterogeneous traffic allocation

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system transitions from static configuration to dynamic adaptation by continuously adjusting bucket allocations based on real-time port conditions. The load balancer automatically responds to changing traffic characteristics and port states, providing both simplicity and adaptability

Inventive Principle:
Principle #15Dynamics

3Device complexity

If hash function results have insufficient entropy of distribution, then packet allocation is simplified, but port utilization becomes unbalanced and packets can be dropped

Engineering Contradiction:
Improvepacket allocation simplicityVSAvoidport utilization balance
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The system monitors port utilization metrics and uses this feedback to detect when hash distribution becomes unbalanced. Based on this feedback, the load balancer adjusts bucket allocations to compensate for poor hash entropy, maintaining both allocation simplicity and port utilization balance through dynamic corrections

Inventive Principle:
Principle #23Feedback

4Reliability

If one port workload exceeds bandwidth or head-of-line blocking occurs, then traffic concentration is reduced, but packet drops increase

Engineering Contradiction:
Improvetraffic distributionVSAvoidpacket drops
Core Design Contradiction:
ReliabilityVSLoss of substance

Solution Approach 1:

The system proactively monitors port workload and detects conditions that may lead to overload or head-of-line blocking before they cause packet drops. By taking preliminary action to redistribute buckets away from ports approaching capacity thresholds, the system prevents packet loss while maintaining reliable traffic distribution

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The load balancer applies preliminary counter-actions by redistributing traffic buckets before congestion or blocking conditions deteriorate to the point of packet loss. This preventive redistribution counteracts potential overload conditions, reducing packet drops while maintaining traffic distribution reliability

Inventive Principle:
Principle #9Preliminary anti-action

Data Source

PatentUS12381824B2Load balancing among output ports
Publication Date: 2025.08.05 INTEL CORP
  • US12381824B2 patent drawing
  • US12381824B2 patent drawing
  • US12381824B2 patent drawing

AI summary

Examples described herein relate to a network interface device that includes packet processing circuitry to detect usage of an egress port and report the usage of the egress port to a network interface device driver to cause reallocation of hash-based packet buckets to at least one egress port to provide an allocation of hash-based packet buckets to multiple active egress ports of the network interface device with retention of bucket-to-egress port mappings except for re-allocations of one or more buckets to one or more active egress ports. In some examples, usage of the egress port is based on a count of hash buckets assigned to packets to be transmitted from the egress port or a number of bytes of packets enqueued to be transmitted from the egress port.