Packet Processing Load Balancer for Heavy Flow Detection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing network interface devices face challenges in efficiently processing large amounts of network traffic due to the risk of a single CPU becoming overburdened, leading to increased latency and reduced performance, especially when handling long-lived high-traffic flows.

Innovation Solution

The implementation of a network interface device that utilizes a count-min sketch to detect heavy flows and a load balancer to distribute packet processing across multiple processing units, allowing for efficient handling of both heavy and non-heavy flows by separating their processing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If a single central CPU is allocated to process traffic, then processing simplicity is maintained, but the CPU becomes overburdened when faced with large amounts of traffic, leading to increased processing time

Engineering Contradiction:
Improveprocessing architecture simplicityVSAvoidpacket processing throughput
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent divides the packet processing function across multiple CPU cores using Receive Side Scaling (RSS). Each core processes packets for specific flow hashes, segmenting the overall processing workload to prevent any single CPU from becoming a bottleneck while maintaining architectural simplicity through automated load distribution.

Inventive Principle:
Principle #1Segmentation

2Productivity

If RSS is used to distribute network traffic to multiple cores, then processing load is spread across multiple CPUs, but long-lived high traffic flows can still cause a selected core to become overloaded, increasing latency

Engineering Contradiction:
Improvepacket processing throughputVSAvoidpacket processing latency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent introduces dynamic flow classification that distinguishes between heavy flows (long-lived, high traffic) and other flows. The system dynamically adjusts processing strategies based on flow characteristics, applying specialized handling to heavy flows while maintaining standard RSS for other traffic, thereby preventing latency spikes from overwhelming any single core.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent applies different processing qualities to different flow types. Heavy flows receive specialized handling with dedicated resource allocation and prioritization, while non-heavy flows use standard RSS processing. This local differentiation ensures that critical high-traffic flows receive adequate resources without compromising overall system throughput.

Inventive Principle:
Principle #3Local quality

3Ease of operation

If a proxy or distributor core is used to distribute networking flows to multiple cores, then flow distribution is centralized, but a single-point bottleneck is created in the system

Engineering Contradiction:
Improveflow distribution managementVSAvoidsystem architecture complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent implements self-service flow distribution where the RSS mechanism automatically assigns flows to cores based on hash calculations without requiring a centralized proxy. The system manages its own load distribution through deterministic hashing and indirection tables, eliminating the need for separate distribution management infrastructure.

Inventive Principle:
Principle #25Self-service

4Measurement precision

If a smartNIC collects statistics of each flow to identify heavy flows, then flow identification accuracy is improved, but with limited on-board memory, collecting statistics of all flows becomes impossible as the number of flows increases

Engineering Contradiction:
Improveheavy flow detection accuracyVSAvoidnumber of flows that can be monitored
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The patent applies partial monitoring by using RSS hash buckets to sample and track only the most relevant flow characteristics rather than collecting complete statistics for all flows. This partial action approach enables heavy flow identification with limited memory resources by focusing measurement on flows that matter most for load balancing decisions.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS12293231B2Packet processing load balancer
Publication Date: 2025.05.06 INTEL CORP
  • US12293231B2 patent drawing
  • US12293231B2 patent drawing
  • US12293231B2 patent drawing

AI summary

Examples described herein include a device interface; a first set of one or more processing units; and a second set of one or more processing units. In some examples, the first set of one or more processing units are to perform heavy flow detection for packets of a flow and the second set of one or more processing units are to perform processing of packets of a heavy flow. In some examples, the first set of one or more processing units and second set of one or more processing units are different. In some examples, the first set of one or more processing units is to allocate pointers to packets associated with the heavy flow to a first set of one or more queues of a load balancer and the load balancer is to allocate the packets associated with the heavy flow to one or more processing units of the second set of one or more processing units based, at least in part on a packet receive rate of the packets associated with the heavy flow.