Heterogeneous Processing Engine Runtime Capability Exposure
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
As computing systems become increasingly complex with multiple heterogeneous processing engines, existing technologies fail to dynamically optimize workload assignment based on changing power budgets and operational conditions, leading to suboptimal performance and power efficiency.
Innovation Solution
The system dynamically exposes and updates the runtime capability of each processing engine based on current operational conditions, allowing the operating system to select the optimal engine for a given task, thereby enhancing performance and power efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If system software adopts a static assumption of the relative power and capabilities of the various processing engines, then the system software is simple to implement, but the workload assignment becomes suboptimal when operational conditions change
Solution Approach 1:
The patent implements dynamic capability exposure by having processing engines update their capability information in an achievable capability table at runtime based on current operational conditions such as power budget and frequency. This allows the system to transition from static to dynamic workload assignment, optimizing productivity while maintaining manageable software complexity through a standardized update mechanism.
Solution Approach 2:
The system establishes a feedback loop where processing engines continuously monitor their operational conditions (power budget, frequency, thermal state) and update their capability information in the achievable capability table. This feedback mechanism enables the system software to automatically adapt workload assignments based on real-time engine capabilities without requiring complex manual reconfiguration.
2Loss of energy
If processing engines dynamically adjust frequency and power to address power-constraints and heat conditions, then power efficiency improves, but the relative capabilities of processing engines change making static workload assignment suboptimal
Solution Approach 1:
The patent enables dynamic adaptability by implementing a runtime capability update mechanism. When processing engines adjust their frequency and power consumption to optimize power efficiency and thermal conditions, they simultaneously update their capability information in the achievable capability table. This allows the workload assignment system to adapt to changing engine capabilities without requiring complex reconfiguration, resolving the contradiction between power efficiency and adaptability.
Solution Approach 2:
The system dynamically changes the capability parameters in the achievable capability table based on actual operational conditions. When processing engines adjust their power consumption and frequency, their capability parameters (such as performance levels and supported workloads) are updated accordingly. This parameter change mechanism enables the system to maintain optimal workload assignment adaptability while processing engines dynamically optimize their power efficiency.
3Productivity
If more processing engines are added to increase computing power, then processing capability improves, but power-constraints and heat sensitivity increase
Solution Approach 1:
The patent implements local quality optimization by enabling each processing engine to independently update its capability information in the achievable capability table based on its specific operational conditions. This allows different engines to operate at different power levels and capability states simultaneously, optimizing the overall system's processing capability while managing power consumption and heat generation through localized, engine-specific adjustments rather than uniform system-wide changes.
Data Source
AI summary
Embodiments described herein may include apparatus, systems, techniques, and/or processes that are directed to computing systems with heterogenous processing engines. The heterogenous processing engines may have differing capabilities that change dynamically during system operation due, for example, to changing power budgets, frequencies, voltages, and the like of each processing engine. By dynamically exposing and updating the run-time capability of each processing engine based on current operational conditions, the operating system or system software may select the optimal processing engine for a given task, thereby providing more performance, power efficiencies, and better experience to the user.


