Androidのリアルタイム性評価及び改善方法の検討
2
0
0
全文
(2) 情報処理学会第 74 回全国大会. アプリケーション領域のリアルタイム 性改善. 4.3. 前節の課題である最大遅延の大きさを改善するため、 アプリケーション領域を調査した。測定アプリの /proc/[PID]ディレクトリ以下を確認した結果、プロセス 優先度は普通優先度設定になっていた。つまり、Java ス レッドの優先度は最大であっても、アプリケーションの プロセス自体の優先度がリアルタイム優先度でなかった ために、プリエンプトすることができず、前節の遅延が 発生したと考えられる。 普通優先度のプロセスをリアルタイム優先度に設定す るには、root 権限が必要である。しかし、Android アプ リケーションは一般ユーザー権限で動作するため、自身 をリアルタイム優先度に設定することはできない。そこ で、シリアルコンソールからのコマンド入力により、外 部から優先度を変更し測定を行った。 測 定 の 結 果 、 Fig.4 に 示 す と お り 、 最 大 遅 延 時 間 を 3.1msに抑えることができた。この結果から、アプリケー ションをリアルタイム優先度に設定することで、応答遅 延を大きく改善できることが分かった。 1600 1400. 発生回数. 1200 1000 800. 最大遅延. 600. 200 0. Fig.2. 2. 4. 6 遅延時間(ms). 8. 10. 12. 公開版 Android のリアルタイム性評価結果. 1600 1400. 発生回数. 1200 1000. 最大遅延. 800 600 400 200 0 0. 2. 4. 6. 8. 10. 12. 遅延時間(ms). Fig.3. システム領域に修正を施した Android のリアル タイム性評価結果. 1600 1400. 発生回数. 1200. 今回、市販の評価ボード BeagleBoard-xM 上で Android のリアルタイム性の評価を行った。その結果、公開版 Android で 12ms 程度遅延が発生することを確認した。こ れ に 対 し 、 1) プ リ エ ン プ テ ィ ブ モ デ ル を 変 更 す る 、 2)ping 応答時にアライメントエラー発生しないようにす る、3)アプリケーションをリアルタイム優先度設定にす るという変更を行うことで、最大応答遅延を 3ms 程度に 抑えることができた。 今回試作した方法では、事前に決めたアプリケーショ ン はリアルタイム優先度に設定できるが、ユーザーがリ アルタイム優先度に設定するアプリケーションを選択す ることはできない。今後はフレームワークを改造し、ユ ーザーが任意のアプリケーションをリアルタイム優先度 設定できる仕組みを構築する予定である。 また、他の Linux 評価[2]では 1ms 以下のリアルタイム 性も得られており、 Android も更なる改善の可能性があ る。今回は優先度、異常処理に焦点を絞って改善方法を 検討したが、今後は他のリアルタイム性阻害要因の分析 を行い、改善方法を検討する予定である。. 参考文献. 1000. [1]. 800. 最大遅延. 600 400. [2]. 200 0 0. Fig.4. 優先度設定自動化の改善試作. 前項では、アプリケーション起動後にコマンドライン 入力でリアルタイム優先度に設定したが、製品でコマン ドライン入力を行うことは不可能である。そのため、対 象のアプリケーション起動時に自動的にリアルタイム優 先度設定を行う手法が必要である。考えられる手法とし て以下のようなものが挙げられる。 1)Android では、全てのアプリケーションは Zygote とい うプロセスから fork されて作られる。その Zygote を root 化し、fork される子プロセスに root 権限を与え、 リアルタイム優先度設定を可能にする。 2) アプリケーションフレームワークを改造し、特定のア プリケーションをリアルタイム優先度に設定可能にす る。 3) バックグラウンドで動き続けるプロセスで特定のアプ リケーションの起動を監視し続け、起動を検知したら リアルタイム優先度に設定する。 Androidはアプリケーションのプロセス名がクラス名であ り、アプリケーションを簡単に特定できるので、今回は 3)の手法を試作した。この手法により、ユーザーがコマ ンドライン入力をせずに、特定のアプリケーションだけ をリアルタイム優先度で実行することが可能となった。 また、この方法でリアルタイム優先度に設定した測定ア プリでリアルタイム性評価を行った結果、Fig.4と同等の 結果が得られた。. 5. 結論と今後の課題. 400. 0. 4.4. 2. 4. 6 遅延時間(ms). 8. 10. 12. TI-Android-GingerBread-2.3-DevKit-1.0 ReleaseNotes,http://processors.wiki.ti.com/inde x.php/TI-Android-GingerBread-2.3-DevKit1.0_ReleaseNotes 徳丸潤一, 摂津敦, 落合真一, 松本利夫:マルチコ アシステムにおけるLinuxカーネル2.6のリアルタ イム性評価(情報処理学会第73回全国大会). アプリケーション領域に修正を施した Android のリアルタイム性評価結果. 1-30. Copyright 2012 Information Processing Society of Japan. All Rights Reserved..
(3)
関連したドキュメント
第一の方法は、不安の原因を特定した上で、それを制御しようとするもので
スライダは、Microchip アプリケーション ライブラリ で入手できる mTouch のフレームワークとライブラリ を使って実装できます。 また
修正 Taylor-Wiles 系を適用する際, Galois 表現を局所体の Galois 群に 制限すると絶対既約でないことも起こり, その時には普遍変形環は存在しないので普遍枠
に関して言 えば, は つのリー群の組 によって等質空間として表すこと はできないが, つのリー群の組 を用いればクリフォード・クラ イン形
本節では本研究で実際にスレッドのトレースを行うた めに用いた Linux ftrace 及び ftrace を利用する Android Systrace について説明する.. 2.1
携帯端末が iPhone および iPad などの場合は App Store から、 Android 端末の場合は Google Play TM から「 GENNECT Cross 」を検索します。 GENNECT
本資料は Linux サーバー OS 向けプログラム「 ESET Server Security for Linux V8.1 」の機能を紹介した資料です。.. ・ESET File Security
本装置は OS のブート方法として、Secure Boot をサポートしています。 Secure Boot とは、UEFI Boot