Multi-Core Packet Flow Distribution With Trigger-Based Load Balancing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing multi-core processors face challenges in evenly distributing core load and processing core-specific events with priority while maintaining the critical section flow lock, leading to uneven core utilization and potential buffer depletion due to high packet rates.

Innovation Solution

A method and electronic device for data packet flow distribution in a multi-core processor that involves determining a threshold number of processed packets, creating a new trigger packet or event with a flow identifier, and enqueuing it to a generic queue for processing by other cores, thereby releasing the critical section flow lock.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a core continuously processes packets from the flow queue after acquiring the flow lock, then packet processing throughput is improved, but core-specific events may be lost due to high packet rates and buffer depletion

Engineering Contradiction:
Improvepacket processing throughputVSAvoidcore-specific event processing reliability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent segments the packet processing task by introducing a trigger packet mechanism. The flow processing controller processes packets in batches and creates trigger packets to notify other cores about pending core-specific events. This segmentation allows the processing core to maintain high throughput while ensuring event reliability through coordinated triggering.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The trigger packet acts as an intermediary between the flow processing controller and other processing cores. It carries flow identifier information and enables communication about pending events without requiring continuous holding of the flow lock, thus maintaining both throughput and reliability.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Stability of the object's composition

If the flow lock is held to process packets sequentially, then packet order is preserved, but load balancing across multiple cores deteriorates

Engineering Contradiction:
Improvepacket processing orderVSAvoidcore load distribution
Core Design Contradiction:
Stability of the object's compositionVSProductivity

Solution Approach 1:

The patent implements periodic action by processing packets in batches rather than continuously. After processing a threshold number of packets or detecting pending core-specific events, the controller creates trigger packets and releases the flow lock. This periodic release allows other cores to pick up work, achieving load balancing while maintaining packet order within each batch.

Inventive Principle:
Principle #19Periodic action

3Ease of operation

If software or hardware schedulers are used for packet distribution, then packet routing is simplified, but system complexity and overhead increase

Engineering Contradiction:
Improvepacket distribution simplicityVSAvoidscheduler system complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent implements self-service by enabling processing cores to autonomously detect pending core-specific events and create trigger packets without requiring external scheduler intervention. The flow processing controller directly manages packet distribution by creating trigger packets when needed, eliminating complex software or hardware schedulers while maintaining ease of operation.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS20250365248A1Method and electronic device for data packet flow distribution in multi-core processor
Publication Date: 2025.11.27 SAMSUNG ELECTRONICS CO LTD
  • US20250365248A1 patent drawing
  • US20250365248A1 patent drawing
  • US20250365248A1 patent drawing

AI summary

A method for data packet flow distribution in a multi-core processor by an electronic device is provided. The method includes receiving, by the electronic device, at least one data packet to be processed by the multi-core processor, determining, by the electronic device, whether a flow lock of a critical section of a data flow is acquired at a core, determining, by the electronic device, whether a threshold number of data packet from a flow queue is processed at the core upon successful flow lock acquisition, determining, by the electronic device, pending data packet to be processed in the flow queue upon processing the threshold number of data packet from the flow queue, creating, by the electronic device, a new trigger packet or event upon determining the pending data packet to be processed in the flow queue, releasing, by the electronic device, the flow lock of the critical section, and enqueuing the new trigger packet or event to a generic queue to be processed by other cores of the multi-core processor.