Dynamic Task Migration in Multi-Core Processors
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional multi-core processors lack flexibility in task loading allocation, failing to adapt to varying user needs between high performance and power saving requirements due to fixed thresholds that do not account for dynamic changes in task loading.
Innovation Solution
A multi-core processing device with dual thresholds (hmp_up_migration and hmp_down_migration) that dynamically adjusts task loading between processor cores, allowing relocation of tasks based on current versus target loading differences, and changing these thresholds during runtime to optimize performance and power consumption.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If task loading is allocated using fixed thresholds in conventional multi-core processors, then the system structure is simple, but the adaptability to varying user needs between high performance and power saving requirements is poor
Solution Approach 1:
The patent implements dynamic threshold adjustment by introducing a controller that modifies migration thresholds (hmp_up_migration and hmp_down_migration) based on runtime system state. The thresholds transition from fixed values to dynamic variables that adapt to changing workload conditions, enabling the system to flexibly respond to varying performance and power-saving requirements without requiring complete architectural redesign
Solution Approach 2:
The patent changes the parameter values of migration thresholds based on system monitoring data. The controller adjusts hmp_up_migration and hmp_down_migration threshold parameters dynamically, allowing the task allocation strategy to adapt to different operational scenarios. This parameter adjustment mechanism enables the system to optimize the balance between performance and power consumption by modifying threshold values according to actual system state
2Productivity
If tasks are frequently migrated between cores to optimize performance, then performance responsiveness improves, but power consumption increases due to unnecessary core switching
Solution Approach 1:
The patent implements a feedback mechanism where the controller continuously monitors task loading on different cores and compares current thresholds with target thresholds. Based on this feedback loop, the system determines whether task migration is necessary, avoiding unnecessary core switching while maintaining performance responsiveness. The feedback control ensures migration occurs only when it will actually improve system efficiency
Solution Approach 2:
The patent uses hysteresis through dual thresholds (hmp_up_migration and hmp_down_migration) to prevent excessive migration actions. By requiring the loading difference to exceed a threshold before triggering migration, and using different thresholds for up and down migration, the system avoids oscillatory behavior and unnecessary switching, performing migration only when truly necessary rather than at every minor fluctuation
3Speed
If tasks are allocated to big cores for high performance, then computation speed improves, but power consumption increases
Solution Approach 1:
The patent dynamically adjusts task allocation between little cores and big cores based on runtime conditions. The controller monitors system state and dynamically determines whether to migrate tasks to big cores for high-performance computation or keep them on little cores for power-saving operation. This dynamic allocation allows the system to adapt to varying workload demands, using big cores only when their superior computation speed is actually needed
Data Source
AI summary
A multi-core processing device includes a first processor core and a second processor core. The computation capability of the second processor core is greater than that of the first processor core. When loading of a task is lower than an hmp_down_migration threshold, the multi-core processing device allocates the task to the first processor core. When the loading of a task is higher than an hmp_up_migration threshold, the multi-core processing device allocates the task to the second processor core. At least one of the hmp_down_threshold and the hmp_up_threshold changes from a first value to a second value during a run time of the multi-core processing device.


