Skip to main content
QUICK REVIEW

[論文レビュー] COARA: Code Offloading on Android with AspectJ

Roy Friedman, Nir Hauser|arXiv (Cornell University)|Apr 3, 2016
IoT and Edge/Fog Computing参考文献 10被引用数 3
ひとこと要約

COARA は、AspectJ を用いたアスペクト指向プログラミングにより、リモートサーバーへの透過的なコードオフロードを可能にする Android ミドルウェアプラットフォームです。大規模なオブジェクト転送をインタセプトし、プロキシに置き換えることで、状態転送のオーバーヘッドを低減し、WiFi では最大 24.7 倍、3G では最大 5.1 倍の高速化を達成するとともに、WiFi 環境では最大 11 倍のエネルギー消費削減を実現しました。

ABSTRACT

Smartphones suffer from limited computational capabilities and battery life. A method to mitigate these problems is code offloading: executing application code on a remote server. We introduce COARA, a middleware platform for code offloading on Android that uses aspect-oriented programming (AOP) with AspectJ. AOP allows COARA to intercept code for offloading without a customized compiler or modification of the operating system. COARA requires minimal changes to application source code, and does not require the application developer to be aware of AOP. Since state transfer to the server is often a bottleneck that hinders performance, COARA uses AOP to intercept the transmission of large objects from the client and replaces them with object proxies. The server can begin execution of the offloaded application code, regardless of whether all required objects been transferred to the server. We run COARA with Android applications from the Google Play store on a Nexus 4 running unmodified Android 4.3 to prove that our platform improves performance and reduces energy consumption. Our approach yields speedups of 24x and 6x over WiFi and 3G respectively.

研究の動機と目的

  • モバイルデバイスのパフォーマンスおよびエネルギー制限を、リモートサーバーへの計算オフロードによって克服すること。
  • モバイルアプリケーションにおけるコードオフロード時の大規模な状態転送のボトルneckを解消すること。
  • アプリケーションのソースコード変更や OS 层の変更を必要とせず、透過的なオフロードを可能にすること。
  • AOP の複雑さを抽象化し、最小限で侵襲のない統合を可能にすることで、開発者の負担を最小限に抑えること。
  • 最適化されたデータ送信戦略により、3G などの低帯域幅ネットワークでも応答性と効率性を向上させること。

提案手法

  • Android OS やカスタムコンパイラの変更なしに、実行時におけるメソッド呼び出しおよびオブジェクト転送を AspectJ を用いてインタセプトする。
  • 状態転送中にアプリケーションのヒープ内の大規模なオブジェクトを、完全なオブジェクト送信を延期する軽量プロキシに置き換える。
  • 3 種類の送信戦略を採用:エージャー(完全なヒープ転送)、レイジ(アクセス時にのみプローブ)、パイプライン(オフロード後に非同期ストリーミングでオブジェクトを送信)。
  • 複数のオフローディングセッション間で変更のないオブジェクトを再送信しないためのオブジェクトキャッシュを活用し、状態転送量を最大 99% 減少。
  • アノテーションベースの構成により、サーバー上で代替メソッドを実行可能にし、高精度な計算(例:π の計算でより多くの桁数)を可能に。
  • 変更なしの Android 4.3 を搭載した Nexus 4 と統合し、互換性および実世界での実現可能性を実証。

実験結果

リサーチクエスチョン

  • RQ1OS やコンパイラの変更なしに、アスペクト指向プログラミングを効果的に活用して、Android における透過的コードオフロードを実現できるか?
  • RQ2プロキシベースの状態転送と完全なヒープ転送を比較した場合、モバイルネットワーク上でのパフォーマンスおよびエネルギー効率にどのような差が生じるか?
  • RQ3レイジおよびパイプライン送信などの送信戦略が、状態転送のオーバーヘッドをどの程度低減し、オフロードパフォーマンスを向上させられるか?
  • RQ4オブジェクトキャッシュが繰り返しオフローディング操作および全体のシステム効率に与える影響は何か?
  • RQ5COARA は、Google Play ストアの実際の Android アプリケーションにおいて顕著なパフォーマンスおよびエネルギー的利点を達成できるか?

主な発見

  • COARA は、Nexus 4 におけるネイティブ実行と比較して、WiFi 環境で最大 24.7 倍、3G 環境で最大 5.1 倍の高速化を達成した。
  • パイプライン送信戦略は、エージャー送信戦略を 1.43 倍上回り、サーバー側での早期実行の利点を示した。
  • レイジ送信は状態転送量を 90% 以上削減し、1 つのベンチマークではアップロード量が 1.5MB から 117KB にまで低下した。これにより、完全な転送が不可能な状況でもオフロードが可能になった。
  • オブジェクトキャッシュにより、状態転送量が一部のケースで 2KB 未満にまで低下し、最大 99% の削減を達成。ヒット率が 100% の場合、WiFi で最大 31.1 倍、3G で最大 22.7 倍の高速化を実現した。
  • エネルギー消費は、WiFi 環境で最大 11 倍、3G 環境で最大 3 倍削減され、COARA がパフォーマンスと効率性の両面で利点を提供することを確認した。
  • 代替メソッド実行により、5 倍の高速化と高品質な出力(π の計算で 20,000 桁対 10,000 桁)が可能となり、基本的なオフロードを超えた拡張性を示した。

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

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

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

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