(57)【特許請求の範囲】
【請求項１】
位置座標を考慮したモデル計算を行う複数のシミュレーション演算部、および
当該各シミュレーション演算部間の同期制御を行う同期整合制御部
を備え、
前記各シミュレーション演算部は、
モデル計算の対象であるシミュレーションモデル座標を前記同期整合制御部から通知された分割サイズで分割し、得られた各分割領域を対象としてモデル計算を行うモデル計算手段と、
前記モデル計算手段による処理の進捗を監視し、処理の進捗を示すシミュレーション時刻を所定のタイミングで前記同期整合制御部に通知するシミュレーション時刻通知手段と、
を有し、
前記同期整合制御部は、
前記各シミュレーション演算部から通知されたシミュレーション時刻に基づいて、各シミュレーション演算部に通知する分割サイズを個別に決定する分割サイズ決定手段と、
前記分割サイズ決定手段により決定された各分割サイズを、対応するシミュレーション演算部へ通知する分割サイズ通知手段と、
を有し、
前記分割サイズ決定手段は、
前記各シミュレーション演算部の中のいずれか一つからシミュレーション時刻を通知されるごとに、当該通知されたシミュレーション時刻、および他のシミュレーション演算部の各々から通知され、保持しておいたシミュレーション時刻、に基づいて前記各シミュレーション演算部の負荷状態を判別し、さらに、当該判別結果に基づいて各シミュレーション演算部に通知する分割サイズを決定する、
ことを特徴とする統合シミュレーション装置。
【請求項２】
前記モデル計算手段は、前記分割領域内の全データを同一とみなしてモデル計算を行うことを特徴とする請求項１に記載の統合シミュレーション装置。
【請求項３】
前記分割サイズ決定手段は、
前記負荷状態の判別処理で他のシミュレーション演算部よりも高負荷状態のシミュレーション演算部を検出した場合、当該検出したシミュレーション演算部の高負荷状態の継続時間を監視し、当該監視結果および前記判別結果に基づいて、当該高負荷状態のシミュレーション演算部に通知する分割サイズを決定することを特徴とする請求項１または２に記載の統合シミュレーション装置。
【請求項４】
位置座標を考慮したモデル計算を行う複数のシミュレーション演算部、および
当該各シミュレーション演算部間の同期制御を行う同期整合制御部
を備え、
前記各シミュレーション演算部は、
モデル計算の対象であるシミュレーションモデル座標を前記同期整合制御部から通知された分割サイズで分割し、得られた各分割領域を対象としてモデル計算を行うモデル計算手段と、
前記モデル計算手段による処理の進捗を監視し、処理の進捗を示すシミュレーション時刻を所定のタイミングで前記同期整合制御部に通知するシミュレーション時刻通知手段と、
を有し、
前記同期整合制御部は、
前記各シミュレーション演算部から通知されたシミュレーション時刻に基づいて、各シミュレーション演算部に通知する分割サイズを個別に決定する分割サイズ決定手段と、
前記分割サイズ決定手段により決定された各分割サイズを、対応するシミュレーション演算部へ通知する分割サイズ通知手段と、
を有し、
前記シミュレーション時刻通知手段は、
前記モデル計算手段がシミュレーションモデル座標を分割する際の分割サイズを記憶しておき、前記所定のタイミングで、当該記憶しておいた分割サイズを前記シミュレーション時刻とともに前記同期整合制御部に通知し、
前記分割サイズ決定手段は、
前記各シミュレーション演算部の中のいずれか一つからシミュレーション時刻および分割サイズを通知されるごとに、当該通知されたシミュレーション時刻、および他のシミュレーション演算部の各々から通知され、保持しておいたシミュレーション時刻、に基づいて前記各シミュレーション演算部の負荷状態を判別し、さらに、当該判別結果、前記通知された分割サイズおよび他のシミュレーション演算部の各々から通知され、保持しておいた分割サイズ、に基づいて各シミュレーション演算部に通知する分割サイズを個別に決定する、
ことを特徴とする統合シミュレーション装置。
【請求項５】
前記分割サイズ決定手段は、
前記負荷状態の判別処理で他のシミュレーション演算部よりも高負荷状態のシミュレーション演算部を検出した場合、当該検出したシミュレーション演算部の高負荷状態の継続時間を監視し、当該監視結果、前記判別結果、前記通知された分割サイズおよび前記保持しておいた分割サイズ、に基づいて当該高負荷状態のシミュレーション演算部に通知する分割サイズを決定することを特徴とする請求項４に記載の統合シミュレーション装置。
【請求項６】
前記分割サイズ決定手段は、
前記負荷状態の判別処理で他のシミュレーション演算部よりも高負荷状態のシミュレーション演算部を検出した場合、当該シミュレーション演算部に対して通知する分割サイズを、前回通知した分割サイズよりも大きい分割サイズとすることを特徴とする請求項４または５に記載の統合シミュレーション装置。
【請求項７】
前記分割サイズ決定手段は、
前回の判別処理で高負荷状態と判定したシミュレーション演算部が他のシミュレーション演算部と同等の負荷状態になったことを検出した場合、当該シミュレーション演算部に対して通知する分割サイズを、前回通知した分割サイズよりも小さい分割サイズとすることを特徴とする請求項６に記載の統合シミュレーション装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のシミュレーション演算部を有し、各シミュレーション演算部が同期を取りながらシミュレーションを分散実施する統合シミュレーション装置に関する。
【背景技術】
【０００２】
シミュレーションを分散実施する従来の統合シミュレーション装置の動作について説明する。従来のシミュレーション装置では、同期を取るべき動作ポイント（同期をとる条件）を予め設定しておき、複数のシミュレーション演算部は、他のシミュレーション演算部と同期が取れた状態からシミュレーションを開始する。そして、各シミュレーション演算部は、自己の処理（次の同期を取るべき動作ポイントまでのシミュレーション）が完了すると、その旨を他のシミュレーション演算部へ通知し、シミュレーションを一旦停止する。各シミュレーション演算部は、すべてのシミュレーション演算部が自己の処理分を完了したことを検出後、次の処理（次の同期を取るべき動作ポイントまでのシミュレーション）を行う。これにより、各シミュレーション演算部が同期をとりながらシミュレーションを行う（下記特許文献１参照）。
【０００３】
【特許文献１】特開平８−１７１５５２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記従来の技術では、分散する各シミュレーション演算部間で処理能力や処理量が異なっていた場合、時間同期をとるために、処理のもっとも遅いシミュレーション演算部が処理を完了するまでの間、処理を終えた他のシミュレーション演算部が待機する。したがって、充分な処理能力を有するシミュレーション演算部も、処理が遅いシミュレーション演算部に進行を合わせることとなり、統合シミュレーション装置全体での処理が遅くなってしまう、すなわち、効率的なシミュレーションが実現できていない、という問題があった。
【０００５】
本発明は、上記に鑑みてなされたものであって、各シミュレーション演算部間で同期を取りつつ全体の処理時間を短縮して効率的にシミュレーションを行うシミュレーション装置を得ることを目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決し、目的を達成するために、本発明は、位置座標を考慮したモデル計算を行う複数のシミュレーション演算部、および当該各シミュレーション演算部間の同期制御を行う同期整合制御部を備え、前記各シミュレーション演算部は、モデル計算の対象であるシミュレーションモデル座標を前記同期整合制御部から通知された分割サイズで分割し、得られた各分割領域を対象としてモデル計算を行うモデル計算手段と、前記モデル計算手段による処理の進捗を監視し、処理の進捗を示すシミュレーション時刻を所定のタイミングで前記同期整合制御部に通知するシミュレーション時刻通知手段と、を有することを特徴とする。
【発明の効果】
【０００７】
この発明によれば、シミュレーションの所要時間を短縮し、効率的なシミュレーションを実現できる、という効果を奏する。
【発明を実施するための最良の形態】
【０００８】
以下に、本発明にかかる統合シミュレーション装置の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【０００９】
実施の形態１．
図１は、本発明にかかる統合シミュレーション装置の実施の形態１の構成例を示す図である。図１の統合シミュレーション装置は、同期整合制御部１と、複数のシミュレーション演算部（第１シミュレーション演算部１０−１〜第Ｎシミュレーション演算部１０−Ｎ（Ｎ＝１，２，…））とを備えている。
【００１０】
同期整合制御部１は、シミュレーション演算部間での時間的な同期を制御する。また、この制御を実現するための構成として、データ入力部２と、パラメータ情報処理部３と、時刻監視部４と、時刻記録部５と、時刻同期部６と、メッセージ生成部７と、データ出力部８とを備える。なお、時刻監視部４、時刻記録部５および時刻同期部６が分割サイズ決定手段を構成し、メッセージ生成部７が分割サイズ通知手段を構成する。
【００１１】
同期整合制御部１において、データ入力部２は、各シミュレーション演算部から送信されるメッセージを受信する。パラメータ情報処理部３は、データ入力部２が受信したメッセージからその送信元のシミュレーション演算部の識別情報（以下、この識別情報を「送信元演算部情報」と記載する）、宛先のシミュレーション演算部の識別情報（以下、この識別情報を「宛先演算部情報」と記載する）、および送信元のシミュレーション演算部が算出したパラメータデータ（以下、単に「パラメータ」と記載する）を抽出してこれらをメッセージ生成部７に渡す。ここで、パラメータとは、各シミュレーション演算部の間で共有することが必要な情報である。
【００１２】
時刻監視部４は、データ入力部２が各シミュレーション演算部から受信したメッセージに含まれている、当該メッセージの送信元のシミュレーション演算部についてのシミュレーション時刻の情報（シミュレーション演算部における演算処理の進行度を示す情報）を取得し、各シミュレーション演算部の演算処理（シミュレーション）の進行度を監視する。進行度の監視動作を具体的に示すと、まず、受信メッセージからシミュレーション時刻情報を抽出する。そして、当該抽出したシミュレーション時刻情報を、当該受信メッセージの送信元シミュレーション演算部とは異なるシミュレーション演算部から取得し、時刻記録部５に保持させておいたシミュレーション時刻情報と比較することにより進行度を監視する。なお、比較結果は時刻同期部６に渡される。また、時刻監視部４は、上記受信メッセージから上記シミュレーション時刻の情報とともに送信元演算部情報を抽出し、抽出した情報（シミュレーション時刻情報，送信元演算部情報）を時刻記録部５に記憶させる。
【００１３】
時刻記録部５は、シミュレーション時刻情報および送信元演算部情報を時刻監視部４から受け取った場合、これらを関連付けて保持しておく。
【００１４】
時刻同期部６は、各シミュレーション演算部の処理の進行度にあわせて、シミュレーションモデル座標（空間）における分割領域のサイズ（以下、分割サイズと記載する）を設定する。具体的には、時刻監視部４から受け取った比較結果に基づいて各シミュレーション演算部での演算負荷に差があるかどうかを判断し、判断結果に基づいて、各シミュレーション演算部におけるシミュレーションが同期を維持しつつ実行されるように（各シミュレーションの進行度が同等となるように）シミュレーションモデル座標の分割サイズを決定する。なお、決定結果はメッセージ生成部７に渡される。
【００１５】
ここで、分割領域とは、シミュレーション演算部の演算対象であるシミュレーションモデル座標を分割して得られる単位領域であり、本実施の形態の各シミュレーション演算部は、同一単位領域内では、演算に用いる値は同一とみなして処理を実行する。
【００１６】
メッセージ生成部７は、パラメータ情報処理部３から受け取った宛先演算部情報および送信元演算部情報をそれぞれ宛先アドレスおよび送信元アドレスに設定し、パラメータ情報処理部３から受け取ったパラメータおよび時刻同期部６から受け取った分割サイズ情報を含んだメッセージを生成する。データ出力部８は、メッセージ生成部７にて生成されたメッセージをその宛先のシミュレーション演算部に向けて送信する。
【００１７】
一方、第１シミュレーション演算部１０−１〜第Ｎシミュレーション演算部１０−Ｎは、分散処理を行うシミュレータである。各シミュレーション演算部は、同一の構成をとり、データ入力部１１、時刻制御部１２、モデル計算部１３、パラメータ生成部１４およびデータ出力部１５を備える。また、各シミュレーション演算部の動作は同じである。そのため、以下の説明において、各シミュレーション演算部で共通の部分についてはシミュレーション演算部を特定せずに説明を行う。なお、時刻制御部１２がシミュレーション時刻通知手段を構成する。
【００１８】
各シミュレーション演算部において、データ入力部１１は、他のシミュレーション演算部から送信されたメッセージを同期整合制御部１経由で受信する。時刻制御部１２は、モデル計算部１３によるモデル計算（シミュレーション）の進捗を監視し、予め設定されていた条件を満たした場合に、当該シミュレーションの進捗（進行度）を示すシミュレーション時刻を同期整合制御部１経由で他のシミュレーション演算部へ通知する。また、同期整合制御部１からシミュレーションモデル座標の分割サイズを通知された場合、通知された分割サイズでシミュレーションモデル座標モデルを分割した上でモデル計算を行うように、モデル計算部１３に対して指示を出す。
【００１９】
モデル計算部１３は、他のシミュレーション演算部から通知されるメッセージ中のパラメータを利用し、位置座標を考慮したモデル計算（シミュレーション）を行う。このとき、時刻制御部１２経由で同期整合制御部１から通知された分割サイズに従ってシミュレーションモデル座標を分割した上でモデル計算を行う。なお、位置座標を考慮したモデル計算では、シミュレーションモデル座標の分割サイズに応じてシミュレーション精度と計算量（シミュレーション速度）が変動し、このサイズが大きいほど、シミュレーション精度は低くなるが、計算量が少なくなりシミュレーション速度は速くなる。また、予め設定されていた条件を満たした場合（たとえば、指定されていた処理が完了した場合）、その旨を時刻制御部１２へ通知する。
【００２０】
パラメータ生成部１４は、他のシミュレーション演算部に通知するパラメータを生成する。データ出力部１５は、シミュレーション時刻，分割領域，パラメータなどの情報を含んだメッセージを生成し、他のシミュレーション演算部へ同期整合制御部１経由で送信する。
【００２１】
図２−１および図２−２は、シミュレーションモデル座標における分割領域概念を示す図であり、３次元のシミュレーションモデル座標を均等な領域に分割する場合の例を示している。図２−１に示すように、Ｘ−Ｙ平面で見るとＸ軸方向は分割サイズΔＸ，Ｙ軸方向は分割サイズΔＹに分割され、図２−２に示すように、Ｘ−Ｚ平面で見るとＺ軸方向は分割サイズΔＺに分割される。本実施の形態では、分割領域（分割サイズ）は、Ｘ軸方向分割サイズ，Ｙ軸方向分割サイズ，Ｚ軸方向分割サイズによって規定する。
【００２２】
つづいて、以上のように構成された統合シミュレーション装置の動作について説明する。この統合シミュレーション装置において、各シミュレーション演算部は、位置座標を考慮してモデル計算（シミュレーション）を行うものであり、シミュレーション時刻を個別に管理し、その進行に合わせて、各シミュレーションモデルのシミュレーションを個別に行う。なお、モデル計算部１３は、同期整合制御部１から指定された分割サイズでシミュレーションモデル座標（空間）を分割し、得られた各単位領域（分割領域）内では計算に用いる値がすべて同一とみなした上でシミュレーションを行う。また、モデル計算部１３は、図示していない記憶部に予め格納されたシナリオに従ってシミュレーションを行う。このとき、モデル計算部１３は、他のシミュレーション演算部から通知されるパラメータを利用しながらシミュレーションを行う。すなわち、各シミュレーション演算部におけるシミュレーションの進行度が大きく異なる場合には、シミュレーションに必要なパラメータがすべて揃うまでの時間が長くなり、全体のシミュレーション進行速度が低下してしまう。そのため、各シミュレーション演算部が同期を維持しながら（進行度の差が大きくなるのを回避しながら）シミュレーションを行うことにより、所要時間が短縮化された効率的なシミュレーションが実現される。
【００２３】
また、各シミュレーション演算部の時刻制御部１２は、予め指定された条件を満たすまでの処理をモデル計算部１３が完了したかどうかを監視し、完了した場合には、その時点のシミュレーション時刻を同期整合制御部１へ通知する。なお、各シミュレーション演算部から同期整合制御部１へ通知されるシミュレーション時刻の差（ずれ量）が少ない場合（すれ量が一定量以内の場合）、「同期がとれている」といえる。シミュレーション時刻とは仮想的な時刻情報であり、たとえば、実行すべき処理全体に対して現在どの程度まで処理が完了しているかを示す情報である。各シミュレーション演算部が、処理全体に対してｍ％の処理を完了するごとに、完了した処理の割合（またはこれに相当する情報）をシミュレーション時刻として通知するように設定しておけば、同期整合制御部１は、各シミュレーションの同期状態（各シミュレーションの進行度に大きな差があるかどうか）を判定できる。また、一定周期ごとにシミュレーション時刻を通知するようにしておけば、各シミュレーション演算部から通知されたシミュレーション時刻同士を比較することにより、どのシミュレーション演算部におけるシミュレーションの進行度が大きいのかが分かる。
【００２４】
同期整合制御部１は、各シミュレーション演算部から通知されてくるシミュレーション時刻に基づいて、各シミュレーション演算部におけるシミュレーションの同期がとれているかどうか、すなわち、他のシミュレーション演算部と比較してシミュレーションの進行度が異なるシミュレーション演算部が存在するかどうかを判定し、各シミュレーション演算部がそれぞれのシミュレーションモデル座標を分割する際の分割サイズを当該判定結果に基づいて決定する。たとえば、他と比較してシミュレーションの進行度が遅れている（シミュレーション速度が遅い）シミュレーション演算部が存在する場合、その進行度が他と比較して早く進むように考慮して分割サイズを決定する。具体的には、シミュレーション速度が遅いシミュレーション演算部の分割サイズがそれまで使用していた分割サイズよりも大きくなるようにする。決定した分割サイズは、該当するシミュレーション演算部（シミュレーション速度が遅いシミュレーション演算部）へ通知する。ここでは他と比較してシミュレーション速度の遅いシミュレーション演算部が存在する場合の例について示したが、他と比較してシミュレーション速度の速いシミュレーション演算部が存在する場合には、逆の制御（分割サイズが他のシミュレーション演算部の分割サイズよりも小さくなるようにする制御）を行う。同期整合制御部１は、このような制御を行うことにより、各シミュレーション演算部におけるシミュレーションの進行度が同じとなるようにする（シミュレーション演算部間の時間的な同期が維持されるようにする）。
【００２５】
以下、本実施の形態の統合シミュレーション装置における各シミュレーション演算部の同期制御動作について、図１を参照しつつ図３を用いて説明する。なお、説明を簡単化するため、シミュレーション演算部が２つの場合の同期制御動作について示す。図３は、実施の形態１の同期整合制御部１による各シミュレーション演算部の同期制御動作の一例を示すシーケンス図である。
【００２６】
ここで、同期整合制御部１が各シミュレーション演算部の同期がとれているかどうかを判定する方法について示す。各シミュレーション演算部は、シミュレーションを行う際に使用するシナリオに従い、所定の処理（シナリオ内で予め指定された処理）が完了すると、その時点のシミュレーション時刻を他のシミュレーション演算部に対して通知する。このシナリオ内の予め指定しておく処理は、各シミュレーション演算部におけるシミュレーションの進行度を同期整合制御部１が認識するために利用するものであり、各シミュレーション演算部における進行度が同じ場合には同じシミュレーション時刻が通知されるように考慮して指定されるものである。
【００２７】
そして、同期整合制御部１は、シミュレーション時刻を通知された場合、このシミュレーション時刻を、その通知元のシミュレーション演算部とは異なるシミュレーション演算部から以前（前回）に通知され、記憶しておいたシミュレーション時刻（比較対象時刻と呼ぶ）と比較し、通知されたシミュレーション時刻が比較対象時刻よりも進んでいた場合、同期が維持されていると判定する。一方、比較対象時刻よりも遅れている場合には同期が維持されていない（シミュレーション速度が遅く、シミュレーションの進行度に大幅な遅れが生じている）と判定する。
【００２８】
このような判定方法を利用した制御動作である図３に示した制御動作について説明する。図３の例では、第１シミュレーション演算部１０−１でのシミュレーション時刻が時刻Ｔ１０１になったときに、当該第１シミュレーション演算部１０−１がシミュレーション時刻Ｔ１０１の情報とパラメータとを含んだメッセージを生成し、第２シミュレーション演算部１０−２宛に送信する。なお、このメッセージは、同期整合制御部１により一旦受信され、必要に応じて制御情報などが追加された後、宛先である第２シミュレーション演算部１０−２へ転送される。ただし、第１シミュレーション演算部１０−１（モデル計算部１３）は、この時点でモデル計算を一旦停止することなく、または、所定の短い期間だけモデル計算を停止した後、後続のモデル計算を実施する。これは、他のシミュレーション演算部（第２シミュレーション演算部１０−２）においても同様である。すなわち、各シミュレーション演算部は、他のシミュレーション演算部におけるシミュレーション（モデル演算）の進行度を考慮することなく、シミュレーションを行う。
【００２９】
図３においては、第１シミュレーション演算部１０−１から送信され同期整合制御部１に到達する前のメッセージを「データ送信」と表記し、同期整合制御部１により転送された後のメッセージを「データメッセージ通知」と表記している。同様に、第２シミュレーション演算部１０−２から送信され同期整合制御部１に到達する前のメッセージおよび同期整合制御部１から第１シミュレーション演算部１０−１へ転送されたメッセージもそれぞれ、「データ送信」および「データメッセージ通知」と表記している。
【００３０】
シミュレーション時刻Ｔ１０１の情報（以下、「シミュレーション時刻Ｔ○○○の情報」を単に「時刻Ｔ○○○情報」と記載する）を含んだデータ送信を受信した同期整合制御部１では、時刻監視部４が、メッセージ中の時刻Ｔ１０１情報をその送信元の識別情報（第１シミュレーション演算部１０−１の識別情報）と関連付けて時刻記録部５（図１参照）に保存する。また、時刻監視部４は、それ以前に第２シミュレーション演算部１０−２から取得したシミュレーション時刻の情報を時刻記録部５が保持している場合、その情報と今回取得した時刻Ｔ１０１情報を比較し、比較結果を時刻同期部６へ通知する。ただし、図３の例ではこの時点で第２シミュレーション演算部１０−２から取得したシミュレーション時刻を保持していないため、その旨を時刻同期部６へ通知する。時刻同期部６は、通知された比較結果（または比較対象が存在しないことを示す情報）に基づいて、第１シミュレーション演算部１０−１の演算負荷と第２シミュレーション演算部１０−２の演算負荷との間に差があるかどうか（すなわち同期がとれた状態かどうか）を判定し、さらに、判定結果に基づいて上記第１シミュレーション演算部１０−１へ次回通知する分割サイズ（シミュレーションモデル座標における分割領域のサイズ）を決定する。なお、比較対象が存在しない旨が通知されたため、時刻同期部６は、各シミュレーション演算部の演算負荷の間に差があるかどうか判定できないが、この場合は差がないとみなして処理を継続する。各演算負荷に差がない場合、時刻同期部６は、分割サイズを変更しない（それまでと同じ分割サイズを継続して使用させる）ことに決定する。時刻同期部６は、この決定結果（第１シミュレーション演算部１０−１の分割サイズ）を記憶しつつ、その時点で保持している第２シミュレーション演算部１０−２の分割サイズ情報をメッセージ生成部７に渡す。
【００３１】
また、パラメータ情報処理部３は、上記受信メッセージに設定された送信元および宛先のシミュレーション演算部の識別情報と当該受信メッセージに含まれるパラメータを抽出し、抽出した各識別情報とパラメータをメッセージ生成部７に渡す。メッセージ生成部７は、パラメータ情報処理部３から受け取った各識別情報およびパラメータと、時刻同期部６から受け取った分割サイズ情報と、を利用してメッセージを生成し、データ出力部８は、当該生成されたメッセージをデータメッセージ通知として第２シミュレーション演算部１０−２へ送信する。このデータメッセージ通知を受信した第２シミュレーション演算部１０−２は、以降、受信した分割サイズ情報が示す分割サイズでシミュレーションモデル座標を分割してシミュレーションを行う。
【００３２】
一方、第２シミュレーション演算部１０−２においても、上述した第１シミュレーション演算部１０−１と同様の処理が並行して実行され、その結果、時刻Ｔ２０１情報を含んだデータ送信が行われる。
【００３３】
ここで、図３で示したシミュレーション時刻Ｔ１０Ｘ（Ｘ：1,2,3,…）とＴ２０Ｙ（Ｙ：1,2,3,…）の関係について説明する。図３で示したシミュレーション時刻において、ＸおよびＹは対応するシミュレーション演算部のシミュレーションの進行度を示し、以下の関係が成り立つものとする。
Ｘ＞Ｙの場合、Ｔ１０Ｘの進行度の方が大きい（Ｔ１０Ｘ＞Ｔ２０Ｙ）
Ｘ＜Ｙの場合、Ｔ２０Ｙの進行度の方が大きい（Ｔ１０Ｘ＜Ｔ２０Ｙ）
Ｘ＝Ｙの場合、Ｔ２０Ｙの進行度の方が大きい（Ｔ１０Ｘ＜Ｔ２０Ｙ）
【００３４】
時刻Ｔ２０１情報を含んだデータ送信を受信した同期整合制御部１は、受信した時刻Ｔ２０１情報、および既に受信し保持しておいた時刻Ｔ１０１情報に基づいて、第１シミュレーション演算部１０−１の演算負荷と第２シミュレーション演算部１０−２の演算負荷との間に差があるかどうかを判定し、さらに、判定結果に基づいて、上記時刻Ｔ２０１情報を含んだデータ送信の送信元である第２シミュレーション演算部１０−２へ次回通知する分割サイズを決定する。具体的には、まず時刻監視部４が、各シミュレーション時刻（Ｔ１０１およびＴ２０１）を比較し、つぎに時刻同期部６が当該比較結果から各シミュレーション演算部の演算負荷に差があるかどうかを判定し、判定結果に基づいて分割サイズを決定する。ここでは、時刻Ｔ２０１＞時刻Ｔ１０１であるため各シミュレーション演算部の演算負荷には差がないと判定する。そしてこの場合、分割サイズを変更しないことに決定する。なお、決定結果（分割サイズの情報）は、時刻同期部６で保持しておく。また、メッセージ生成部７で生成され、データメッセージ通知として送信されるメッセージには、それ以前に決定し保持しておいた第１シミュレーション演算部１０−１の分割サイズ情報を含める。このデータメッセージ通知を受信した第１シミュレーション演算部１０−１は、以降、受信した分割サイズ情報が示す分割サイズでシミュレーションモデル座標を分割してシミュレーションを行う。
【００３５】
以後、第１シミュレーション演算部１０−１および第２シミュレーション演算部１０−２は、自身が管理するシミュレーション時刻を進めながら上述した処理を継続して行い、対向するシミュレーション演算部に向けて所定のタイミングで、シミュレーション時刻情報を含んだデータ送信を行う。また同期整合制御部１は、データ送信を受信すると、上述した処理を実行し、各シミュレーション演算部に通知する分割サイズを決定する。
【００３６】
図３に示した例では、第１シミュレーション演算部１０−１から時刻Ｔ１０２情報を受け取ると、同期整合制御部１は、それ以前に第２シミュレーション演算部１０−２から通知されたシミュレーション時刻の中の最新のものである時刻Ｔ２０１と時刻Ｔ１０２を比較する。そして、時刻Ｔ１０２＞時刻Ｔ２０１、すなわち今回受け取った時刻Ｔ１０２の方が大きいため、各シミュレーション演算部の演算負荷には差がないと判定し、分割サイズの変更は行わない。
【００３７】
その後、さらに第１シミュレーション演算部１０−１から時刻Ｔ１０３情報を受け取ると、同期整合制御部１は、それ以前に第２シミュレーション演算部１０−２から通知されたシミュレーション時刻の中の最新のものである時刻Ｔ２０１と時刻Ｔ１０３を比較する。そして、時刻Ｔ１０３＞時刻Ｔ２０１、すなわち今回受け取った時刻Ｔ１０３の方が大きいため、各シミュレーション演算部の演算負荷には差がないと判定し、分割サイズの変更は行わない。
【００３８】
その後、第２シミュレーション演算部１０−２から時刻Ｔ２０２情報を受け取ると、同期整合制御部１は、それ以前に第１シミュレーション演算部１０−１から通知されたシミュレーション時刻の中の最新のものである時刻Ｔ１０３と時刻Ｔ２０２を比較する。そして、時刻Ｔ１０３＞時刻Ｔ２０２、すなわち今回受け取った時刻Ｔ２０２の方が小さいため、第２シミュレーション演算部１０−２の演算負荷の方が高い状態になっていると判定する。この結果、第２シミュレーション演算部１０−２に通知する分割サイズをそれ以前に通知したサイズよりも大きくする。また、サイズ変更を行ったことと変更後の分割サイズを記憶する。ただし、この時点では、この変更結果は第２シミュレーショ演算部１０−２へ通知されないため、第２シミュレーション演算部１０−２はそれまでと同じシミュレーション速度で処理を継続することとなる。
【００３９】
その後、第１シミュレーション演算部１０−１から時刻Ｔ１０４情報を受け取ると、同期整合制御部１は、それ以前に第２シミュレーション演算部１０−２から通知されたシミュレーション時刻の中の最新のものである時刻Ｔ２０２と時刻Ｔ１０４を比較する。そして、時刻Ｔ１０４＞時刻Ｔ２０２、すなわち今回受け取った時刻Ｔ１０４の方が大きいため、各シミュレーション演算部の演算負荷には差がないと判定する。ただし、前回の判定処理において演算負荷に差があると判定し、分割サイズを変更していたため、前回決定した分割サイズ（以前よりも大きな分割サイズ）で処理を行うように指示する情報を含んだメッセージを生成し、データメッセージ通知として第２シミュレーション演算部１０−２へ送信する。分割サイズの変更指示は、たとえば、予め定義しておいた拡大フラグを利用して行う。
【００４０】
上記分割サイズの変更指示を受けた第２シミュレーション演算部１０−２は、指示内容に従い、それまで使用していたＸ方向分割サイズΔｘ，Ｙ方向分割サイズΔｙ，Ｚ方向分割サイズΔｚをそれぞれ拡大し、ΔＸ，ΔＹ，ΔＺへと変更する。この結果、第２シミュレーション演算部１０−２におけるシミュレーション速度が上がり、時刻Ｔ２０３情報の送信処理および時刻Ｔ２０４情報の送信処理を短期間で実施することとなる。
【００４１】
なお、第２シミュレーション演算部１０−２から送信された時刻Ｔ２０３情報を受信した場合、同期整合制御部１は、各シミュレーション演算部の演算負荷に差があるかどうかの判定処理で、Ｔ１０４＞Ｔ２０３であることから第２シミュレーション演算部１０−２の演算負荷の方が高い状態になっていると判定するが、前回第２シミュレーション演算部１０−２からシミュレーション時刻情報（時刻Ｔ２０２情報）を受け取った際にも同じ判定結果を得ているため、ここでは、第２シミュレーション演算部１０−２に通知する分割サイズを変更しない。ただし、これはあくまで一例であり、この時点でさらに分割サイズを変更（大きくする）ようにしても構わない。この場合、時間的な同期のずれを短時間で解消させることが可能となる。また、分割サイズをさらに大きくする場合、直前（前回）と同程度の変更量にするのではなく変更量を抑えるようにしてもよい。変更量を抑えることにより、時間的な同期のずれが解消されるまでの所要時間は長くなるがシミュレーション速度を必要以上に上げてしまい、逆方向のずれが生じてしまう（速度を上げた側のシミュレーションの進行度が他方と比較して大幅に進行してしまう）のを防止できる。
【００４２】
図３に示した例では、その後、第２シミュレーション演算部１０−２から時刻Ｔ２０４情報を受け取ると、同期整合制御部１は、それ以前に第１シミュレーション演算部１０−１から通知されたシミュレーション時刻の中の最新のものである時刻Ｔ１０４と時刻Ｔ２０４を比較する。そして、時刻Ｔ２０４＞時刻Ｔ１０４、すなわち今回受け取った時刻Ｔ２０４の方が大きいため、各シミュレーション演算部の演算負荷には差がない（演算負荷の差が解消され、同期状態に復帰した）と判定する。そして、第２シミュレーション演算部１０−２は、現在シミュレーション速度が上がった状態であるから、これを元のシミュレーション速度で動作させるように制御を行う。すなわち、一旦変更した分割サイズを元の分割サイズに再変更する。ただし、この時点では次の分割サイズ指示タイミングにおいて通知する分割サイズの決定のみを行い、サイズ変更を行ったことと変更後の分割サイズを記憶する。
【００４３】
その後、第１シミュレーション演算部１０−１から時刻Ｔ１０５情報を受け取ると、同期整合制御部１は、それ以前に第２シミュレーション演算部１０−２から通知されたシミュレーション時刻の中の最新のものである時刻Ｔ２０４と時刻Ｔ１０５を比較する。そして、時刻Ｔ１０５＞時刻Ｔ２０４、すなわち今回受け取った時刻Ｔ１０５の方が大きいため、各シミュレーション演算部の演算負荷には差がないと判定する。ただし、前回の判定処理において、分割サイズを変更していたため、前回決定した分割サイズで処理を行うように指示する情報を含んだメッセージを生成し、データメッセージ通知として第２シミュレーション演算部１０−２へ送信する。分割サイズの変更指示は、たとえば、予め定義しておいた縮小フラグを利用して行う。
【００４４】
上記分割サイズの変更指示を受けた第２シミュレーション演算部１０−２は、指示内容に従い、それまで使用していたＸ方向分割サイズΔＸ，Ｙ方向分割サイズΔＹ，Ｚ方向分割サイズΔＺをそれぞれΔｚ，Δｙ，Δｚ（元々使用していたサイズ）に縮小する。この結果、第２シミュレーション演算部１０−２におけるシミュレーションの進行度が他と比較して進み過ぎないようにする。
【００４５】
本実施の形態では、説明を簡単化するため、同期制御対象のシミュレーション演算部が２つの場合について説明したが、同期制御対象のシミュレーション演算部が３つ以上の場合でも同様の制御が可能である。また、同期整合制御部１が分割サイズを指示することによりシミュレーション速度を制御する場合について示したが、分割サイズに代えて分割数を指示するようにしても同様の制御が可能である。各方向を同じ分割数で分割する場合には、単一の分割数のみを通知すればよいので通知する情報量を低く抑えることができる。
【００４６】
なお、同期整合制御部１によるシミュレーション時刻を利用して負荷の大小関係を判定する方法は一例であり、他の方法を用いてもよい。たとえば、各シミュレーション演算部から通知されるシミュレーション時刻の差を求め、その変化量（過去に求めた差と今回求めた差の比較結果）から負荷の大小関係を判定するようにしてもよい。この場合、同期のずれ量が比較的小さい段階でシミュレーション速度を制御して同期を維持させるようにすることが可能である。
【００４７】
また、上述した制御では、パラメータを送信するためのメッセージを利用して分割サイズを通知するようにしているが、たとえば分割サイズを通知するためのメッセージを新たに定義し、それを使用して通知してもよい。この場合、演算負荷に差がある（または差がなくなった）と判定後、それに応じた分割サイズに変更するまでの遅延時間を少なくすることができる。
【００４８】
また、説明したとおり、各シミュレーション演算部は、他のシミュレーション演算部におけるシミュレーションの進行度を考慮することなく、同期整合制御部１から指示された分割サイズに応じたシミュレーション速度でシミュレーションを進める。そのため、同期整合制御部１は、各シミュレーション演算部からデータ送信にて受信したシミュレーション時刻の情報をデータメッセージ通知に含めないようにしてもよい（受信したシミュレーション時刻の情報を他のシミュレーション演算部へ転送しなくてもよい）。このようにすることで、同期整合制御部１が各シミュレーション演算部へ送信するデータ量を少なくできる。
【００４９】
このように、本実施の形態の統合シミュレーション装置では、同期整合制御部が、位置座標を考慮したモデル計算を行う各シミュレーション演算部からそれぞれ通知されたシミュレーション時刻を比較することにより各シミュレーション演算部の演算負荷に差があるかどうかを判定し、判定結果に基づいて、各シミュレーション演算部がシミュレーションモデル座標を分割する際の分割サイズを決定するようにした。これにより、各シミュレーション演算部の演算負荷に差がある場合には、高負荷状態となっているシミュレーション演算部の負荷が軽減されるように分割サイズを決定することができる。すなわち、高負荷状態のシミュレーション演算部におけるシミュレーション速度を高めることができ、その結果、シミュレーションの所要時間が短縮される。
【００５０】
実施の形態２．
つづいて、実施の形態２の統合シミュレーション装置について説明する。上述した実施の形態１の統合シミュレーション装置では、同期整合制御部は、各シミュレーション演算部に対して分割サイズの拡大指示情報または縮小指示情報のみを送信し、分割サイズを具体的に指示する情報については送信していなかったため、シミュレーション速度を高精度に制御することが難しかった。そのため、本実施の形態では、シミュレーション速度をより高精度に制御する統合シミュレーション装置について説明する。なお、本実施の形態の統合シミュレーション装置の構成は、実施の形態１の統合シミュレーション装置（図１参照）と同様であり、同期整合制御部１が各シミュレーション演算部におけるシミュレーションモデル座標の分割サイズを指示する際の動作のみが異なる。そのため、本実施の形態では、実施の形態１と異なる部分についてのみ説明する。
【００５１】
図４は、実施の形態２の同期整合制御部１による各シミュレーション演算部の同期制御動作の一例を示すシーケンス図である。この図４と実施の形態１の同期制御処理を示した図３とを比較するとわかるように、本実施の形態の各シミュレーション演算部は、シミュレーション時刻を通知する際にその時点の分割サイズ（図示したΔｘ，Δｙ，Δｚなど）を併せて通知する。この動作を実現するために、たとえば、各シミュレーション演算部の時刻制御部１２は、同期整合制御部１から分割サイズ情報を取得した場合、この情報が示す分割サイズをモデル計算部１３へ通知するとともに記憶しておき、シミュレーション時刻を他のシミュレーション演算部へ通知する場合には、その時点で記憶している分割サイズを併せて通知する。また、同期整合制御部１は、各シミュレーション演算部からシミュレーション時刻および分割サイズを通知された場合、実施の形態１と同じ方法で、各シミュレーション演算部の演算負荷に差があるかどうかを判定し、差があると判定した場合には、それ以前に各シミュレーション演算部から通知され、保持しておいた分割サイズを考慮して、新たな分割サイズを決定する。
【００５２】
以下、本実施の形態の統合シミュレーション装置において、同期整合制御部１が各シミュレーション演算部を同期制御する動作について、図１を参照しつつ図４を用いて説明する。なお、説明を簡単化するため、上述した実施の形態１と同様にシミュレーション演算部が２つの場合の同期制御動作について示す。
【００５３】
図４に示した例では、第１シミュレーション演算部１０−１でのシミュレーション時刻が時刻Ｔ１０１になったときに、当該第１シミュレーション演算部１０−１がシミュレーション時刻の情報である時刻Ｔ１０１情報、その時点で使用している分割サイズの情報（Ｘ方向分割サイズΔｘ，Ｙ方向分割サイズΔｙ，Ｚ方向分割サイズΔｚ）およびパラメータを含んだメッセージを生成し、第２シミュレーション演算部１０−２宛に送信する。
【００５４】
時刻Ｔ１０１情報および分割サイズ情報を含んだ上記メッセージであるデータ送信を受信した同期整合制御部１では、時刻監視部４が、メッセージ中の時刻Ｔ１０１情報および分割サイズ情報をその送信元の識別情報（第１シミュレーション演算部１０−１の識別情報）と関連付けて時刻記録部５に保存する。また、時刻監視部４は、それ以前に第２シミュレーション演算部１０−２から取得し時刻記録部５に記憶させておいたシミュレーション時刻の情報と今回取得した時刻Ｔ１０１情報を比較し、比較結果を時刻同期部６へ通知する。ただし、図４の例ではこの時点で第２シミュレーション演算部１０−２から取得したシミュレーション時刻を保持していないため、その旨を時刻同期部６へ通知する。時刻同期部６は、通知された比較結果（または比較対象が存在しない旨を示す情報）に基づいて、第１シミュレーション演算部１０−１の演算負荷と第２シミュレーション演算部１０−２の演算負荷との間に差があるかどうか（すなわち同期がとれた状態かどうか）を判定し、さらに、判定結果および時刻記録部５が保持している第２シミュレーション演算部１０−２の分割サイズ情報に基づいて上記受信メッセージの転送先である第２シミュレーション演算部１０−２へ通知する分割サイズを決定する。
【００５５】
ただし、図４の例ではこの時点で第２シミュレーション演算部１０−２の分割サイズ情報を保持しておらず分割サイズを決定できない。そのため、第２シミュレーション演算部１０−２に対して分割サイズを通知しない。すなわち、メッセージ生成部７は、分割サイズ情報を含んでいないメッセージを生成し、それをデータメッセージ通知として第２シミュレーション演算部１０−２へ送信する。なお、第２シミュレーション演算部１０−２は分割サイズを通知されなかった場合、それまで使用していた分割サイズを引き続き使用することとする。第１シミュレーション演算部１０−１も同様に、同期整合制御部１から分割サイズを通知されない場合には、それまで使用していた分割サイズを引き続き使用する。
【００５６】
一方、第２シミュレーション演算部１０−２においても、上述した第１シミュレーション演算部１０−１と同様の処理が並行して実行され、時刻Ｔ２０１情報および使用している分割サイズ情報を含んだデータ送信を行う。ただし、ここでは、図示したように、時刻Ｔ１０１情報等を含んだデータ送信が、時刻Ｔ２０１情報等を含んだデータ送信よりも先行して行われるものとする。
【００５７】
時刻Ｔ２０１情報および分割サイズ情報を含んだデータ送信を受信した同期整合制御部１は、受信した時刻Ｔ２０１情報、および既に受信し保持しておいた時刻Ｔ１０１情報に基づいて、第１シミュレーション演算部１０−１の演算負荷と第２シミュレーション演算部１０−２の演算負荷との間に差があるかどうかを判定し、さらに、判定結果に基づいて、上記時刻Ｔ２０１情報を含んだデータ送信の送信元である第２シミュレーション演算部１０−２へ次回通知する分割サイズを決定する。具体的には、まず時刻監視部４が、各シミュレーション時刻（Ｔ１０１およびＴ２０１）を比較し、つぎに時刻同期部６が当該比較結果から各シミュレーション演算部の演算負荷に差があるかどうかを判定し、さらに、判定結果および上記通知された分割サイズ情報に基づいて、前記時刻Ｔ２０１情報等の送信元シミュレーション演算部に対して通知する分割サイズを決定する。ここでは、時刻Ｔ２０１＞時刻Ｔ１０１であるため各シミュレーション演算部の演算負荷には差がないと判定する。そしてこの場合、分割サイズを変更しないことに決定し、それ以前に第１シミュレーション演算部１０−１から取得し保持しておいた分割サイズ（分割サイズを複数保持している場合には最新のもの）の情報を含んだメッセージを生成し、データメッセージ通知として送信する。このデータメッセージ通知を受信した受信した第１シミュレーション演算部１０−１は、以降、受信した分割サイズ情報が示す分割サイズでシミュレーションモデル座標を分割してシミュレーションを行う。
【００５８】
以後、第１シミュレーション演算部１０−１および第２シミュレーション演算部１０−２は、自身が管理するシミュレーション時刻を進めながら上述した処理を継続して行い、対向するシミュレーション演算部に向けて所定のタイミングで、シミュレーション時刻情報および分割サイズ情報を含んだデータ送信を行う。また同期整合制御部１は、データ送信を受信すると、上述した処理を実行し、各シミュレーション演算部に通知する分割サイズを決定する。
【００５９】
図４に示した例では、第２シミュレーション演算部１０−２から送信された、時刻Ｔ２０２情報および分割サイズ情報（Δｘ，Δｙ，Δｚ）を含んだデータ送信を受信した場合に、同期整合制御部１が特徴的な動作を行う。以下、この動作を具体的に示す。
【００６０】
第２シミュレーション演算部１０−２から時刻Ｔ２０２情報および分割サイズ情報を受け取ると、同期整合制御部１は、それ以前に第１シミュレーション演算部１０−１から通知されたシミュレーション時刻の中の最新のものである時刻Ｔ１０３と時刻Ｔ２０２を比較し、第２シミュレーション演算部１０−２の演算負荷の方が高い状態になっていると判定する。そのため、同期整合制御部１では、第２シミュレーション演算部１０−２から取得した分割サイズ情報（Δｘ，Δｙ，Δｚ）が示すサイズよりも大きくなるように、分割サイズを決定し、当該決定した分割サイズ（ΔＸ，ΔＹ，ΔＺとする）を記憶しておく。また、同期整合制御部１の時刻監視部４では、第２シミュレーション演算部の遅延（演算負荷が高い状態）の継続を測るタイマーをスタートする。
【００６１】
その後、第１シミュレーション演算部１０−１から時刻Ｔ１０４情報および分割サイズ情報を受け取ると、同期整合制御部１は、所定の処理（各シミュレーション演算部の演算負荷の差を判定する処理や分割サイズを決定する処理など）を実行後、今回受け取った時刻Ｔ１０４情報とともに、上記記憶しておいた分割サイズ情報（ΔＸ，ΔＹ，ΔＺ）を第２シミュレーション演算部１０−２へ送信する。
【００６２】
上記分割サイズ（ΔＸ，ΔＹ，ΔＺ）を通知された第２シミュレーション演算部１０−２は、通知内容に従い、それまで使用していた分割サイズ（Δｘ，Δｙ，Δｚ）を今回通知された分割サイズ（ΔＸ，ΔＹ，ΔＺ）に更新する。この結果、第２シミュレーション演算部１０−２におけるシミュレーション速度が上がり、時刻Ｔ２０３情報の送信処理および時刻Ｔ２０４情報の送信処理を短期間で実施することとなる。
【００６３】
その後、第２シミュレーション演算部１０−２から時刻Ｔ２０４情報を受け取ると、同期整合制御部１は、各シミュレーション演算部の演算負荷には差がない（演算負荷の差が解消され、同期状態に復帰した）と判定する。そして、第２シミュレーション演算部１０−２の分割サイズを小さな分割サイズに再変更する。ただし、この時点では次の分割サイズ指示タイミングにおいて通知する分割サイズの決定のみを行い、サイズ変更を行ったことと変更後の分割サイズを記憶する。小さなサイズに変更した後の分割サイズは、上記大きなサイズに変更する前の分割サイズと同じサイズとしてもよいし、異なるサイズとしてもよい。また、第２シミュレーション演算部１０−２の遅延継続を測るタイマーを停止する。その後、同期整合制御部１は、第１シミュレーション演算部１０−１から時刻Ｔ１０５情報等を含んだデータ送信を受信すると、上記記憶しておいた小さなサイズに変更した後の分割サイズを第２シミュレーション演算部１０−２へ通知し、第２シミュレーション演算部１０−２は、以降、通知された分割サイズ（それまで使用していたものよりも小さい値の分割サイズ）に従いシミュレーションを行う。
【００６４】
なお、図４に示した例では、各シミュレーション演算部の演算負荷の差が比較的小さく、演算負荷の異なる状態が速やかに回復するシーケンスを示しているが、演算負荷の差が大きい場合には、以下のような制御を行う。
【００６５】
同期整合制御部１は、たとえば第２シミュレーション演算部１０−２の演算負荷が大きい状態であることを検出後、第２シミュレーション演算部１０−２から受信したシミュレーション時刻が引き続き第１シミュレーション演算部１０−１から受信したシミュレーション時刻より遅れている（演算負荷の大きい状態が継続している）場合、第２シミュレーション演算部１０−２の遅延の継続を測るタイマーを加算し、このタイマー値に比例させて分割サイズ（ΔＸ，ΔＹ，ΔＺ）を徐々に大きくする。この制御をタイマーがストップするまで繰り返す。すなわち、同期整合制御部１は、演算負荷の大きい状態が解消するまで、第２シミュレーション演算部１０−２のシミュレーション速度を段階的に上げていく。
【００６６】
この場合、同期整合制御部１が演算負荷の高くなったシミュレーション演算部の負荷の差の度合いを監視しながら分割サイズを拡大していくので、演算負荷の高くなったシミュレーション演算部のシミュレーション進行速度を速やかに上げることができる。
【００６７】
なお、実施の形態１で示した統合シミュレーション装置の同期整合制御部１に対して同様の制御を適用することも可能である。すなわち、演算負荷の大きい状態（高負荷状態）が解消するまでの時間を監視し、高負荷状態の継続時間に応じて分割サイズを決定するようにしてもよい。
【００６８】
このように、本実施の形態の統合シミュレーション装置では、同期整合制御部が、各シミュレーション演算部からシミュレーション時刻およびその時点で使用している分割サイズの通知を受け、通知された各シミュレーション時刻を比較することにより各シミュレーション演算部の演算負荷に差があるかどうかを判定し、判定結果に基づいて、各シミュレーション演算部がシミュレーションモデル座標を分割する際の分割サイズを決定するようにした。これにより、各シミュレーション演算部の演算負荷に差がある場合には、各シミュレーション演算部から通知された分割サイズを考慮した上で高負荷状態となっているシミュレーション演算部の負荷が軽減されるように分割サイズを決定することができる。すなわち、高負荷状態のシミュレーション演算部におけるシミュレーション速度の増加量を柔軟に制御し、時間的な同期を維持しつつ装置全体の処理速度を高めることができる。
【００６９】
また、高負荷状態の継続時間に応じて分割サイズを決定するようにしたので、高負荷状態のシミュレーション演算部は状況に応じたシミュレーション速度でシミュレーションを実行することができる。
【００７０】
なお、上記説明ではＸ方向，Ｙ方向，Ｚ方向のすべてのサイズを変更することにより分割サイズを調整することとしたが、これらのうちの任意の１つまたは２つを変更して分割サイズを調整するようにしてもよい。
【産業上の利用可能性】
【００７１】
以上のように、本発明にかかる統合シミュレーション装置は、時間的な同期を維持しながら分割実施するシミュレーションにおける全体の処理時間の短縮化に有用である。
【図面の簡単な説明】
【００７２】
【図１】本発明にかかる統合シミュレーション装置の実施の形態１の構成例を示す図である。
【図２−１】シミュレーションモデル座標における分割領域概念を示す図である。
【図２−２】シミュレーションモデル座標における分割領域概念を示す図である。
【図３】実施の形態１の同期整合制御部による各シミュレーション演算部の同期制御動作の一例を示すシーケンス図である。
【図４】実施の形態２の同期整合制御部による各シミュレーション演算部の同期制御動作の一例を示すシーケンス図である。
【符号の説明】
【００７３】
１  同期整合制御部
２、１１  データ入力部
３  パラメータ情報処理部
４  時刻監視部
５  時刻記録部
６  時刻同期部
７  メッセージ生成部
８、１５  データ出力部
１０−１  第１シミュレーション演算部
１０−２  第２シミュレーション演算部
１０−Ｎ  第Ｎシミュレーション演算部
１２  時刻制御部
１３  モデル計算部
１４  パラメータ生成部
【図１】
0005219639.tif 000002
【図２−１】
0005219639.tif 000003
【図２−２】
0005219639.tif 000004
【図３】
0005219639.tif 000005
【図４】
0005219639.tif 000006