Heterogeneous Processor Scheduling With Thread Performance Prediction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing multi-core heterogeneous processors face challenges in accurately predicting thread performance on different types of processor cores, making it difficult to determine an optimal scheduling policy for energy efficiency and performance.
Innovation Solution
Incorporating a scenario classifier and performance predictor in each processor core to analyze running information, such as instruction and memory characteristics, to predict thread performance and determine a scheduling policy based on these predictions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If traditional scheduling methods are used without performance prediction, then device complexity is reduced, but measurement precision of thread performance on different processor cores deteriorates
Solution Approach 1:
The processor system is segmented into heterogeneous processor cores of different types (e.g., high-performance cores, energy-efficient cores). Each core type has dedicated performance prediction models trained on workload-specific data. This segmentation allows accurate performance prediction for different workload types on appropriate core types without requiring a single complex universal predictor.
Solution Approach 2:
Performance prediction models are pre-trained offline using historical workload data and performance metrics before runtime scheduling decisions. The scenario classifier and performance predictor are pre-configured with knowledge about different workload characteristics and core performance profiles, enabling fast accurate predictions during actual scheduling without real-time training overhead.
2Productivity
If performance prediction and scenario classification are implemented, then productivity of scheduling is improved, but device complexity increases
Solution Approach 1:
The performance predictor and scenario classifier are designed as universal components that can handle multiple workload types and map to different processor core types. A single predictor structure uses workload characteristics (instruction mix, memory access patterns, parallelism) to generate performance predictions across heterogeneous cores, eliminating the need for separate prediction mechanisms for each workload type.
Solution Approach 2:
A scenario classifier acts as an intermediary between workload characterization and performance prediction. The classifier first categorizes the workload into scenario types (e.g., compute-bound, memory-bound, parallel, sequential), then routes to appropriate pre-trained performance models. This intermediary layer simplifies the overall system by organizing complexity into manageable classification and prediction stages.
3Loss of time
If real-time performance prediction is performed, then loss of time in scheduling decisions is reduced, but use of energy increases
Solution Approach 1:
Performance prediction models are pre-trained offline using historical workload data and performance metrics before runtime scheduling decisions. The scenario classifier and performance predictor are pre-configured with knowledge about different workload characteristics and core performance profiles, enabling fast accurate predictions during actual scheduling without real-time training overhead.
Solution Approach 2:
The system uses lightweight performance metrics and simplified prediction models that capture essential performance characteristics without requiring exhaustive analysis. By focusing on key workload features (instruction mix, memory patterns, parallelism) rather than complete program analysis, the system achieves sufficiently accurate predictions with minimal computational energy expenditure.
Data Source
AI summary
A heterogeneous processor is disclosed. The heterogeneous processor includes a plurality of processor cores of different sizes, and each of the plurality of processor cores includes a scenario classifier and a performance predictor. A scenario classifier in a first processor core obtains running information of the first processor core, where the running information includes one or more of an instruction stream characteristic and a memory running characteristic of running a target service by the first processor core, and the first processor core is any one of the plurality of processor cores; and determines a target scenario of the target service from a plurality of preset scenarios based on the running information. A performance predictor in the first processor core predicts target performance information based on the target scenario and the running information, where the target performance information is performance prediction information corresponding to the target service.


