Skip to main content
QUICK REVIEW

[論文レビュー] Offloadable Apps using SmartDiet: Towards an analysis toolkit for mobile application developers

Aki Saarinen, Matti Siekkinen|arXiv (Cornell University)|Nov 16, 2011
Green IT and Sustainability参考文献 10被引用数 8
ひとこと要約

本稿では、Android開発者向けに、ネットワーク集約型モバイルアプリケーションにおけるエネルギー節約の機会を、細粒度の静的および動的解析によって特定するためのオープンソース分析ツールキット「SmartDiet」を提案する。本手法は、コード制約の特定、通信エネルギー消費の推定、および最適化のためのコード再構築のガイドラインを提供することで、メソッドレベルのオフロードを可能にし、わずかな変更で最大46.8%のメソッドを移行可能にする。

ABSTRACT

Offloading work to cloud is one of the proposed solutions for increasing the battery life of mobile devices. Most prior research has focused on computation-intensive applications, even though such applications are not the most popular ones. In this paper, we first study the feasibility of method-level offloading in network-intensive applications, using an open source Twitter client as an example. Our key observation is that implementing offloading transparently to the developer is difficult: various constraints heavily limit the offloading possibilities, and estimation of the potential benefit is challenging. We then propose a toolkit, SmartDiet, to assist mobile application developers in creating code which is suitable for energy-efficient offloading. SmartDiet provides fine-grained offloading constraint identification and energy usage analysis for Android applications. In addition to outlining the overall functionality of the toolkit, we study some of its key mechanisms and identify the remaining challenges.

研究の動機と目的

  • ネットワーク集約型モバイルアプリケーション(例:Twitterクライアント)におけるメソッドレベルのオフロードの実現可能性を調査すること。
  • 既存のコードをオフロード可能にするために開発者を支援しない完全自動化オフローディングフレームワークの限界を解決すること。
  • 開発者がオフロード可能なコード領域を特定し、エネルギー節約を推定し、シリアライズ不能なオブジェクトやハードウェアアクセスといった制約を解消するためのツールキットを開発すること。
  • トラフィックパターンとパワーセービングモードを組み込むことで、オフロード解析におけるエネルギー消費の推定を高精度化すること。
  • オフロード可能性と既存のオフローディングフレームワークとの互換性を向上させるための構造的コード変更をガイドすること。

提案手法

  • 非シリアル化可能なオブジェクト、ファイルシステムアクセス、ハードウェア依存性などのオフロード制約を検出するためのAndroid Javaソースコードの静的解析。
  • 実デバイスの測定を用いて、トラフィックパターンと送信インターバルに基づくネットワークエネルギー消費の動的測定。
  • ネットワーク状態とデバイスの電源状態を考慮したパワーモデルの統合により、通信エネルギー消費コストをより正確に推定する。
  • 最小限の変更で移行可能なコードセクションをヒューリスティックベースで特定し、リファクタリングの提案を含む。
  • オフロード可能なコード領域の表面積を拡大するためのアーキテクチャ改善を示唆する、アプリケーション設計の構造的分析。
  • スレッド間をまたがるデータおよび実行フローを追跡するTaintDroidに類似したメカニズムの使用により、複雑なマルチスレッドアプリケーションにおける精度を向上させる。

実験結果

リサーチクエスチョン

  • RQ1計算負荷が低いにもかかわらず、ネットワーク集約型モバイルアプリケーション(例:Twitterクライアント)に対して、メソッドレベルのオフロードが実際に有効に適用可能かどうか。
  • RQ2既存のAndroidアプリケーションで、透過的オフロードを妨げる主なコードレベルの制約は何か。
  • RQ3オフロード中に通信エネルギー消費コストをどの程度正確に推定できるか、そしてその推定に影響を与える要因は何か。
  • RQ4開発者がリファクタリングによってオフロード可能性をどの程度まで向上できるか、そして最も効果的なガイドラインは何か。
  • RQ5細粒度でアプリケーション固有のエネルギー消費コスト推定を組み込むことで、オフローディングフレームワークをどのように改善できるか。

主な発見

  • 分析対象のオープンソースAndroidアプリケーションにおけるメソッドのうち、わずか0.17%が、ThinkAirのようなクラウドオフローディングフレームワークに直接移行可能であった。
  • わずかなコード変更により、最大46.8%のメソッドを移行可能にできることが判明し、開発者主導の最適化による大きな潜在的効果が示された。
  • ハードウェアアクセスとファイルシステム操作が主な制約であり、それぞれ14.2%および10.7%のメソッドに影響を与え、多くの場合リファクタリングを要することが判明した。
  • ツールキットは、HttpClientなどの非シリアル化可能なオブジェクトがオフロードの一般的な障害要因であることを特定し、代替案を提示するという具体的な提案を提供した。
  • 通信エネルギー消費の推定は、トラフィックパターンとパワーセービングモードに極めて敏感であることが判明し、これらは現在のフレームワークがしばしば無視している要因である。
  • 構造的分析から、結合度と内聚度のメトリクスを活用することで、オフロード可能性を向上させるためのアーキテクチャ改善をガイドできることが明らかになった。

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

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

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

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