Compiler Power Optimization for Mobile Devices

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvecode execution flexibilityVSAvoidpower and energy efficiency
Core Design Contradiction:
Adaptability or versatilityVSUse of energy by moving object

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.

Inventive Principle:
Principle #35Parameter changes

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.

Inventive Principle:
Principle #15Dynamics

2Productivity

If unconditional compilation of all received codes is performed, then code availability is improved, but power and energy efficiency deteriorates

Engineering Contradiction:
Improvecode availabilityVSAvoidpower and energy efficiency
Core Design Contradiction:
ProductivityVSUse of energy by moving object

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.

Inventive Principle:
Principle #3Local quality

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.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS7904893B2Power and/or energy optimized compile/execution
Publication Date: 2011.03.08 MARVELL ASIA PTE LTD
  • US7904893B2 patent drawing
  • US7904893B2 patent drawing
  • US7904893B2 patent drawing

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.