Prediction-guided DVFS for Energy-Efficient Computing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing dynamic voltage and frequency scaling (DVFS) techniques in computing systems are reactive and struggle to accurately predict execution time variations, leading to inefficiencies in energy usage and potential deadline misses due to input-dependent and interference-related execution time fluctuations.
Innovation Solution
A prediction-guided resource allocation method that uses a mathematical model to predict execution times based on program features, allowing for proactive adjustment of clock frequency and voltage, as well as task migration between cores, to ensure timely task completion while minimizing energy consumption.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Use of energy by moving object
If reactive DVFS techniques are used to adjust voltage and frequency, then energy consumption is reduced, but execution time prediction accuracy deteriorates leading to deadline misses
Solution Approach 1:
The system performs preliminary profiling of program features and their impact on execution time before actual task execution. A mathematical model is trained offline using profiling data to predict execution times, allowing the system to proactively adjust voltage and frequency settings before tasks run, rather than reacting after execution begins. This preliminary action enables accurate prediction while optimizing energy usage.
Solution Approach 2:
The system implements feedback mechanisms where actual execution times are compared with predicted times, and the mathematical model is continuously refined using this feedback. Profiling data from actual runs is used to update the model parameters, improving prediction accuracy over time. This closed-loop feedback ensures reliable execution time estimates while maintaining energy efficiency.
2Reliability
If clock frequency and voltage are increased to meet deadlines, then response-time requirements are satisfied, but energy consumption increases
Solution Approach 1:
The system dynamically changes voltage and frequency parameters based on predicted execution times of individual tasks. Instead of maintaining high frequency and voltage to ensure all deadlines are met, the system adjusts these parameters task-by-task according to their specific execution time predictions. This selective parameter adjustment satisfies response-time requirements for each task while minimizing overall energy consumption.
3Device complexity
If traditional DVFS controllers are used without prediction, then system complexity is reduced, but energy efficiency and reliability deteriorate
Solution Approach 1:
The system performs preliminary offline profiling and model training to capture the relationships between program features and execution times. This preliminary action creates a mathematical model that can be used during runtime without adding significant complexity to the control logic. The model predictions guide simple voltage and frequency adjustments, achieving high energy efficiency with minimal runtime complexity.
4Productivity
If execution time is reduced by increasing performance, then task completion speed increases, but energy consumption increases
Solution Approach 1:
The system dynamically adjusts voltage and frequency settings based on the specific execution time predictions of individual tasks. Instead of maintaining high performance settings continuously, the system changes performance levels dynamically to match the actual needs of each task. This dynamic adaptation allows the system to achieve necessary task completion speeds while minimizing energy consumption by using lower performance settings when sufficient.
Data Source
AI summary
Methods, systems, and devices of using prediction-guided resource allocation technologies for software applications are disclosed, comprising generating a plurality of program features that impact execution time of a plurality of program tasks; predicting execution time of the plurality of program tasks on one or more computing cores using the plurality of program features, wherein each of the plurality of program features is mapped to an execution time estimate on a selected computing core; and con trolling resources for the one or more computing cores based on a predicted execution time of the plurality of program tasks.


