Application-Aware Hardware Power Management Beyond Generic DVFS
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing energy management techniques, such as dynamic voltage and frequency scaling (DVFS), are agnostic to application-level usage scenarios, resulting in less effective power management due to the lack of application state information.
Innovation Solution
A method and system that utilize application state information to dynamically adjust hardware settings, such as voltage, frequency, and bandwidth, through a central or pseudo-central module separate from the application, to reduce energy consumption.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Use of energy by moving object
If general-purpose system techniques like DVFS are used to regulate power consumption, then power management is implemented at the system level, but application-level usage scenarios are not considered resulting in inferior energy efficiency
Solution Approach 1:
An intermediary layer (power management module or operating system layer) is introduced between the application and the hardware to translate application-state information into appropriate power management actions. This intermediary receives state information from applications, determines suitable actions based on predefined policies, and executes hardware-level power management, thereby enabling application-aware power optimization without requiring direct application-hardware coupling.
Solution Approach 2:
A feedback mechanism is established where applications provide state information to the power management module, which then adjusts hardware parameters and monitors the effects. This closed-loop feedback enables continuous optimization of energy efficiency based on actual application behavior and system state, allowing the system to adapt dynamically to changing usage scenarios.
2Loss of energy
If application state information is integrated into power management, then energy savings are increased, but system complexity increases due to additional communication layers
Solution Approach 1:
The power management module is designed to handle multiple functions: receiving state information from various applications, determining appropriate power management actions, executing hardware control, and monitoring results. This multi-functional design consolidates complexity into a single versatile component rather than requiring separate mechanisms for each function, thereby limiting overall system complexity while enabling comprehensive application-aware power management.
Solution Approach 2:
Applications are equipped with the capability to self-report their state information to the power management module through standardized interfaces. This self-service approach eliminates the need for complex monitoring mechanisms within the power management system, as applications autonomously provide the necessary information, thereby reducing system complexity while enabling energy savings.
3Use of energy by stationary object
If hardware parameters are dynamically adjusted based on application state, then energy consumption is reduced, but control precision requirements increase
Solution Approach 1:
The system implements partial action by adjusting only the most critical hardware parameters (such as CPU frequency and voltage) based on application state, rather than attempting to optimize all hardware aspects simultaneously. This selective approach reduces the precision requirements for state information while still achieving significant energy savings, balancing the trade-off between energy reduction and measurement precision requirements.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
An apparatus, method, and computer-readable media are provided for reducing an energy consumption of hardware on which an application is running. In use, a call is received from an application via an application program interface. Such call indicates a state of the application. Further, an action is determined, based on the call. The action is for reducing an energy consumption of hardware on which the application is running. The method continues by executing the action for reducing the energy consumption of the hardware on which the application is running.