Dynamic Load Balancing for Multi-Subsystem Processing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional data processing systems face challenges in simultaneously achieving high performance, low power consumption, and compactness, particularly in portable devices where battery limitations restrict continuous high-performance operation due to the need for dedicated processing units, and existing power management systems rely on throttling which reduces performance to conserve power.
Innovation Solution
The method involves dynamically redistributing computational processes among multiple subsystems such as CPU, GPU, and DSP, optimizing power consumption, performance, and cost-effectiveness by determining and saving matrices of power consumption, performance, and cost-effectiveness for each subsystem and process, allowing redistribution without rebooting, and using software components to manage and redistribute tasks based on selected settings and load balancing criteria.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If dedicated processing units (CPU, GPU, DSP) are used for different computational processes, then processing performance is improved, but power consumption increases
Solution Approach 1:
The system dynamically redistributes computational processes among different subsystems (CPU, GPU, DSP) based on real-time power consumption matrices and performance requirements. This dynamic allocation allows the system to adapt processing assignments to current power availability and thermal conditions, rather than using static dedicated assignments.
Solution Approach 2:
The system changes operational parameters by selecting different subsystems for specific computational processes based on power consumption matrices. By evaluating multiple possible assignments and their associated power consumption and performance characteristics, the system optimizes the parameter combination of subsystem selection to achieve desired performance while minimizing power usage.
2Use of energy by moving object
If processor frequency and voltage are reduced to lower power consumption, then power usage decreases, but processing performance deteriorates
Solution Approach 1:
Instead of statically reducing frequency and voltage, the system dynamically selects which subsystem handles which computational process based on real-time conditions. This dynamic redistribution allows the system to maintain high performance when needed by assigning tasks to appropriate subsystems without resorting to frequency/voltage throttling.
Solution Approach 2:
The system makes subsystems universal by allowing any computational process to be assigned to any capable subsystem (CPU, GPU, or DSP) based on current power and performance requirements. This multi-functionality eliminates the need for dedicated processing units for each process type, enabling flexible optimization of both power consumption and performance.
3Use of energy by moving object
If computational processes are redistributed among subsystems to optimize power consumption, then power efficiency improves, but system complexity increases
Solution Approach 1:
The system performs preliminary actions by pre-calculating and storing power consumption matrices for different subsystem-process combinations before runtime. This pre-computed information is saved and reused during operational decisions, avoiding the need for complex real-time measurements and calculations, thus reducing the actual runtime system complexity.
Solution Approach 2:
The system introduces an intermediary layer (the power consumption matrices and redistribution logic) that simplifies the decision-making process. Instead of directly managing complex real-time power measurements and subsystem coordination, the system uses pre-computed matrices as an intermediary reference to guide straightforward redistribution decisions.
4Productivity
If multiple subsystems are used to handle different computational processes, then processing capability is improved, but thermal limits are more likely to be exceeded
Solution Approach 1:
The system dynamically monitors and responds to thermal conditions by redistributing computational processes in real-time. When thermal limits approach critical levels, the system can dynamically reassign processes to different subsystems or reduce overall processing load, maintaining processing capability within safe thermal boundaries.
Data Source
AI summary
Exemplary embodiments of methods and apparatuses to dynamically redistribute computational processes in a system that includes a plurality of processing units are described. The power consumption, the performance, and the power/performance value are determined for various computational processes between a plurality of subsystems where each of the subsystems is capable of performing the computational processes. The computational processes are exemplarily graphics rendering process, image processing process, signal processing process, Bayer decoding process, or video decoding process, which can be performed by a central processing unit, a graphics processing units or a digital signal processing unit. In one embodiment, the distribution of computational processes between capable subsystems is based on a power setting, a performance setting, a dynamic setting or a value setting.


