Heterogeneous SoC Workload Allocation for Thermal Management
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Portable computing devices (PCDs) with heterogeneous processing components face challenges in thermal management, leading to underutilization of processing capacity and inefficient workload allocation, as they lack active cooling and rely on thermal management techniques that compromise processing performance or power savings.
Innovation Solution
A method and system for mode-based workload reallocation across heterogeneous processing components in a multi-processor SoC, where the performance capabilities of each component are determined and workloads are dynamically allocated based on operational modes, prioritizing components with higher processing frequencies for high-performance modes and lower power consumption for power-saving modes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Temperature
If thermal management techniques are applied to mitigate thermal energy generation, then thermal energy is reduced, but processing performance deteriorates
Solution Approach 1:
The processor is segmented into multiple processing components with different performance characteristics and power consumption levels. The workload is divided and allocated to specific components based on current thermal and power conditions, allowing the system to maintain performance while managing thermal energy generation through selective component usage.
Solution Approach 2:
The workload allocation is dynamically adjusted based on real-time monitoring of thermal conditions and power availability. The system transitions between different operational modes (performance mode, power-saving mode) by reallocating workloads to appropriate processing components, enabling adaptive response to changing thermal and power constraints.
2Productivity
If all processing components are run at maximum frequency to maximize QoS, then processing speed is improved, but power consumption increases
Solution Approach 1:
Different processing components are assigned different operational characteristics - some are optimized for high performance with higher power consumption, while others are optimized for power efficiency with lower performance. The system selectively activates components with appropriate qualities based on workload requirements and power availability, rather than uniformly operating all components at maximum frequency.
Solution Approach 2:
The system changes operational parameters by switching between performance mode and power-saving mode. In performance mode, higher-frequency processing components are activated; in power-saving mode, lower-frequency components are used. This parameter change allows the system to optimize the balance between processing speed and power consumption based on current conditions.
3Ease of operation
If workload is allocated assuming functional equivalence of processing components, then allocation simplicity is maintained, but power efficiency deteriorates
Solution Approach 1:
The system automatically monitors its own thermal and power conditions and autonomously reallocates workloads to appropriate processing components based on current operational mode. This self-service mechanism eliminates the need for complex manual workload allocation while achieving power efficiency through intelligent, condition-based component selection.
Data Source
AI summary
Various embodiments of methods and systems for mode-based reallocation of workloads in a portable computing device (“PCD”) that contains a heterogeneous, multi-processor system on a chip (“SoC”) are disclosed. Because individual processing components in a heterogeneous, multi-processor SoC may exhibit different performance capabilities or strengths, and because more than one of the processing components may be capable of processing a given block of code, mode-based reallocation systems and methodologies can be leveraged to optimize quality of service (“QoS”) by allocating workloads in real time, or near real time, to the processing components most capable of processing the block of code in a manner that meets the performance goals of an operational mode. Operational modes may be determined by the recognition of one or more mode-decision conditions in the PCD.


