THE EFFECTS OF DYNAMIC COMPILER OPTIMIZATIONS OF ENERGY CONSUMPTION OF JAVA APPLICATIONS RUNNING ON MOBILE DEVICES

Brandon H. Dwiel and Wei Zhang*

Southern Illinois University Carbondale, Department of Electrical and Computer Engineering, Carbondale, IL 62901

Zhang@engr.siu.edu


Abstract

Highly Optimized programs can speed up the execution and decrease the time to complete tasks, but on mobile devices, programs must also be energy-aware and allow for the longest battery life. In order to find the right performance/energy-consumption tradeoff, program and compiler developers must know the effects that performing optimizations have on the energy consumption. Programming languages, such as Java, that require compilation and optimizations to be performed at runtime must include the energy spent during these phases in the total energy consumed. This paper studies the impact of Java compiler optimizations on energy consumption when running on the PowerPC architecture. The three optimization levels of the Jikes RVM (Research Virtual Machine) were examined in comparison to the baseline compile to gauge what impact on energy performance was made. The purpose of this paper was to determine what the incremental benefits are when applying more optimizations and if and when the additional energy needed to perform the optimizations will be made up for with better energy efficiency. This is achieved by analyzing the total runtimes and energy use in the Jikes RVM boot phase, compile phase, and execution stage using the energy models offered by the DSS-Wattch simulator included with Dynamic SimpleScalar.

Download

[Abstract (DOC)]