• 検索結果がありません。

マルチグレイン並列処理によるモデルベース開発ソ フトウェアの性能評価フトウェアの性能評価

図4.6: 並列化可能ループの分割後の粗粒度タスク並列度の計算

4.3 マルチグレイン並列処理によるモデルベース開発ソ

図4.7: 並列化可能ループ分割によるスケジューリング長の変化

道路追従

道路追従は色情報と検出エッジから路肩を検出し,追従するアプリケーション

である[Matf].入力となる画像サイズは320×240である.本評価では,ブロッ

ク間の並列性が抽出できるように画像の左右毎で行うFor Iteratorブロックを展開 する.また,色彩とエッジ情報にHough Transformブロックを用いた直線検出を するが,マルチグレイン並列処理による効果を評価するために, Hough Transform ブロックにChen等が提案する並列アルゴリズムのHough Transform [CLLW08]を S-Functionとして使用する.

血管抽出

血管抽出はKirschオペレータによる網膜の血管を抽出[BBS13]するアプリケー ションである.入力となる画像サイズは200×170である.主なブロックはKirsch オペレータを45度ずつ回した8方向のMATLAB Function記述の2次元の畳み込

み処理とMinMax,Switchブロックにより構成される.

異常検出

異常検出は株式会社エー・アンド・ディ提供の画像情報を使った異常検出するア プリケーションである.入力となる画像サイズは600×600である.モルフォロ ジー演算のOpening, Dilationや特徴解析のブロブ解析を用いたブロック等で構成 される.モルフォロジー演算やフィルタ処理はMATLAB Functionのブロックを使 用する.

4.3.2 モデルベース開発された認識系ソフトウェアの評価環境

認識系ソフトウェアの評価には汎用的な組み込みシステムで利用が期待される

ARM Cortexと高性能な組み込みシステムで利用が期待されるIntel Xeonを使用

する.

ARM Cortex-A15

ARM Cortex-A15の構成を表4.1に示す.最大動作周波数が1.60GHzの4コアの 構成である.また,L1キャッシュが32Kbyte,L2キャッシュが2Mbyte,L3キャッ シュを持たない組み込みマルチコアプロセッサの構成である.

表4.1: ARM Cortex-A15の構成

コア数 動作周波数 L1キャッシュ L2キャッシュ L3キャッシュ

4 1.60GHz 32Kbyte/core 2Mbyte N/A

表4.2: Xeon X5670の構成

コア数 動作周波数 L1キャッシュ L2キャッシュ L3キャッシュ 6 2.93GHz 32Kbyte/core 256Kbyte/core 12Mbyte

Xeon X5670

Xeon X5670の構成を表4.2に示す.最大動作周波数が2.93GHzの6コアの構成 である.また,L1キャッシュが32Kbyte,L2キャッシュが256Kbyte,L3が12MByte の一般的なマルチコアプロセッサの構成である.

4.3.3 マルチグレイン並列処理を使ったモデルベース開発ソフトウェ

アの評価結果

図4.8にARM Cortex-A15上での認識系ソフトウェアの性能評価結果を示す.図

4.8では粗粒度タスク並列処理を使った場合とマルチグレイン並列処理を使った場 合の評価を示す.

粗粒度タスク並列処理の場合,道路追従では1.94倍,血管抽出では2.74倍,異 常検出では2.29倍の速度向上が得られた.一方で,マルチグレイン並列処理の場 合,道路追従では3.38倍,血管抽出では3.56倍,異常検出では3.24倍の速度向上 が得られた.粗粒度タスク並列処理のみの実行に比べて,提案手法のマルチグレ イン並列処理では道路追従では1.75倍,血管抽出では1.30倍,異常検出では1.41

図4.8: ARM Cortex-A15上のモデルベース開発された認識系ソフトウェアの評価

倍の速度向上が得られ,マルチグレイン並列処理により速度向上率の改善を確認 した.

また,道路追従に関しては,入力によって実行時間の変動が確認されるため,入 力フレーム毎の実行時間の変動を図4.9に示す.横軸に動画のフレーム番号,縦軸 にフレーム毎の実行時間(ms)を逐次処理,粗粒度タスク並列処理及びマルチグレ イン並列処理についてそれぞれ示す.

逐次処理の場合,82回のフレームの中で,実行時間が10.58msから32.36msと 大きく変動している.これはHough Transformの中のエッジ点に対する処理のルー プ回転数が入力画像のエッジ点の数により変動するためである.また,タスク間 並列化の場合,実行時間が4.88msから17.02msまで変動し,逐次処理の最悪実行 時(54回目)では2.01倍の速度向上が得られている.

一方,マルチグレイン並列処理の場合,実行時間が3.38msから9.04msまで変 動し,逐次処理の最悪実行時(54回目)では3.72倍の速度向上が得られている. こ のマルチグレイン並列処理の実行では,変動率が小さくなり,実行時間の分散が より小さくなっているのがわかる. そのため,大幅な高速化が実現した結果,リ

図4.9: ARM Cortex-A15上での道路追従のフレーム毎の実行時間

アルタイム実行において重要な要素である入力画像に依らず安定した実行が期待 できる.

図4.10にXeon X5670上での認識系ソフトウェアの性能評価結果を示す.図4.10 では粗粒度タスク並列処理の場合,道路追従では1.92倍,血管抽出では2.65倍,

異常検出では2.50倍が得られた.この結果は,6プロセッサコアを用いたにも関 わらず,ARM Cortex-A15の4プロセッサコア上の速度向上率(図4.8の粗粒度タ スク並列処理)と同等となっていることがわかる.そのため,粗粒度タスク並列処 理のみではすべてのコア資源を有効活用できていないことがわかる.

一方で,マルチグレイン並列処理の場合,道路追従では4.21倍,血管抽出では 5.80倍,異常検出では4.10倍の速度向上が得られている.粗粒度タスク並列処理 のみの実行に比べて,提案手法のマルチグレイン並列処理では道路追従では2.19 倍,血管抽出では2.19倍,異常検出では1.64倍の速度向上が得られ,より大きな 性能向上が実現した.

また,図4.9の実行時間と同様に,道路追従に関しては,入力によって実行時間 の変動が確認されるため,入力フレーム毎の実行時間の変動を図4.11に示す.逐

図4.10: Xeon X5670上のモデルベース開発された認識系ソフトウェアの評価

次処理の場合,82回のフレームの中で,実行時間が1.705msから4.728msと大き く変動している.また,粗粒度並列化の場合,実行時間が0.815msから2.510ms まで変動し,逐次処理の最悪実行時(54回目)では2.00倍の速度向上が得られてい る.一方,マルチグレイン並列処理の場合,実行時間が0.459msから0.983msま で変動し,逐次処理の最悪実行時(54回目)では4.81倍の最大速度向上が得られて いる.このマルチグレイン並列処理の実行では,変動率が小さくなり,1ms以内 で実行が実現した.

4.4 SILS 環境でのモデルベース開発ソフトウェアの性能