Hardware Guide Scheduler for Workload Consolidation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing operating systems lack the ability to efficiently schedule workloads across compute modules with varying power and performance capabilities, leading to suboptimal power and performance tradeoffs.
Innovation Solution
The implementation of a method that monitors workload behavior, determines compute capability requirements, and provides hints to the operating system to consolidate work on specific modules with optimal energy efficiency and performance capabilities.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If workloads are scheduled across multiple compute modules, then performance capability is improved, but energy efficiency deteriorates
Solution Approach 1:
The system dynamically adjusts workload scheduling decisions based on real-time monitoring of workload behavior and compute module capabilities. The hardware guide scheduler continuously adapts scheduling policies to match current system state, transitioning between consolidating workloads on single modules for energy efficiency and distributing across multiple modules for performance optimization.
Solution Approach 2:
The system changes scheduling parameters based on workload characteristics and module capabilities. By monitoring workload behavior and comparing against hardware-stored capability information, the system adjusts scheduling decisions to optimize the tradeoff between performance and energy efficiency for different workload types.
2Use of energy by moving object
If workloads are consolidated on a single compute module, then energy efficiency is improved, but performance capability deteriorates
Solution Approach 1:
The system applies different scheduling strategies to different compute modules based on their specific capabilities. By storing and utilizing hardware guidance information that characterizes each module's performance and energy efficiency properties, the system can make locally optimized scheduling decisions for each module rather than applying a uniform scheduling policy.
3Ease of operation
If the operating system schedules workloads without understanding compute module capabilities, then scheduling simplicity is maintained, but scheduling optimality deteriorates
Solution Approach 1:
The hardware guide scheduler acts as an intermediary between the operating system and compute modules. It provides the OS with simplified scheduling interfaces while simultaneously utilizing detailed hardware-stored capability information to make optimal scheduling decisions, thus bridging the gap between scheduling simplicity and optimality.
Solution Approach 2:
The system performs preliminary characterization of compute module capabilities during hardware initialization and stores this information in hardware structures. This pre-computed capability information is then used by the scheduler to make informed decisions without requiring the operating system to understand or process detailed architectural information.
4Use of energy by moving object
If compute modules are designed with very different power and performance capabilities, then energy efficiency for specific workloads is improved, but scheduling complexity increases
Solution Approach 1:
The hardware guide scheduler automatically utilizes the pre-stored capability information to make scheduling decisions without requiring complex software-based analysis. The hardware structures self-serve by providing the necessary guidance information, reducing the scheduling complexity burden on the operating system while still enabling optimized scheduling for heterogeneous modules.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
Techniques for providing hardware provided guidance for efficiently scheduling workloads to an optimal compute module are described. In some examples, hardware includes a first plurality of physical processor cores of a first type to implement a plurality of logical processor cores of the first type; a second plurality of physical processor cores of a second type, wherein each core of the second type is to implement a plurality of logical processor cores of the second type; a power management unit to monitor telemetry data on the first plurality of processor cores and second plurality of processor cores and to update hardware feedback telemetry data; and thread runtime telemetry circuitry to provide a hint using the hardware feedback telemetry data to consolidate tasks on one of core types.