Dynamic Task Dispatching for CPU-GPU Image Processing Load Balancing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing cooperative computing methods between CPU and GPU lead to inefficient resource utilization due to uneven load distribution, resulting in idle or wasted computing resources, as they often rely excessively on one processor over the other.
Innovation Solution
A cooperative computing device and method that includes a task dispatching module dynamically allocating image frames between CPU and GPU based on their respective computing capabilities and load conditions, ensuring balanced load distribution and optimal hardware performance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If CPU and GPU are used to perform number crunching simultaneously, then calculation speed is improved, but resource utilization becomes unbalanced causing one processor to be excessively idle
Solution Approach 1:
The patent implements dynamic task dispatching where the system continuously monitors the computing capabilities and load conditions of both CPU and GPU, then adjusts the distribution of image frames in real-time. This dynamic adjustment ensures that computing tasks are always allocated according to the current state of each processor, preventing idle resources while maximizing calculation speed.
Solution Approach 2:
The patent employs a feedback mechanism where the computing results and load status from both CPU and GPU are fed back to the task dispatching module. Based on this feedback, the system optimizes the distribution of subsequent computing tasks, ensuring that each processor receives an appropriate workload that matches its current capacity, thereby eliminating resource waste while maintaining high productivity.
2Productivity
If CPU performs logic operations and GPU performs rendering operations, then operation efficiency is improved, but the system cannot adapt to varying computing capabilities and load conditions
Solution Approach 1:
The patent transforms the static task division (CPU for logic, GPU for rendering) into a dynamic system where the task dispatching module continuously evaluates the actual computing capabilities and load conditions of both processors. This allows the system to adaptively adjust task distribution based on real-time conditions, maintaining high operation efficiency while gaining flexibility to handle varying workloads.
Solution Approach 2:
The patent changes the parameters of task distribution by considering multiple factors including computing capabilities, load conditions, and processing speeds of both CPU and GPU. Instead of fixed task assignment, the system dynamically modifies task allocation parameters based on current system state, enabling both high efficiency and adaptability to different operating conditions.
3Speed
If image frames are distributed to CPU and GPU for processing, then real-time processing capability is improved, but uneven load distribution causes time delays
Solution Approach 1:
The patent implements dynamic load balancing where the task dispatching module continuously monitors the processing speed and load status of CPU and GPU. Based on this real-time information, the system dynamically adjusts the distribution of image frames to ensure that both processors are kept busy with appropriate workloads, preventing idle time and maximizing real-time processing capability without causing time delays.
Solution Approach 2:
The patent performs preliminary evaluation of the computing capabilities and current load conditions of CPU and GPU before distributing image frames. This preliminary action allows the system to pre-determine the optimal task distribution strategy, ensuring that image frames are assigned to the most suitable processor in advance, thereby maintaining real-time processing capability while avoiding time delays caused by load imbalance.
Data Source
AI summary
The present invention discloses a cooperative computing device, wherein a task dispatching module receives a plurality of original image frames and dynamically dispatches the original image frames as a first amount of original image frames and a second amount of original image frames based on a loading result. A first computing module and a second computing module, which are of different types, respectively receive the first amount and the second amount of original image frames and respectively generate a first amount and a second amount of processed image frames. An image sorting module receives the first amount and the second amount of processed image frames, sorts and recovers the processed image frames based on a first timing sequence, and generating the loading result. The present invention also discloses a cooperative computing method which corresponds to the cooperative computing device.


