Hardware Queue Manager Load Balancing for Anti-Replay Checks

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing multi-core computing systems face challenges in handling high throughput flows, particularly when a single high bandwidth flow exceeds the processing capacity of a core, leading to performance limitations and scalability issues in sequence number generation and anti-replay checks, especially in protocols like IPSec, due to the need for atomic processing and synchronization.

Innovation Solution

Implementing a hardware queue manager (HQM) as a dynamic load balancer (DLB) to distribute workload across multiple cores, ensuring atomicity in sequence number generation and anti-replay checks, and using ordered scheduling to maintain flow order while reducing spinlock penalties.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a pipeline model is used to handle high bandwidth flows, then throughput scalability is improved, but inter stage communication and synchronization overhead increases

Engineering Contradiction:
Improvethroughput scalabilityVSAvoidinter stage communication complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The packet processing pipeline is divided into multiple independent stages (L3 forwarding, L2 forwarding, MAC forwarding, security processing) that can execute in parallel. Each stage processes specific functions and communicates through shared memory structures, enabling throughput scalability while managing complexity through functional decomposition.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Shared memory structures serve as intermediaries between pipeline stages, enabling efficient data exchange without complex synchronization. The load balancing system acts as an intermediary that distributes packets across cores while maintaining flow order, reducing direct synchronization overhead between stages.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If atomic processing is used for sequence number generation and anti-replay checks, then data reliability is improved, but processing throughput decreases

Engineering Contradiction:
Improvesequence number uniquenessVSAvoidprocessing throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

Each CPU core maintains its own sequence number counter and anti-replay window, eliminating the need for atomic operations across cores. This local state approach ensures uniqueness and reliability while allowing parallel processing, as each core independently manages its sequence numbers without interfering with others.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The load balancing system creates copies of sequence number and anti-replay window state for each core, allowing independent processing. Each core receives a copy of the necessary state information and processes packets locally, then results are aggregated, eliminating atomic operation requirements while maintaining data consistency.

Inventive Principle:
Principle #26Copying

3Speed

If load balancing is implemented without locks, then processing speed is improved, but maintaining flow order becomes difficult

Engineering Contradiction:
Improveprocessing speedVSAvoidflow order maintenance
Core Design Contradiction:
SpeedVSStability of the object's composition

Solution Approach 1:

The load balancing system performs preliminary classification and routing decisions before packet processing begins. Packets are pre-sorted and assigned to specific cores based on flow characteristics, ensuring that packets within the same flow are processed in the correct order by the same core, eliminating the need for locks while maintaining flow order.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system dynamically adjusts load balancing decisions based on real-time packet characteristics and core availability. The load balancer can redirect packets to different cores based on current system state, maintaining flow order through intelligent routing rather than static assignments or locking mechanisms.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS12452186B2Method and apparatus to assign and check anti-replay sequence numbers using load balancing
Publication Date: 2025.10.21 INTEL CORP
  • US12452186B2 patent drawing
  • US12452186B2 patent drawing
  • US12452186B2 patent drawing

AI summary

Methods and apparatus to assign and check anti-replay sequence numbers. In one embodiment, a method includes assigning, by circuitry, sequence numbers to packets of traffic flows, wherein a first sequence number is assigned to a first packet based on a determination that the first packet is within a first traffic flow mapped to a first secure channel, and wherein the first sequence number is within a set of sequence numbers allocated to the first secure channel and maintained by the circuitry. The method continues with allocating the packets of traffic flows to be processed among a plurality of processor cores and processing the packets of traffic flows by the plurality of processor cores.