Core Scheduler Thread Assignment by Sensor Distance
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional computing devices with multiple processor cores face challenges in managing heat distribution effectively, leading to reduced performance and shorter battery life, as they often concentrate processing in just two cores and do not adequately account for thermal interactions between different processing units like CPU, GPU, and DSP.
Innovation Solution
A method and system that assign processing threads to cores based on physical distance from temperature sensors, using a core scheduler to dynamically rebalance threads and mitigate heat by placing them on cores farther from hotspots, thereby reducing thermal effects across the SOC.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If more processor cores are added to improve performance, then processing capability increases, but power consumption and temperature increase leading to shorter battery life
Solution Approach 1:
The system dynamically changes the assignment parameters of processing threads to cores based on real-time temperature readings from temperature sensors. When certain cores become overheated, the scheduler modifies assignment decisions to route threads to cooler cores, thereby managing thermal conditions without reducing overall processing capability.
Solution Approach 2:
The thread-to-core assignment is made dynamic rather than static. The core scheduler continuously monitors temperature conditions and adapts thread assignments in real-time, allowing the system to respond to changing thermal conditions and optimize both performance and power consumption accordingly.
2Device complexity
If processing threads are concentrated on two cores to simplify scheduling, then scheduling complexity reduces, but heat generation increases and performance is limited
Solution Approach 1:
The system segments the processing workload across multiple cores rather than concentrating it on two cores. By dividing threads across available cores and using temperature as a segmentation criterion, the system distributes heat generation more evenly while maintaining manageable scheduling complexity through the temperature-aware scheduler.
3Productivity
If GPU is used heavily to improve graphics processing, then graphics performance increases, but heat generated affects surrounding processing units including CPU cores
Solution Approach 1:
The system applies local quality by considering the spatial relationship between processing units. When the GPU generates heat, the scheduler identifies which CPU cores are thermally affected and adjusts thread assignments to those cores that are less impacted by the GPU's thermal output, thereby localizing the thermal management strategy to specific affected areas.
4Temperature
If conventional temperature control algorithms reduce SOC frequency to control temperature, then temperature is controlled, but performance and user experience deteriorate
Solution Approach 1:
Instead of reducing frequency to control temperature, the system inverts the approach by maintaining frequency and instead changing thread-to-core assignments. This allows temperature control without sacrificing performance, as the computational workload is redistributed rather than reduced.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A method includes generating temperature information from a plurality of temperature sensors within a computing device, wherein a first one of the temperature sensors is physically located at a first processing unit of the computing device; processing the temperature information to identify that the first temperature sensor is associated with temperature that is at or above a threshold; and assigning a processing thread to a first core of a plurality of cores of a second processing unit in response to identifying that the first temperature sensor is associated with temperature that is at or above the threshold and based at least in part on a physical distance between the first core and the first temperature sensor.