Multi-core Processor Distributed Work Sharing via Virtual Queues

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current multi-core processors in communication networks face limitations in processing speed due to centralized work distribution mechanisms, where data packet steering is restricted by the processing speed of a single core, and require additional instruction cycles and hardware for efficient distribution among multiple cores.

Innovation Solution

A distributed work sharing mechanism is implemented using virtual queues and interrupt signals to allow multiple idle cores to process data packets simultaneously, eliminating the need for centralized packet steering and additional hardware, thereby enhancing processing speed without classification and steering overheads.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If centralized packet steering is used to distribute data packets among multiple cores, then work distribution is achieved, but processing speed is limited by the speed of a single core and additional instruction cycles are required

Engineering Contradiction:
Improvework distributionVSAvoidprocessing speed
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent extracts the packet steering function from the software domain and implements it in hardware using a content addressable memory (CAM). The CAM directly matches packet characteristics with core assignments, eliminating the need for software-based classification and steering instruction cycles. This extraction of the steering function to hardware resolves the contradiction by enabling both automated work distribution and high-speed processing simultaneously.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces a hardware intermediary (CAM-based steering mechanism) between the network interface and the core processors. This intermediary automatically performs packet classification and steering based on packet characteristics, freeing the cores from involvement in distribution decisions and enabling parallel processing without single-core bottlenecks.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If additional hardware is used for efficient packet distribution among cores, then processing efficiency is improved, but area overheads increase

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidarea overheads
Core Design Contradiction:
ProductivityVSArea of stationary object

Solution Approach 1:

The CAM structure is designed to serve multiple functions: packet classification, core assignment, and steering decision-making. By making the hardware structure multi-functional, the patent achieves high processing efficiency without requiring separate dedicated hardware for each function, thereby reducing overall area overheads while maintaining productivity gains.

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

3Ease of operation

If software-based packet steering is implemented, then packet classification and distribution is achieved, but additional instruction cycles are required increasing system cycle time

Engineering Contradiction:
Improvepacket classification and distributionVSAvoidsystem cycle time
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The patent replaces the software-based packet steering mechanism (which requires sequential instruction cycles) with a hardware-based CAM lookup mechanism. This substitution eliminates the time-consuming software processing steps while maintaining the packet classification and distribution functionality, directly reducing system cycle time.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Data Source

PatentUS9396154B2Multi-core processor for managing data packets in communication network
Publication Date: 2016.07.19 NXP USA INC
  • US9396154B2 patent drawing
  • US9396154B2 patent drawing
  • US9396154B2 patent drawing

AI summary

A system for managing data packets has multiple cores, a data buffer, a hardware accelerator, and an interrupt controller. The interrupt controller transmits a first interrupt signal to a first one of the cores based on a first hardware signal received from the hardware accelerator. The first core creates a copy of buffer descriptors (BD) of a buffer descriptor ring that correspond to the data packets in the data buffer in a first virtual queue and indicates to the hardware accelerator that the data packets are processed. If there are additional data packets, the interrupt controller transmits a second interrupt signal to a second core, which performs the same steps as performed by the first core. The first and the second cores simultaneously process the data packets associated with the BDs in the first and second virtual queues, respectively.