Compiler Power Optimization for Mobile Devices
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current just-in-time compilation technologies for wireless mobile devices do not optimize for power level or energy efficiency, leading to inefficient power and energy consumption.
Innovation Solution
A compiler with power and energy optimization capabilities, along with a complementary runtime manager, optimizes object code by analyzing and replacing code segments to reduce power and energy requirements, using power and energy profiles to determine alternative instructions that consume less energy and power.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If just-in-time compilation is used for cross platform application development, then code execution flexibility is improved, but power and energy efficiency deteriorates
Solution Approach 1:
The compiler changes the parameter of code generation by creating multiple versions of object code with different optimization levels (e.g., -O0 for maximum speed, -O2 for balanced performance, -O3 for maximum optimization). This allows the system to adapt the code generation parameters based on power constraints while maintaining cross-platform flexibility through Java bytecode as an intermediate representation.
Solution Approach 2:
The system dynamically selects which object code version to execute based on runtime power availability and performance requirements. The Just-In-Time compiler can switch between different optimization levels dynamically, allowing the system to adapt between power-efficient mode and performance-critical mode as conditions change.
2Productivity
If unconditional compilation of all received codes is performed, then code availability is improved, but power and energy efficiency deteriorates
Solution Approach 1:
Instead of uniformly treating all code segments the same way, the system applies different compilation strategies to different code segments based on their power consumption characteristics. The compiler analyzes individual methods or code blocks and selects appropriate optimization levels locally, compiling only those segments that are actually executed and that benefit from optimization.
Solution Approach 2:
The system performs partial compilation rather than unconditional compilation of all codes. It selectively compiles only the necessary code segments based on execution paths and power constraints, avoiding the excessive action of compiling everything regardless of actual needs, thus reducing overall power consumption while maintaining code availability for executed segments.
Data Source
AI summary
A compiler with power and/or energy optimization, a complementary runtime manager, and system having the compiler and/or the runtime manager are described herein.


