[go: up one dir, main page]

JP2012008946A - Distributed simulation method - Google Patents

Distributed simulation method Download PDF

Info

Publication number
JP2012008946A
JP2012008946A JP2010146494A JP2010146494A JP2012008946A JP 2012008946 A JP2012008946 A JP 2012008946A JP 2010146494 A JP2010146494 A JP 2010146494A JP 2010146494 A JP2010146494 A JP 2010146494A JP 2012008946 A JP2012008946 A JP 2012008946A
Authority
JP
Japan
Prior art keywords
simulation
time
execution
distributed
executed
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.)
Withdrawn
Application number
JP2010146494A
Other languages
Japanese (ja)
Inventor
Naosuke Watabe
修介 渡部
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2010146494A priority Critical patent/JP2012008946A/en
Publication of JP2012008946A publication Critical patent/JP2012008946A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a distributed simulation system which applies efficiently deletion of simulation using previous execution results even when simulation time progress by a barrier synchronization is being performed.SOLUTION: In the distributed simulation system which performs simulation processing by distributing in a plurality of arithmetic devices, if it is proved beforehand that an optional simulation processing result of the simulation time to be executed next to a Monte Carlo simulation which is in course of trial will be tried at the same time as the simulation time of previous trials and will be the same result as the simulation processing result of the previous trials, and if it is possible to omit optional simulation processing execution to be executed next by reusing the previous results, by performing assignment of the simulation processing except the omittable simulation processing to the arithmetic devices, the only simulation processing which needs to be executed is scheduled dynamically to the arithmetic devices and is executed.

Description

この発明は、複数の演算装置で異なる対象物を模擬し、模擬結果を複数の演算装置間でデータ通信する分散シミュレーションシステムでの分散シミュレーション方法に関するものである。   The present invention relates to a distributed simulation method in a distributed simulation system in which different objects are simulated by a plurality of arithmetic devices and data of simulation results are communicated between the arithmetic devices.

一般的にモンテカルロ法を用いたシミュレーションは、ある事象の発生確率が不明な場合に、乱数を用いてn回のシミュレーションを実行し、その事象の発生回数mを得て、発生確率の近似解m/nを求めるために利用される。この近似解の精度は確率論において試行回数が多い方が高くなるため、よりよい近似解を得るためには、より多くのシミュレーション実行回数が必要である。しかし時間的な制約があるような場合、従来のシミュレーション実行環境では満足なシミュレーション実行回数を得ることは困難であり、より高速にモンテカルロシミュレーションを実行できる方式が必要とされている。   In general, in the simulation using the Monte Carlo method, when the occurrence probability of a certain event is unknown, the simulation is executed n times using a random number, the number m of occurrences of the event is obtained, and an approximate solution m of the occurrence probability is obtained. Used to determine / n. Since the accuracy of this approximate solution increases as the number of trials increases in probability theory, more simulation executions are required to obtain a better approximate solution. However, when there are time constraints, it is difficult to obtain a satisfactory number of simulation executions in the conventional simulation execution environment, and a method capable of executing the Monte Carlo simulation at a higher speed is required.

モンテカルロシミュレーションを高速に実行するための従来技術として、特許文献1と非特許文献1が挙げられる。特許文献1は、モンテカルロシミュレーションの高速化手法として、微小なタイムステップに基づいて実行する移動体シミュレーションにおいて、初回に実行した結果を利用して、2回目以降は結果的に不要となる模擬を削除し、総実行時間を短縮するものである。また、非特許文献1記載のモンテカルロシミュレーション高速実行技術は、米軍を中心として標準化された分散シミュレーションシステムのアーキテクチャであるHigh Level Architecture(HLA)である。HLAは、シミュレーションを複数のフェデレートと呼ばれるプログラムで分散処理させるためのアーキテクチャを定めたもので、シミュレーションの対象となる1つの大きな問題(フェデレーション)を複数のフェデレートで模擬処理するように分割し、各フェデレートを演算装置に割り当てて並列分散処理させ、全体をRun-Time Infrastructure(RTI)という基盤プログラムが制御することにより、システム全体としての処理の高速化などを目的としたものである。   Patent Document 1 and Non-Patent Document 1 can be cited as conventional techniques for executing Monte Carlo simulation at high speed. In Patent Document 1, as a speeding-up method of Monte Carlo simulation, in a moving body simulation executed based on a minute time step, a result that is executed for the first time is used and a simulation that becomes unnecessary as a result is deleted after the second time. This reduces the total execution time. The Monte Carlo simulation high-speed execution technology described in Non-Patent Document 1 is High Level Architecture (HLA), which is an architecture of a distributed simulation system standardized mainly by the US military. HLA defines an architecture for distributed processing of a simulation by a program called multiple federations, and divides a large problem (federation) to be simulated into multiple simulated processings by multiple federations. The purpose is to increase the processing speed of the entire system by allocating federates to arithmetic units, performing parallel distributed processing, and controlling the whole by a base program called Run-Time Infrastructure (RTI).

特開2007-78288号公報「シミュレーション実行方法」JP 2007-78288 "Simulation Execution Method"

IEEE 1516.1-2000 - Standard for Modeling and Simulation High Level Architecture(HLA) - Federate Interface SpecificationIEEE 1516.1-2000-Standard for Modeling and Simulation High Level Architecture (HLA)-Federate Interface Specification

非特許文献1に挙げたHLAは分散シミュレーションシステムの標準アーキテクチャであり、HLAに基づく、あるいはHLAと良く似た分散処理を用いた、分散シミュレーション実行環境は一般的に広く利用されている。図1は、HLAによる一般的な分散シミュレーションシステムの例である。HLAでは、RTI101が、分散実行される模擬処理102に対するシミュレーション時間の進行に基づき実行制御と、模擬処理102間のデータ通信制御を行なう。また図2は、HLAに基づき構築された一般的な分散シミュレーションシステムのシミュレーション時間進行の例である。このようなシステムでは、シミュレーションに登場する移動物体やセンサなどの模擬対象物を模擬処理するフェデレートを演算装置に割り付け、各フェデレートがシミュレーション時間の時間刻みに従って模擬対象物の模擬処理を並列実行する。その際、フェデレート間のデータ通信によって矛盾が生じないよう、シミュレーション時間進行に従ってバリア同期が行われる。フェデレート間のデータ通信とバリア同期は、RTIによって制御される。   The HLA listed in Non-Patent Document 1 is a standard architecture of a distributed simulation system, and a distributed simulation execution environment based on HLA or using distributed processing similar to HLA is generally widely used. FIG. 1 shows an example of a general distributed simulation system using HLA. In the HLA, the RTI 101 performs execution control and data communication control between the simulation processes 102 based on the progress of simulation time for the simulation processes 102 that are distributedly executed. FIG. 2 is an example of progress of simulation time of a general distributed simulation system constructed based on HLA. In such a system, a federation for simulating a simulation target such as a moving object or a sensor appearing in the simulation is assigned to the arithmetic device, and each federation executes the simulation processing of the simulation target in parallel according to the time interval of the simulation time. At this time, barrier synchronization is performed according to the progress of simulation time so that no contradiction occurs due to data communication between federated rates. Data communication and barrier synchronization between federated rates are controlled by RTI.

図3は、図2のような分散シミュレーションの実行において、シミュレーション時間の進行に基づき模擬処理の実行を制御するために利用されるイベントリストを示したものである。イベントリストは、模擬処理についてその実行時刻と実行入力値が設定されており、シミュレーション実行により実行中に実行時刻が更新されると、どの他の模擬処理が同じ実行時刻に設定されているかの情報が取り出され、その他の模擬処理が割り当てられた演算装置に対し、実行時刻と実行入力値が渡されて模擬処理が実行される。その時刻の演算装置における模擬処理の実行が終了すると、イベントリストには、模擬処理の次回の実行時刻と実行入力値が設定される。   FIG. 3 shows an event list used for controlling the execution of the simulation process based on the progress of the simulation time in the execution of the distributed simulation as shown in FIG. In the event list, the execution time and execution input value are set for the simulation process. When the execution time is updated during execution by simulation execution, information on which other simulation process is set to the same execution time The execution time and the execution input value are passed to the arithmetic unit to which other simulation processing is assigned, and the simulation processing is executed. When the execution of the simulation process in the arithmetic device at that time ends, the next execution time and execution input value of the simulation process are set in the event list.

イベントリストに設定される次回の実行時刻は、模擬処理の種別に応じて次の2種類の何れかとなる。一つは、例えば航空レーダ模擬処理のように周期的に実行されるような模擬処理の場合であり、このような模擬処理では模擬処理自身が次回の実行時刻を設定する。もう一つは、例えば航空管制模擬処理(航空レーダ模擬処理の実行結果である探知情報が生成された場合のみ実行される)のように他の模擬処理の実行結果イベントに依存して実行するような模擬処理の場合であり、このような模擬処理では依存する実行結果イベントの発生時刻が次回の実行時刻として設定される。
イベントリストに設定される実行入力値は、その模擬処理が模擬を行うのに必要とする入力値であり、自身の模擬実行結果である状態情報や、あるいは他の模擬処理の実行結果が設定される。
The next execution time set in the event list is one of the following two types according to the type of simulation processing. One is a simulation process that is periodically executed, for example, an aerial radar simulation process. In such a simulation process, the simulation process itself sets the next execution time. The other is executed depending on the execution result event of another simulation process, such as an air traffic control simulation process (executed only when detection information that is the execution result of the aircraft radar simulation process is generated). In such simulation processing, the occurrence time of the dependent execution result event is set as the next execution time.
Execution input values set in the event list are input values required for the simulation process to simulate, and state information that is the simulation execution result of itself or execution results of other simulation processes are set. The

上記のようなシミュレーション時間の進行に基づき模擬処理の実行を制御する分散シミュレーション実行環境において、さらにモンテカルロシミュレーションを高速に実行するために、特許文献1に挙げたような、前回までの実行結果を利用して2回目以降は結果的に不要となる模擬を削除する方式を採用した場合、図4に示す例のようになる。図4は、演算装置1にて処理している航空機フェデレートの模擬処理がTn、Tn+1時刻において省略可能であった場合の例であるが、各時刻において演算装置1にて模擬処理が省略可能であっても、フェデレート間で毎時刻のバリア同期が行われているため、模擬処理を省略した演算装置は、その時刻は他の演算装置の模擬処理の実行が終了するまで待たされている。すなわち、分散シミュレーションシステムでは、一部の模擬処理において前回までの実行結果を利用することができ、模擬を省略できたとしても、他の模擬処理がそのシミュレーション時間において処理を行っている間はシミュレーション時間進行を待たされてしまうため、全体として高速にシミュレーションを実行することが困難であるという課題がある。   In the distributed simulation execution environment that controls the execution of the simulation process based on the progress of the simulation time as described above, the execution results up to the previous time as described in Patent Document 1 are used to execute the Monte Carlo simulation at a higher speed. Then, when a method of deleting simulations that become unnecessary as a result after the second time is adopted, the example shown in FIG. 4 is obtained. FIG. 4 shows an example in which the simulation process of the aircraft federation being processed by the computing device 1 can be omitted at the time Tn and Tn + 1, but the simulation processing is omitted by the computing device 1 at each time. Even if possible, since the barrier synchronization is performed every time between federations, the arithmetic device that omits the simulation processing is kept waiting until the execution of the simulation processing of the other arithmetic devices is completed. . In other words, in the distributed simulation system, the execution results up to the previous time can be used in some simulation processing, and even if simulation can be omitted, the simulation is performed while other simulation processing is processing at the simulation time. There is a problem that it is difficult to execute a simulation at high speed as a whole because waiting for time progress is made.

本発明は、上記のような、分散シミュレーションシステムにおいてバリア同期によるシミュレーション時間進行が行われている場合でも、前回までの実行結果を利用した模擬の削除を効率よく適用する分散シミュレーション方式に関するものである。   The present invention relates to a distributed simulation method that efficiently applies deletion of simulations using execution results up to the previous time even when the simulation time progress by barrier synchronization is performed in the distributed simulation system as described above. .

本発明に係る分散シミュレーション方法は、
模擬処理を複数の演算装置に分散して実行する分散シミュレーションシステムによるモンテカルロシミュレーションを実行する方法において、
現在試行中のモンテカルロシミュレーションの次に実行するシミュレーション時刻の任意の模擬処理結果が、前回までに試行した同じシミュレーション時刻に試行し、その模擬処理結果と同じ結果となることが予め判明しており、その結果を再利用することで、実行を省略できる場合に、
結果の再利用によって実行を省略できる当該模擬処理を除いた模擬処理の演算装置への割り当てを行うことにより、
シミュレーション実行中に実行が必要な模擬処理のみを動的に演算装置にスケジューリングして、実行する。
The distributed simulation method according to the present invention includes:
In a method of executing Monte Carlo simulation by a distributed simulation system that executes simulation processing distributed to a plurality of arithmetic devices,
It is known in advance that an arbitrary simulation processing result of the simulation time to be executed next to the Monte Carlo simulation currently being tried is the same as the simulation processing result tried at the same simulation time tried until the previous time, If you can skip the execution by reusing the result,
By assigning the simulation process to the arithmetic unit excluding the simulation process that can be omitted by reusing the result,
Only simulation processing that needs to be executed during simulation execution is dynamically scheduled and executed in the arithmetic unit.

本発明に係る分散シミュレーション方法によれば、
モンテカルロシミュレーションにおける2回目以降のシミュレーション実行において、スケジューリング処理による実行中の動的なフレームの決定と模擬処理の演算装置への割り当てを行うことにより、バリア同期回数を削減することができる。また、他の演算装置での処理結果を待たずに投機的に模擬処理の実行を開始することにより、演算装置における処理の待ち時間を減らし、効率的に演算装置を利用できる。これらの効果により、シミュレーション実行の高速化を行うことができる。
According to the distributed simulation method of the present invention,
In the second and subsequent simulation executions in the Monte Carlo simulation, the number of barrier synchronizations can be reduced by determining the dynamic frame being executed by the scheduling process and assigning the simulation process to the arithmetic unit. Also, by starting the execution of the simulation process speculatively without waiting for the processing result in the other arithmetic device, the processing waiting time in the arithmetic device can be reduced and the arithmetic device can be used efficiently. These effects can speed up the simulation execution.

HLAによる分散シミュレーションシステムの構成例を示す図である。It is a figure which shows the structural example of the distributed simulation system by HLA. HLAによる分散シミュレーションシステムのシミュレーション時間進行の例を示す図である。It is a figure which shows the example of simulation time progress of the distributed simulation system by HLA. 分散シミュレーション実行時に模擬処理制御用のイベントリストを示す図である。It is a figure which shows the event list for simulation process control at the time of distributed simulation execution. 処理中の航空機フェデレートの模擬処理がT省略可能な場合のシミュレーション時間進行の例を示す図である。It is a figure which shows the example of simulation time progress in case the simulation process of the aircraft federation in process can be omitted. 本発明による分散シミュレーションシステムの構成例を示す図である。It is a figure which shows the structural example of the distributed simulation system by this invention. 本発明によるシミュレーション実行中、動的に模擬処理の演算装置への割り当てを行ったシミュレーション時間進行の例を示す図である。It is a figure which shows the example of simulation time progress which performed the allocation to the arithmetic unit of the simulation process dynamically during simulation execution by this invention. 本発明によるスケジューリング処理の処理フロー図である。It is a processing flowchart of the scheduling process by this invention. スケジューリング処理結果のスケジューリングリスト例を示す図である。It is a figure which shows the example of a scheduling list of a scheduling process result.

実施の形態1.
分散シミュレーションシステムを用いてモンテカルロシミュレーションを実行する際に、結果の再利用によって実行を省略できる当該模擬処理を除いた模擬処理の演算装置への割り当てを行う実施の形態について述べる。
図5は、本発明による分散シミュレーションシステムの構成例である。図5において501は、分散実行される模擬処理102に対するシミュレーション時間の進行に基づき実行制御と、模擬処理102間のデータ通信制御を行なう分散シミュレーション基盤である。分散シミュレーション基盤501は、図1に示したHLAに準拠した分散シミュレーションシステムにおけるRTI101に類似した基盤プログラムであるが、さらに本発明によるモンテカルロシミュレーションを高速化するための機能を付与した基盤プログラムである。502は、シミュレーション時間の進行に基づき模擬処理の実行を制御するために利用されるイベントリストである。503は、イベントリスト502およびスケジューリングリスト504に基づき、模擬処理102を演算装置へ割り当てて処理実行させるスケジューリング処理である。504は、モンテカルロシミュレーションの2回目以降の試行において、前回までの試行で既に同じ結果が出ている模擬処理の実行を省き、また同時に演算装置に実行をスケジューリングできる模擬処理と実行する時刻、入力情報を管理するスケジューリングリストで、スケジューリング処理503が、イベントリスト502の設定値を基に同時に演算装置へ割り当て可能な模擬処理102の組合せを設定し、さらにスケジューリング処理503が模擬処理102を演算装置へ割り当てる際に参照するものである。
図6は、本発明によってシミュレーション実行中に動的に模擬処理の演算装置への割り当てを行った例である。図4に示すバリア同期後に各演算装置で実行されるスケジューリング処理において、演算装置間のバリア同期を行うシミュレーション時間の刻み幅であるフレームと、演算装置に実行を割り当てる模擬処理を決定する。
Embodiment 1 FIG.
An embodiment will be described in which when a Monte Carlo simulation is executed using a distributed simulation system, a simulation process is assigned to an arithmetic unit excluding the simulation process that can be omitted by reusing the result.
FIG. 5 is a configuration example of a distributed simulation system according to the present invention. In FIG. 5, reference numeral 501 denotes a distributed simulation base that performs execution control and data communication control between the simulation processes 102 based on the progress of simulation time for the simulation processes 102 that are distributed and executed. The distributed simulation base 501 is a base program similar to the RTI 101 in the distributed simulation system compliant with the HLA shown in FIG. 1, but is a base program provided with a function for speeding up the Monte Carlo simulation according to the present invention. An event list 502 is used to control the execution of the simulation process based on the progress of the simulation time. Reference numeral 503 denotes a scheduling process in which the simulation process 102 is assigned to a computing device and executed based on the event list 502 and the scheduling list 504. Reference numeral 504 indicates that in the second and subsequent trials of the Monte Carlo simulation, the execution of the simulation process in which the same result has already been obtained in the previous trial is omitted, and at the same time, the simulation process that can schedule the execution to the arithmetic unit, the execution time, and the input information The scheduling process 503 sets a combination of simulation processes 102 that can be simultaneously allocated to the arithmetic apparatus based on the setting values of the event list 502, and the scheduling process 503 allocates the simulation process 102 to the arithmetic apparatus. It is something to refer to.
FIG. 6 shows an example in which simulation processing is dynamically assigned to an arithmetic unit during simulation execution according to the present invention. In the scheduling process executed by each arithmetic device after barrier synchronization shown in FIG. 4, a frame that is a step size of simulation time for performing barrier synchronization between arithmetic devices and a simulation process that assigns execution to the arithmetic device are determined.

図7は、スケジューリング処理の処理フローを示す。スケジューリング処理では、スケジューリングリストに対して、その時刻から演算装置で並列実行しようとする模擬処理を登録し、スケジューリングリストに設定された模擬処理の時刻の最大値までを、次のバリア同期を行うまでのフレームサイズとして設定する。
図8は、スケジューリングリストの例である。スケジューリングリストは、図7の処理フローに基づき登録されるが、登録される情報のうち、実行入力値および実行出力値は、イベントリストと、モンテカルロ試行の前回までのシミュレーションにおける結果データから、以下のように登録される。
FIG. 7 shows a process flow of the scheduling process. In the scheduling process, the simulation process to be executed in parallel by the arithmetic unit from that time is registered in the scheduling list, and until the next barrier synchronization is performed up to the maximum simulation process time set in the scheduling list. Set as the frame size.
FIG. 8 is an example of a scheduling list. The scheduling list is registered based on the processing flow of FIG. 7. Among the registered information, the execution input value and the execution output value are as follows from the event list and the result data in the simulation up to the previous Monte Carlo trial. Registered as follows.

○実行登録の場合:実行入力値を設定し、実行出力値は設定しない
(A) 実行入力値として設定可能な、同じシミュレーションにおける前の時刻の試行
結果情報がある場合:実行入力値に、同じシミュレーションにおける前の時刻の試
行結果情報を設定
(B) 実行入力値として設定可能な、同じシミュレーションにおける前の時刻の試行
結果情報がない場合:実行入力値に、前回までのシミュレーションにおける前の時
刻の試行結果情報を設定(複数ある場合は、任意の試行結果情報を設定)
○省略登録の場合:実行出力値を設定し、実行入力値は設定しない。実行出力値に、図
7の処理フローの(1)の処理で探索した結果情報を設定
○ For execution registration: Set execution input value, do not set execution output value
(A) If there is trial result information of the previous time in the same simulation that can be set as the execution input value: Set the trial result information of the previous time in the same simulation to the execution input value
(B) If there is no trial result information of the previous time in the same simulation that can be set as the execution input value: Set the trial result information of the previous time in the previous simulation to the execution input value (if there are multiple , Set any trial result information)
○ For omitted registration: Set the execution output value and do not set the execution input value. The execution output value is set to the result information searched in the process (1) in the process flow of FIG.

図7の処理フローの(2)の処理において、演算装置に割り当てられた模擬処理は、フレーム内の時刻の模擬を実行するが、同じフレームに割り当てられた同じ模擬処理または他の模擬処理の前の時刻の結果情報に基づいて模擬を実行する場合には、模擬結果による依存関係のある模擬処理が並列実行されることになる。このため、これらの模擬処理は、モンテカルロ試行による前回までのシミュレーション実行における結果データを用いて投機的な実行を行うものとする。すなわち、依存している情報を、前回までのシミュレーション実行における結果データと仮定して模擬の実行を投機的に開始し、後から依存している情報が生成された際にその情報と仮定した情報を比較して、異なっていれば模擬の実行をやり直し、異なっていなければ投機的に実行した結果をそのまま採用する。例えば、図6のフレーム m において、演算装置2に割り当てられた航空機管制模擬処理(Tn+1)と、演算装置3に割り当てられた航空レーダ模擬処理(Tn+1)は、演算装置1に割り当てられた航空レーダ模擬処理(Tn)の結果である探知情報に依存するが、モンテカルロ試行による前回までのシミュレーション実行における航空レーダ模擬処理(Tn)の結果である探知情報を用いて投機的に実行を開始し、その後で演算装置1の航空レーダ模擬処理(Tn)の実行結果である探知情報を受信した際に、それぞれ実行のやり直しが必要か否かを判定する。   In the process (2) of the process flow of FIG. 7, the simulation process assigned to the arithmetic device executes the simulation of the time in the frame, but before the same simulation process or other simulation processes assigned to the same frame. When the simulation is executed on the basis of the result information at the time, the simulation processes having a dependency relationship based on the simulation result are executed in parallel. Therefore, these simulation processes are speculatively executed using the result data in the previous simulation execution by the Monte Carlo trial. In other words, assuming that the dependent information is the result data in the previous simulation execution, the simulation execution is speculatively started, and the information assumed to be the information when the dependent information is generated later If they are different, the simulation is re-executed, and if they are not different, the result of speculative execution is adopted as it is. For example, in the frame m of FIG. 6, the aircraft control simulation process (Tn + 1) assigned to the computing device 2 and the aviation radar simulation process (Tn + 1) assigned to the computing device 3 are assigned to the computing device 1. Depending on the detection information that is the result of the simulated air radar simulation (Tn), speculative execution is performed using the detection information that is the result of the air radar simulation processing (Tn) in the previous simulation execution by the Monte Carlo trial. When the detection information that is the execution result of the aerial radar simulation process (Tn) of the arithmetic device 1 is received after that, it is determined whether or not it is necessary to re-execute the execution.

以上のように、モンテカルロシミュレーションにおける2回目以降のシミュレーション実行において、スケジューリング処理による実行中の動的なフレームの決定と模擬処理の演算装置への割り当てを行うことにより、バリア同期回数を削減することができる。また、他の演算装置での処理結果を待たずに投機的に模擬処理の実行を開始することにより、演算装置における処理の待ち時間を減らし、効率的に演算装置を利用できる。これらの効果により、シミュレーション実行の高速化を行うことができる。   As described above, in the second and subsequent simulation executions in the Monte Carlo simulation, the number of barrier synchronizations can be reduced by determining the dynamic frame being executed by the scheduling process and assigning the simulation process to the arithmetic unit. it can. Also, by starting the execution of the simulation process speculatively without waiting for the processing result in the other arithmetic device, the processing waiting time in the arithmetic device can be reduced and the arithmetic device can be used efficiently. These effects can speed up the simulation execution.

実施の形態2.
次に、演算装置数の超過分の模擬処理を動的に負荷の軽い演算装置へスケジューリングする方法について述べる。
図7の処理フローの(3)の条件判定では、演算装置数を超える数の模擬処理がスケジューリングリストに登録されないように判定を行うが、続く(4)の条件判定において、イベントリストに未だバリア同期までに実行しなければならない模擬処理が存在すると判定された場合、演算装置数の超過分の模擬処理がスケジューリングリストに実行登録される場合がある。このような場合は、以下の手順で実行登録された模擬処理を演算装置に割り当てる。
Embodiment 2. FIG.
Next, a method of dynamically simulating the excess processing of the number of computing devices to a computing device having a light load will be described.
In the condition determination of (3) in the processing flow of FIG. 7, a determination is made so that the number of simulation processes exceeding the number of arithmetic devices is not registered in the scheduling list. However, in the subsequent condition determination of (4), there is still a barrier in the event list. If it is determined that there is a simulation process that must be executed before synchronization, the simulation process in excess of the number of arithmetic devices may be registered for execution in the scheduling list. In such a case, the simulation process registered for execution by the following procedure is assigned to the arithmetic device.

(1) 実行時刻の早い模擬処理から順に演算装置に割り当てる。
(2) ある演算装置Aにおいて模擬処理Bの実行が終了した場合、以下を実行する。
(イ) 模擬処理Bの結果情報Cが、スケジューリングリストに残った未割り当ての模
擬処理の実行入力値となる場合、スケジューリングリストの該当模擬処理の実行入
力値を、結果情報Cに書き換える
(ロ) スケジューリングリストに残った未割り当ての模擬処理の中から最も実行時刻
の早い模擬処理を1つ選択し、演算装置Aに割り当てる
(3) スケジューリングリストに残った未割り当ての模擬処理が無くなるまで(2)の処
理を繰り返す
(1) Allocation to computing devices in order from the simulation process with the earlier execution time.
(2) When the execution of the simulation process B is completed in a certain arithmetic unit A, the following is executed.
(A) When the result information C of the simulation process B becomes the execution input value of the unallocated simulation process remaining in the scheduling list, the execution input value of the corresponding simulation process in the scheduling list is rewritten to the result information C
(B) Select one simulation process with the earliest execution time from the unallocated simulation processes remaining in the scheduling list and assign it to the processing unit A
(3) Repeat the process of (2) until there is no unallocated simulation process remaining in the scheduling list.

この手順により、動的に処理が終了した演算装置へのスケジューリングが行われ、また実行が終了した模擬処理の結果情報によりスケジューリングリストの実行入力値が変更されることにより入力値を仮定した投機的な実行が行われなくなるため再実行のリスクが回避されることから、演算装置数を超える数の模擬処理がスケジューリングリストに登録された場合にも効率的にシミュレーションを実行することが可能となる。   According to this procedure, scheduling is performed on the processing device that has dynamically finished processing, and the execution input value of the scheduling list is changed according to the result information of the simulation processing that has finished execution. Therefore, the risk of re-execution is avoided, so that even when a number of simulation processes exceeding the number of arithmetic devices are registered in the scheduling list, the simulation can be executed efficiently.

なお、演算装置に割り当てられた模擬処理を実行するとき、同じフレームに割り当てられた同じ模擬処理または他の模擬処理の前の時刻の結果情報に基づいて模擬を実行する場合には、依存している情報を、モンテカルロ試行による前回までのシミュレーション実行における結果データと仮定して模擬の実行を投機的に開始し、後から依存している情報が生成された際にその情報と仮定した情報を比較して、異なっていれば模擬の実行をやり直し、異なっていなければ投機的に実行した結果をそのまま採用し、
さらに、分散して実行する模擬処理間のバリア同期を行うシミュレーション時刻が求められた際に、演算装置数を超えた数の模擬処理を割り当てる必要が生じた場合には、シミュレーションの実行中に模擬処理の実行を終了した演算装置から演算装置数の超過分の模擬処理を割り当てることにより、演算装置数の超過分の模擬処理を動的に負荷の軽い演算装置へスケジューリングし、全体として高速に試行中のシミュレーションを実行するようにしてもよい。このようにすることで、さらにシミュレーション実行の高速化を行うことができる。
Note that when executing the simulation process assigned to the arithmetic device, depending on the result of the time before the same simulation process or other simulation process assigned to the same frame, The simulation execution is speculatively started assuming that the information is the result data from the previous simulation execution by the Monte Carlo trial, and when the dependent information is generated later, the information is compared with the assumed information. If it is different, repeat the simulation execution, and if it is not different, adopt the speculative execution result as it is,
Furthermore, when the simulation time for performing barrier synchronization between simulation processes executed in a distributed manner is obtained, if it is necessary to allocate more simulation processes than the number of arithmetic devices, simulation is performed during the simulation. By allocating simulation processing for the excess of the number of computing devices from the computing device that has finished executing the process, the simulation processing for the excess of the number of computing devices is dynamically scheduled to the computing device with a light load, and the entire trial is performed at high speed. You may make it perform the simulation inside. In this way, simulation execution can be further speeded up.

この発明に係る分散シミュレーションシステムによるモンテカルロシミュレーション実行方式は、例えば航空機の模擬と航空レーダの模擬および航空管制レーダの模擬を行う分散シミュレーションシステムに利用可能である。   The Monte Carlo simulation execution method by the distributed simulation system according to the present invention can be used for a distributed simulation system that performs, for example, aircraft simulation, air radar simulation, and air traffic control radar simulation.

101;RTI、102;模擬処理、501;分散シミュレーション基盤、502;イベントリスト、503;スケジューリング処理、504;スケジューリングリスト。   101; RTI, 102; simulation process, 501; distributed simulation infrastructure, 502; event list, 503; scheduling process, 504; scheduling list.

Claims (5)

複数の対象物に対する模擬処理を複数の演算装置に分散して実行する分散シミュレーションシステムによりモンテカルロシミュレーションを実行する方法において、
現在試行中のモンテカルロシミュレーションの次に実行するシミュレーション時刻の任意の模擬処理結果が、前回までの同じシミュレーション時刻に試行し、その模擬処理結果と同じ結果となることが予め判明しており、その結果を再利用することで、次に実行する任意の模擬処理の実行を省略できる場合に、
結果の再利用によって実行を省略できる当該模擬処理を除いた模擬処理の演算装置への割り当てを行うことにより、
シミュレーション実行中に実行が必要な模擬処理のみを動的に演算装置にスケジューリングして、実行することを特徴とする分散シミュレーション方法。
In a method of executing a Monte Carlo simulation by a distributed simulation system that executes a simulation process for a plurality of objects distributed to a plurality of arithmetic devices,
It is known in advance that any simulation processing result of the simulation time to be executed next to the Monte Carlo simulation that is currently being tried will be the same as the simulation processing result that was tried at the same simulation time up to the previous time. If you can skip the execution of any simulation process to be executed next by reusing
By assigning the simulation process to the arithmetic unit excluding the simulation process that can be omitted by reusing the result,
A distributed simulation method characterized by dynamically scheduling and executing only a simulation process that needs to be executed during simulation execution in an arithmetic device.
分散シミュレーション方法は、複数の演算装置間で行うデータ通信により矛盾が生じないよう、シミュレーション時間進行に従ってバリア同期が行われる方法であり、分散して実行する模擬処理間のバリア同期を行うシミュレーション時刻を、模擬処理の演算装置への割り当て処理によってシミュレーション実行中に動的に求めることを特徴とする請求項1記載の分散シミュレーション方法。   The distributed simulation method is a method in which barrier synchronization is performed according to the progress of simulation time so that no contradiction occurs due to data communication performed between a plurality of arithmetic devices, and the simulation time for performing barrier synchronization between simulation processes executed in a distributed manner is set. 2. The distributed simulation method according to claim 1, wherein the simulation is dynamically performed during execution of simulation by assigning simulation processing to an arithmetic unit. 分散して実行する模擬処理間のバリア同期を行うシミュレーション時刻が求められた際に、演算装置数を超えた数の模擬処理を割り当てる必要が生じた場合には、シミュレーションの実行中に模擬処理の実行を終了した演算装置から演算装置数の超過分の模擬処理を割り当てることで、演算装置数の超過分の模擬処理を動的に負荷の軽い演算装置へスケジューリングし、シミュレーションを実行することを特徴とする請求項2記載の分散シミュレーション方法。   When the simulation time for performing barrier synchronization between distributed simulation processes is obtained, if it becomes necessary to allocate more simulation processes than the number of computing devices, the simulation process is executed during the simulation. By allocating simulation processing for the excess of the number of computing devices from the computing device that has finished execution, the simulation processing for the excess of the number of computing devices is dynamically scheduled to the computing device with a light load, and the simulation is executed. The dispersion simulation method according to claim 2. 分散して実行する模擬処理間のバリア同期を行うシミュレーション時刻が求められた際に、そのシミュレーション時刻までの模擬処理の実行を投機的なシミュレーション時間進行によって行うことを特徴とする請求項2記載の分散シミュレーション方法。   3. The simulation process up to the simulation time is executed by speculative simulation time progress when a simulation time for performing barrier synchronization between the simulation processes distributed and executed is obtained. Distributed simulation method. 分散して実行する模擬処理間のバリア同期を行うシミュレーション時刻が求められた際に、そのシミュレーション時刻までの模擬処理の実行を投機的なシミュレーション時間進行によって行い、
さらに、分散して実行する模擬処理間のバリア同期を行うシミュレーション時刻が求められた際に、演算装置数を超えた数の模擬処理を割り当てる必要が生じた場合には、シミュレーションの実行中に模擬処理の実行を終了した演算装置から演算装置数の超過分の模擬処理を割り当て、演算装置数の超過分の模擬処理を動的に負荷の軽い演算装置へスケジューリングすることを特徴とする請求項2記載の分散シミュレーション方法。
When simulation time to perform barrier synchronization between distributed simulation processes is obtained, execution of simulation processes up to the simulation time is performed by speculative simulation time progress,
Furthermore, when the simulation time for performing barrier synchronization between simulation processes executed in a distributed manner is obtained, if it is necessary to allocate more simulation processes than the number of arithmetic devices, simulation is performed during the simulation. The simulation processing for the excess of the number of computing devices is assigned from the computing device that has finished executing the processing, and the simulation processing for the excess of the number of computing devices is dynamically scheduled to a computing device with a light load. The distributed simulation method described.
JP2010146494A 2010-06-28 2010-06-28 Distributed simulation method Withdrawn JP2012008946A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010146494A JP2012008946A (en) 2010-06-28 2010-06-28 Distributed simulation method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010146494A JP2012008946A (en) 2010-06-28 2010-06-28 Distributed simulation method

Publications (1)

Publication Number Publication Date
JP2012008946A true JP2012008946A (en) 2012-01-12

Family

ID=45539377

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010146494A Withdrawn JP2012008946A (en) 2010-06-28 2010-06-28 Distributed simulation method

Country Status (1)

Country Link
JP (1) JP2012008946A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021095424A1 (en) * 2019-11-13 2021-05-20 株式会社日立製作所 Information processing system and control method for information processing system
KR20240043252A (en) * 2022-09-27 2024-04-03 한국기술교육대학교 산학협력단 Simulating device and method by digital twin using distributed computing

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021095424A1 (en) * 2019-11-13 2021-05-20 株式会社日立製作所 Information processing system and control method for information processing system
KR20240043252A (en) * 2022-09-27 2024-04-03 한국기술교육대학교 산학협력단 Simulating device and method by digital twin using distributed computing
KR102856935B1 (en) 2022-09-27 2025-09-05 한국기술교육대학교 산학협력단 Simulating device and method by digital twin using distributed computing

Similar Documents

Publication Publication Date Title
US10789544B2 (en) Batching inputs to a machine learning model
CN107025205B (en) Method and equipment for training model in distributed system
US8607240B2 (en) Integration of dissimilar job types into an earliest deadline first (EDF) schedule
KR20180073669A (en) Stream-based accelerator processing of computed graphs
KR20140113310A (en) Task scheduling with precedence relationships in multicore systems
Rodrigo et al. Enabling workflow-aware scheduling on hpc systems
KR20200091790A (en) Platform for concurrent execution of gpu operations
KR101715986B1 (en) System and method for efficient resource management of a signal flow programmed digital signal processor code
CN112905317A (en) Task scheduling method and system under rapid reconfigurable signal processing heterogeneous platform
US20160110209A1 (en) Apparatus and method for performing multi-core emulation based on multi-threading
JP2017073000A (en) Parallelization method, parallelization tool, in-vehicle device
Garibay-Martínez et al. Task partitioning and priority assignment for distributed hard real-time systems
JP2012008946A (en) Distributed simulation method
TWI776212B (en) System, method, and computer storage medium for integrated circuit accelerators
Bertout et al. Minimizing a real-time task set through task clustering
CN112363816B (en) Deterministic scheduling method, system and medium for embedded multi-core operating system
KR101349561B1 (en) Apparatus and method for scheduling partition based criticality
US9766940B2 (en) Enabling dynamic job configuration in mapreduce
KR101674324B1 (en) Task scheduling device and method for real-time control applications
Belwal et al. Feasibility interval for the transactional event handlers of P-FRP
WO2014027444A1 (en) Scheduling device and scheduling method
KR101280864B1 (en) Method of simulating faster
Lee New response time analysis for global EDF on a multiprocessor platform
Guillaumet et al. Using reconfigurable multi-core architectures for safety-critical embedded systems
KR102871374B1 (en) Method and apparatus for non-preemptive gang scheduling

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20130903