JP5219639B2 - Integrated simulation device - Google Patents
Integrated simulation device Download PDFInfo
- Publication number
- JP5219639B2 JP5219639B2 JP2008149412A JP2008149412A JP5219639B2 JP 5219639 B2 JP5219639 B2 JP 5219639B2 JP 2008149412 A JP2008149412 A JP 2008149412A JP 2008149412 A JP2008149412 A JP 2008149412A JP 5219639 B2 JP5219639 B2 JP 5219639B2
- Authority
- JP
- Japan
- Prior art keywords
- simulation
- time
- calculation unit
- division size
- notified
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Description
本発明は、複数のシミュレーション演算部を有し、各シミュレーション演算部が同期を取りながらシミュレーションを分散実施する統合シミュレーション装置に関する。 The present invention relates to an integrated simulation apparatus that has a plurality of simulation calculation units and performs simulations in a distributed manner while the respective simulation calculation units are synchronized.
シミュレーションを分散実施する従来の統合シミュレーション装置の動作について説明する。従来のシミュレーション装置では、同期を取るべき動作ポイント(同期をとる条件)を予め設定しておき、複数のシミュレーション演算部は、他のシミュレーション演算部と同期が取れた状態からシミュレーションを開始する。そして、各シミュレーション演算部は、自己の処理(次の同期を取るべき動作ポイントまでのシミュレーション)が完了すると、その旨を他のシミュレーション演算部へ通知し、シミュレーションを一旦停止する。各シミュレーション演算部は、すべてのシミュレーション演算部が自己の処理分を完了したことを検出後、次の処理(次の同期を取るべき動作ポイントまでのシミュレーション)を行う。これにより、各シミュレーション演算部が同期をとりながらシミュレーションを行う(下記特許文献1参照)。 The operation of a conventional integrated simulation apparatus that performs simulation in a distributed manner will be described. In a conventional simulation apparatus, operation points (conditions for synchronization) to be synchronized are set in advance, and a plurality of simulation computation units start simulation from a state in which they are synchronized with other simulation computation units. Then, when the simulation processing unit completes its own processing (simulation up to the next operation point to be synchronized), it notifies the other simulation calculation units and temporarily stops the simulation. Each simulation calculation unit performs the next process (simulation up to the next operation point to be synchronized) after detecting that all the simulation calculation units have completed their processing. Thereby, each simulation operation part performs a simulation while synchronizing (refer to the following patent document 1).
しかしながら、上記従来の技術では、分散する各シミュレーション演算部間で処理能力や処理量が異なっていた場合、時間同期をとるために、処理のもっとも遅いシミュレーション演算部が処理を完了するまでの間、処理を終えた他のシミュレーション演算部が待機する。したがって、充分な処理能力を有するシミュレーション演算部も、処理が遅いシミュレーション演算部に進行を合わせることとなり、統合シミュレーション装置全体での処理が遅くなってしまう、すなわち、効率的なシミュレーションが実現できていない、という問題があった。 However, in the above conventional technique, when the processing capability and the processing amount are different between the distributed simulation calculation units, in order to achieve time synchronization, until the simulation calculation unit with the slowest processing completes the process, Another simulation operation unit that has finished processing waits. Therefore, the simulation calculation unit having sufficient processing capability also progresses with the slow simulation calculation unit, and the processing in the entire integrated simulation apparatus becomes slow, that is, an efficient simulation cannot be realized. There was a problem.
本発明は、上記に鑑みてなされたものであって、各シミュレーション演算部間で同期を取りつつ全体の処理時間を短縮して効率的にシミュレーションを行うシミュレーション装置を得ることを目的とする。 The present invention has been made in view of the above, and an object of the present invention is to obtain a simulation apparatus that performs simulation efficiently by reducing the overall processing time while synchronizing the simulation calculation units.
上述した課題を解決し、目的を達成するために、本発明は、位置座標を考慮したモデル計算を行う複数のシミュレーション演算部、および当該各シミュレーション演算部間の同期制御を行う同期整合制御部を備え、前記各シミュレーション演算部は、モデル計算の対象であるシミュレーションモデル座標を前記同期整合制御部から通知された分割サイズで分割し、得られた各分割領域を対象としてモデル計算を行うモデル計算手段と、前記モデル計算手段による処理の進捗を監視し、処理の進捗を示すシミュレーション時刻を所定のタイミングで前記同期整合制御部に通知するシミュレーション時刻通知手段と、を有することを特徴とする。 In order to solve the above-described problems and achieve the object, the present invention includes a plurality of simulation calculation units that perform model calculation in consideration of position coordinates, and a synchronization matching control unit that performs synchronization control between the simulation calculation units. Each of the simulation calculation units divides the simulation model coordinates that are the object of model calculation by the division size notified from the synchronous matching control unit, and performs model calculation for each of the obtained divided regions And simulation time notifying means for monitoring the progress of the process by the model calculating means and notifying the synchronous matching control section of a simulation time indicating the progress of the process at a predetermined timing.
この発明によれば、シミュレーションの所要時間を短縮し、効率的なシミュレーションを実現できる、という効果を奏する。 According to the present invention, it is possible to reduce the time required for simulation and to realize an efficient simulation.
以下に、本発明にかかる統合シミュレーション装置の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。 Embodiments of an integrated simulation apparatus according to the present invention will be described below in detail with reference to the drawings. Note that the present invention is not limited to the embodiments.
実施の形態1.
図1は、本発明にかかる統合シミュレーション装置の実施の形態1の構成例を示す図である。図1の統合シミュレーション装置は、同期整合制御部1と、複数のシミュレーション演算部(第1シミュレーション演算部10−1〜第Nシミュレーション演算部10−N(N=1,2,…))とを備えている。
FIG. 1 is a diagram illustrating a configuration example of a first embodiment of an integrated simulation apparatus according to the present invention. The integrated simulation apparatus of FIG. 1 includes a synchronous
同期整合制御部1は、シミュレーション演算部間での時間的な同期を制御する。また、この制御を実現するための構成として、データ入力部2と、パラメータ情報処理部3と、時刻監視部4と、時刻記録部5と、時刻同期部6と、メッセージ生成部7と、データ出力部8とを備える。なお、時刻監視部4、時刻記録部5および時刻同期部6が分割サイズ決定手段を構成し、メッセージ生成部7が分割サイズ通知手段を構成する。
The synchronization matching
同期整合制御部1において、データ入力部2は、各シミュレーション演算部から送信されるメッセージを受信する。パラメータ情報処理部3は、データ入力部2が受信したメッセージからその送信元のシミュレーション演算部の識別情報(以下、この識別情報を「送信元演算部情報」と記載する)、宛先のシミュレーション演算部の識別情報(以下、この識別情報を「宛先演算部情報」と記載する)、および送信元のシミュレーション演算部が算出したパラメータデータ(以下、単に「パラメータ」と記載する)を抽出してこれらをメッセージ生成部7に渡す。ここで、パラメータとは、各シミュレーション演算部の間で共有することが必要な情報である。
In the synchronization matching
時刻監視部4は、データ入力部2が各シミュレーション演算部から受信したメッセージに含まれている、当該メッセージの送信元のシミュレーション演算部についてのシミュレーション時刻の情報(シミュレーション演算部における演算処理の進行度を示す情報)を取得し、各シミュレーション演算部の演算処理(シミュレーション)の進行度を監視する。進行度の監視動作を具体的に示すと、まず、受信メッセージからシミュレーション時刻情報を抽出する。そして、当該抽出したシミュレーション時刻情報を、当該受信メッセージの送信元シミュレーション演算部とは異なるシミュレーション演算部から取得し、時刻記録部5に保持させておいたシミュレーション時刻情報と比較することにより進行度を監視する。なお、比較結果は時刻同期部6に渡される。また、時刻監視部4は、上記受信メッセージから上記シミュレーション時刻の情報とともに送信元演算部情報を抽出し、抽出した情報(シミュレーション時刻情報,送信元演算部情報)を時刻記録部5に記憶させる。
The
時刻記録部5は、シミュレーション時刻情報および送信元演算部情報を時刻監視部4から受け取った場合、これらを関連付けて保持しておく。
When the time recording unit 5 receives the simulation time information and the transmission source calculation unit information from the
時刻同期部6は、各シミュレーション演算部の処理の進行度にあわせて、シミュレーションモデル座標(空間)における分割領域のサイズ(以下、分割サイズと記載する)を設定する。具体的には、時刻監視部4から受け取った比較結果に基づいて各シミュレーション演算部での演算負荷に差があるかどうかを判断し、判断結果に基づいて、各シミュレーション演算部におけるシミュレーションが同期を維持しつつ実行されるように(各シミュレーションの進行度が同等となるように)シミュレーションモデル座標の分割サイズを決定する。なお、決定結果はメッセージ生成部7に渡される。
The time synchronization unit 6 sets the size of a divided region (hereinafter referred to as a divided size) in simulation model coordinates (space) in accordance with the progress of processing of each simulation calculation unit. Specifically, based on the comparison result received from the
ここで、分割領域とは、シミュレーション演算部の演算対象であるシミュレーションモデル座標を分割して得られる単位領域であり、本実施の形態の各シミュレーション演算部は、同一単位領域内では、演算に用いる値は同一とみなして処理を実行する。 Here, the divided region is a unit region obtained by dividing the simulation model coordinates that are the calculation target of the simulation calculation unit, and each simulation calculation unit of the present embodiment is used for calculation within the same unit region. The processing is executed assuming that the values are the same.
メッセージ生成部7は、パラメータ情報処理部3から受け取った宛先演算部情報および送信元演算部情報をそれぞれ宛先アドレスおよび送信元アドレスに設定し、パラメータ情報処理部3から受け取ったパラメータおよび時刻同期部6から受け取った分割サイズ情報を含んだメッセージを生成する。データ出力部8は、メッセージ生成部7にて生成されたメッセージをその宛先のシミュレーション演算部に向けて送信する。 The message generation unit 7 sets the destination calculation unit information and the transmission source calculation unit information received from the parameter information processing unit 3 to the destination address and the transmission source address, respectively, and receives the parameter and time synchronization unit 6 received from the parameter information processing unit 3. A message including the division size information received from is generated. The data output unit 8 transmits the message generated by the message generation unit 7 toward the destination simulation calculation unit.
一方、第1シミュレーション演算部10−1〜第Nシミュレーション演算部10−Nは、分散処理を行うシミュレータである。各シミュレーション演算部は、同一の構成をとり、データ入力部11、時刻制御部12、モデル計算部13、パラメータ生成部14およびデータ出力部15を備える。また、各シミュレーション演算部の動作は同じである。そのため、以下の説明において、各シミュレーション演算部で共通の部分についてはシミュレーション演算部を特定せずに説明を行う。なお、時刻制御部12がシミュレーション時刻通知手段を構成する。
On the other hand, the first simulation calculation unit 10-1 to the Nth simulation calculation unit 10-N are simulators that perform distributed processing. Each simulation calculation unit has the same configuration, and includes a data input unit 11, a time control unit 12, a
各シミュレーション演算部において、データ入力部11は、他のシミュレーション演算部から送信されたメッセージを同期整合制御部1経由で受信する。時刻制御部12は、モデル計算部13によるモデル計算(シミュレーション)の進捗を監視し、予め設定されていた条件を満たした場合に、当該シミュレーションの進捗(進行度)を示すシミュレーション時刻を同期整合制御部1経由で他のシミュレーション演算部へ通知する。また、同期整合制御部1からシミュレーションモデル座標の分割サイズを通知された場合、通知された分割サイズでシミュレーションモデル座標モデルを分割した上でモデル計算を行うように、モデル計算部13に対して指示を出す。
In each simulation calculation unit, the data input unit 11 receives a message transmitted from another simulation calculation unit via the synchronous
モデル計算部13は、他のシミュレーション演算部から通知されるメッセージ中のパラメータを利用し、位置座標を考慮したモデル計算(シミュレーション)を行う。このとき、時刻制御部12経由で同期整合制御部1から通知された分割サイズに従ってシミュレーションモデル座標を分割した上でモデル計算を行う。なお、位置座標を考慮したモデル計算では、シミュレーションモデル座標の分割サイズに応じてシミュレーション精度と計算量(シミュレーション速度)が変動し、このサイズが大きいほど、シミュレーション精度は低くなるが、計算量が少なくなりシミュレーション速度は速くなる。また、予め設定されていた条件を満たした場合(たとえば、指定されていた処理が完了した場合)、その旨を時刻制御部12へ通知する。
The
パラメータ生成部14は、他のシミュレーション演算部に通知するパラメータを生成する。データ出力部15は、シミュレーション時刻,分割領域,パラメータなどの情報を含んだメッセージを生成し、他のシミュレーション演算部へ同期整合制御部1経由で送信する。
The
図2−1および図2−2は、シミュレーションモデル座標における分割領域概念を示す図であり、3次元のシミュレーションモデル座標を均等な領域に分割する場合の例を示している。図2−1に示すように、X−Y平面で見るとX軸方向は分割サイズΔX,Y軸方向は分割サイズΔYに分割され、図2−2に示すように、X−Z平面で見るとZ軸方向は分割サイズΔZに分割される。本実施の形態では、分割領域(分割サイズ)は、X軸方向分割サイズ,Y軸方向分割サイズ,Z軸方向分割サイズによって規定する。 FIGS. 2-1 and 2-2 are diagrams showing the concept of divided areas in simulation model coordinates, and show an example in which three-dimensional simulation model coordinates are divided into equal areas. As shown in FIG. 2-1, when viewed in the XY plane, the X-axis direction is divided into division sizes ΔX, and the Y-axis direction is divided into division sizes ΔY. As shown in FIG. The Z-axis direction is divided into division sizes ΔZ. In the present embodiment, the divided region (divided size) is defined by the X-axis direction divided size, the Y-axis direction divided size, and the Z-axis direction divided size.
つづいて、以上のように構成された統合シミュレーション装置の動作について説明する。この統合シミュレーション装置において、各シミュレーション演算部は、位置座標を考慮してモデル計算(シミュレーション)を行うものであり、シミュレーション時刻を個別に管理し、その進行に合わせて、各シミュレーションモデルのシミュレーションを個別に行う。なお、モデル計算部13は、同期整合制御部1から指定された分割サイズでシミュレーションモデル座標(空間)を分割し、得られた各単位領域(分割領域)内では計算に用いる値がすべて同一とみなした上でシミュレーションを行う。また、モデル計算部13は、図示していない記憶部に予め格納されたシナリオに従ってシミュレーションを行う。このとき、モデル計算部13は、他のシミュレーション演算部から通知されるパラメータを利用しながらシミュレーションを行う。すなわち、各シミュレーション演算部におけるシミュレーションの進行度が大きく異なる場合には、シミュレーションに必要なパラメータがすべて揃うまでの時間が長くなり、全体のシミュレーション進行速度が低下してしまう。そのため、各シミュレーション演算部が同期を維持しながら(進行度の差が大きくなるのを回避しながら)シミュレーションを行うことにより、所要時間が短縮化された効率的なシミュレーションが実現される。
Next, the operation of the integrated simulation apparatus configured as described above will be described. In this integrated simulation device, each simulation calculation unit performs model calculation (simulation) in consideration of the position coordinates, individually manages the simulation time, and individually simulates each simulation model according to its progress. To do. The
また、各シミュレーション演算部の時刻制御部12は、予め指定された条件を満たすまでの処理をモデル計算部13が完了したかどうかを監視し、完了した場合には、その時点のシミュレーション時刻を同期整合制御部1へ通知する。なお、各シミュレーション演算部から同期整合制御部1へ通知されるシミュレーション時刻の差(ずれ量)が少ない場合(すれ量が一定量以内の場合)、「同期がとれている」といえる。シミュレーション時刻とは仮想的な時刻情報であり、たとえば、実行すべき処理全体に対して現在どの程度まで処理が完了しているかを示す情報である。各シミュレーション演算部が、処理全体に対してm%の処理を完了するごとに、完了した処理の割合(またはこれに相当する情報)をシミュレーション時刻として通知するように設定しておけば、同期整合制御部1は、各シミュレーションの同期状態(各シミュレーションの進行度に大きな差があるかどうか)を判定できる。また、一定周期ごとにシミュレーション時刻を通知するようにしておけば、各シミュレーション演算部から通知されたシミュレーション時刻同士を比較することにより、どのシミュレーション演算部におけるシミュレーションの進行度が大きいのかが分かる。
In addition, the time control unit 12 of each simulation calculation unit monitors whether the
同期整合制御部1は、各シミュレーション演算部から通知されてくるシミュレーション時刻に基づいて、各シミュレーション演算部におけるシミュレーションの同期がとれているかどうか、すなわち、他のシミュレーション演算部と比較してシミュレーションの進行度が異なるシミュレーション演算部が存在するかどうかを判定し、各シミュレーション演算部がそれぞれのシミュレーションモデル座標を分割する際の分割サイズを当該判定結果に基づいて決定する。たとえば、他と比較してシミュレーションの進行度が遅れている(シミュレーション速度が遅い)シミュレーション演算部が存在する場合、その進行度が他と比較して早く進むように考慮して分割サイズを決定する。具体的には、シミュレーション速度が遅いシミュレーション演算部の分割サイズがそれまで使用していた分割サイズよりも大きくなるようにする。決定した分割サイズは、該当するシミュレーション演算部(シミュレーション速度が遅いシミュレーション演算部)へ通知する。ここでは他と比較してシミュレーション速度の遅いシミュレーション演算部が存在する場合の例について示したが、他と比較してシミュレーション速度の速いシミュレーション演算部が存在する場合には、逆の制御(分割サイズが他のシミュレーション演算部の分割サイズよりも小さくなるようにする制御)を行う。同期整合制御部1は、このような制御を行うことにより、各シミュレーション演算部におけるシミュレーションの進行度が同じとなるようにする(シミュレーション演算部間の時間的な同期が維持されるようにする)。
Based on the simulation time notified from each simulation calculation unit, the synchronization
以下、本実施の形態の統合シミュレーション装置における各シミュレーション演算部の同期制御動作について、図1を参照しつつ図3を用いて説明する。なお、説明を簡単化するため、シミュレーション演算部が2つの場合の同期制御動作について示す。図3は、実施の形態1の同期整合制御部1による各シミュレーション演算部の同期制御動作の一例を示すシーケンス図である。
Hereinafter, the synchronization control operation of each simulation calculation unit in the integrated simulation apparatus according to the present embodiment will be described with reference to FIG. In order to simplify the description, a synchronous control operation in the case where there are two simulation calculation units will be described. FIG. 3 is a sequence diagram illustrating an example of the synchronization control operation of each simulation calculation unit by the synchronization
ここで、同期整合制御部1が各シミュレーション演算部の同期がとれているかどうかを判定する方法について示す。各シミュレーション演算部は、シミュレーションを行う際に使用するシナリオに従い、所定の処理(シナリオ内で予め指定された処理)が完了すると、その時点のシミュレーション時刻を他のシミュレーション演算部に対して通知する。このシナリオ内の予め指定しておく処理は、各シミュレーション演算部におけるシミュレーションの進行度を同期整合制御部1が認識するために利用するものであり、各シミュレーション演算部における進行度が同じ場合には同じシミュレーション時刻が通知されるように考慮して指定されるものである。
Here, a method is described in which the synchronization
そして、同期整合制御部1は、シミュレーション時刻を通知された場合、このシミュレーション時刻を、その通知元のシミュレーション演算部とは異なるシミュレーション演算部から以前(前回)に通知され、記憶しておいたシミュレーション時刻(比較対象時刻と呼ぶ)と比較し、通知されたシミュレーション時刻が比較対象時刻よりも進んでいた場合、同期が維持されていると判定する。一方、比較対象時刻よりも遅れている場合には同期が維持されていない(シミュレーション速度が遅く、シミュレーションの進行度に大幅な遅れが生じている)と判定する。
When the simulation matching time is notified, the synchronous
このような判定方法を利用した制御動作である図3に示した制御動作について説明する。図3の例では、第1シミュレーション演算部10−1でのシミュレーション時刻が時刻T101になったときに、当該第1シミュレーション演算部10−1がシミュレーション時刻T101の情報とパラメータとを含んだメッセージを生成し、第2シミュレーション演算部10−2宛に送信する。なお、このメッセージは、同期整合制御部1により一旦受信され、必要に応じて制御情報などが追加された後、宛先である第2シミュレーション演算部10−2へ転送される。ただし、第1シミュレーション演算部10−1(モデル計算部13)は、この時点でモデル計算を一旦停止することなく、または、所定の短い期間だけモデル計算を停止した後、後続のモデル計算を実施する。これは、他のシミュレーション演算部(第2シミュレーション演算部10−2)においても同様である。すなわち、各シミュレーション演算部は、他のシミュレーション演算部におけるシミュレーション(モデル演算)の進行度を考慮することなく、シミュレーションを行う。
The control operation shown in FIG. 3 which is a control operation using such a determination method will be described. In the example of FIG. 3, when the simulation time in the first simulation calculation unit 10-1 reaches time T <b> 101, the first simulation calculation unit 10-1 sends a message including information and parameters of the simulation time T <b> 101. Generated and transmitted to the second simulation calculation unit 10-2. This message is once received by the synchronous
図3においては、第1シミュレーション演算部10−1から送信され同期整合制御部1に到達する前のメッセージを「データ送信」と表記し、同期整合制御部1により転送された後のメッセージを「データメッセージ通知」と表記している。同様に、第2シミュレーション演算部10−2から送信され同期整合制御部1に到達する前のメッセージおよび同期整合制御部1から第1シミュレーション演算部10−1へ転送されたメッセージもそれぞれ、「データ送信」および「データメッセージ通知」と表記している。
In FIG. 3, a message transmitted from the first simulation calculation unit 10-1 before reaching the synchronous
シミュレーション時刻T101の情報(以下、「シミュレーション時刻T○○○の情報」を単に「時刻T○○○情報」と記載する)を含んだデータ送信を受信した同期整合制御部1では、時刻監視部4が、メッセージ中の時刻T101情報をその送信元の識別情報(第1シミュレーション演算部10−1の識別情報)と関連付けて時刻記録部5(図1参照)に保存する。また、時刻監視部4は、それ以前に第2シミュレーション演算部10−2から取得したシミュレーション時刻の情報を時刻記録部5が保持している場合、その情報と今回取得した時刻T101情報を比較し、比較結果を時刻同期部6へ通知する。ただし、図3の例ではこの時点で第2シミュレーション演算部10−2から取得したシミュレーション時刻を保持していないため、その旨を時刻同期部6へ通知する。時刻同期部6は、通知された比較結果(または比較対象が存在しないことを示す情報)に基づいて、第1シミュレーション演算部10−1の演算負荷と第2シミュレーション演算部10−2の演算負荷との間に差があるかどうか(すなわち同期がとれた状態かどうか)を判定し、さらに、判定結果に基づいて上記第1シミュレーション演算部10−1へ次回通知する分割サイズ(シミュレーションモデル座標における分割領域のサイズ)を決定する。なお、比較対象が存在しない旨が通知されたため、時刻同期部6は、各シミュレーション演算部の演算負荷の間に差があるかどうか判定できないが、この場合は差がないとみなして処理を継続する。各演算負荷に差がない場合、時刻同期部6は、分割サイズを変更しない(それまでと同じ分割サイズを継続して使用させる)ことに決定する。時刻同期部6は、この決定結果(第1シミュレーション演算部10−1の分割サイズ)を記憶しつつ、その時点で保持している第2シミュレーション演算部10−2の分割サイズ情報をメッセージ生成部7に渡す。
In the synchronous
また、パラメータ情報処理部3は、上記受信メッセージに設定された送信元および宛先のシミュレーション演算部の識別情報と当該受信メッセージに含まれるパラメータを抽出し、抽出した各識別情報とパラメータをメッセージ生成部7に渡す。メッセージ生成部7は、パラメータ情報処理部3から受け取った各識別情報およびパラメータと、時刻同期部6から受け取った分割サイズ情報と、を利用してメッセージを生成し、データ出力部8は、当該生成されたメッセージをデータメッセージ通知として第2シミュレーション演算部10−2へ送信する。このデータメッセージ通知を受信した第2シミュレーション演算部10−2は、以降、受信した分割サイズ情報が示す分割サイズでシミュレーションモデル座標を分割してシミュレーションを行う。 Further, the parameter information processing unit 3 extracts the identification information of the transmission and destination simulation calculation units set in the received message and the parameters included in the received message, and extracts the extracted identification information and parameters to the message generation unit. Pass to 7. The message generation unit 7 generates a message using each identification information and parameter received from the parameter information processing unit 3 and the division size information received from the time synchronization unit 6, and the data output unit 8 The transmitted message is transmitted to the second simulation calculation unit 10-2 as a data message notification. The second simulation calculation unit 10-2 that has received the data message notification performs the simulation by dividing the simulation model coordinates with the division size indicated by the received division size information.
一方、第2シミュレーション演算部10−2においても、上述した第1シミュレーション演算部10−1と同様の処理が並行して実行され、その結果、時刻T201情報を含んだデータ送信が行われる。 On the other hand, also in the 2nd simulation calculating part 10-2, the process similar to the 1st simulation calculating part 10-1 mentioned above is performed in parallel, As a result, the data transmission including the time T201 information is performed.
ここで、図3で示したシミュレーション時刻T10X(X:1,2,3,…)とT20Y(Y:1,2,3,…)の関係について説明する。図3で示したシミュレーション時刻において、XおよびYは対応するシミュレーション演算部のシミュレーションの進行度を示し、以下の関係が成り立つものとする。
X>Yの場合、T10Xの進行度の方が大きい(T10X>T20Y)
X<Yの場合、T20Yの進行度の方が大きい(T10X<T20Y)
X=Yの場合、T20Yの進行度の方が大きい(T10X<T20Y)
Here, the relationship between the simulation time T10X (X: 1, 2, 3,...) And T20Y (Y: 1, 2, 3,...) Shown in FIG. 3 will be described. At the simulation time shown in FIG. 3, X and Y indicate the degree of simulation progress of the corresponding simulation calculation unit, and the following relationship is established.
When X> Y, the progress of T10X is larger (T10X> T20Y)
When X <Y, the progress of T20Y is larger (T10X <T20Y)
When X = Y, the progress of T20Y is larger (T10X <T20Y)
時刻T201情報を含んだデータ送信を受信した同期整合制御部1は、受信した時刻T201情報、および既に受信し保持しておいた時刻T101情報に基づいて、第1シミュレーション演算部10−1の演算負荷と第2シミュレーション演算部10−2の演算負荷との間に差があるかどうかを判定し、さらに、判定結果に基づいて、上記時刻T201情報を含んだデータ送信の送信元である第2シミュレーション演算部10−2へ次回通知する分割サイズを決定する。具体的には、まず時刻監視部4が、各シミュレーション時刻(T101およびT201)を比較し、つぎに時刻同期部6が当該比較結果から各シミュレーション演算部の演算負荷に差があるかどうかを判定し、判定結果に基づいて分割サイズを決定する。ここでは、時刻T201>時刻T101であるため各シミュレーション演算部の演算負荷には差がないと判定する。そしてこの場合、分割サイズを変更しないことに決定する。なお、決定結果(分割サイズの情報)は、時刻同期部6で保持しておく。また、メッセージ生成部7で生成され、データメッセージ通知として送信されるメッセージには、それ以前に決定し保持しておいた第1シミュレーション演算部10−1の分割サイズ情報を含める。このデータメッセージ通知を受信した第1シミュレーション演算部10−1は、以降、受信した分割サイズ情報が示す分割サイズでシミュレーションモデル座標を分割してシミュレーションを行う。
The synchronization
以後、第1シミュレーション演算部10−1および第2シミュレーション演算部10−2は、自身が管理するシミュレーション時刻を進めながら上述した処理を継続して行い、対向するシミュレーション演算部に向けて所定のタイミングで、シミュレーション時刻情報を含んだデータ送信を行う。また同期整合制御部1は、データ送信を受信すると、上述した処理を実行し、各シミュレーション演算部に通知する分割サイズを決定する。
Thereafter, the first simulation calculation unit 10-1 and the second simulation calculation unit 10-2 continuously perform the above-described processing while advancing the simulation time managed by the first simulation calculation unit 10-1 and the second simulation calculation unit 10-2. Then, data transmission including simulation time information is performed. In addition, when receiving the data transmission, the synchronous
図3に示した例では、第1シミュレーション演算部10−1から時刻T102情報を受け取ると、同期整合制御部1は、それ以前に第2シミュレーション演算部10−2から通知されたシミュレーション時刻の中の最新のものである時刻T201と時刻T102を比較する。そして、時刻T102>時刻T201、すなわち今回受け取った時刻T102の方が大きいため、各シミュレーション演算部の演算負荷には差がないと判定し、分割サイズの変更は行わない。
In the example shown in FIG. 3, when the time T102 information is received from the first simulation calculation unit 10-1, the synchronization
その後、さらに第1シミュレーション演算部10−1から時刻T103情報を受け取ると、同期整合制御部1は、それ以前に第2シミュレーション演算部10−2から通知されたシミュレーション時刻の中の最新のものである時刻T201と時刻T103を比較する。そして、時刻T103>時刻T201、すなわち今回受け取った時刻T103の方が大きいため、各シミュレーション演算部の演算負荷には差がないと判定し、分割サイズの変更は行わない。
Thereafter, when the time T103 information is further received from the first simulation calculation unit 10-1, the synchronization
その後、第2シミュレーション演算部10−2から時刻T202情報を受け取ると、同期整合制御部1は、それ以前に第1シミュレーション演算部10−1から通知されたシミュレーション時刻の中の最新のものである時刻T103と時刻T202を比較する。そして、時刻T103>時刻T202、すなわち今回受け取った時刻T202の方が小さいため、第2シミュレーション演算部10−2の演算負荷の方が高い状態になっていると判定する。この結果、第2シミュレーション演算部10−2に通知する分割サイズをそれ以前に通知したサイズよりも大きくする。また、サイズ変更を行ったことと変更後の分割サイズを記憶する。ただし、この時点では、この変更結果は第2シミュレーショ演算部10−2へ通知されないため、第2シミュレーション演算部10−2はそれまでと同じシミュレーション速度で処理を継続することとなる。
Thereafter, when receiving the time T202 information from the second simulation calculation unit 10-2, the synchronization
その後、第1シミュレーション演算部10−1から時刻T104情報を受け取ると、同期整合制御部1は、それ以前に第2シミュレーション演算部10−2から通知されたシミュレーション時刻の中の最新のものである時刻T202と時刻T104を比較する。そして、時刻T104>時刻T202、すなわち今回受け取った時刻T104の方が大きいため、各シミュレーション演算部の演算負荷には差がないと判定する。ただし、前回の判定処理において演算負荷に差があると判定し、分割サイズを変更していたため、前回決定した分割サイズ(以前よりも大きな分割サイズ)で処理を行うように指示する情報を含んだメッセージを生成し、データメッセージ通知として第2シミュレーション演算部10−2へ送信する。分割サイズの変更指示は、たとえば、予め定義しておいた拡大フラグを利用して行う。
After that, when receiving the time T104 information from the first simulation calculation unit 10-1, the synchronization
上記分割サイズの変更指示を受けた第2シミュレーション演算部10−2は、指示内容に従い、それまで使用していたX方向分割サイズΔx,Y方向分割サイズΔy,Z方向分割サイズΔzをそれぞれ拡大し、ΔX,ΔY,ΔZへと変更する。この結果、第2シミュレーション演算部10−2におけるシミュレーション速度が上がり、時刻T203情報の送信処理および時刻T204情報の送信処理を短期間で実施することとなる。 In response to the instruction to change the division size, the second simulation calculation unit 10-2 expands the X-direction division size Δx, the Y-direction division size Δy, and the Z-direction division size Δz, which have been used, according to the instruction contents. , ΔX, ΔY, ΔZ. As a result, the simulation speed in the second simulation calculation unit 10-2 is increased, and the transmission process of the time T203 information and the transmission process of the time T204 information are performed in a short period of time.
なお、第2シミュレーション演算部10−2から送信された時刻T203情報を受信した場合、同期整合制御部1は、各シミュレーション演算部の演算負荷に差があるかどうかの判定処理で、T104>T203であることから第2シミュレーション演算部10−2の演算負荷の方が高い状態になっていると判定するが、前回第2シミュレーション演算部10−2からシミュレーション時刻情報(時刻T202情報)を受け取った際にも同じ判定結果を得ているため、ここでは、第2シミュレーション演算部10−2に通知する分割サイズを変更しない。ただし、これはあくまで一例であり、この時点でさらに分割サイズを変更(大きくする)ようにしても構わない。この場合、時間的な同期のずれを短時間で解消させることが可能となる。また、分割サイズをさらに大きくする場合、直前(前回)と同程度の変更量にするのではなく変更量を抑えるようにしてもよい。変更量を抑えることにより、時間的な同期のずれが解消されるまでの所要時間は長くなるがシミュレーション速度を必要以上に上げてしまい、逆方向のずれが生じてしまう(速度を上げた側のシミュレーションの進行度が他方と比較して大幅に進行してしまう)のを防止できる。
When the time T203 information transmitted from the second simulation calculation unit 10-2 is received, the synchronization
図3に示した例では、その後、第2シミュレーション演算部10−2から時刻T204情報を受け取ると、同期整合制御部1は、それ以前に第1シミュレーション演算部10−1から通知されたシミュレーション時刻の中の最新のものである時刻T104と時刻T204を比較する。そして、時刻T204>時刻T104、すなわち今回受け取った時刻T204の方が大きいため、各シミュレーション演算部の演算負荷には差がない(演算負荷の差が解消され、同期状態に復帰した)と判定する。そして、第2シミュレーション演算部10−2は、現在シミュレーション速度が上がった状態であるから、これを元のシミュレーション速度で動作させるように制御を行う。すなわち、一旦変更した分割サイズを元の分割サイズに再変更する。ただし、この時点では次の分割サイズ指示タイミングにおいて通知する分割サイズの決定のみを行い、サイズ変更を行ったことと変更後の分割サイズを記憶する。
In the example illustrated in FIG. 3, when the time T204 information is received from the second simulation calculation unit 10-2 thereafter, the synchronization
その後、第1シミュレーション演算部10−1から時刻T105情報を受け取ると、同期整合制御部1は、それ以前に第2シミュレーション演算部10−2から通知されたシミュレーション時刻の中の最新のものである時刻T204と時刻T105を比較する。そして、時刻T105>時刻T204、すなわち今回受け取った時刻T105の方が大きいため、各シミュレーション演算部の演算負荷には差がないと判定する。ただし、前回の判定処理において、分割サイズを変更していたため、前回決定した分割サイズで処理を行うように指示する情報を含んだメッセージを生成し、データメッセージ通知として第2シミュレーション演算部10−2へ送信する。分割サイズの変更指示は、たとえば、予め定義しておいた縮小フラグを利用して行う。
Thereafter, when receiving the time T105 information from the first simulation calculation unit 10-1, the synchronization
上記分割サイズの変更指示を受けた第2シミュレーション演算部10−2は、指示内容に従い、それまで使用していたX方向分割サイズΔX,Y方向分割サイズΔY,Z方向分割サイズΔZをそれぞれΔz,Δy,Δz(元々使用していたサイズ)に縮小する。この結果、第2シミュレーション演算部10−2におけるシミュレーションの進行度が他と比較して進み過ぎないようにする。 In response to the instruction, the second simulation calculation unit 10-2 receives the X-direction division size ΔX, the Y-direction division size ΔY, and the Z-direction division size ΔZ that have been used up to Δz, Reduce to Δy, Δz (originally used size). As a result, the progress of the simulation in the second simulation calculation unit 10-2 is prevented from proceeding excessively as compared with others.
本実施の形態では、説明を簡単化するため、同期制御対象のシミュレーション演算部が2つの場合について説明したが、同期制御対象のシミュレーション演算部が3つ以上の場合でも同様の制御が可能である。また、同期整合制御部1が分割サイズを指示することによりシミュレーション速度を制御する場合について示したが、分割サイズに代えて分割数を指示するようにしても同様の制御が可能である。各方向を同じ分割数で分割する場合には、単一の分割数のみを通知すればよいので通知する情報量を低く抑えることができる。
In the present embodiment, the case where there are two simulation calculation units subject to synchronization control has been described in order to simplify the description, but the same control is possible even when there are three or more simulation calculation units subject to synchronization control. . Further, although the case where the synchronization
なお、同期整合制御部1によるシミュレーション時刻を利用して負荷の大小関係を判定する方法は一例であり、他の方法を用いてもよい。たとえば、各シミュレーション演算部から通知されるシミュレーション時刻の差を求め、その変化量(過去に求めた差と今回求めた差の比較結果)から負荷の大小関係を判定するようにしてもよい。この場合、同期のずれ量が比較的小さい段階でシミュレーション速度を制御して同期を維持させるようにすることが可能である。
Note that the method of determining the load magnitude relationship using the simulation time by the synchronous
また、上述した制御では、パラメータを送信するためのメッセージを利用して分割サイズを通知するようにしているが、たとえば分割サイズを通知するためのメッセージを新たに定義し、それを使用して通知してもよい。この場合、演算負荷に差がある(または差がなくなった)と判定後、それに応じた分割サイズに変更するまでの遅延時間を少なくすることができる。 In the above-described control, the division size is notified using a message for transmitting a parameter. For example, a new message for notifying the division size is defined and notified using the message. May be. In this case, after determining that there is a difference (or no more difference) in the calculation load, it is possible to reduce the delay time until the division size is changed accordingly.
また、説明したとおり、各シミュレーション演算部は、他のシミュレーション演算部におけるシミュレーションの進行度を考慮することなく、同期整合制御部1から指示された分割サイズに応じたシミュレーション速度でシミュレーションを進める。そのため、同期整合制御部1は、各シミュレーション演算部からデータ送信にて受信したシミュレーション時刻の情報をデータメッセージ通知に含めないようにしてもよい(受信したシミュレーション時刻の情報を他のシミュレーション演算部へ転送しなくてもよい)。このようにすることで、同期整合制御部1が各シミュレーション演算部へ送信するデータ量を少なくできる。
Further, as described, each simulation calculation unit advances the simulation at a simulation speed corresponding to the division size instructed from the synchronous
このように、本実施の形態の統合シミュレーション装置では、同期整合制御部が、位置座標を考慮したモデル計算を行う各シミュレーション演算部からそれぞれ通知されたシミュレーション時刻を比較することにより各シミュレーション演算部の演算負荷に差があるかどうかを判定し、判定結果に基づいて、各シミュレーション演算部がシミュレーションモデル座標を分割する際の分割サイズを決定するようにした。これにより、各シミュレーション演算部の演算負荷に差がある場合には、高負荷状態となっているシミュレーション演算部の負荷が軽減されるように分割サイズを決定することができる。すなわち、高負荷状態のシミュレーション演算部におけるシミュレーション速度を高めることができ、その結果、シミュレーションの所要時間が短縮される。 As described above, in the integrated simulation apparatus according to the present embodiment, the synchronization matching control unit compares the simulation times notified from the simulation calculation units that perform model calculation in consideration of the position coordinates. It is determined whether there is a difference in calculation load, and based on the determination result, the division size used when each simulation calculation unit divides the simulation model coordinates is determined. Thereby, when there is a difference in the calculation load of each simulation calculation unit, the division size can be determined so that the load of the simulation calculation unit in a high load state is reduced. That is, it is possible to increase the simulation speed in the high load state simulation calculation unit, and as a result, the time required for the simulation is shortened.
実施の形態2.
つづいて、実施の形態2の統合シミュレーション装置について説明する。上述した実施の形態1の統合シミュレーション装置では、同期整合制御部は、各シミュレーション演算部に対して分割サイズの拡大指示情報または縮小指示情報のみを送信し、分割サイズを具体的に指示する情報については送信していなかったため、シミュレーション速度を高精度に制御することが難しかった。そのため、本実施の形態では、シミュレーション速度をより高精度に制御する統合シミュレーション装置について説明する。なお、本実施の形態の統合シミュレーション装置の構成は、実施の形態1の統合シミュレーション装置(図1参照)と同様であり、同期整合制御部1が各シミュレーション演算部におけるシミュレーションモデル座標の分割サイズを指示する際の動作のみが異なる。そのため、本実施の形態では、実施の形態1と異なる部分についてのみ説明する。
Embodiment 2. FIG.
Next, the integrated simulation apparatus according to the second embodiment will be described. In the integrated simulation apparatus according to the first embodiment described above, the synchronization matching control unit transmits only the division size enlargement instruction information or the reduction instruction information to each simulation calculation unit, and information that specifically indicates the division size. Was not transmitted, it was difficult to control the simulation speed with high accuracy. Therefore, in this embodiment, an integrated simulation apparatus that controls the simulation speed with higher accuracy will be described. The configuration of the integrated simulation apparatus according to the present embodiment is the same as that of the integrated simulation apparatus according to the first embodiment (see FIG. 1), and the synchronous
図4は、実施の形態2の同期整合制御部1による各シミュレーション演算部の同期制御動作の一例を示すシーケンス図である。この図4と実施の形態1の同期制御処理を示した図3とを比較するとわかるように、本実施の形態の各シミュレーション演算部は、シミュレーション時刻を通知する際にその時点の分割サイズ(図示したΔx,Δy,Δzなど)を併せて通知する。この動作を実現するために、たとえば、各シミュレーション演算部の時刻制御部12は、同期整合制御部1から分割サイズ情報を取得した場合、この情報が示す分割サイズをモデル計算部13へ通知するとともに記憶しておき、シミュレーション時刻を他のシミュレーション演算部へ通知する場合には、その時点で記憶している分割サイズを併せて通知する。また、同期整合制御部1は、各シミュレーション演算部からシミュレーション時刻および分割サイズを通知された場合、実施の形態1と同じ方法で、各シミュレーション演算部の演算負荷に差があるかどうかを判定し、差があると判定した場合には、それ以前に各シミュレーション演算部から通知され、保持しておいた分割サイズを考慮して、新たな分割サイズを決定する。
FIG. 4 is a sequence diagram illustrating an example of the synchronization control operation of each simulation calculation unit by the synchronization
以下、本実施の形態の統合シミュレーション装置において、同期整合制御部1が各シミュレーション演算部を同期制御する動作について、図1を参照しつつ図4を用いて説明する。なお、説明を簡単化するため、上述した実施の形態1と同様にシミュレーション演算部が2つの場合の同期制御動作について示す。
Hereinafter, in the integrated simulation apparatus of the present embodiment, an operation in which the synchronous
図4に示した例では、第1シミュレーション演算部10−1でのシミュレーション時刻が時刻T101になったときに、当該第1シミュレーション演算部10−1がシミュレーション時刻の情報である時刻T101情報、その時点で使用している分割サイズの情報(X方向分割サイズΔx,Y方向分割サイズΔy,Z方向分割サイズΔz)およびパラメータを含んだメッセージを生成し、第2シミュレーション演算部10−2宛に送信する。 In the example shown in FIG. 4, when the simulation time in the first simulation calculation unit 10-1 is time T 101, the first simulation calculation unit 10-1 is time T 101 information that is simulation time information, A message including information on the division size used at the time (X direction division size Δx, Y direction division size Δy, Z direction division size Δz) and parameters is generated and transmitted to the second simulation calculation unit 10-2. To do.
時刻T101情報および分割サイズ情報を含んだ上記メッセージであるデータ送信を受信した同期整合制御部1では、時刻監視部4が、メッセージ中の時刻T101情報および分割サイズ情報をその送信元の識別情報(第1シミュレーション演算部10−1の識別情報)と関連付けて時刻記録部5に保存する。また、時刻監視部4は、それ以前に第2シミュレーション演算部10−2から取得し時刻記録部5に記憶させておいたシミュレーション時刻の情報と今回取得した時刻T101情報を比較し、比較結果を時刻同期部6へ通知する。ただし、図4の例ではこの時点で第2シミュレーション演算部10−2から取得したシミュレーション時刻を保持していないため、その旨を時刻同期部6へ通知する。時刻同期部6は、通知された比較結果(または比較対象が存在しない旨を示す情報)に基づいて、第1シミュレーション演算部10−1の演算負荷と第2シミュレーション演算部10−2の演算負荷との間に差があるかどうか(すなわち同期がとれた状態かどうか)を判定し、さらに、判定結果および時刻記録部5が保持している第2シミュレーション演算部10−2の分割サイズ情報に基づいて上記受信メッセージの転送先である第2シミュレーション演算部10−2へ通知する分割サイズを決定する。
In the synchronous
ただし、図4の例ではこの時点で第2シミュレーション演算部10−2の分割サイズ情報を保持しておらず分割サイズを決定できない。そのため、第2シミュレーション演算部10−2に対して分割サイズを通知しない。すなわち、メッセージ生成部7は、分割サイズ情報を含んでいないメッセージを生成し、それをデータメッセージ通知として第2シミュレーション演算部10−2へ送信する。なお、第2シミュレーション演算部10−2は分割サイズを通知されなかった場合、それまで使用していた分割サイズを引き続き使用することとする。第1シミュレーション演算部10−1も同様に、同期整合制御部1から分割サイズを通知されない場合には、それまで使用していた分割サイズを引き続き使用する。
However, in the example of FIG. 4, the division size information of the second simulation calculation unit 10-2 is not held at this time, and the division size cannot be determined. Therefore, the division size is not notified to the second simulation calculation unit 10-2. That is, the message generation unit 7 generates a message that does not include the division size information, and transmits it as a data message notification to the second simulation calculation unit 10-2. When the second simulation calculation unit 10-2 is not notified of the division size, the second simulation calculation unit 10-2 continues to use the division size that has been used. Similarly, when the division size is not notified from the synchronization
一方、第2シミュレーション演算部10−2においても、上述した第1シミュレーション演算部10−1と同様の処理が並行して実行され、時刻T201情報および使用している分割サイズ情報を含んだデータ送信を行う。ただし、ここでは、図示したように、時刻T101情報等を含んだデータ送信が、時刻T201情報等を含んだデータ送信よりも先行して行われるものとする。 On the other hand, also in the second simulation calculation unit 10-2, the same processing as that of the first simulation calculation unit 10-1 described above is executed in parallel, and data transmission including time T201 information and used division size information is performed. I do. However, here, as shown in the figure, it is assumed that data transmission including time T101 information and the like is performed prior to data transmission including time T201 information and the like.
時刻T201情報および分割サイズ情報を含んだデータ送信を受信した同期整合制御部1は、受信した時刻T201情報、および既に受信し保持しておいた時刻T101情報に基づいて、第1シミュレーション演算部10−1の演算負荷と第2シミュレーション演算部10−2の演算負荷との間に差があるかどうかを判定し、さらに、判定結果に基づいて、上記時刻T201情報を含んだデータ送信の送信元である第2シミュレーション演算部10−2へ次回通知する分割サイズを決定する。具体的には、まず時刻監視部4が、各シミュレーション時刻(T101およびT201)を比較し、つぎに時刻同期部6が当該比較結果から各シミュレーション演算部の演算負荷に差があるかどうかを判定し、さらに、判定結果および上記通知された分割サイズ情報に基づいて、前記時刻T201情報等の送信元シミュレーション演算部に対して通知する分割サイズを決定する。ここでは、時刻T201>時刻T101であるため各シミュレーション演算部の演算負荷には差がないと判定する。そしてこの場合、分割サイズを変更しないことに決定し、それ以前に第1シミュレーション演算部10−1から取得し保持しておいた分割サイズ(分割サイズを複数保持している場合には最新のもの)の情報を含んだメッセージを生成し、データメッセージ通知として送信する。このデータメッセージ通知を受信した受信した第1シミュレーション演算部10−1は、以降、受信した分割サイズ情報が示す分割サイズでシミュレーションモデル座標を分割してシミュレーションを行う。
The synchronization
以後、第1シミュレーション演算部10−1および第2シミュレーション演算部10−2は、自身が管理するシミュレーション時刻を進めながら上述した処理を継続して行い、対向するシミュレーション演算部に向けて所定のタイミングで、シミュレーション時刻情報および分割サイズ情報を含んだデータ送信を行う。また同期整合制御部1は、データ送信を受信すると、上述した処理を実行し、各シミュレーション演算部に通知する分割サイズを決定する。
Thereafter, the first simulation calculation unit 10-1 and the second simulation calculation unit 10-2 continuously perform the above-described processing while advancing the simulation time managed by the first simulation calculation unit 10-1 and the second simulation calculation unit 10-2. Then, data transmission including simulation time information and division size information is performed. In addition, when receiving the data transmission, the synchronous
図4に示した例では、第2シミュレーション演算部10−2から送信された、時刻T202情報および分割サイズ情報(Δx,Δy,Δz)を含んだデータ送信を受信した場合に、同期整合制御部1が特徴的な動作を行う。以下、この動作を具体的に示す。
In the example shown in FIG. 4, when the data transmission including the time T202 information and the division size information (Δx, Δy, Δz) transmitted from the second simulation calculation unit 10-2 is received, the synchronous
第2シミュレーション演算部10−2から時刻T202情報および分割サイズ情報を受け取ると、同期整合制御部1は、それ以前に第1シミュレーション演算部10−1から通知されたシミュレーション時刻の中の最新のものである時刻T103と時刻T202を比較し、第2シミュレーション演算部10−2の演算負荷の方が高い状態になっていると判定する。そのため、同期整合制御部1では、第2シミュレーション演算部10−2から取得した分割サイズ情報(Δx,Δy,Δz)が示すサイズよりも大きくなるように、分割サイズを決定し、当該決定した分割サイズ(ΔX,ΔY,ΔZとする)を記憶しておく。また、同期整合制御部1の時刻監視部4では、第2シミュレーション演算部の遅延(演算負荷が高い状態)の継続を測るタイマーをスタートする。
When the time T202 information and the division size information are received from the second simulation calculation unit 10-2, the synchronization
その後、第1シミュレーション演算部10−1から時刻T104情報および分割サイズ情報を受け取ると、同期整合制御部1は、所定の処理(各シミュレーション演算部の演算負荷の差を判定する処理や分割サイズを決定する処理など)を実行後、今回受け取った時刻T104情報とともに、上記記憶しておいた分割サイズ情報(ΔX,ΔY,ΔZ)を第2シミュレーション演算部10−2へ送信する。
After that, upon receiving the time T104 information and the division size information from the first simulation calculation unit 10-1, the synchronous
上記分割サイズ(ΔX,ΔY,ΔZ)を通知された第2シミュレーション演算部10−2は、通知内容に従い、それまで使用していた分割サイズ(Δx,Δy,Δz)を今回通知された分割サイズ(ΔX,ΔY,ΔZ)に更新する。この結果、第2シミュレーション演算部10−2におけるシミュレーション速度が上がり、時刻T203情報の送信処理および時刻T204情報の送信処理を短期間で実施することとなる。 The second simulation calculation unit 10-2 notified of the division size (ΔX, ΔY, ΔZ), in accordance with the notification content, the division size (Δx, Δy, Δz) that has been used so far according to the notification content. Update to (ΔX, ΔY, ΔZ). As a result, the simulation speed in the second simulation calculation unit 10-2 is increased, and the transmission process of the time T203 information and the transmission process of the time T204 information are performed in a short period of time.
その後、第2シミュレーション演算部10−2から時刻T204情報を受け取ると、同期整合制御部1は、各シミュレーション演算部の演算負荷には差がない(演算負荷の差が解消され、同期状態に復帰した)と判定する。そして、第2シミュレーション演算部10−2の分割サイズを小さな分割サイズに再変更する。ただし、この時点では次の分割サイズ指示タイミングにおいて通知する分割サイズの決定のみを行い、サイズ変更を行ったことと変更後の分割サイズを記憶する。小さなサイズに変更した後の分割サイズは、上記大きなサイズに変更する前の分割サイズと同じサイズとしてもよいし、異なるサイズとしてもよい。また、第2シミュレーション演算部10−2の遅延継続を測るタイマーを停止する。その後、同期整合制御部1は、第1シミュレーション演算部10−1から時刻T105情報等を含んだデータ送信を受信すると、上記記憶しておいた小さなサイズに変更した後の分割サイズを第2シミュレーション演算部10−2へ通知し、第2シミュレーション演算部10−2は、以降、通知された分割サイズ(それまで使用していたものよりも小さい値の分割サイズ)に従いシミュレーションを行う。
Thereafter, when receiving the time T204 information from the second simulation calculation unit 10-2, the synchronization
なお、図4に示した例では、各シミュレーション演算部の演算負荷の差が比較的小さく、演算負荷の異なる状態が速やかに回復するシーケンスを示しているが、演算負荷の差が大きい場合には、以下のような制御を行う。 The example shown in FIG. 4 shows a sequence in which the difference in the calculation load of each simulation calculation unit is relatively small and the state where the calculation load is different is recovered quickly. However, when the difference in calculation load is large, The following control is performed.
同期整合制御部1は、たとえば第2シミュレーション演算部10−2の演算負荷が大きい状態であることを検出後、第2シミュレーション演算部10−2から受信したシミュレーション時刻が引き続き第1シミュレーション演算部10−1から受信したシミュレーション時刻より遅れている(演算負荷の大きい状態が継続している)場合、第2シミュレーション演算部10−2の遅延の継続を測るタイマーを加算し、このタイマー値に比例させて分割サイズ(ΔX,ΔY,ΔZ)を徐々に大きくする。この制御をタイマーがストップするまで繰り返す。すなわち、同期整合制御部1は、演算負荷の大きい状態が解消するまで、第2シミュレーション演算部10−2のシミュレーション速度を段階的に上げていく。
For example, after the synchronization
この場合、同期整合制御部1が演算負荷の高くなったシミュレーション演算部の負荷の差の度合いを監視しながら分割サイズを拡大していくので、演算負荷の高くなったシミュレーション演算部のシミュレーション進行速度を速やかに上げることができる。
In this case, since the synchronous
なお、実施の形態1で示した統合シミュレーション装置の同期整合制御部1に対して同様の制御を適用することも可能である。すなわち、演算負荷の大きい状態(高負荷状態)が解消するまでの時間を監視し、高負荷状態の継続時間に応じて分割サイズを決定するようにしてもよい。
It is possible to apply the same control to the synchronous
このように、本実施の形態の統合シミュレーション装置では、同期整合制御部が、各シミュレーション演算部からシミュレーション時刻およびその時点で使用している分割サイズの通知を受け、通知された各シミュレーション時刻を比較することにより各シミュレーション演算部の演算負荷に差があるかどうかを判定し、判定結果に基づいて、各シミュレーション演算部がシミュレーションモデル座標を分割する際の分割サイズを決定するようにした。これにより、各シミュレーション演算部の演算負荷に差がある場合には、各シミュレーション演算部から通知された分割サイズを考慮した上で高負荷状態となっているシミュレーション演算部の負荷が軽減されるように分割サイズを決定することができる。すなわち、高負荷状態のシミュレーション演算部におけるシミュレーション速度の増加量を柔軟に制御し、時間的な同期を維持しつつ装置全体の処理速度を高めることができる。 As described above, in the integrated simulation apparatus according to the present embodiment, the synchronous matching control unit receives the notification of the simulation time and the division size used at that time from each simulation calculation unit, and compares the notified simulation times. Thus, it is determined whether there is a difference in the calculation load of each simulation calculation unit, and based on the determination result, the division size when each simulation calculation unit divides the simulation model coordinates is determined. Thereby, when there is a difference in the calculation load of each simulation calculation unit, the load on the simulation calculation unit in a high load state is reduced in consideration of the division size notified from each simulation calculation unit. The partition size can be determined. That is, it is possible to flexibly control the amount of increase in the simulation speed in the high-load-state simulation calculation unit, and to increase the processing speed of the entire apparatus while maintaining temporal synchronization.
また、高負荷状態の継続時間に応じて分割サイズを決定するようにしたので、高負荷状態のシミュレーション演算部は状況に応じたシミュレーション速度でシミュレーションを実行することができる。 Further, since the division size is determined according to the duration of the high load state, the simulation calculation unit in the high load state can execute the simulation at a simulation speed corresponding to the situation.
なお、上記説明ではX方向,Y方向,Z方向のすべてのサイズを変更することにより分割サイズを調整することとしたが、これらのうちの任意の1つまたは2つを変更して分割サイズを調整するようにしてもよい。 In the above description, the division size is adjusted by changing all the sizes in the X direction, the Y direction, and the Z direction. However, any one or two of these are changed to change the division size. You may make it adjust.
以上のように、本発明にかかる統合シミュレーション装置は、時間的な同期を維持しながら分割実施するシミュレーションにおける全体の処理時間の短縮化に有用である。 As described above, the integrated simulation apparatus according to the present invention is useful for shortening the entire processing time in a simulation executed in a divided manner while maintaining temporal synchronization.
1 同期整合制御部
2、11 データ入力部
3 パラメータ情報処理部
4 時刻監視部
5 時刻記録部
6 時刻同期部
7 メッセージ生成部
8、15 データ出力部
10−1 第1シミュレーション演算部
10−2 第2シミュレーション演算部
10−N 第Nシミュレーション演算部
12 時刻制御部
13 モデル計算部
14 パラメータ生成部
DESCRIPTION OF
Claims (7)
当該各シミュレーション演算部間の同期制御を行う同期整合制御部
を備え、
前記各シミュレーション演算部は、
モデル計算の対象であるシミュレーションモデル座標を前記同期整合制御部から通知された分割サイズで分割し、得られた各分割領域を対象としてモデル計算を行うモデル計算手段と、
前記モデル計算手段による処理の進捗を監視し、処理の進捗を示すシミュレーション時刻を所定のタイミングで前記同期整合制御部に通知するシミュレーション時刻通知手段と、
を有し、
前記同期整合制御部は、
前記各シミュレーション演算部から通知されたシミュレーション時刻に基づいて、各シミュレーション演算部に通知する分割サイズを個別に決定する分割サイズ決定手段と、
前記分割サイズ決定手段により決定された各分割サイズを、対応するシミュレーション演算部へ通知する分割サイズ通知手段と、
を有し、
前記分割サイズ決定手段は、
前記各シミュレーション演算部の中のいずれか一つからシミュレーション時刻を通知されるごとに、当該通知されたシミュレーション時刻、および他のシミュレーション演算部の各々から通知され、保持しておいたシミュレーション時刻、に基づいて前記各シミュレーション演算部の負荷状態を判別し、さらに、当該判別結果に基づいて各シミュレーション演算部に通知する分割サイズを決定する、
ことを特徴とする統合シミュレーション装置。 A plurality of simulation calculation units that perform model calculation in consideration of position coordinates, and a synchronization matching control unit that performs synchronization control between the respective simulation calculation units,
Each of the simulation calculation units is
A model calculation unit that divides a simulation model coordinate that is a target of model calculation at a division size notified from the synchronous matching control unit, and performs model calculation for each of the obtained divided regions;
A simulation time notifying means for monitoring the progress of the process by the model calculating means and notifying the synchronous matching control section of a simulation time indicating the progress of the process at a predetermined timing;
I have a,
The synchronous matching control unit
Based on the simulation time notified from each simulation calculation unit, a division size determining means for individually determining the division size to be notified to each simulation calculation unit;
A division size notifying unit for notifying each of the division sizes determined by the division size determining unit to a corresponding simulation calculation unit;
Have
The division size determining means includes
Each time the simulation time is notified from any one of the simulation calculation units, the notified simulation time, and the simulation time notified and held by each of the other simulation calculation units, Based on the determination of the load state of each simulation calculation unit based on, further determine the division size to be notified to each simulation calculation unit based on the determination result,
An integrated simulation apparatus characterized by that.
前記負荷状態の判別処理で他のシミュレーション演算部よりも高負荷状態のシミュレーション演算部を検出した場合、当該検出したシミュレーション演算部の高負荷状態の継続時間を監視し、当該監視結果および前記判別結果に基づいて、当該高負荷状態のシミュレーション演算部に通知する分割サイズを決定することを特徴とする請求項1または2に記載の統合シミュレーション装置。 The division size determining means includes
When a simulation calculation unit having a higher load state than other simulation calculation units is detected in the determination process of the load state, the duration of the detected high load state of the simulation calculation unit is monitored, and the monitoring result and the determination result The division | segmentation size notified to the said simulation calculating part of the said high load state based on is determined, The integrated simulation apparatus of Claim 1 or 2 characterized by the above-mentioned.
当該各シミュレーション演算部間の同期制御を行う同期整合制御部Synchronous matching control unit that performs synchronous control between simulation units
を備え、With
前記各シミュレーション演算部は、 Each of the simulation calculation units is
モデル計算の対象であるシミュレーションモデル座標を前記同期整合制御部から通知された分割サイズで分割し、得られた各分割領域を対象としてモデル計算を行うモデル計算手段と、 A model calculation unit that divides a simulation model coordinate that is a target of model calculation by a division size notified from the synchronous matching control unit, and performs model calculation for each obtained divided region;
前記モデル計算手段による処理の進捗を監視し、処理の進捗を示すシミュレーション時刻を所定のタイミングで前記同期整合制御部に通知するシミュレーション時刻通知手段と、 A simulation time notifying means for monitoring the progress of the process by the model calculating means and notifying the synchronous matching control section of a simulation time indicating the progress of the process at a predetermined timing;
を有し、 Have
前記同期整合制御部は、 The synchronous matching control unit
前記各シミュレーション演算部から通知されたシミュレーション時刻に基づいて、各シミュレーション演算部に通知する分割サイズを個別に決定する分割サイズ決定手段と、 Based on the simulation time notified from each simulation calculation unit, a division size determining means for individually determining the division size to be notified to each simulation calculation unit;
前記分割サイズ決定手段により決定された各分割サイズを、対応するシミュレーション演算部へ通知する分割サイズ通知手段と、 A division size notifying unit for notifying each of the division sizes determined by the division size determining unit to a corresponding simulation calculation unit;
を有し、 Have
前記シミュレーション時刻通知手段は、 The simulation time notification means includes:
前記モデル計算手段がシミュレーションモデル座標を分割する際の分割サイズを記憶しておき、前記所定のタイミングで、当該記憶しておいた分割サイズを前記シミュレーション時刻とともに前記同期整合制御部に通知し、 The model calculation means stores a division size when the simulation model coordinates are divided, and notifies the stored matching size to the synchronous matching control unit together with the simulation time at the predetermined timing,
前記分割サイズ決定手段は、 The division size determining means includes
前記各シミュレーション演算部の中のいずれか一つからシミュレーション時刻および分割サイズを通知されるごとに、当該通知されたシミュレーション時刻、および他のシミュレーション演算部の各々から通知され、保持しておいたシミュレーション時刻、に基づいて前記各シミュレーション演算部の負荷状態を判別し、さらに、当該判別結果、前記通知された分割サイズおよび他のシミュレーション演算部の各々から通知され、保持しておいた分割サイズ、に基づいて各シミュレーション演算部に通知する分割サイズを個別に決定する、 Each time the simulation time and the division size are notified from any one of the simulation calculation units, the simulation time notified and the simulation that has been notified and held by each of the other simulation calculation units The load state of each simulation calculation unit is determined based on the time, and further, the determination result, the notified division size and the division size notified and held from each of the other simulation calculation units, Based on the division size to be notified to each simulation calculation unit based on,
ことを特徴とする統合シミュレーション装置。 An integrated simulation apparatus characterized by that.
前記負荷状態の判別処理で他のシミュレーション演算部よりも高負荷状態のシミュレーション演算部を検出した場合、当該検出したシミュレーション演算部の高負荷状態の継続時間を監視し、当該監視結果、前記判別結果、前記通知された分割サイズおよび前記保持しておいた分割サイズ、に基づいて当該高負荷状態のシミュレーション演算部に通知する分割サイズを決定することを特徴とする請求項4に記載の統合シミュレーション装置。 The division size determining means includes
When a simulation calculation unit having a higher load state than other simulation calculation units is detected in the load state determination process, the duration of the high load state of the detected simulation calculation unit is monitored, and the monitoring result and the determination result 5. The integrated simulation apparatus according to claim 4 , wherein a division size to be notified to the simulation calculation unit in the high load state is determined based on the notified division size and the held division size. .
前記負荷状態の判別処理で他のシミュレーション演算部よりも高負荷状態のシミュレーション演算部を検出した場合、当該シミュレーション演算部に対して通知する分割サイズを、前回通知した分割サイズよりも大きい分割サイズとすることを特徴とする請求項4または5に記載の統合シミュレーション装置。 The division size determining means includes
When a simulation calculation unit having a higher load than other simulation calculation units is detected in the determination processing of the load state, the division size notified to the simulation calculation unit is larger than the division size notified last time and The integrated simulation apparatus according to claim 4 or 5 , wherein
前回の判別処理で高負荷状態と判定したシミュレーション演算部が他のシミュレーション演算部と同等の負荷状態になったことを検出した場合、当該シミュレーション演算部に対して通知する分割サイズを、前回通知した分割サイズよりも小さい分割サイズとすることを特徴とする請求項6に記載の統合シミュレーション装置。 The division size determining means includes
When it is detected that the simulation calculation unit that has been determined to be in a high load state in the previous determination process has become a load state equivalent to other simulation calculation units, the division size to be notified to the simulation calculation unit was previously notified. The integrated simulation apparatus according to claim 6 , wherein the division size is smaller than the division size.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2008149412A JP5219639B2 (en) | 2008-06-06 | 2008-06-06 | Integrated simulation device |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2008149412A JP5219639B2 (en) | 2008-06-06 | 2008-06-06 | Integrated simulation device |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2009295014A JP2009295014A (en) | 2009-12-17 |
| JP5219639B2 true JP5219639B2 (en) | 2013-06-26 |
Family
ID=41543121
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2008149412A Expired - Fee Related JP5219639B2 (en) | 2008-06-06 | 2008-06-06 | Integrated simulation device |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP5219639B2 (en) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2014038030A1 (en) * | 2012-09-06 | 2014-03-13 | 株式会社日立製作所 | Co-simulation computer system, verification system for embedded systems, and verification method for embedded systems |
| JP7647359B2 (en) * | 2021-06-08 | 2025-03-18 | トヨタ自動車株式会社 | Multi-agent simulation system and multi-agent simulation method |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP4176902B2 (en) * | 1999-03-05 | 2008-11-05 | 三菱電機株式会社 | Simulation device |
| JP2008097541A (en) * | 2006-10-16 | 2008-04-24 | Renesas Technology Corp | Layout verification method and layout verification device |
-
2008
- 2008-06-06 JP JP2008149412A patent/JP5219639B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2009295014A (en) | 2009-12-17 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4016010B2 (en) | Real-time scheduling possibility determination method and real-time system | |
| JP6406466B1 (en) | Control device, control method, and control program | |
| US20170021501A1 (en) | Robot simulation device for human intervention-type robot system | |
| CN107025205A (en) | A kind of method and apparatus of training pattern in distributed system | |
| CN108803968B (en) | The Multiview linkage method of user's display interface calculates equipment and storage medium | |
| JP2014519642A5 (en) | ||
| CN103873380A (en) | Method, device and system for adjusting data distribution strategy | |
| JP5219639B2 (en) | Integrated simulation device | |
| JP2020107315A (en) | Synchronization control device, synchronization control system, synchronization control method, and simulation device | |
| KR20130080663A (en) | Method and apparatus for graphic processing using multi-threading | |
| JP7226103B2 (en) | Control systems, support equipment and support programs | |
| JPWO2010131596A1 (en) | Process scheduling system, method and program | |
| JP7163925B2 (en) | Information processing device, information processing method, and program | |
| CN105808340A (en) | Load balancing method and system | |
| US20210117831A1 (en) | Computer System | |
| JP5247395B2 (en) | Arithmetic means, integrated simulation system, and synchronous control method | |
| CN114995984B (en) | Distributed super-concurrent cloud computing system | |
| JP2014211806A (en) | Integrated simulator device, simulation method, and program | |
| JP2021022329A (en) | Sheet metal machining cost management device and sheet metal machining cost management method | |
| CN116775222A (en) | Resource scheduling method, device, cluster, equipment and readable storage medium | |
| US10230583B1 (en) | Multi-node object simulation | |
| KR102062082B1 (en) | Energy management system | |
| CN104050011A (en) | Virtual computer system | |
| EP4423579A1 (en) | System and method for monitoring manufacturing operations | |
| JPWO2023119350A5 (en) | Control device, control system, control method and program |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110329 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20121204 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130122 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20130205 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130305 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20160315 Year of fee payment: 3 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| LAPS | Cancellation because of no payment of annual fees |