スマートフォンのプログラム実行時 の消費電力削減技術 · dalvik vmやart)...

20
1 スマートフォンのプログラム実行時 の消費電力削減技術 高知工科大学 情報学群 准教授 鵜川 始陽

Upload: others

Post on 14-Jul-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: スマートフォンのプログラム実行時 の消費電力削減技術 · Dalvik VMやART) のみの変更 –OS ... –Android バージョン4(Dalvik VM) ... よる消費電力の削減」,

1

スマートフォンのプログラム実行時の消費電力削減技術

高知工科大学 情報学群

准教授 鵜川 始陽

Page 2: スマートフォンのプログラム実行時 の消費電力削減技術 · Dalvik VMやART) のみの変更 –OS ... –Android バージョン4(Dalvik VM) ... よる消費電力の削減」,

2

本技術が解決しようとする問題

計算機システムの消費電力削減

⇒ スマートフォンのバッテリ駆動時間の延長

削減の対象

• CPUで使用される消費電力を削減

• ディスプレイやWiFiの消費電力削減は対象外

–これらの技術とは併用可能

Page 3: スマートフォンのプログラム実行時 の消費電力削減技術 · Dalvik VMやART) のみの変更 –OS ... –Android バージョン4(Dalvik VM) ... よる消費電力の削減」,

3

従来技術とその問題点

• 計算をしていない時にCPUをスリープさせる

• 負荷が小さいときにCPUの動作周波数を下げる⇒常に計算する必要がある場合は効果なし

• バッテリが少なくなるとCPUの動作周波数を下げる⇒計算が遅くなり使用感が低下

Page 4: スマートフォンのプログラム実行時 の消費電力削減技術 · Dalvik VMやART) のみの変更 –OS ... –Android バージョン4(Dalvik VM) ... よる消費電力の削減」,

4

本技術の効果

• 計算中の消費電力を削減

• 実行が遅くなりにくい

• 実装が容易

–実行基盤である仮想機械(AndroidではDalvik VMやART)のみの変更

–OSと個別のアプリケーションは変更なし

Page 5: スマートフォンのプログラム実行時 の消費電力削減技術 · Dalvik VMやART) のみの変更 –OS ... –Android バージョン4(Dalvik VM) ... よる消費電力の削減」,

5

本技術の特徴

• ガベージコレクション実行時だけCPUの動作周波数を下げる

–ガベージコレクションはCPUの動作周波数を変化させても実行速度が変化しにくい⇒実行が遅くなりにくい

–ガベージコレクションは仮想機械の機能⇒原理的には仮想機械だけの変更

Page 6: スマートフォンのプログラム実行時 の消費電力削減技術 · Dalvik VMやART) のみの変更 –OS ... –Android バージョン4(Dalvik VM) ... よる消費電力の削減」,

6

ガベージコレクション

• 使わなくなったデータが占めるメモリを自動的に回収して再利用する機能

• プログラム中の変数から参照をたどって到達できるデータだけを残し,それ以外を回収

変数x

メモリ

データ回収

回収

Page 7: スマートフォンのプログラム実行時 の消費電力削減技術 · Dalvik VMやART) のみの変更 –OS ... –Android バージョン4(Dalvik VM) ... よる消費電力の削減」,

7

ガベージコレクションの特徴

• メモリアクセスの局所性が悪い⇒キャッシュミスの頻度が高い

–実際に参照をたどって到達可能データを探す

• 一定量のメモリを割当てると発生⇒定常状態では定期的に発生

• まとまった量の処理⇒効果が期待できる

Page 8: スマートフォンのプログラム実行時 の消費電力削減技術 · Dalvik VMやART) のみの変更 –OS ... –Android バージョン4(Dalvik VM) ... よる消費電力の削減」,

8

キャッシュミス

• キャッシュミスするとメインメモリのアクセスが発生する

• メモリアクセスの完了まで CPU は先の(依存する)命令を実行できない

–待ち時間も電力を消費

• キャッシュミスが多いとCPUの動作周波数を上げても速くなりにくい

Page 9: スマートフォンのプログラム実行時 の消費電力削減技術 · Dalvik VMやART) のみの変更 –OS ... –Android バージョン4(Dalvik VM) ... よる消費電力の削減」,

9

予備実験

キャッシュミスが頻繁に起こるとき,高い動作周波数で実行しても速くならないことを確認

•一定の範囲にランダムアクセス

–アクセス範囲: 64kB, 128kB, 512kB 2MB

•動作周波数: 300MHz〜1GHz

•実験装置:

Pandaboard (キャッシュ L1 32Kb/L2 1MB)

橘田頼之,鵜川始陽,岩崎英哉:「携帯端末における仮想機械でのCPU周波数抑制による消費電力の削減」, プログラミングシンポジウム発表資料より

Page 10: スマートフォンのプログラム実行時 の消費電力削減技術 · Dalvik VMやART) のみの変更 –OS ... –Android バージョン4(Dalvik VM) ... よる消費電力の削減」,

10

予備実験 (結果)

消費電力 (300MHz との比)

Page 11: スマートフォンのプログラム実行時 の消費電力削減技術 · Dalvik VMやART) のみの変更 –OS ... –Android バージョン4(Dalvik VM) ... よる消費電力の削減」,

11

本技術の仕組み

• ガベージコレクション実行中だけ動作周波数を抑制

–OS のインタフェースを介して DVFS を利用

ガベージコレクション

時間経過

動作周波数

アプリの実行

ガベージコレクション中以外は既存手法で周波数管理

Page 12: スマートフォンのプログラム実行時 の消費電力削減技術 · Dalvik VMやART) のみの変更 –OS ... –Android バージョン4(Dalvik VM) ... よる消費電力の削減」,

12

マルチコアへの応用例

• ガベージコレクションをスレッドとして動作

–現在の一般的な構成 (concurrent GC)

• ガベージコレクションを特定のCPUコアで動作させる

• ガベージコレクションをするCPUコアだけ動作周波数を下げる

コア#0

コア#1

時間経過

Page 13: スマートフォンのプログラム実行時 の消費電力削減技術 · Dalvik VMやART) のみの変更 –OS ... –Android バージョン4(Dalvik VM) ... よる消費電力の削減」,

13

実験

• 実験環境

–Pandaboard

•CPU OMAP4430 1GHz (1コアのみ使用)

•キャッシュ: L1 = 32kB, L2 = 1MB

–Android バージョン4(Dalvik VM)

• ベンチマークプログラム

–DaCapo ベンチマーク集を移植

評価環境評価対象 : Pandaboard (ワンボード コンピュータ )

CPU OMAP4430 1GHz (ARM, 2 コア )

CPU 周波数 300MHz, 600MHz, 800MHz, 1GHz

メ モリ 1GB

L1 キャッ シュ 32kB (命令・ データキャッ シュ別)

L2 キャッ シュ 1MB (命令・ データキャッ シュ共通)

18 /25

橘田頼之,鵜川始陽,岩崎英哉:「携帯端末における仮想機械でのCPU周波数抑制による消費電力の削減」, プログラミングシンポジウム発表資料より

Page 14: スマートフォンのプログラム実行時 の消費電力削減技術 · Dalvik VMやART) のみの変更 –OS ... –Android バージョン4(Dalvik VM) ... よる消費電力の削減」,

14

評価方法

• 2つの実行で消費電力を比較

–実行A:

•GC中の動作周波数300MHz

•それ以外の動作周波数1GHz

–実行B (仮想的な実行の期待値):

•実行Aと丁度同じ時間で同じ量の計算が終わるように動作周波数を300MHzと1GHzとをランダムに切り替えたときの期待値

Page 15: スマートフォンのプログラム実行時 の消費電力削減技術 · Dalvik VMやART) のみの変更 –OS ... –Android バージョン4(Dalvik VM) ... よる消費電力の削減」,

15

実行A

•GC中の動作周波数300MHz

•それ以外の動作周波数1GHz

ガベージコレクション

時間経過

動作周波数

1GHz

300MHz

アプリの実行

Page 16: スマートフォンのプログラム実行時 の消費電力削減技術 · Dalvik VMやART) のみの変更 –OS ... –Android バージョン4(Dalvik VM) ... よる消費電力の削減」,

16

実行B• 実行Aと丁度同じ時間で同じ量の計算が終わるように動作周波数を300MHzと1GHzとをランダムに切り替えたときの期待値

ガベージコレクション

時間経過

1GHz

300MHz

アプリの実行

時間経過

1GHz

300MHz

Page 17: スマートフォンのプログラム実行時 の消費電力削減技術 · Dalvik VMやART) のみの変更 –OS ... –Android バージョン4(Dalvik VM) ... よる消費電力の削減」,

17

実験結果

L2キャッシュ(2MB)より大きなメモリを使うプログラムで効果有り

Page 18: スマートフォンのプログラム実行時 の消費電力削減技術 · Dalvik VMやART) のみの変更 –OS ... –Android バージョン4(Dalvik VM) ... よる消費電力の削減」,

18

現状の課題

• ユーザインタフェースや割込みへの反応時間

• 他の動作周波数を変更する仕組みとの共存

• 現実的な環境での実証実験

–特に現実のアプリケーション

Page 19: スマートフォンのプログラム実行時 の消費電力削減技術 · Dalvik VMやART) のみの変更 –OS ... –Android バージョン4(Dalvik VM) ... よる消費電力の削減」,

19

本技術に関する知的財産権

• 発明の名称 :電子機器、制御方法、及び、プログラム

• 出願番号 :特願2013-272936

• 出願人 :電気通信大学

• 発明者 :鵜川始陽、橘田頼之、岩崎英哉

Page 20: スマートフォンのプログラム実行時 の消費電力削減技術 · Dalvik VMやART) のみの変更 –OS ... –Android バージョン4(Dalvik VM) ... よる消費電力の削減」,

20

お問い合わせ先

高知工科大学

研究連携部 社会連携課

TEL 0887-57 - 2025

FAX 0887-57 - 2026

e-mail [email protected]