研究課題/領域番号 |
17H04677
|
研究機関 | 東京工業大学 |
研究代表者 |
原 祐子 東京工業大学, 工学院, 准教授 (20640999)
|
研究期間 (年度) |
2017-04-01 – 2020-03-31
|
キーワード | 組込みシステム / 近似計算 / Approximate Computing / ソフトウェア解析 |
研究実績の概要 |
近年Internet of Things等に用いられる組込みシステムでは、従来システム以上に、小規模化・高速化・省エネルギー化という相反する設計制約が課せられている。一方、これらのアプリケーションの多くは、広範囲の演算タイプにおいて「ある程度の誤差を許容できる」という特徴を持ち、計算の正確さを100%担保する必要はないという大きな特徴を持つ。本研究は、積極的・体系的にアプリケーションの許容誤差を活用する、組込みシステムの新たな設計パラダイムを構築する。これにより、小規模化・高性能化・省エネルギー化を全て満足するブレークスルーを見出し、最先端プロセッサを凌ぐ高性能・省エネルギー化を実現する、最適な組込みシステム協調設計技術を確立する。 初年度である平成29年度は、近似誤差伝搬の定性的解析モデルとそのフレームワークを構築した。オープンソースのコンパイラフレームワークLLVMをベースとするKLEEを部分的に利用し、変数や演算の近似化が最終的な計算結果にどのような影響を与えるかについて記号表記する。具体的にはKLEEの記号シミュレーションと正規表現を利用する。さらに、プログラムの実行パスや演算の種類等を総合的に解析し、変数の重要度(近似化の影響が大きい度合い)を相対的にランキングするフレームワークを構築した。組込みシステムで使用する実用的なアプリケーションを用い、既存の統計的手法に比べて圧倒的に短い時間で同一のランキング結果を導き出すことを実証した。
|
現在までの達成度 (区分) |
現在までの達成度 (区分)
2: おおむね順調に進展している
理由
当初の予定通り、LLVMをベースとした近似計算の適用可能性を解析・評価するフレームワークの基盤を開発した。実用的なアプリケーションの解析では、実行パスの複雑さ(条件分岐の組み合わせ)やループのイタレーション回数が膨大になり、実時間中に解析することが困難であるという懸念があった。前者については、入力プログラムを解析対象のみに絞り込んだ(サイズ削減)後に解析することで対処できる。また、後者の特に非有界ループ(変数によってイタレーション回数が定義される場合)やイタレーション数が大きいループについては、展開するイタレーション数をある程度で打ち切ることで、精度と解析時間のトレードオフをとることができる。このように、いくつかの既存技術を流用することで、ほとんどの問題は初年度に解決することができた。
|
今後の研究の推進方策 |
平成29年度に開発したフレームワークを基に、様々な積極的な近似計算化(コード変換)手法を確立する。従来の近似計算は浮動小数点演算に限定されていたが、本研究では機能的に異なるエネルギー効率の高い命令への変換やそもそもいくつかの演算を省略する等より積極的な近似計算化を整数演算等広範囲に行う。 更に、適用すべき手法の最適な組み合わせを探索するフレームワークを開発する。コード変換手法と(誤差非許容な)既存のコード変換手法を組み合わせて適用し、最適な近似計算アプリケーションへ変換する。それらの手法の中には、相乗効果を生む組み合わせや、効果を相殺してしまう組み合わせがあることが考えられる。例えば、近似計算化を行う場合、必ずしも計算軽度の軽減が良いとは限らない。更に、許容誤差の範囲内かつ設計制約(性能・エネルギー等)を満たす近似計算化の組み合わせは複数存在しうる。様々な手法を併用し、制約範囲内で誤差・性能・エネルギーの異なる複数バージョンの近似計算化を探索し、総合的に評価できるようにフレームワークを拡張する。
|