NPU Load Balancing via Dynamic Data Stream Reassignment
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current network equipment with multi-core NPUs experiences severe load imbalance due to differing data volumes in service data flows, leading to overall performance degradation.
Innovation Solution
A method for load balancing of NPUs, where a CPU reassigned data streams from high-load cores to low-load cores, with the low load being lower than the high load, using a finer load balancing assignment strategy.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If data streams are assigned to NPU cores without load balancing, then the assignment process is simple, but the system performance deteriorates due to severe load imbalance
Solution Approach 1:
The patent implements dynamic load balancing by continuously monitoring the load status of NPU cores and adjusting data stream assignments in real-time. The CPU periodically collects load information from each core, determines whether load balancing is needed based on threshold comparisons, and dynamically reassigns data streams to achieve balanced load distribution across cores.
Solution Approach 2:
The patent establishes a feedback mechanism where the CPU continuously monitors load information from NPU cores, compares current load status with historical data, and uses this feedback to make intelligent assignment decisions. The system calculates load differences, identifies overloaded and underloaded cores, and adjusts assignments based on this feedback loop to maintain optimal performance.
2Productivity
If data streams are concentrated on fewer cores, then the assignment process is simpler, but the cores become overwhelmed leading to performance degradation
Solution Approach 1:
The patent changes the assignment parameters by considering multiple factors including core load status, data stream characteristics, and load differences. Instead of static assignment, the system dynamically adjusts which core processes which data stream based on real-time load parameters, ensuring that no single core becomes overwhelmed while maintaining processing efficiency.
Solution Approach 2:
The CPU acts as an intermediary between data streams and NPU cores, mediating the assignment process by monitoring core loads and making intelligent routing decisions. This intermediary function prevents direct concentration of all data streams on fewer cores by distributing them according to real-time load conditions, thereby maintaining both efficiency and stability.
3Productivity
If load balancing is implemented frequently, then the load distribution becomes more balanced, but the system overhead increases
Solution Approach 1:
The patent implements periodic load balancing by collecting load information at fixed intervals rather than continuously. The CPU periodically queries each core's load status, compares it with historical data, and performs reassignment only when necessary. This periodic approach achieves adequate load balance while minimizing the overhead associated with constant monitoring and adjustment.
Solution Approach 2:
The patent applies partial action by performing load balancing only when the load difference exceeds a predetermined threshold. Instead of continuously optimizing, the system intervenes only when imbalance becomes significant, thereby achieving acceptable load balance quality while reducing the frequency of adjustment operations and minimizing system overhead.
Data Source
AI summary
The invention relates to a method, a non-transitory computer-readable storage medium, and an apparatus for load balancing of a network processing unit (NPU). A central processing unit (CPU) is coupled to the NPU and the NPU has multiple cores. The method, which is performed by the CPU, includes: reassigning a data stream processed by a first core in the NPU, which is under a high load, to a second core in the NPU, which is under a low load, where the low load is lower than the high load. The data stream is distinguished from other data streams by at least its quintuple, and the quintuple is composed of a source Internet Protocol (IP) address, a source port, a destination IP address, a destination port and a protocol type.


