Sub-Process Power Logging via OS-Level Segmentation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Computing devices face challenges in accurately correlating power consumption with code execution at a granular level, making it difficult for developers to identify and optimize power usage within software processes.
Innovation Solution
Implementing a power logging function within the operating system that tracks and logs power consumption of sub-portions of processes, including both core and non-core resources, by determining process information and power usage at regular intervals and creating a power log to provide feedback on excessive power usage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If power consumption is measured at a high level (system-wide), then measurement simplicity is maintained, but measurement precision is insufficient to identify specific power-consuming code portions
Solution Approach 1:
The patent segments power consumption measurement into three distinct components: (1) core power consumption measured via performance counters, (2) non-core power consumption estimated through runtime parameters, and (3) library power consumption tracked via instrumentation hooks. This segmentation allows precise attribution of power usage to specific code portions while managing system complexity through modular measurement approaches.
Solution Approach 2:
The patent introduces an intermediary power logging system that acts as a mediator between the executing code and the measurement mechanisms. This intermediary captures runtime information, correlates it with power consumption data, and presents integrated results to developers, thereby simplifying the overall measurement process while maintaining high precision.
2Loss of information
If detailed process information is collected at sub-process level, then power usage correlation accuracy is improved, but information processing overhead increases
Solution Approach 1:
The patent performs preliminary actions by pre-defining power regions in the code, pre-instrumenting library functions with hooks, and pre-establishing correlation models between runtime parameters and power consumption. These preliminary setups enable efficient real-time logging without excessive processing overhead during actual execution.
Solution Approach 2:
The patent applies local quality by selectively instrumenting only the specific library functions and code regions that are relevant to power consumption analysis, rather than uniformly instrumenting the entire codebase. This targeted approach provides complete power usage information where needed while minimizing processing overhead in other areas.
3Loss of information
If power logging is implemented for both core and non-core resources, then power analysis comprehensiveness is improved, but system complexity increases
Solution Approach 1:
The patent segments power measurement into distinct categories: core power consumption measured through performance counters on processing elements, non-core power consumption estimated from runtime parameters of peripheral resources, and library power consumption tracked through instrumentation. This segmentation provides comprehensive power analysis while managing complexity through specialized measurement techniques for each category.
Solution Approach 2:
The patent implements self-service mechanisms where the power logging system automatically correlates runtime information with power consumption data without requiring external intervention. The system self-manages the collection, correlation, and presentation of power usage information across core and non-core resources, reducing the burden on developers while providing comprehensive analysis.
Data Source
AI summary
Techniques are disclosed performing a power logging in a computer system at a sub-process level. An exemplary method includes an operating system of the computer system determining process information indicative of which sub-portions of one or more processes are running on the computer system at different points in time, as well as may determining power information for the computer system at different points in time. The operating system may the create, from the process information and the power information, a power log indicative of power usage of sub-portions of processes at a plurality of points in time. The power logging may extend to both core and non-core resources of the system. For non-core resources, the power usage may be estimated in some cases based on the type of non-core resource being called as well as parameters passed to the non-core resource.


