Skip to main content
QUICK REVIEW

[論文レビュー] Inferring Energy Bounds Statically by Evolutionary Analysis of Basic Blocks

Umer Liqat, Zorana Banković|arXiv (Cornell University)|Jan 12, 2016
Evolutionary Algorithms and Applications被引用数 1
ひとこと要約

本稿では、基本ブロックを遺伝的アルゴリズムを用いて分析し、制御フローに配慮した静的解析によって結果を統合することで、埋め込みプログラムのタイトなエネルギー上限および下限を推定する、パラメトリックで静的なアプローチを提案する。この手法により、入力サイズに依存するエネルギー束縛関数が得られ、XMOSのようなマイコン上でエネルギー予算の検証および最適化に適した精度と安全性を両立する。

ABSTRACT

We are currently witnessing an increasing number of energy-bound devices, including in some cases mission critical systems, for which there is a need to optimize their energy consumption and verify that they will perform their function within the available energy budget. In this work we propose a novel parametric approach to estimating tight energy bounds (both upper and lower) that are practical for energy verification and optimization applications in embedded systems. Our approach consists in dividing a program into basic (branchless) blocks, establishing the maximal (resp. minimal) energy consumption for each block using an evolutionary algorithm, and combining the obtained values according to the program control flow, using static analysis, to produce energy bound functions. Such functions depend on input data sizes, and return upper or lower bounds on the energy consumption of the program for any given set of input values of those sizes, without running the program. The approach has been tested on XMOS chips, but is general enough to be applied to any microprocessor and programming language. Our experimental results show that the bounds obtained by our prototype tool can be tight while remaining on the safe side of budgets in practice.

研究の動機と目的

  • 限られた電力資源を持つミッションクリティカルな埋め込みシステムにおけるエネルギー予算の検証ニーズの増大に対応する。
  • 実行時における実行を必要とせず、入力データサイズの変動を考慮した高精度な静的エネルギー束縛を提供する。
  • 異なるマイコンアーキテクチャおよびプログラミング言語に一般化可能な手法を開発する。
  • 束縛がタイトでありながらも保守的(安全)であることを保証し、信頼性の高いエネルギー最適化および検証を可能にする。

提案手法

  • プログラムを分岐のない命令シーケンスである基本ブロックに分割し、エネルギー分析のための細粒度の単位とする。
  • 遺伝的アルゴリズムを用いて各基本ブロックの最大および最小エネルギー消費量を計算する。
  • プログラムの制御フローアーキテクチャに応じて、ブロックレベルのエネルギー束縛を静的解析により合成する。
  • 入力データサイズに依存するエネルギー束縛関数を構築し、上限および下限エネルギー値を返す。
  • 実用的用途において可能な限りタイトである一方で、保守的(安全)であることを保証する。
  • XMOSマイコン上でアプローチを検証し、他のアーキテクチャへの一般化可能性を示した。

実験結果

リサーチクエスチョン

  • RQ1基本ブロックの遺伝的解析は、埋め込みプログラムに対してタイトで安全なエネルギー束縛を生成できるか?
  • RQ2静的解析は、ブロックレベルのエネルギー推定をどれだけ正確に統合し、全体のプログラムエネルギー消費を反映できるか?
  • RQ3推定されたエネルギー束縛関数は、入力データサイズにどれほど依存し、保守的であるか?
  • RQ4この手法は、異なるマイコンおよびプログラミング言語に一般化可能か?

主な発見

  • プロトタイプツールは、エネルギー予算に準拠していることを保証する、タイトで安全なエネルギー束縛関数を生成する。
  • 本手法は、プログラムの実行を必要とせず、上界および下界のエネルギー束縛を効果的に推定する。
  • XMOSチップ上で得られた実験結果から、実際のエネルギー予算の安全な側に束縛が保たれていることが確認された。
  • 本アプローチは、任意のマイコンおよびプログラミング言語に適用可能であるほど一般化可能である。
  • 遺伝的アルゴリズムは、基本ブロックの極端なエネルギー消費量を効果的に同定する。
  • 制御フローに配慮した静的合成により、ブロックレベルの束縛をグローバルなエネルギー関数に正確に集約できる。

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

論文設計から論文執筆まで、研究時間を劇的に削減しましょう。

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

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