Queue Management Circuitry Lock Manager for Packet Throughput

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current queue management systems, such as the Intel Dynamic Load Balancer, face limitations in scalability and performance when handling high packet throughput, particularly due to the overhead of bridging cores and high load balancing requirements, which can limit the benefits of adding additional worker threads.

Innovation Solution

The proposed solution reconfigures the queue management circuitry to function as a 'lock manager', distributing locks with sequence numbers to worker threads, allowing for efficient sharing of NIC queues and maintaining packet order, thereby reducing the load on bridging cores and improving scalability by enabling parallel processing without dedicated bridging cores.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional queue management systems with bridging cores are used, then packet processing can be performed, but scalability is limited and performance degrades at high packet throughput

Engineering Contradiction:
Improvepacket throughputVSAvoidqueue management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent extracts the load balancing function from dedicated bridging cores and integrates it into the queue management circuitry itself. The queue manager now directly distributes packets to worker threads without requiring separate bridging core infrastructure, eliminating the scalability bottleneck while maintaining packet processing capability

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The queue management circuitry is designed to perform multiple functions: traditional queue management plus integrated load balancing. This multi-functional approach eliminates the need for separate bridging cores, reducing system complexity while improving scalability to high packet throughput scenarios

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Productivity

If additional worker threads are added to increase parallel processing, then processing capacity increases, but load balancing requirements increase and performance is limited

Engineering Contradiction:
Improveparallel processing capacityVSAvoidload balancing requirements
Core Design Contradiction:
ProductivityVSPower

Solution Approach 1:

The queue management circuitry autonomously performs load balancing decisions and packet distribution to worker threads without external control. Each packet is independently routed based on current worker thread availability, enabling the system to automatically adapt to varying loads across multiple worker threads without increasing overall system power requirements

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The load balancing mechanism dynamically adjusts packet distribution based on real-time worker thread status and queue depths. This dynamic approach allows the system to efficiently utilize any number of worker threads without being constrained by fixed load balancing configurations, enabling scalable parallel processing

Inventive Principle:
Principle #15Dynamics

3Reliability

If dedicated bridging cores are used for queue management, then packet processing is reliable, but system scalability is reduced and performance requirements increase

Engineering Contradiction:
Improvepacket processing reliabilityVSAvoidsystem scalability
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent merges the functions of bridging cores and queue management into a single integrated queue management circuitry. This consolidation maintains reliable packet processing through dedicated hardware queue management while eliminating the need for separate bridging core infrastructure, thereby improving system scalability without sacrificing reliability

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentEP4198725A1Apparatus, device, method and computer program for processing a sequence of units of data
Publication Date: 2023.06.21 INTEL CORP
  • EP4198725A1 patent drawingFigure 1a~1b
  • EP4198725A1 patent drawingFigure 1c
  • EP4198725A1 patent drawingFigure 2

AI summary

Examples relate to an apparatus, device, method, and computer program for processing a sequence of units of data, and of a computer program comprising such an apparatus or device. The apparatus comprises processing circuitry configured to obtain the sequence of units of data, obtain tokens indicating a readiness of a plurality of worker threads being executed on the processing circuitry, and process sub-sequences of the sequence of units of data by selecting, by a queue management circuitry of the processing circuitry, a worker thread from the plurality of worker threads based on the obtained tokens indicating the readiness, providing, by the queue management circuitry, a lock to a queue associated with the worker thread, the lock being associated with a resource comprising a sub-sequence of the sequence of units of data, obtaining, by the queue management circuitry, the lock from the worker thread after the worker thread has at least partially processed the sub-sequence of units of data stored in the resource, and proceeding with the next sub-sequence after the lock has been obtained.