Utilization-Aware Hybrid Scheduling for Heterogeneous Processors
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional thread scheduling policies in heterogeneous processor systems fail to accurately allocate tasks due to a lack of awareness of accelerator processor utilization, leading to inefficient power consumption and responsiveness in specific utilization scenarios, particularly when accelerator processors are dominant.
Innovation Solution
A hybrid scheduling approach that dynamically switches between two scheduling policies based on the utilization of CPU cores and accelerator processors, using system management unit feedback to optimize task allocation and reduce power consumption while maintaining responsiveness.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If a single scheduling policy is used in heterogeneous processor systems, then the scheduling implementation is simple, but the system fails to accurately allocate tasks and optimize power consumption in different utilization scenarios
Solution Approach 1:
The patent implements a dynamic scheduling system that transitions between different scheduling policies based on system state. The hybrid scheduler monitors accelerator utilization and CPU core utilization, switching between frequency-based scheduling (when accelerators are underutilized) and priority-based scheduling (when accelerators are overloaded), thereby adapting the scheduling approach to current system conditions to optimize both task allocation accuracy and power efficiency
Solution Approach 2:
The system changes scheduling parameters dynamically based on utilization metrics. When accelerator utilization exceeds a threshold, the scheduler transitions from using frequency information to using priority information for task allocation. This parameter change allows the system to optimize task allocation accuracy for different workload conditions without requiring a completely different scheduling implementation
2Use of energy by moving object
If frequency-based scheduling is used to optimize power consumption, then energy efficient cores can be utilized for background tasks, but the system lacks awareness of accelerator processor utilization leading to suboptimal power efficiency in accelerator-dominant scenarios
Solution Approach 1:
The hybrid scheduler incorporates feedback from accelerator utilization monitoring to adjust scheduling decisions. By continuously monitoring accelerator processor utilization and CPU core utilization, the system receives feedback about system state and adjusts its scheduling policy accordingly, switching between frequency-based and priority-based scheduling to optimize power consumption based on actual accelerator workload conditions
Solution Approach 2:
The hybrid scheduler acts as an intermediary layer between the task queue and the heterogeneous processor cores. It receives task requests, evaluates current system state including accelerator utilization, and mediates task allocation by selecting appropriate scheduling policies and matching tasks to suitable cores, thereby bridging the information gap between accelerator utilization status and scheduling decisions
3Speed
If priority-based scheduling is used to maintain system responsiveness, then high priority tasks can be executed promptly, but the system fails to optimize power consumption by utilizing energy efficient cores for lower priority tasks
Solution Approach 1:
The scheduling system segments task allocation into different strategies based on priority levels and system state. High priority tasks receive immediate attention through priority-based scheduling to maintain responsiveness, while lower priority tasks are allocated to energy-efficient cores using frequency-based scheduling to optimize power consumption. This segmentation allows the system to simultaneously address both responsiveness and energy efficiency requirements
Data Source
AI summary
Hybrid scheduling for heterogeneous processor systems is described. In one or more implementations, a system includes a central processing unit having multiple cores of at least two different core types, one or more accelerator processors, and a system management processor. The system management processor is configured to update a scheduling policy implemented by an operating system of the central processing unit from a first scheduling policy to a second scheduling policy based on a utilization of the multiple cores and/or the one or more accelerator processors. The update enables the system management processor to control task scheduling.


