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

モデル解析によるマルチレートSimulinkモデル並列化

N/A
N/A
Protected

Academic year: 2021

シェア "モデル解析によるマルチレートSimulinkモデル並列化"

Copied!
2
0
0

読み込み中.... (全文を見る)

全文

(1)情報処理学会第 79 回全国大会. 3A-01. モデル解析によるマルチレート Simulink モデル並列化 池田 良裕†. 市橋 友樹†. 仲田 壮佑†. 枝廣 正人†. 名古屋大学大学院情報科学研究科†. 1. はじめに 車載分野を始めとする組込みシステムでは大 規模・複雑化が進んでおり,モデルベース開発 を用いることが多くなっている.制御システム 設計でよく用いられるモデルベース開発支援ツ ールに MATLAB/Simulink[1] があり,シミュレー ション・自動コード生成機能を用いることでシ ステム設計をスムーズに進めることが可能であ る. 一方で,プロセッサの周波数の上昇が止まり つつあり,消費電力の面からも組込みシステム 分野においてマルチコア CPU の導入が進んでい る.マルチコア CPU を利用するにあたりソフトウ ェアを並列化する必要があるが,容易ではない. 本研究では MATLAB/Simulink によるモデルベ ース開発に対して,Simulink モデル解析による ソフトウェア並列化を提案する.複数周期を持 つ Simulink モデルを対象とし,長周期タスクに 対して負荷分割を行い適切なオフセットを設定 することで短周期と同じ周期で動作させること を可能にする.. 2. モデルベース開発へのソフトウェア並 列化の適用における課題 MATLAB/Simulink を用いたモデルベース開発で は,Simulink モデルと呼ばれるブロック線図に よりシステムを記述する.Simulink モデルとし て記述されたシステムは自動コード生成機能を 通して C 言語などの形で出力され,実際に動作さ せることができる.現在,我々枝廣研究室では Simulink モデルからシステムの構造情報を抽出 し,各ブロックの処理量を見積もり・自動で並 列化コードを生成する研究[2]が進めている. しかし,本研究で対象としている複数の周期 (マルチレート)を持つ Simulink モデルにはブロ ック毎の処理量から負荷分散を行い,並列化を 行うだけでは不十分な場合が存在する.それは Simulink モデル内に長周期の処理結果を短周期 Multirate simulink model parallelization by model analysis Yoshihiro Ikeda† Tomoki Ichihashi† Sosuke Nakada† Masato Edahiro† † Graduate School of Information Science, Nagoya University. 1-25. で受け取る箇所が存在する場合である. 図 1 の実行パターンは短周期タスクをコア 0, 長周期タスクをコア 1 で動作させた場合である. 1 回目の長周期タスクの実行が 2 回目の短周期タ スクの実行を遅らせていることが確認できる.. 図 1 現状のマルチレートモデルの実行パターン. そこで本研究では,マルチレート Simulink モ デルを対象としたソフトウェア並列化手法を提 案する.. 3. 提案手法 Simulink モデル内の長周期タスクと短周期タ スクを別々のコアで動作させることとし,長周 期タスクに対するソフトウェア並列化手法につ いて述べる.また本稿では Simulink モデルの例 として以下の図2のモデルを使用する.0.002s と 0.01s の 2 周期を持ち,0.002s のタスクをコア 0,0.01s のタスクをコア 1 で動作させる.. 図 2 マルチレート Simulink モデル. 3.1. オフセット設定によるソフトウェア並列化 Simulink モデルでは,全体の実行周期とは別 に各ブロックに対し全体の実行時間の整数倍の 実行周期を設定することでマルチレートモデル を作成することが可能である.. Copyright 2017 Information Processing Society of Japan. All Rights Reserved..

(2) 情報処理学会第 79 回全国大会. 加えて,長周期を設定したブロックにオフセ ット値を設定することで起動するタイミングを 任意に遅らせることが出来る.図3はマルチレ ートモデルでオフセットを設定した場合の実行 パターンである.図中の 10msT の 2 はオフセット 値として 2ms 与えられており,2ms,12ms,22ms, …で動作する.. 図 3 オフセット値設定後のマルチレートモデルの実行 パターン. 長周期タスクをレート比(長周期/短周期)の数 に分割し,オフセット値をそれぞれ設定してい くことで短周期に合わせて一部ずつ実行してい くことが可能となる.. 3.2. Simulink モデルにおける負荷分散 前節でオフセット設定により長周期タスクを 短周期に合わせて実行可能にする方法について 提案したが,本節では同じオフセット値を設定 するブロック群の決定方法について述べる. Simulink モデル内の長周期タスクを分割する 際に各ブロックの処理量を見積もる必要がある. 本研究では RH850 ボードの性能見積もりをハード ウェア抽象化記述である SHIM で記述したものを 使用し,各ブロックの処理量とした. 次に,Simulink モデルからブロック間の接続 情報,ブロックに対応するコード情報,ブロッ クごとの処理量などを抽出・追加した BLXML を生 成した.本研究では BLXML からより探索が容易な 形である BLGraph を生成し使用した. 長 周 期タ ス ク内 の 始点 と な るブ ロ ック から BLGraph 上で探索を始め,終点のブロックまで順 次ブロックの処理量を加算していく.合計処理 量を算出後,レート比で除算した結果が長周期 タスクを分割した一つ当たりの処理量の目安と なる.再び,長周期タスクの始点ブロックから 探索を始め,処理量を加算していき,目安の処 理量に達するまでのブロック群に同じオフセッ ト値を設定する.再び探索を続行し,目安の処 理量の 2 倍の値までブロックの処理量を加算する. 値に達したら一度目と同じよう該当ブロック群 にオフセット値を設定する.これを終点のブロ ックまで繰り返す. 設定するオフセット値は(短周期)×(分割位置 - 1)である.例えば長周期 10ms,短周期 2ms の場 合オフセット値は始点側から 0.0ms,2.0ms,. 1-26. 4.0ms,6.0ms,8.0ms となる.. 4. 性能評価 負荷分散を行い,オフセット値を設定した Simulink モデルから生成される並列化コードと, オフセット値が設定されていない Simulink モデ ルから生成される並列化コードの比較・評価を 行った. 図2のマルチレート Simulink モデルを対象と し,長周期側の実行時間を約 0.1sec,短周期側 の実行時間をほぼ 0sec に調整した.今回の評価 では短周期タスクの最後で実行時間を計測した. 表 1 はオフセット値設定前後の実行結果である. オフセット値設定前は長周期タスクの実行があ る場合のみ実行時間が長くなっていることが確 認できる.対して,オフセット値設定後は各サ イクルでほぼ同じ実行時間である.また,この 評価から長周期側タスクの分割が適当であるこ とも確認できる.. 図 4 オフセット値設定前後の比較結果. 5. おわりに 本論文では,複数周期を持つ Simulink モデル を対象としたソフトウェア並列化手法を提案し た.処理量を目安に長周期タスクを分割し,オ フセット値を設定することで短周期タスクの実 行を一定の周期で実行できることを確認した. 今後は,長周期タスクの一部を短周期タスク 側のコアで動作させるような異なる周期のタス クを一つのコアで動作させることを考慮した負 荷分散方法について検討したい.. 参考文献 [1] MathWorks: MATLAB/Simulink, http://www.mathworks.co.jp [2] 山口, 池田, 枝廣他: Simulink モデルからのブロッ ク レ ベ ル 並 列 化 , 組 込 み シス テ ム シ ン ポ ジ ウ ム 2015(ESS2015),2015,pp.123-124. [3] M.Gondo,F.Arakawa,and M.Edahiro: Establishing a Standard Interface between Multi-Manycore and Software Tools - SHIM, COOL Chips XVII, VI-1, 2014.. Copyright 2017 Information Processing Society of Japan. All Rights Reserved..

(3)

図 1  現状のマルチレートモデルの実行パターン

参照

関連したドキュメント

主として、自己の居住の用に供する住宅の建築の用に供する目的で行う開発行為以外の開

本節では本研究で実際にスレッドのトレースを行うた めに用いた Linux ftrace 及び ftrace を利用する Android Systrace について説明する.. 2.1

0.1uF のポリプロピレン・コンデンサと 10uF を並列に配置した 100M

[r]

Visual Studio 2008、または Visual Studio 2010 で開発した要素モデルを Visual Studio

4G LTE サービス向け完全仮想化 NW を発展させ、 5G 以降のサービス向けに Rakuten Communications Platform を自社開発。. モデル 3 モデル

鉄道駅の適切な場所において、列車に設けられる車いすスペース(車いす使用者の

2 次元 FEM 解析モデルを添図 2-1 に示す。なお,2 次元 FEM 解析モデルには,地震 観測時点の建屋の質量状態を反映させる。.