松尾の現在の研究テーマ

Last Update: 2016/12/09, Written by Hiroyuki Matsuo

研究内容の概要

プログラムやアルゴリズムの電力消費量実行時間メモリ使用量などとの関係を調査・整理する.
Energy Consumption Optimization電力消費最適化)に関する研究.

そもそも「最適化」とは

ソフトウェア工学における最適化で考えなければならない様々な観点:

すべてを最適にすることはできないため,ある観点を犠牲にして,別の観点を最適化することになる.
つまり,上記のような様々な観点の間での妥協点を探ることが「最適化」である.

近年の「最適化」に関する研究と,それに関する仮説

電力消費量の最適化に関する先行研究が増えてきている.
ところが,前述したように様々な観点を絡めて考察できているものは少ないのではないか.

つまり,以下のような仮説を考える.

電力消費量だけでなく,実行時間,メモリ使用量など,その他の観点を総合的に考慮している先行研究は少ないのではないか.

また,以下のような仮説も考える.

結局のところ,電力消費量を最適化するには,実行時間を最適化すればよいのではないか.

Research Questions

やること

Step 1. 既存研究の調査([RQ1.])

電力消費量の最適化に関する先行研究のシステマティック・レビューを実施.
Empirical studies of agile software development: A systematic review に記載されている手法に基づき,以下の要領で論文の選定を行う.

  1. 電子ジャーナルデータベースを,後述するキーワードで検索.
  2. タイトルに基づき,関係のないものを排除.
  3. Abstract に基づき,関係のないものを排除.
  4. 残った論文について,内容を確認して分類.

検索クエリ(キーワード)は,次のような候補を考えている.

検索対象とする電子ジャーナルデータベースは,次の通り.

選定した論文の内容を確認し,以下のように分類.Excel ファイル等でまとめる.

Titles Abstract Stage 1 Stage 2 Stage 3 Stage 4
Energy… We created… o o o o
Green… Power con-… o x - -
Paper X We search… o o x -
Titles Abstract Duration Memory Eval Memo
A Hoge Level 2 Level 2 Bad 電力消費,メモリ,速度すべてちゃんと考慮されている
B Fuga Level 0 Level 1 Good 実行時間のことが無視されている
C Piyo Level 1 Level 0 Bad 再現不可能

なお,Eval の “Good” は,この研究にとって都合が良い(実行時間を考慮しておらず,かつ実験が再現可能,など)ことを表す.
また,”Level 0” はまったく議論されていない,”Level 1” は少し触れられているが議論が十分ではない,”Level 2” はよく議論されていることを表す.

Step 2. 先行研究の実験の再現,および独自実験の実施([RQ2.], [RQ3.])

先行研究の実験の再現

Step 1. で分類した結果 “Good” だった先行研究について,実行時間やメモリ使用量など,電力消費量以外の観点も加味して,再度実験を行う.

電力消費量の計測には,オリジナルツール eTracker (※プライベートリポジトリ)を用いる.

独自実験の実施

別途,独自に用意した実験も行う.

また,時間があれば,下記の各要素が電力消費量にどの程度影響するのか実験を行ってみると,面白い結果が得られそう.

実験のポイント

[RQ3.] の実験が難しい.現状考えられる実験は,以下のようなもの.

その他

本研究の最終的な結論(例)

消費電力を考慮した,電力-aware なプログラムを作る際は,結局のところ,実行時間を最適化するように作ればよい. ただし,I/O の影響は大変大きいため,...

まつ本先生との打ち合わせ時 (2016/08/12) のホワイトボード

meeting on 2016/08/12