Skip to main content
QUICK REVIEW

[論文レビュー] A Source-level Energy Optimization Framework for Mobile Applications

Xueliang Li, John P. Gallagher|arXiv (Cornell University)|Aug 18, 2016
Green IT and Sustainability参考文献 29被引用数 5
ひとこと要約

本論文は、Javaでのターゲットコードのリファクタリングを支援する、基本演算に基づくエネルギー消費モデルを用いたモバイルアプリケーション向けのソースレベルエネルギー最適化フレームワークを提案する。基本演算の粒度でエネルギーコストを分析することにより、実験的プロファイリングに基づく正確なコードレベル最適化を通じて、開発者やツールがCPUのエネルギー消費を最大50.2%まで削減できる。

ABSTRACT

Energy efficiency can have a significant influence on user experience of mobile devices such as smartphones and tablets. Although energy is consumed by hardware, software optimization plays an important role in saving energy, and thus software developers have to participate in the optimization process. The source code is the interface between the developer and hardware resources. In this paper, we propose an energy-optimization framework guided by a source code energy model that allows developers to be aware of energy usage induced by the code and to apply very targeted source-level refactoring strategies. The framework also lays a foundation for the code optimization by automatic tools. To the best of our knowledge, our work is the first that achieves this for a high-level language such as Java. In a case study, the experimental evaluation shows that our approach is able to save from 6.4% to 50.2% of the CPU energy consumption in various application scenarios.

研究の動機と目的

  • ソフトウェア開発におけるエネルギー意識の欠如に取り組むこと。開発者は、自身のコードがエネルギー消費にどのように影響するかを十分に理解していないことが多い。
  • 高レベルのソースコードと低レベルのエネルギー消費の間のギャップを埋めるために、Javaアプリケーション向けに細粒度の、演算ベースのエネルギー消費モデルを構築すること。
  • 開発者による手動最適化と自動化ツールの両方を可能にするため、エネルギー集約的なコード構造に関する実行可能なインサイトを提供すること。
  • 実世界のモバイルアプリケーションにおいて、ソースレベルのエネルギー消費モデルが顕著で測定可能なエネルギー削減をもたらす可能性があることを示すこと。

提案手法

  • フレームワークは、良好に設計されたテストケースからの実行データを分析することで、メソッド呼び出しやループなどの原子的演算にエネルギー消費コストをマッピングする、ソースレベルのエネルギー消費モデルを構築する。
  • エネルギー会計は、演算レベルおよびブロックレベルで実施され、最もエネルギー消費が高いコードセグメントを特定する。
  • 論理的正しさを保ちながら、インライン化や高コスト演算の置き換えといったターゲットを絞ったリファクタリングをフレームワークがガイドする。
  • アプローチはプロファイリングに依存しているが、従来のプロファイリングを越えて、最適化戦略を情報提供するための演算レベルの粒度を活用している。
  • フレームワークの実装例が、デュアルARMクアッドコアCPUを搭載した物理的なAndroidデバイス上、実世界のゲームエンジンで実装および評価された。

実験結果

リサーチクエスチョン

  • RQ1モバイルアプリケーションのエネルギー消費を、どのようにしてソースコードレベルで体系的に分析できるか?
  • RQ2高レベル言語(Javaなど)における最もエネルギー消費が高い演算は何か。また、それらは全体のエネルギー消費にどのように寄与しているか?
  • RQ3演算ベースのエネルギー消費モデルは、CPUエネルギー消費を削減するための効果的で的を射たリファクタリングをどのように導くことができるか?
  • RQ4従来のプロファイリングベースまたはブラックボックス最適化手法と比較して、ソースレベル最適化はエネルギー使用量をどの程度削減できるか?

主な発見

  • フレームワークは、実世界のゲームエンジンにおけるさまざまなアプリケーションシナリオにおいて、CPUエネルギー消費を最大50.2%まで削減できた。
  • メソッド呼び出しは最も高コストな演算の一つであると特定され、インライン化により顕著なエネルギー削減が得られると示された。
  • 粗粒度のプロファイリングよりも、演算ベースのモデルはより実行可能なインサイトを提供し、正確な最適化戦略を可能にした。
  • 演算レベルの粒度を提供するため、従来のプロファイリング手法に比べて優れた性能を示し、高レベル言語の最適化において極めて重要である。
  • エネルギー消費モデルは、低レベルのハードウェアおよびOS要因の抽象化のため、正確さに欠けるが、効果的なリファクタリングを導くのに十分な精度を備えている。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。