Multi-Core Packet Flow Distribution With Trigger-Based Load Balancing
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
3Ease of operation
If software or hardware schedulers are used for packet distribution, then packet routing is simplified, but system complexity and overhead increase
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.
Data Source
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.


