Heterogeneous Computing Task Frontend Dispatching
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The breakdown of Dennard scaling has led to increased 'dark silicon' in modern processors, limiting energy and computing efficiency due to thermal issues and reduced computing performance per watt, despite shrinking transistor sizes.
Innovation Solution
A heterogeneous computing system with a task frontend that dispatches tasks to execution units including control processors, vector processors, and accelerators, leveraging task parallelism, data parallelism, and producer-consumer locality to minimize energy consumption and maximize performance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If transistor size continues to shrink to increase computing performance, then the number of transistors per chip area increases exponentially, but current leakage causes thermal runaway and increases energy costs
Solution Approach 1:
The system divides the computing workload into fine-grained tasks that are distributed across multiple heterogeneous execution units. Each task is independently dispatched and executed, allowing the system to activate only the specific execution units needed for each task rather than powering up the entire chip, thus reducing overall energy consumption while maintaining computing performance.
Solution Approach 2:
The patent implements heterogeneous execution units with different capabilities (control processors, vector processors, accelerators) optimized for specific task types. Each execution unit is tailored to handle particular workloads efficiently, allowing the system to match tasks to appropriate units and activate only the necessary local resources rather than uniformly powering the entire chip.
2Productivity
If more execution units are activated to improve computing performance, then processing capacity increases, but thermal runaway risk increases and constrains per watt computing performance
Solution Approach 1:
The system performs preliminary classification and dispatching of tasks to appropriate execution units before execution. The task frontend categorizes incoming tasks and routes them to suitable execution units in advance, ensuring that only the necessary execution units are activated. This preliminary organization allows the system to maximize computing performance with minimal active components, reducing thermal load.
3Loss of energy
If heterogeneous execution units are used to improve energy efficiency, then task parallelism and data parallelism can be exploited, but system complexity increases
Solution Approach 1:
The task frontend is designed as a universal dispatching mechanism that can handle multiple types of tasks and route them to different execution units. This single component performs the function of task classification, scheduling, and distribution across heterogeneous units, simplifying the overall system architecture despite the diversity of execution units. The unified task frontend manages complexity while enabling energy-efficient heterogeneous execution.
Data Source
AI summary
A heterogeneous computing system described herein has an energy-efficient architecture that exploits producer-consumer locality, task parallelism and data parallelism. The heterogeneous computing system includes a task frontend that dispatches tasks and updated tasks from queues for execution based on properties associated with the queues, and execution units that include a first subset acting as producers to execute the tasks and generate the updated tasks, and a second subset acting as consumers to execute the updated tasks. The execution units includes one or more control processors to perform control operations, vector processors to perform vector operations, and accelerators to perform multimedia signal processing operations. The heterogeneous computing system also includes a memory backend containing the queues to store the tasks and the updated tasks for execution by the execution units.


