JP2018025840A - 分散シミュレーションシステム、分散シミュレーション手法 - Google Patents
分散シミュレーションシステム、分散シミュレーション手法 Download PDFInfo
- Publication number
- JP2018025840A JP2018025840A JP2016155192A JP2016155192A JP2018025840A JP 2018025840 A JP2018025840 A JP 2018025840A JP 2016155192 A JP2016155192 A JP 2016155192A JP 2016155192 A JP2016155192 A JP 2016155192A JP 2018025840 A JP2018025840 A JP 2018025840A
- Authority
- JP
- Japan
- Prior art keywords
- simulation
- result
- slave device
- distributed
- simulator
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
【課題】分散シミュレーションシステムの規模が拡大した場合であっても、シミュレータ間の通信時間の増大を抑制することができる技術を提供する。【解決手段】本発明に係る分散シミュレーションシステムにおいて、第2スレーブ装置は第1スレーブ装置によるシミュレーション結果を用いてシミュレーションを実施する。第1スレーブ装置は、シミュレーション結果が前回送出したものとは異なる場合はそのシミュレーション結果を送出し、同一である場合は送出しない。【選択図】図1
Description
本発明は、分散シミュレーションに関するものである。
近年、車両制御の高機能化・複雑化にともない、車両が搭載するECU(Electronic Control Unit)の数が増加し、複数のECUが連動して車両システムを制御するようになっている。高い安全性・信頼性を確保するためには、自動車の電子機能安全規格(ISO26262)、FTA(故障の木解析)、FMEA(故障モード影響解析)などの知見や手法を活かしていく必要がある。また自動車開発においては、期間の短縮化・試作レス化の動きが加速しており、増加するソフトをいかに短期・効率的に開発し、品質を確保していくかが重要な課題となっている。
上記課題の解決策の1つとして、仮想検証環境を用いた検証がある。仮想検証環境を用いることにより、様々な条件でテストを実施することが可能になり、テストの自動実行もし易くなる。ただし仮想検証環境は、1つのシミュレータがカバーすることができる検証範囲が限られている。複数のシミュレータを協調させることにより、広範囲な検証を同時に、かつ、連続的に解析することができる。この場合は、計算処理能力、記憶容量などの計算機リソースを複数の計算機に分散することになる。
他方で、シミュレーションを複数の計算機に分散して実施することにより顕在化する課題もある。例えば、各計算機に分散したシミュレータ間で同期をとり、シミュレーション結果を中継するためには、ネットワークを経由して各シミュレータが通信する必要があるので、そのための通信時間が必要である。検証規模が大きい場合や、高精度なシミュレーションが必要な場合は、シミュレーション間のコネクション数の増加と通信回数が増加する。これによりシミュレーションの実行時間が延びる可能性がある。また、シミュレータ間で複数の通信経路が存在する場合や、計算機が高負荷状態になった場合、通信順序が入れ替わることがある。このとき分散シミュレーションシステム全体として、通信順序を保障することが必要になる。
下記特許文献1は、分散シミュレーションに関する技術を記載している。同文献は、『再現実行時でも通常実行時と同様に、各計算機で送信用のデータを生成して、相手先の計算機にデータを送信しなければならず、他の計算機からメッセージが到着するまで計算機におけるシミュレーションの実行が待たされることになる。』ことを課題とし、『再現モード時にシミュレーションマネージャ5からシミュレーションの実行時刻を示す論理時刻を受信すると、シミュレーション実行情報管理手段9からメッセージの受信時刻が当該実行時刻と一致するメッセージを取得して、そのメッセージをシミュレータ本体7に与える。』という手法を開示している(要約参照)。
分散シミュレーションシステムにおいては、分散配置されるシミュレータの数が増加し、あるいはシミュレータが配置されるエリアが拡大することにともない、シミュレータ間でシミュレーション結果を送受信するための通信時間が増大する。これにより、シミュレーション実行速度が低下する。上記特許文献1のような従来の分散シミュレーションシステムにおいては、このような分散規模の拡大にともなうシミュレーション時間の増大について充分に対処されていない。
本発明は、上記のような課題に鑑みてなされたものであり、分散シミュレーションシステムの規模が拡大した場合であっても、シミュレータ間の通信時間の増大を抑制することができる技術を提供することを目的とする。
本発明に係る分散シミュレーションシステムにおいて、第2スレーブ装置は第1スレーブ装置によるシミュレーション結果を用いてシミュレーションを実施する。第1スレーブ装置は、シミュレーション結果が前回送出したものとは異なる場合はそのシミュレーション結果を送出し、同一である場合は送出しない。
本発明に係る分散シミュレーションシステムによれば、シミュレーション結果をシミュレータ間で転送する回数を軽減することができるので、シミュレーション実行時間が増大することを抑制できる。
<実施の形態1>
図1は、本発明の実施形態1に係る分散シミュレーションシステム1000の構成図である。分散シミュレーションシステム1000は、クロックマスタ装置100、第1スレーブ装置200、第2スレーブ装置300を有する。3台目以降のスレーブ装置(図1における第Nスレーブ装置など)が存在してもよいが、以下では記載の便宜上、第1スレーブ装置200と第2スレーブ装置300が協調してシミュレーションを実施することを前提とする。これら装置はネットワーク500を介して接続されている。
図1は、本発明の実施形態1に係る分散シミュレーションシステム1000の構成図である。分散シミュレーションシステム1000は、クロックマスタ装置100、第1スレーブ装置200、第2スレーブ装置300を有する。3台目以降のスレーブ装置(図1における第Nスレーブ装置など)が存在してもよいが、以下では記載の便宜上、第1スレーブ装置200と第2スレーブ装置300が協調してシミュレーションを実施することを前提とする。これら装置はネットワーク500を介して接続されている。
クロックマスタ装置100は、各スレーブ装置に対してシミュレーションを実施するよう指示する装置である。クロックマスタ装置100は、中継部110、協調制御部120、通信部130を備える。中継部110は、各スレーブ装置が実施したシミュレーション結果を他のスレーブ装置に対して中継する。協調制御部120は、分散シミュレーションシステム1000内の各装置を同期させる。通信部130は、ネットワーク500を介して各装置と通信する。
第1スレーブ装置200は、クロックマスタ装置100からの指示にしたがってシミュレーションを実施する装置である。第1スレーブ装置200は、通信部210、送信バッファ制御部220、受信バッファ制御部230、シミュレータ制御部240、シミュレータ250を備える。
通信部210は、ネットワーク500を介して各装置と通信する。送信バッファ制御部220は、送信判定部221、シーケンス番号222、送信バッファ223を備える。送信バッファ制御部220は、シミュレーション結果とシーケンス番号222を送信する。受信バッファ制御部230は、書込制御部231、受信バッファ232、読出制御部233、前回値バッファ234を備える。受信バッファ制御部230は、シミュレーション結果とシーケンス番号222を格納する。シミュレータ制御部240は、クロックマスタ装置100からの指示にしたがってシミュレータ250を制御する。シミュレータ250は、シミュレータ制御部240の指示にしたがって検証対象モデルのシミュレーションを実施する。
送信判定部221は、シミュレータ250によるシミュレーション結果を送信するか否かを判定する。シーケンス番号222は、クロックマスタ装置100から通知される、タイムステップ処理の通番である。送信バッファ223は、送信すべきデータを一時的に蓄積する。
書込制御部231と読出制御部233は、受信バッファ232と前回値バッファ234に対するデータ書込/データ読出を実施する。各バッファが格納するデータについては後述する。
第2スレーブ装置300は、第1スレーブ装置200と同様の構成を備える。両装置の構成要素を区別するため、第1スレーブ装置200の構成要素については200番台の符号を付し、第2スレーブ装置300の構成要素については300番台の符号を付した。
図2は、分散シミュレーションシステム1000の基本動作シーケンスである。クロックマスタ装置100は、所定の初期化処理などを実施した後、各スレーブ装置に対してシミュレーションを実施するよう指示する。各スレーブ装置は、シミュレーション結果をクロックマスタ装置100に対して送信する。クロックマスタ装置100は、そのシミュレーション結果を用いてシミュレーションを実施するスレーブ装置に対して、そのシミュレーション結果を中継する。これにより各スレーブ装置は互いに同期しながら分散シミュレーションを進めることができる。
クロックマスタ装置100は、各スレーブ装置に対してシミュレーションを実施するよう指示してから、各スレーブ装置よりシミュレーション結果を受け取るまでの一連のシーケンスを、1つの処理単位とする。この処理単位のことを本実施形態1においてタイムステップ処理と呼ぶ。タイムステップ処理はシーケンス番号を有する。クロックマスタ装置100は、各スレーブ装置に対してシミュレーション開始を指示するとき、各タイムステップ処理のシーケンス番号を併せて通知する。各スレーブ装置は、そのシーケンス番号を送信バッファ制御部内に格納する。
図3は、クロックマスタ装置100の動作を説明するフローチャートである。以下図3の各ステップについて説明する。
(図3:ステップS301)
クロックマスタ装置100は、各スレーブ装置の構成を認識する。例えばクロックマスタ装置100から各スレーブ装置に対して応答要求を発信し、各スレーブ装置がその応答要求に対して返信することにより、各スレーブ装置の台数などの構成を認識することができる。
クロックマスタ装置100は、各スレーブ装置の構成を認識する。例えばクロックマスタ装置100から各スレーブ装置に対して応答要求を発信し、各スレーブ装置がその応答要求に対して返信することにより、各スレーブ装置の台数などの構成を認識することができる。
(図3:ステップS302)
クロックマスタ装置100は、各スレーブ装置に対して初期化を指示する。各スレーブ装置はその指示にしたがって初期化を実施する。
クロックマスタ装置100は、各スレーブ装置に対して初期化を指示する。各スレーブ装置はその指示にしたがって初期化を実施する。
(図3:ステップS303)
クロックマスタ装置100は、各スレーブ装置に対してシミュレーションを実行するよう指示する。このとき、シミュレーションの実行時間を併せて指示してもよい。各スレーブ装置はシミュレーション結果をクロックマスタ装置100に対して送信し、クロックマスタ装置100はそのシミュレーション結果を用いるスレーブ装置に対してそのシミュレーション結果を中継する。
クロックマスタ装置100は、各スレーブ装置に対してシミュレーションを実行するよう指示する。このとき、シミュレーションの実行時間を併せて指示してもよい。各スレーブ装置はシミュレーション結果をクロックマスタ装置100に対して送信し、クロックマスタ装置100はそのシミュレーション結果を用いるスレーブ装置に対してそのシミュレーション結果を中継する。
(図3:ステップS304〜S305)
クロックマスタ装置100は、シミュレーションが終了したか否かを判定し、終了していなければ次のシーケンス番号のタイムステップ処理を繰り返す(S304)。シミュレーションが終了した場合は、終了処理を実施する(S305)。
クロックマスタ装置100は、シミュレーションが終了したか否かを判定し、終了していなければ次のシーケンス番号のタイムステップ処理を繰り返す(S304)。シミュレーションが終了した場合は、終了処理を実施する(S305)。
図4は、分散シミュレーションシステム1000の動作を説明するタイムチャートである。ここではタイムステップ処理N〜N+3までを示す。実線矢印はクロックマスタ装置100からの指示コマンドを表し、破線矢印はシミュレーション結果とシーケンス番号の中継を示す。各バッファはシミュレーション結果D0〜D3を格納する。添え字はシミュレーション結果を識別するための番号である。各バッファはシミュレーション結果D0〜D3と併せて、そのシミュレーション結果がクロックマスタ装置100上のいずれのシーケンス番号(タイムステップ処理の通番)に対応するものであるかを示す番号(N)〜(N+3)を格納する。
クロックマスタ装置100は、第1スレーブ装置200と第2スレーブ装置300に対してそれぞれシミュレーションを開始するよう指示する。第1スレーブ装置200と第2スレーブ装置300はそれぞれ、シミュレーションが完了したらクロックマスタ装置100に対してその旨を報告し、必要に応じてシミュレーション結果を中継する。
第2スレーブ装置300は、第1スレーブ装置200によるシミュレーション結果を用いて自身のシミュレーションを実施すると仮定する。この場合、第1スレーブ装置200はシミュレーション結果をクロックマスタ装置100へ送信し、クロックマスタ装置100はそのシミュレーション結果を第2スレーブ装置300へ中継する。シミュレーション結果間の関係については、例えばクロックマスタ装置100が各スレーブ装置に対してシミュレーション開始を指示するときあらかじめクロックマスタ装置100が把握しておけばよい。
第1スレーブ装置200は、各タイムステップ処理において得られたシミュレーション結果が前回のタイムステップ処理とは異なる場合のみ、そのシミュレーション結果とシーケンス番号をクロックマスタ装置100に対して送信する。図4に示す例においては、タイムステップ処理N+1のシミュレーション結果はD1であり、タイムステップ処理N+2のシミュレーション結果もD1であるので、タイムステップ処理N+2においてはシミュレーション結果D1とシーケンス番号N+2を送信しない。したがってクロックマスタ装置100も、タイムステップ処理N+2においてはシミュレーション結果D1とシーケンス番号N+2を中継しない。
第2スレーブ装置300は、クロックマスタ装置100から受け取ったシミュレーション結果とシーケンス番号を受信バッファ332に格納する。シミュレータ350は、受信バッファ332からシミュレーション結果とシーケンス番号を読み出し、これらを前回値バッファ334へ移した上で、そのシミュレーション結果を用いて自身のシミュレーションを実施する。
シミュレータ350は、受信バッファ332がシミュレーション結果を格納していない場合は、前回値バッファ334からシミュレーション結果を読み出し、これを用いて自身のシミュレーションを実施する。図4に示す例においては、タイムステップ処理N+3の時点で受信バッファ332はシミュレーション結果を格納していないので、前回値バッファ334が格納しているシミュレーション結果D1を用いることになる。
図5は、分散シミュレーションシステム1000の動作を説明するタイムチャートである。ここでは図4とは異なり、シミュレータ350によるシミュレーション実行時間がシミュレータ250による実行時間よりも大幅に長いものと仮定する。
第1スレーブ装置200は、シミュレータ350がシミュレーションを実行中であるか否かによらず、シミュレータ250が自身のシミュレーションを完了するとそのシミュレーション結果をクロックマスタ装置100へ送信する。クロックマスタ装置100も同様に、シミュレータ350がシミュレーションを実行中であるか否かによらず、そのシミュレーション結果を第2スレーブ装置300へ中継する。
第2スレーブ装置300は受信バッファ332を備えているので、シミュレータ350がシミュレーションを実行中であってもそのシミュレーション結果を保存しておいて後に用いることができる。したがって、第1スレーブ装置200から第2スレーブ装置300へシミュレーション結果を中継することと並行して第2スレーブ装置300は自身のシミュレーションを実施できるので、分散シミュレーションシステム1000全体としてのシミュレーション実行時間を短縮することができる。
<実施の形態1:まとめ>
本実施形態1に係る分散シミュレーションシステム1000において、第1スレーブ装置200はシミュレーション結果が前回と異なる場合のみそのシミュレーション結果を送出するので、シミュレーション結果を第2スレーブ装置300へ中継する回数を削減することができる。これにより、シミュレーション結果を送受信することにともなう通信時間を削減し、シミュレーション実行時間を抑制することができる。
本実施形態1に係る分散シミュレーションシステム1000において、第1スレーブ装置200はシミュレーション結果が前回と異なる場合のみそのシミュレーション結果を送出するので、シミュレーション結果を第2スレーブ装置300へ中継する回数を削減することができる。これにより、シミュレーション結果を送受信することにともなう通信時間を削減し、シミュレーション実行時間を抑制することができる。
<実施の形態2>
図6は、本発明の実施形態2に係る分散シミュレーションシステム1000の構成図である。本実施形態2において、各装置はワイドエリアネットワーク(WAN)600によって接続されている。さらに後述するように、各スレーブ装置の受信バッファはシミュレーション結果を2つ格納することができる。その他構成は実施形態1と同様であるので、以下では受信バッファがシミュレーション結果を2つ格納することに関する動作について主に説明する。
図6は、本発明の実施形態2に係る分散シミュレーションシステム1000の構成図である。本実施形態2において、各装置はワイドエリアネットワーク(WAN)600によって接続されている。さらに後述するように、各スレーブ装置の受信バッファはシミュレーション結果を2つ格納することができる。その他構成は実施形態1と同様であるので、以下では受信バッファがシミュレーション結果を2つ格納することに関する動作について主に説明する。
図7は、分散シミュレーションシステム1000の動作を説明するタイムチャートである。シミュレータ350は、受信バッファ332からシミュレーション結果を読み出すときこれを前回値バッファ334へ移すので、これにより受信バッファ332は空くことになる。しかし図7のタイムステップ処理N+2に示すように、クロックマスタ装置100から第2スレーブ装置300に対するシミュレーション開始指示が遅延した場合、受信バッファ332が空く前にクロックマスタ装置100から次のシミュレーション結果が到着する。本実施形態2においては、このような場合であってもシミュレーション結果を保存することができるように、受信バッファ332がシミュレーション結果を格納するための記憶領域を2つ設けることとした。
シミュレータ350は、受信バッファ332が2つのシミュレーション結果を格納している場合は、シーケンス番号がより前のものを用いて、自身のシミュレーションを実施する。図7のタイムステップ処理N+2においては、シーケンス番号N+1のシミュレーション結果D1を用いることになる。
シミュレータ350が受信バッファ332からシミュレーション結果を読み出す前に次のシミュレーション結果が到着する原因としては、例えば通信遅延や第2スレーブ装置300の処理負荷過大などが考えられる。いずれの場合であっても、本実施形態2において第2スレーブ装置300は第1スレーブ装置200によるシミュレーション結果を保存することができる。
図8は、分散シミュレーションシステム1000の動作を説明するタイムチャートである。図7においては、受信バッファ332がシミュレーション結果を2つ格納しているときシーケンス番号がより前のものを採用することを説明した。受信バッファ332がシミュレーション結果を1つのみ格納している場合であっても、そのシーケンス番号が本来意図しているものとは異なる場合は、前回値バッファ334が格納しているシミュレーション結果を用いればよい。図8を用いてその例を説明する。
タイムステップ処理Nとタイムステップ処理N+1において、シミュレータ250によるシミュレーション結果D0は変化していない。したがってタイムステップ処理N+1において、クロックマスタ装置100はシミュレーション結果D0を中継しない(第1スレーブ装置200がシミュレーション結果D0を送信しないようにしてもよい)。その後、タイムステップ処理N+2において、クロックマスタ装置100は、第2スレーブ装置300に対してシーケンス番号N+2と併せてシミュレーション開始を指示する。このときクロックマスタ装置100から第2スレーブ装置300に対するシミュレーション開始指示の到着が遅延し、次のシミュレーション結果D2が第2スレーブ装置300に対して先に到着したと仮定する。
タイムステップ処理N+2において、シミュレータ350は受信バッファ332からシミュレーション結果D2とシーケンス番号N+2を取得する。タイムステップ処理N+2において、本来であればシミュレータ350はシーケンス番号N+1に対応するシミュレーション結果を用いて自身のシミュレーションを実施することを想定している。しかしシミュレーション結果D2が先に到着したことにより、受信バッファ332は1つ先のシーケンス番号N+2に対応するシミュレーション結果D2を格納しており、本来意図しているシーケンス番号と整合していない。この場合シミュレータ350は、受信バッファ332がシミュレーション結果を格納している場合であってもこれを用いず、前回値バッファ334からシミュレーション結果を取得してこれを採用する。
<実施の形態2:まとめ>
本実施形態2に係る分散シミュレーションシステム1000において、受信バッファ332は、連続する2つのシーケンス番号に対応する2つのシミュレーション結果を格納する。これにより、第2スレーブ装置300がシミュレーションを開始することが遅れることにより受信バッファ332が空かない場合であっても、後続のシミュレーション結果を喪失することなく、シミュレーション結果間の整合性を保持することができる。
本実施形態2に係る分散シミュレーションシステム1000において、受信バッファ332は、連続する2つのシーケンス番号に対応する2つのシミュレーション結果を格納する。これにより、第2スレーブ装置300がシミュレーションを開始することが遅れることにより受信バッファ332が空かない場合であっても、後続のシミュレーション結果を喪失することなく、シミュレーション結果間の整合性を保持することができる。
本実施形態2に係る分散シミュレーションシステム1000において、シミュレータ350は、受信バッファ332が格納しているシミュレーション結果がクロックマスタ装置100から通知されたシーケンス番号と整合していない場合は、前回値バッファ334が格納しているシミュレーション結果を採用する。これにより、受信バッファ332がシミュレーション結果を格納しており、かつそのシーケンス番号が本来意図しているものとは異なる場合であっても、シミュレーション結果間の整合性を保持することができる。
<本発明の変形例について>
本発明は上記実施形態に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施形態の構成の一部を他の実施形態の構成に置き換える事が可能であり、また、ある実施形態の構成に他の実施形態の構成を加えることも可能である。また、各実施形態の構成の一部について他の構成の追加・削除・置換をすることができる。
本発明は上記実施形態に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施形態の構成の一部を他の実施形態の構成に置き換える事が可能であり、また、ある実施形態の構成に他の実施形態の構成を加えることも可能である。また、各実施形態の構成の一部について他の構成の追加・削除・置換をすることができる。
以上の実施形態においては、各スレーブ装置はクロックマスタ装置100を介してシミュレーション結果を共有しているが、スレーブ装置間で直接的にシミュレーション結果を送受信してもよい。
以上の実施形態においては、シーケンス番号を用いてシミュレーション結果の順序を規定しているが、シーケンス番号に代えて例えば実行時刻などの情報を用いてシミュレーション結果の順序を規定してもよい。その他シミュレーション結果の順序を表すことができる情報を用いてもよい。
以上の実施形態においては、シーケンス番号を受信バッファ332に格納しているが、例えば格納アドレスなどの代替情報によってシーケンス番号と同等の情報を表すことができるのであれば、必ずしもシーケンス番号そのものを受信バッファ332内に格納する必要はない。
上記各構成、機能、処理部、処理手段等は、それらの一部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ、ハードディスク、SSD(Solid State Drive)等の記録装置、ICカード、SDカード、DVD等の記録媒体に格納することができる。
100:クロックマスタ装置
110:中継部
120:協調制御部
130:通信部
200:第1スレーブ装置
210:通信部
220:送信バッファ制御部
221:送信判定部
222:シーケンス番号
223:送信バッファ
230:受信バッファ制御部
231:書込制御部
232:受信バッファ
233:読出制御部
234:前回値バッファ
240:シミュレータ制御部
250:シミュレータ
300:第2スレーブ装置
310:通信部
320:送信バッファ制御部
321:送信判定部
322:シーケンス番号
323:送信バッファ
330:受信バッファ制御部
331:書込制御部
332:受信バッファ
333:読出制御部
334:前回値バッファ
340:シミュレータ制御部
350:シミュレータ
400:第Nスレーブ装置
500:ネットワーク
600:ワイドエリアネットワーク
110:中継部
120:協調制御部
130:通信部
200:第1スレーブ装置
210:通信部
220:送信バッファ制御部
221:送信判定部
222:シーケンス番号
223:送信バッファ
230:受信バッファ制御部
231:書込制御部
232:受信バッファ
233:読出制御部
234:前回値バッファ
240:シミュレータ制御部
250:シミュレータ
300:第2スレーブ装置
310:通信部
320:送信バッファ制御部
321:送信判定部
322:シーケンス番号
323:送信バッファ
330:受信バッファ制御部
331:書込制御部
332:受信バッファ
333:読出制御部
334:前回値バッファ
340:シミュレータ制御部
350:シミュレータ
400:第Nスレーブ装置
500:ネットワーク
600:ワイドエリアネットワーク
Claims (7)
- ネットワークを介して接続された複数のスレーブ装置がそれぞれシミュレーションを実施することによりシミュレーションを分散的に実施する分散シミュレーションシステムであって、
シミュレーションを実施する第1および第2スレーブ装置、
前記第1および第2スレーブ装置に対してシミュレーションを開始するよう指示するマスタ装置、
を有し、
前記第1スレーブ装置は、第1シミュレーションを実施する第1シミュレータ、前記第1シミュレーションの結果を前記ネットワークに対して送出する第1通信部、を備え、
前記第2スレーブ装置は、前記第1スレーブ装置が実施した前記第1シミュレーションの結果を用いて第2シミュレーションを実施する第2シミュレータを備え、
前記第1通信部は、前記第1シミュレータによる前記第1シミュレーションの結果が前記ネットワークに対して前回送出したものとは異なる場合は前記第1シミュレーションの結果を前記ネットワークに対して送出し、同一である場合は送出しない
ことを特徴とする分散シミュレーションシステム。 - 前記第2スレーブ装置は、前記第1通信部が送出した前記第1シミュレーションの結果を受け取るように構成されており、
前記第2スレーブ装置はさらに、前記受け取った前記第1シミュレーションの結果を格納する第1受信バッファ、前記受け取った前記第1シミュレーションの結果の前回値を格納する前回値バッファ、を備え、
前記第2シミュレータは、前記第1受信バッファが格納している前記第1シミュレーションの結果を前記前回値バッファに移動するとともに、その移動した前記第1シミュレーションの結果を用いて前記第2シミュレーションを実施する
ことを特徴とする請求項1記載の分散シミュレーションシステム。 - 前記第2シミュレータは、前記第1受信バッファが前記第1シミュレーションの結果を格納していない場合は、前記前回値バッファが格納している前記第1シミュレーションの結果の前回値を用いて、前記第2シミュレーションを実施する
ことを特徴とする請求項2記載の分散シミュレーションシステム。 - 前記第2スレーブ装置はさらに、前記第1スレーブ装置から受け取った前記第1シミュレーションの結果を格納する第2受信バッファを備え、
前記マスタ装置は、前記指示の通番を前記第1スレーブ装置に対して通知するように構成されており、
前記第1通信部は、前記第1シミュレーションの結果と併せて前記通番を送出し、
前記第1および第2受信バッファは、前記第1シミュレーションの結果と併せて前記通番を格納し、
前記第2シミュレータは、前記第1受信バッファと前記第2受信バッファがともに前記第1シミュレーションの結果を格納している場合は、前記第1および第2受信バッファが格納している前記第1シミュレーションの結果のうち前記通番がより前であるものを用いて、前記第2シミュレーションを実施する
ことを特徴とする請求項2記載の分散シミュレーションシステム。 - 前記マスタ装置は、前記指示の通番を前記第2スレーブ装置に対して通知するように構成されており、
前記第1通信部は、前記第1シミュレーションの結果と併せて前記通番を送出し、
前記第1受信バッファは、前記第1シミュレーションの結果と併せて前記通番を格納し、
前記第2シミュレータは、前記第1受信バッファが前記第1シミュレーションの結果を格納している場合であっても、前記第1受信バッファが格納している前記通番が前記マスタ装置から通知を受けた前記通番と整合しない場合は、前記前回値バッファが格納している前記第1シミュレーションの前回値を用いて、前記第2シミュレーションを実施する
ことを特徴とする請求項2記載の分散シミュレーションシステム。 - 前記第1通信部は、前記第2シミュレータが前記第2シミュレーションを実行中であるか否かによらず、前記第1シミュレータが前記第1シミュレーションを完了すると前記第1シミュレーションの結果を前記第2スレーブ装置に対して送信する
ことを特徴とする請求項1記載の分散シミュレーションシステム。 - ネットワークを介して接続された複数のスレーブ装置がそれぞれシミュレーションを実施することによりシミュレーションを分散的に実施する分散シミュレーションシステムを用いて分散シミュレーションを実施する分散シミュレーション方法であって、前記分散シミュレーションシステムは、
シミュレーションを実施する第1および第2スレーブ装置、
前記第1および第2スレーブ装置に対してシミュレーションを開始するよう指示するマスタ装置、
を有し、
前記分散シミュレーション方法は、
前記第1スレーブ装置が、第1シミュレーションを実施する第1シミュレーションステップ、
前記第1スレーブ装置が、前記第1シミュレーションの結果を前記ネットワークに対して送出する第1通信ステップ、
前記第2スレーブ装置が、前記第1スレーブ装置が実施した前記第1シミュレーションの結果を用いて第2シミュレーションを実施する第2シミュレーションステップ、
を有し、
前記第1通信ステップにおいて、前記第1スレーブ装置は、前記第1シミュレーションステップにおける前記第1シミュレーションの結果が前記ネットワークに対して前回送出したものとは異なる場合は前記第1シミュレーションの結果を前記ネットワークに対して送出し、同一である場合は送出しない
ことを特徴とする分散シミュレーション方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016155192A JP2018025840A (ja) | 2016-08-08 | 2016-08-08 | 分散シミュレーションシステム、分散シミュレーション手法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016155192A JP2018025840A (ja) | 2016-08-08 | 2016-08-08 | 分散シミュレーションシステム、分散シミュレーション手法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2018025840A true JP2018025840A (ja) | 2018-02-15 |
Family
ID=61194706
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016155192A Pending JP2018025840A (ja) | 2016-08-08 | 2016-08-08 | 分散シミュレーションシステム、分散シミュレーション手法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2018025840A (ja) |
-
2016
- 2016-08-08 JP JP2016155192A patent/JP2018025840A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20180004564A1 (en) | Non-transitory computer-readable storage medium, live migration method, and live migration apparatus | |
WO2021049130A1 (ja) | シミュレーション方法および記録媒体 | |
JP2008065640A (ja) | シミュレーション装置およびそのシミュレーション制御方法 | |
CN111190766A (zh) | 基于HBase数据库的跨机房集群的容灾方法、装置和系统 | |
US20140359195A1 (en) | Crossbar switch, information processing apparatus, and information processing apparatus control method | |
JP2011134275A (ja) | スケジューラプログラム、分散シミュレーションシステム及びスケジューラ装置 | |
US20160373338A1 (en) | Storage apparatus, control method, and connection device | |
US20120102175A1 (en) | Computer System, Simulation Method and Program | |
JP2008250788A (ja) | 連携シミュレーションシステム | |
US8150670B2 (en) | Simulator and simulation method | |
US20170308487A1 (en) | Data transfer control system, data transfer control method, and program storage medium | |
CN114691037A (zh) | 卸载卡命名空间管理、输入输出请求处理系统和方法 | |
JPWO2011099048A1 (ja) | 伝送制御装置、メモリ制御装置、及び前記伝送制御装置を備えたplc | |
JP4843554B2 (ja) | インターフェイスボード、シミュレータ、同期方法、同期プログラム | |
JP2005084957A (ja) | 回路動作検証装置および方法 | |
US8688428B2 (en) | Performance evaluation device, performance evaluation method and simulation program | |
JP2018025840A (ja) | 分散シミュレーションシステム、分散シミュレーション手法 | |
JP2005084956A (ja) | 論理回路の検証方法および検証システム | |
US20230261961A1 (en) | System and method for simulation and testing of multiple virtual ecus | |
US20210357549A1 (en) | Simulator and simulation method | |
JP2014170361A (ja) | 情報処理装置、バス分割方法、及びバス分割プログラム | |
US9122797B2 (en) | Deterministic remote interface unit emulator | |
US11275875B2 (en) | Co-simulation repeater with former trace data | |
US20210141710A1 (en) | Development support device | |
JP2021179768A (ja) | シミュレーション装置およびシミュレーション方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160822 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20170120 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20170126 |