JP4509951B2 - Simulation execution control device and program - Google Patents

Simulation execution control device and program Download PDF

Info

Publication number
JP4509951B2
JP4509951B2 JP2006055433A JP2006055433A JP4509951B2 JP 4509951 B2 JP4509951 B2 JP 4509951B2 JP 2006055433 A JP2006055433 A JP 2006055433A JP 2006055433 A JP2006055433 A JP 2006055433A JP 4509951 B2 JP4509951 B2 JP 4509951B2
Authority
JP
Japan
Prior art keywords
simulation
elements
reception
execution
processor
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
Application number
JP2006055433A
Other languages
Japanese (ja)
Other versions
JP2007233763A (en
Inventor
修介 渡部
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 JP2006055433A priority Critical patent/JP4509951B2/en
Publication of JP2007233763A publication Critical patent/JP2007233763A/en
Application granted granted Critical
Publication of JP4509951B2 publication Critical patent/JP4509951B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Description

この発明は、例えば、訓練用シミュレーション、計画・予測・解析用シミュレーションなど、様々な用途のシミュレーションシステムにおいて、そのシミュレーション実行の個々のシミュレーション要素を複数の論理プロセッサで分担実行する分散シミュレーションシステムに関して、シミュレーション要素を論理プロセッサに最適に配置する技術分野に属するものである。   The present invention relates to a distributed simulation system in which individual simulation elements of the simulation execution are shared and executed by a plurality of logical processors in a simulation system for various uses such as training simulation and simulation for planning / prediction / analysis. It belongs to a technical field in which elements are optimally arranged in a logical processor.

分散シミュレーションシステムは、シミュレーションを構成する個々のシミュレーション要素を複数の論理プロセッサで分担実行するシステムである。分散シミュレーションシステムでは、シミュレーションの処理内容、処理状況に応じて個々のシミュレーション要素の処理負荷や、シミュレーション要素間のイベント交換頻度が変動するため、論理プロセッサあたりの処理負荷、データ通信頻度等のアンバランスが発生し易く、システム全体の処理速度の最適化が難しいという課題がある。そのため、従来より、論理プロセッサ間の負荷バランスを動的に調整する方式についての提案が行われている。   A distributed simulation system is a system in which individual simulation elements constituting a simulation are shared and executed by a plurality of logical processors. In a distributed simulation system, the processing load of individual simulation elements and the frequency of event exchange between simulation elements vary depending on the simulation processing content and processing status, so the processing load per logical processor, data communication frequency, etc. are unbalanced. Is likely to occur, and it is difficult to optimize the processing speed of the entire system. For this reason, conventionally, a method for dynamically adjusting the load balance between logical processors has been proposed.

特開2002−342297号公報は、各論理プロセッサ上でのシミュレーション要素の実行で消費されるCPU負荷やメモリ使用量などのシステムリソースや、シミュレーション要素間のイベント交換に要するデータ通信量に基づき、シミュレーション要素の論理プロセッサへの配置を決定する分散シミュレーション制御装置に関する提案である。本提案では、論理プロセッサの実行中に、論理プロセッサ上のシミュレーション要素が消費するCPU負荷率やメモリ使用量を計測し、また、シミュレーション要素間のイベント交換に要するデータ通信を計測し、それらの統計データを基に、次に実行するシミュレーションでの各論理プロセッサに対するシミュレーション要素の配置先を決定し、配置する。   Japanese Patent Laid-Open No. 2002-342297 discloses a simulation based on system resources such as CPU load and memory usage consumed by execution of simulation elements on each logical processor, and data communication volume required for event exchange between simulation elements. This is a proposal for a distributed simulation controller that determines the placement of elements in a logical processor. In this proposal, the CPU load factor and memory usage consumed by the simulation elements on the logical processor are measured during the execution of the logical processor, and the data communication required for event exchange between the simulation elements is measured, and their statistics are measured. Based on the data, the placement location of the simulation element for each logical processor in the next simulation to be executed is determined and placed.

従来の提案では、実際のシミュレーション要素の実行におけるCPU負荷率やメモリ使用量、ネットワーク負荷の統計情報を基に、論理プロセッサ間でシミュレーション要素の配置を決定することにより、分散シミュレーション実行における効率化を行うことができるが、以下のような課題がある。   Conventional proposals improve the efficiency of distributed simulation execution by determining the placement of simulation elements between logical processors based on the CPU load factor, memory usage, and network load statistical information in actual simulation element execution. Although it can be performed, there are the following problems.

まず、従来の提案では、シミュレーションの実行において、シミュレーション要素のCPU使用率、メモリ使用量、ネットワーク負荷が大きく動的に変化するような状況について、最適なシミュレーション要素の配置を行うことが困難である。   First, in the conventional proposal, it is difficult to optimally arrange the simulation elements in a situation in which the CPU usage rate, the memory usage amount, and the network load of the simulation elements change greatly in the execution of the simulation. .

また、従来の提案では、次のシミュレーション実行において統計的に同程度のCPU使用率、メモリ使用量、ネットワーク負荷になる場合については有効であるが、人間による動的なシミュレーションパラメータ値の変更を許容するようなシミュレーションや、あるいは乱数発生等に依存して毎回結果が変わるようなシミュレーションの場合には、効果を発揮することができない。
特開2002−342297号公報
In addition, the conventional proposal is effective in the case where the CPU usage rate, the memory usage amount, and the network load are statistically the same in the next simulation execution, but the dynamic simulation parameter value can be changed by humans. In the case of such a simulation or a simulation in which the result changes every time depending on random number generation or the like, the effect cannot be exhibited.
JP 2002-342297 A

本発明は、従来の課題であった、シミュレーションの実行において、シミュレーション要素のCPU使用率、メモリ使用量、ネットワーク負荷が大きく動的に変化するような状況や、または、人間による動的なシミュレーションパラメータ値の変更を許容するようなシミュレーションや、あるいは乱数発生等に依存して毎回結果が変わるようなシミュレーションの場合であっても、常に最適なシミュレーション要素の論理プロセッサに対する実行配分を行うための分散シミュレーションシステムを提供することを主な目的とする。   The present invention, which has been a conventional problem, is a situation where the CPU usage rate, the memory usage amount, and the network load of the simulation elements change dynamically during simulation execution, or a dynamic simulation parameter by a human being Distributed simulation for always allocating the optimal simulation elements to logical processors, even in the case of simulations that allow value changes or simulations that change the results each time depending on random number generation, etc. The main purpose is to provide a system.

本発明に係るシミュレーション実行制御装置は、
複数のシミュレーション要素の実行を制御するシミュレーション実行制御装置であって、
シミュレーション要素ごとに、データ送受信の相手先となる他のシミュレーション要素を特定するとともに、特定した他のシミュレーション要素とのデータ送受信頻度を判定する送受信判定部と、
前記送受信判定部の判定結果に基づき、複数のシミュレーション要素の各々に対して、シミュレーション要素を実行する実行プロセッサを複数のプロセッサの中から選択するプロセッサ選択部とを有することを特徴とする。
The simulation execution control apparatus according to the present invention is:
A simulation execution control device for controlling the execution of a plurality of simulation elements,
For each simulation element, specify other simulation elements that are the counterpart of data transmission and reception, and a transmission / reception determination unit that determines the frequency of data transmission / reception with the other specified simulation elements,
A processor selection unit that selects an execution processor that executes a simulation element from among the plurality of processors, for each of the plurality of simulation elements based on a determination result of the transmission / reception determination unit.

前記プロセッサ選択部は、
相互間のデータ送受信頻度が高い二つのシミュレーション要素の実行プロセッサを同じプロセッサとすることを特徴とする請求項1に記載のシミュレーション実行制御装置。
The processor selection unit includes:
2. The simulation execution control apparatus according to claim 1, wherein execution processors of two simulation elements having a high frequency of data transmission / reception between each other are the same processor.

本発明によれば、シミュレーション要素間のデータ送受信の関係と頻度を判定し、判定結果に基づき、シミュレーション要素を実行する実行プロセッサを選択するため、通信頻度の高いシミュレーション要素間が同じ論理プロセッサ内で実行され、このため通信頻度が高いシミュレーション要素間の通信処理を同じ論理プロセッサ内で行うことにより、他の論理プロセッサとの通信処理を削減することができ、システム全体の処理効率を向上することができる。   According to the present invention, the relationship and frequency of data transmission / reception between simulation elements are determined, and an execution processor that executes the simulation element is selected based on the determination result. Therefore, by performing communication processing between simulation elements with high communication frequency within the same logical processor, communication processing with other logical processors can be reduced, and the processing efficiency of the entire system can be improved. it can.

実施の形態1.
分散シミュレーションシステムは、シミュレーションを構成する個々のシミュレーション要素を複数の論理プロセッサで分担実行するシステムである。分散シミュレーションシステムでは、シミュレーションの処理内容、処理状況に応じて個々のシミュレーション要素の処理負荷や、シミュレーション要素間のイベント交換頻度が変動するため、論理プロセッサあたりの処理負荷、データ通信頻度等のアンバランスが発生し易く、システム全体の処理速度の最適化が難しいという課題がある。
本実施の形態では、常に最適なシミュレーション要素の論理プロセッサに対する配置を行うために、従来の提案で用いていた、CPU使用率、メモリ使用量、ネットワーク負荷という状況に応じて変動する要素ではなく、これらの要素を変動させる要因となるシミュレーション状況に着目する。
Embodiment 1 FIG.
A distributed simulation system is a system in which individual simulation elements constituting a simulation are shared and executed by a plurality of logical processors. In a distributed simulation system, the processing load of individual simulation elements and the frequency of event exchange between simulation elements vary depending on the simulation processing content and processing status, so the processing load per logical processor, data communication frequency, etc. are unbalanced. Is likely to occur, and it is difficult to optimize the processing speed of the entire system.
In this embodiment, in order to always arrange the optimal simulation element for the logical processor, it is not an element that fluctuates according to the situation of the CPU usage rate, the memory usage amount, and the network load, which has been used in the conventional proposal, Focus on the simulation situation that causes these factors to fluctuate.

本発明の実施の形態1では、シミュレーション要素の論理プロセッサに対する実行配分の形態として、シミュレーション状況に応じて決定される、シミュレーション要素間のデータ送受信の関係と頻度に着目した実行配分について説明する。
図1は、本発明の実施の形態1に係る分散シミュレーションシステムの構成例を示す。
図1において、101は、本実施の形態に係る分散シミュレーションシステムを構成する、複数の論理プロセッサである(以下、単にプロセッサともいう)。
102は、本実施の形態に係る分散シミュレーションシステムの実行要素プログラムである、複数のシミュレーション要素であり、実行状態について休止状態か、活動状態の2つの状態にある。シミュレーション要素102は、それぞれの論理プロセッサ101に同じ種類のシミュレーション要素102が同じ数だけ配置されており、分散シミュレーションシステム全体として必ず一つのみが「活動」状態となる。
103は、各論理プロセッサにおいて、各論理プロセッサ101内のシミュレーション要素102を管理する、シミュレーション要素管理部である。
104は、各論理プロセッサ101において、各論理プロセッサ101内のシミュレーション要素102の実行状態(休止状態か、または活動状態)を制御するシミュレーション要素実行状態制御部(シミュレーション実行制御装置)である。
105は、各論理プロセッサ101において、各論理プロセッサ101内のシミュレーション要素102のシミュレーションの実行中に発生するイベント等において、他のシミュレーション要素102に対するデータの送受信を制御するシミュレーション要素間通信制御部である。
In the first embodiment of the present invention, execution distribution focusing on the relationship and frequency of data transmission / reception between simulation elements, which is determined according to the simulation status, will be described as a form of execution distribution of simulation elements to logical processors.
FIG. 1 shows a configuration example of a distributed simulation system according to Embodiment 1 of the present invention.
In FIG. 1, reference numeral 101 denotes a plurality of logical processors constituting the distributed simulation system according to the present embodiment (hereinafter also simply referred to as processors).
Reference numeral 102 denotes a plurality of simulation elements, which are execution element programs of the distributed simulation system according to the present embodiment, and the execution state is in two states: a pause state or an active state. The same number of simulation elements 102 of the same type are arranged in each logical processor 101, and only one simulation element 102 is in an “active” state as a whole of the distributed simulation system.
Reference numeral 103 denotes a simulation element management unit that manages the simulation elements 102 in each logical processor 101 in each logical processor.
Reference numeral 104 denotes a simulation element execution state control unit (simulation execution control device) that controls the execution state (pause state or active state) of the simulation element 102 in each logical processor 101 in each logical processor 101.
Reference numeral 105 denotes an inter-simulation element communication control unit that controls transmission / reception of data to / from other simulation elements 102 in each logical processor 101 in an event or the like that occurs during the simulation of the simulation elements 102 in each logical processor 101. .

図2は、シミュレーション要素実行制御部104の内部構成例を示す。
図2において、通信制御部インタフェース1041は、シミュレーション要素実行制御部104内においてシミュレーション要素間通信制御部105とのインタフェースとなる。
送受信判定部1042は、シミュレーション要素102ごとに、データ送受信の相手先となる他のシミュレーション要素を特定するとともに、特定した他のシミュレーション要素とのデータ送受信頻度を判定する。
プロセッサ選択部1043は、送受信判定部1042の判定結果に基づき、複数のシミュレーション要素の各々に対して、シミュレーション要素を実行する実行プロセッサを複数のプロセッサの中から選択する。後述するように、プロセッサ選択部1043は、相互間のデータ送受信頻度が高い二つのシミュレーション要素の実行プロセッサを同じプロセッサとする。また、プロセッサ選択部1043は、相互間でデータ送受信が行われない二つのシミュレーション要素の実行プロセッサを異なるプロセッサとする。
FIG. 2 shows an internal configuration example of the simulation element execution control unit 104.
In FIG. 2, the communication control unit interface 1041 serves as an interface with the inter-simulation element communication control unit 105 in the simulation element execution control unit 104.
The transmission / reception determination unit 1042 specifies, for each simulation element 102, other simulation elements that are data transmission / reception destinations, and determines the frequency of data transmission / reception with the other specified simulation elements.
Based on the determination result of the transmission / reception determination unit 1042, the processor selection unit 1043 selects an execution processor that executes the simulation element for each of the plurality of simulation elements from the plurality of processors. As will be described later, the processor selection unit 1043 sets the execution processors of the two simulation elements having a high data transmission / reception frequency between the same processor as the same processor. In addition, the processor selection unit 1043 sets the execution processors of the two simulation elements that do not perform data transmission / reception to be different processors.

本実施の形態では、分散シミュレーションシステムにおいて、シミュレーション状況に応じて各論理プロセッサで実行されるシミュレーション要素の活動・休止状態を制御することにより、システム全体の処理効率を向上する。
つまり、個々のシミュレーション要素の処理負荷や、シミュレーション要素間のイベント交換頻度が変動する原因であるシミュレーション状況に着目し、シミュレーション状況に応じて論理プロセッサに対するシミュレーション要素の実行配分を行う。具体的には、送受信判定部1042が、シミュレーション要素102ごとに、データ送受信の相手先となる他のシミュレーション要素を特定するとともに、特定した他のシミュレーション要素とのデータ送受信頻度を判定し、プロセッサ選択部1043が、判定結果に基づき、複数のシミュレーション要素の各々に対して、シミュレーション要素を実行する実行プロセッサを複数のプロセッサ101の中から選択する。
In the present embodiment, in the distributed simulation system, the processing efficiency of the entire system is improved by controlling the activity / hibernation state of simulation elements executed by each logical processor in accordance with the simulation status.
That is, paying attention to the processing load of individual simulation elements and the simulation situation that causes the event exchange frequency between simulation elements to fluctuate, the execution distribution of the simulation elements to the logical processors is performed according to the simulation situation. Specifically, the transmission / reception determination unit 1042 specifies, for each simulation element 102, other simulation elements that are data transmission / reception destinations, determines the data transmission / reception frequency with the other specified simulation elements, and selects the processor. The unit 1043 selects, from each of the plurality of processors 101, an execution processor that executes the simulation element for each of the plurality of simulation elements based on the determination result.

図12は、実施の形態1における分散シミュレーションシステムのハードウェア資源の一例を示す図である。分散シミュレーションシステムは、コンピュータ装置により実現される。
図12において、分散シミュレーションシステムは、シミュレーション要素やプログラムを実行するプロセッサ911(CPU(Central Processing Unit)、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータともいう)を備えている。プロセッサ911は、バス912を介して、例えば、ROM(Read Only Memory)913、RAM(Random Access Memory)914、通信ボード915、表示装置901、キーボード902、マウス903、磁気ディスク装置920と接続されていてもよい。また、プロセッサ911は、これらのハードウェアデバイスを制御する。更に、プロセッサ911は、FDD904(Flexible Disk Drive)、コンパクトディスク装置905(CDD)、プリンタ装置906、スキャナ装置907と接続していてもよい。また、磁気ディスク装置920の代わりに、光ディスク装置、メモリカード読み書き装置などの記憶装置でもよい。
なお、図12では、単一のプロセッサ911が示されているが、これは作図上の理由であり、本実施の形態では、複数のプロセッサが配置されているものとする。
RAM914は、揮発性メモリの一例である。ROM913、FDD904、CDD905、磁気ディスク装置920の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置あるいは記憶部の一例である。
通信ボード915、キーボード902、スキャナ装置907、FDD904などは、入力部、入力装置の一例である。
また、通信ボード915、表示装置901、プリンタ装置906などは、出力部、出力装置の一例である。
FIG. 12 is a diagram illustrating an example of hardware resources of the distributed simulation system according to the first embodiment. The distributed simulation system is realized by a computer device.
In FIG. 12, the distributed simulation system includes a processor 911 (also referred to as a CPU (Central Processing Unit), a central processing unit, a processing unit, an arithmetic unit, a microprocessor, and a microcomputer) that executes simulation elements and programs. The processor 911 is connected to, for example, a ROM (Read Only Memory) 913, a RAM (Random Access Memory) 914, a communication board 915, a display device 901, a keyboard 902, a mouse 903, and a magnetic disk device 920 via a bus 912. May be. The processor 911 also controls these hardware devices. Further, the processor 911 may be connected to an FDD 904 (Flexible Disk Drive), a compact disk device 905 (CDD), a printer device 906, and a scanner device 907. Further, instead of the magnetic disk device 920, a storage device such as an optical disk device or a memory card read / write device may be used.
In FIG. 12, a single processor 911 is shown, but this is for drawing reasons. In this embodiment, a plurality of processors are arranged.
The RAM 914 is an example of a volatile memory. The storage media of the ROM 913, the FDD 904, the CDD 905, and the magnetic disk device 920 are an example of a nonvolatile memory. These are examples of a storage device or a storage unit.
The communication board 915, the keyboard 902, the scanner device 907, the FDD 904, and the like are examples of an input unit and an input device.
Further, the communication board 915, the display device 901, the printer device 906, and the like are examples of an output unit and an output device.

通信ボード915は、ネットワークに接続されている。例えば、通信ボード915は、LAN(ローカルエリアネットワーク)、インターネット、WAN(ワイドエリアネットワーク)などに接続されていても構わない。
磁気ディスク装置920には、オペレーティングシステム921(OS)、ウィンドウシステム922、プログラム群923、ファイル群924が記憶されている。プログラム群923のプログラムは、プロセッサ911、オペレーティングシステム921、ウィンドウシステム922により実行される。
The communication board 915 is connected to the network. For example, the communication board 915 may be connected to a LAN (local area network), the Internet, a WAN (wide area network), or the like.
The magnetic disk device 920 stores an operating system 921 (OS), a window system 922, a program group 923, and a file group 924. The programs in the program group 923 are executed by the processor 911, the operating system 921, and the window system 922.

上記プログラム群923には、以下に述べる説明において「〜部」、「〜手段」として説明する機能を実行するプログラムが記憶されている。プログラムは、プロセッサ911により読み出され実行される。
また、プログラム群923として、各シミュレーション要素102が記憶され、プロセッサ911により読み出され実行される。
ファイル群924には、以下に述べる説明において、「〜の判定結果」、「〜の計算結果」、「〜の処理結果」、「〜の評価結果」等として説明する情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリになどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してプロセッサ911によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示などのプロセッサの動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示・抽出のプロセッサの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
また、以下で説明するフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、RAM914のメモリ、FDD904のフレキシブルディスク、CDD905のコンパクトディスク、磁気ディスク装置920の磁気ディスク、その他光ディスク、ミニディスク、DVD等の記録媒体に記録される。また、データや信号は、バス912や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
The program group 923 stores programs for executing functions described as “˜unit” and “˜means” in the following description. The program is read and executed by the processor 911.
In addition, each simulation element 102 is stored as a program group 923 and read and executed by the processor 911.
In the file group 924, information, data, signal values, etc. described as “determination result of”, “calculation result of”, “processing result of”, “evaluation result of”, etc. Variable values and parameters are stored as items of “˜file” and “˜database”. The “˜file” and “˜database” are stored in a recording medium such as a disk or a memory. Information, data, signal values, variable values, and parameters stored in a storage medium such as a disk or memory are read out to a main memory or a cache memory by a processor 911 via a read / write circuit, and extracted, searched, referenced, and compared. Used for processor operations such as computation, calculation, processing, output, printing, and display. Information, data, signal values, variable values, and parameters are stored in the main memory, cache memory, and buffer memory during the extraction, search, reference, comparison, operation, calculation, processing, output, printing, display, and extraction processor operations. Temporarily stored.
The arrows in the flowchart described below mainly indicate input / output of data and signals. The data and signal values are the RAM 914 memory, FDD 904 flexible disk, CDD 905 compact disk, magnetic disk device 920 magnetic disk, In addition, it is recorded on a recording medium such as an optical disc, a mini disc, or a DVD. Data and signals are transmitted online via a bus 912, signal lines, cables, or other transmission media.

また、以下に述べる説明において「〜部」、「〜手段」として説明するものは、「〜回路」、「〜装置」、「〜機器」、「手段」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」、「〜手段」として説明するものは、ROM913に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD等の記録媒体に記憶される。プログラムはプロセッサ911により読み出され、プロセッサ911により実行される。すなわち、プログラムは、以下に述べる「〜部」、「〜手段」としてコンピュータを機能させるものである。あるいは、以下に述べる「〜部」、「〜手段」の手順や方法をコンピュータに実行させるものである。   In addition, what is described as “to part” and “to means” in the following description may be “to circuit”, “to apparatus”, “to apparatus”, and “to means”. It may be “step”, “˜procedure”, “˜processing”. That is, what is described as “˜unit” and “˜means” may be realized by firmware stored in the ROM 913. Alternatively, it may be implemented only by software, or only by hardware such as elements, devices, substrates, and wirings, by a combination of software and hardware, or by a combination of firmware. Firmware and software are stored as programs in a recording medium such as a magnetic disk, a flexible disk, an optical disk, a compact disk, a mini disk, and a DVD. The program is read by the processor 911 and executed by the processor 911. That is, the program causes the computer to function as “to part” and “to means” described below. Alternatively, the procedure or method of “˜unit” and “˜means” described below is executed by a computer.

このように、本実施の形態及び以下に述べる実施の形態に示す分散シミュレーションシステムは、処理装置たるプロセッサ、記憶装置たるメモリ、磁気ディスク等、入力装置たるキーボード、マウス等、出力装置たる表示装置、通信ボード等を備えるコンピュータであり、上記したように「〜部」、「〜手段」として示された機能をこれら処理装置、記憶装置、入力装置、出力装置を用いて実現するものである。   As described above, the distributed simulation system shown in the present embodiment and the embodiments described below includes a processor as a processing device, a memory as a storage device, a magnetic disk, a keyboard as an input device, a mouse, and a display device as an output device, A computer including a communication board and the like, and as described above, functions indicated as “˜unit” and “˜means” are realized by using these processing devices, storage devices, input devices, and output devices.

次に、シミュレーションの実行例に基づき、図2〜図7を用いて動作について説明する。   Next, based on a simulation execution example, the operation will be described with reference to FIGS.

図3は、図1の分散シミュレーションシステムで実行されているシミュレーションの例である。図3において、分散シミュレーションシステムは図1の論理プロセッサ(101)が2つ、すなわち論理プロセッサ1(201)及び論理プロセッサ2(211)により構成されている。
各論理プロセッサの図1のシミュレーション要素102として、論理プロセッサ1(201)には航空機1(207)、航空機2(208)、レーダ1(209)、航空管制1(210)の4種、論理プロセッサ2(211)には航空機1(216)、航空機2(217)、レーダ1(218)、航空管制1(219)の4種のそれぞれが配置されている。
なお、各シミュレーション要素の実行状態は、論理プロセッサ1(201)の航空機1(207)、航空機2(208)、レーダ1(209)、航空管制1(210)の4種は活動状態であり、論理プロセッサ2(211)の航空機1(216)、航空機2(217)、レーダ1(218)、航空管制1(219)の4種は休止状態である。
FIG. 3 is an example of a simulation executed in the distributed simulation system of FIG. 3, the distributed simulation system includes two logical processors (101) in FIG. 1, that is, a logical processor 1 (201) and a logical processor 2 (211).
As the simulation element 102 of FIG. 1 of each logical processor, the logical processor 1 (201) includes four types of logic processors: aircraft 1 (207), aircraft 2 (208), radar 1 (209), and air traffic control 1 (210). 2 (211) is arranged with four types of aircraft 1 (216), aircraft 2 (217), radar 1 (218), and air traffic control 1 (219).
In addition, the execution state of each simulation element has four types of the active state of the aircraft 1 (207), the aircraft 2 (208), the radar 1 (209), and the air traffic control 1 (210) of the logical processor 1 (201). The four types of aircraft 1 (216), aircraft 2 (217), radar 1 (218), and air traffic control 1 (219) of the logical processor 2 (211) are in a dormant state.

ここで、図4〜図6を用い、図1のシミュレーション要素実行制御部104により、図3のような各シミュレーション要素の実行状態が決定されるまでの動作について説明する。
図4は、図3の分散シミュレーションシステムで実行されるシミュレーション状況の例を示した図であり、航空管制1が、レーダ1により探知された航空機の位置情報を基に、航空機1、航空機2の2機の航空機に対して交信するというシミュレーション状況を表している。
図5は、図3のシミュレーション要素間通信制御部1(205)、シミュレーション要素間通信制御部2(215)に対する初期設定として与えられたか、または、シミュレーション要素間通信制御部1(205)、シミュレーション要素間通信制御部2(215)が動的に各シミュレーション要素のデータ送受信状況を監視したことにより保持している、図4のシミュレーション状況における、各シミュレーション要素間のデータ送受信の関係と頻度を示している。なお、図6は、図5に示す各シミュレーション要素間のデータ送受信の関係を、表形式で表した図である。
Here, the operation until the execution state of each simulation element as shown in FIG. 3 is determined by the simulation element execution control unit 104 in FIG. 1 will be described with reference to FIGS.
FIG. 4 is a diagram showing an example of a simulation situation executed by the distributed simulation system of FIG. 3. Based on the aircraft position information detected by the radar 1 by the air traffic control 1, the aircraft 1 and the aircraft 2. It represents a simulation situation where two aircraft are in communication.
5 is given as an initial setting for the inter-simulation element communication control unit 1 (205) and the inter-simulation element communication control unit 2 (215) in FIG. 3, or the simulation inter-element communication control unit 1 (205) 4 shows the relationship and frequency of data transmission / reception between simulation elements in the simulation situation of FIG. 4 held by the inter-element communication control unit 2 (215) dynamically monitoring the data transmission / reception situation of each simulation element. ing. FIG. 6 is a diagram showing the data transmission / reception relationship between the simulation elements shown in FIG. 5 in a tabular format.

ここでは、図3のシミュレーション要素実行制御部1(204)、シミュレーション要素実行制御部2(214)のうち、シミュレーション要素実行制御部1(204)が代表して実行プロセッサを決定するものとする。
具体的には、図3のシミュレーション要素実行制御部1(204)の送受信判定部1042が、通信制御部インタフェース1041を介して図3のシミュレーション要素間通信制御部1(205)から図5、図6に示される情報を取得し、図3のシミュレーション要素実行制御部1(204)のプロセッサ選択部1043が、以下のようなルールにより、各論理プロセッサの各シミュレーション要素の実行状態を決定する。
ルール1:データ送受信の関係があり、かつ通信頻度の高い2つのシミュレーション要素同士は、同じ論理プロセッサ内で活動状態とする。
ルール2:データ送受信の関係が無い2つのシミュレーション要素同士は、異なる2つ論理プロセッサで分担して実行するよう、活動状態と休止状態を設定する。
ルール3:ルール1の適用結果とルール2の適用結果が相反する場合、ルール1の適用結果を優先する。
Here, among the simulation element execution control unit 1 (204) and the simulation element execution control unit 2 (214) in FIG. 3, the simulation element execution control unit 1 (204) represents the execution processor as a representative.
Specifically, the transmission / reception determination unit 1042 of the simulation element execution control unit 1 (204) in FIG. 3 is connected to the simulation element communication control unit 1 (205) in FIG. 6 is obtained, and the processor selection unit 1043 of the simulation element execution control unit 1 (204) in FIG. 3 determines the execution state of each simulation element of each logical processor according to the following rules.
Rule 1: Two simulation elements having a data transmission / reception relationship and having a high communication frequency are set in an active state in the same logical processor.
Rule 2: An active state and a dormant state are set so that two simulation elements not related to data transmission / reception are shared and executed by two different logical processors.
Rule 3: When the application result of Rule 1 and the application result of Rule 2 are in conflict, the application result of Rule 1 is prioritized.

図5、図6に示される情報に対し、上記のルールを適用すると、以下のような結果となる。
ルール1の適用結果:航空機1とレーダ1、航空機2とレーダ1、レーダ1と航空管制1は、同じ論理プロセッサ内で活動状態とする。
ルール2の適用結果:航空機1と航空機2を、異なる論理プロセッサ内で活動状態とする。
ルール3の適用結果:ルール1の適用結果(航空機1と航空機2は、同じ論理プロセッサ内で活動状態とする)とルール2の適用結果(航空機1と航空機2は、異なる論理プロセッサ内で活動状態とする)が相反するため、ルール1の適用結果を優先する。
When the above rules are applied to the information shown in FIGS. 5 and 6, the following results are obtained.
Application result of rule 1: Aircraft 1 and radar 1, aircraft 2 and radar 1, radar 1 and air traffic control 1 are active in the same logic processor.
Application result of rule 2: Aircraft 1 and aircraft 2 are activated in different logical processors.
Application result of rule 3: Application result of rule 1 (aircraft 1 and aircraft 2 are active in the same logical processor) and application result of rule 2 (aircraft 1 and aircraft 2 are active in different logical processors) Therefore, priority is given to the application result of rule 1.

以上のルール1、ルール2、ルール3の適用結果により、図3のシミュレーション要素実行制御部1(204)は、論理プロセッサ1(201)のシミュレーション要素である航空機1(207)、航空機2(208)、レーダ1(209)、航空管制1(210)を活動状態とし、シミュレーション要素実行制御部2(214)は、論理プロセッサ2(211)のシミュレーション要素である航空機1(216)、航空機2(217)、レーダ1(218)、航空管制1(219)を休止状態とする。   Based on the application results of Rule 1, Rule 2, and Rule 3, the simulation element execution control unit 1 (204) in FIG. 3 is the aircraft 1 (207) and aircraft 2 (208) which are the simulation elements of the logical processor 1 (201). ), Radar 1 (209) and Air Traffic Control 1 (210) are in the active state, and the simulation element execution control unit 2 (214) is the simulation element of the logical processor 2 (211), the aircraft 1 (216), the aircraft 2 ( 217), Radar 1 (218), and Air Traffic Control 1 (219) are put into a dormant state.

次に、シミュレーション要素実行制御部104の動作例を図7のフローチャートを参照して説明する。
先ず、送受信判定部1042が、通信制御部インタフェース1041を介してシミュレーション要素間通信制御部105から図5又は図6に示されるデータ送受信状況情報を取得する(S701)。
次に、送受信判定部1042は、取得したデータ送受信状況情報に基づき、シミュレーション要素ごとに、データ送受信の相手先となる他のシミュレーション要素を特定し、相手先となるシミュレーション要素とのデータ送受信頻度を判定する(S702)(送受信判定ステップ)。
次に、プロセッサ選択部1043が、前述したルール1〜3に基づき、シミュレーション要素ごとに、複数の論理プロセッサの中から実行プロセッサを選択する(S703)(プロセッサ選択ステップ)。
次に、プロセッサ選択部1043は、S703で選択した実行プロセッサをシミュレーション要素ごとに示すプロセッサ選択結果情報を生成する(S704)。
次に、通信制御部インタフェース1041がプロセッサ選択結果情報をシミュレーション要素間通信制御部105に送信する(S705)。
これにより、シミュレーション要素間通信制御部105がプロセッサ選択結果情報をネットワークを介して他の論理プロセッサのシミュレーション要素間通信制御部105に送信し、他の論理プロセッサのシミュレーション要素実行制御部では、プロセッサ選択結果情報に従って、管理しているシミュレーション要素を活動状態・休止状態のいずれかにする。
Next, an operation example of the simulation element execution control unit 104 will be described with reference to the flowchart of FIG.
First, the transmission / reception determination unit 1042 acquires the data transmission / reception status information shown in FIG. 5 or 6 from the inter-simulation element communication control unit 105 via the communication control unit interface 1041 (S701).
Next, the transmission / reception determination unit 1042 identifies, for each simulation element, another simulation element that is a partner of data transmission / reception based on the acquired data transmission / reception status information, and determines the data transmission / reception frequency with the simulation element that is the partner. Determination (S702) (transmission / reception determination step).
Next, the processor selection unit 1043 selects an execution processor from a plurality of logical processors for each simulation element based on the rules 1 to 3 described above (S703) (processor selection step).
Next, the processor selection unit 1043 generates processor selection result information indicating the execution processor selected in S703 for each simulation element (S704).
Next, the communication control unit interface 1041 transmits the processor selection result information to the inter-simulation element communication control unit 105 (S705).
As a result, the simulation element communication control unit 105 transmits the processor selection result information to the simulation element communication control unit 105 of another logical processor via the network, and the simulation element execution control unit of the other logical processor selects the processor. In accordance with the result information, the managed simulation element is set to either an active state or a dormant state.

このようなシミュレーション要素実行制御部によるシミュレーション要素の実行制御により、通信頻度の高いシミュレーション要素が同じ論理プロセッサ内で活動状態となるため、シミュレーション要素間のデータ通信が、処理遅延の大きいネットワークを介した他の論理プロセッサに対する通信処理として実行される必要が無くなる。   Simulation element execution control by such a simulation element execution control unit activates simulation elements with high communication frequency in the same logical processor, so data communication between simulation elements is performed via a network with a large processing delay. There is no need to execute communication processing for other logical processors.

以上のように、本実施の形態では、複数の論理プロセッサでシミュレーション要素を分担実行する分散シミュレーションシステムにおいて、シミュレーション状況に応じて決定されるシミュレーション要素間のデータ送受信の関係と頻度によって、各論理プロセッサで実行されるシミュレーション要素の活動状態、休止状態を制御することにより、通信頻度の高いシミュレーション要素間のデータ通信が論理プロセッサ内で実行され、処理遅延の大きいネットワークを介した他の論理プロセッサに対する通信処理の実行が削減されるため、システム全体の処理効率を向上することが可能な分散シミュレーションシステムについて説明した。   As described above, in this embodiment, in a distributed simulation system in which simulation elements are shared and executed by a plurality of logical processors, each logical processor is determined according to the relationship and frequency of data transmission / reception between the simulation elements determined according to the simulation status. By controlling the active state and hibernation state of the simulation elements executed in, data communication between simulation elements with high communication frequency is executed in the logical processor, and communication to other logical processors via a network with a large processing delay A distributed simulation system that can improve the processing efficiency of the entire system because processing execution is reduced has been described.

実施の形態2.
図3では、実施の形態1によるシミュレーション要素の実行制御の結果の例を示したが、この例では、論理プロセッサ1(201)のシミュレーション要素のみが処理実行され、論理プロセッサ2(211)のシミュレーション要素は全く処理実行されないため、全体として論理プロセッサ1(201)にのみ負荷が集中しており、非効率な実行状態となっている。
そこで、図8に示した各シミュレーション要素間の通信頻度と条件、及びシミュレーション状況に着目し、より効率的なシミュレーション要素の実行制御を行う形態について説明する。
本実施の形態では、図8に示すように、各論理プロセッサは、シミュレーション要素・活動停止管理部107を備える。このシミュレーション要素・活動停止管理部107は、シミュレーション要素実行制御部110による実行プロセッサの選択結果に基づき、管理するシミュレーション要素を活動状態又は休止状態にする。
また、本実施の形態では、シミュレーション要素実行制御部110は、シミュレーション要素を実行する論理プロセッサからは独立し、ネットワークを介して各論理プロセッサと接続されている。但し、図8の構成と異なり、シミュレーション要素実行制御部110がいずれかの論理プロセッサ内で実現されていても構わない。
また、本実施の形態に係るシミュレーション要素実行制御部110の内部構成は、図2に示したものと同様である。
本実施の形態においては、送受信判定部1042は、予め設定されたシミュレーションシナリオに基づいて、シミュレーション要素ごとに、データ送受信の相手先となる他のシミュレーション要素を特定するとともに、特定した他のシミュレーション要素とのデータ送受信頻度を単位時間ごとに判定する。
更に、プロセッサ選択部1043は、相互間でデータ送受信が行われる二つのシミュレーション要素について、当該二つのシミュレーション要素間のデータ送受信頻度が高い時間の間、当該二つのシミュレーション要素の実行プロセッサを同じプロセッサとする。
Embodiment 2. FIG.
FIG. 3 shows an example of the simulation element execution control result according to the first embodiment. In this example, only the simulation element of the logical processor 1 (201) is processed and the simulation of the logical processor 2 (211) is performed. Since the elements are not processed at all, the load is concentrated only on the logical processor 1 (201) as a whole, resulting in an inefficient execution state.
Therefore, a form in which execution control of more efficient simulation elements is performed will be described by paying attention to the communication frequency and conditions between the simulation elements shown in FIG. 8 and the simulation status.
In the present embodiment, as shown in FIG. 8, each logical processor includes a simulation element / activity stop management unit 107. The simulation element / activity stop management unit 107 sets a simulation element to be managed to an active state or a dormant state based on the execution processor selection result by the simulation element execution control unit 110.
In this embodiment, the simulation element execution control unit 110 is independent of the logical processor that executes the simulation element and is connected to each logical processor via a network. However, unlike the configuration of FIG. 8, the simulation element execution control unit 110 may be realized in one of the logical processors.
The internal configuration of the simulation element execution control unit 110 according to the present embodiment is the same as that shown in FIG.
In the present embodiment, the transmission / reception determination unit 1042 specifies, for each simulation element, another simulation element that is a partner of data transmission / reception based on a preset simulation scenario, and other specified simulation elements The data transmission / reception frequency is determined for each unit time.
Further, the processor selection unit 1043 sets the execution processors of the two simulation elements as the same processor during the time when the data transmission / reception frequency between the two simulation elements is high. To do.

図9は、座標(緯度、経度)に対する各シミュレーション要素102の位置関係を示しており、シミュレーション要素のうち航空機1及び航空機2は、共にシミュレーション実行中に位置が変化する移動体であるので、シミュレーション進行の進捗度合いを示すシミュレーション論理時刻(LT)毎の位置情報を示している。また、レーダ1については、レーダの最大探知範囲であるレーダ1覆域を示している。   FIG. 9 shows the positional relationship of each simulation element 102 with respect to the coordinates (latitude and longitude). Of the simulation elements, the aircraft 1 and the aircraft 2 are both moving bodies whose positions change during execution of the simulation. Position information for each simulation logic time (LT) indicating the progress degree of progress is shown. For the radar 1, a radar 1 coverage area that is the maximum detection range of the radar is shown.

各シミュレーション要素間のデータ送受信の関係を示す図6の情報によると、レーダ1は、航空機1、航空機2から受信した位置情報を基に、航空管制1に対して探知結果を送信している。即ち、航空機1、航空機2がレーダ1の探知領域外に位置している場合は、レーダ1は航空管制1に対して航空機1、航空機2の探知結果を送信することができないため、この場合のレーダ1と航空機1、航空機2の位置情報の通信は無駄な処理である。
そのため、図9に示した、シミュレーション論理時刻(LT)毎の航空機1及び航空機2の位置情報が予めシミュレーションシナリオとして設定される場合、シミュレーション要素実行制御部110は、シミュレーションシナリオに設定された論理時刻(LT)毎にルール1、ルール2、ルール3を適用することにより、図10に示すようなシミュレーション要素の活動状態の割り当てのスケジュールを作成し、シミュレーション要素の実行制御を行う。
According to the information in FIG. 6 showing the relationship of data transmission / reception between the simulation elements, the radar 1 transmits the detection result to the air traffic control 1 based on the position information received from the aircraft 1 and the aircraft 2. That is, when the aircraft 1 and the aircraft 2 are located outside the detection area of the radar 1, the radar 1 cannot transmit the detection results of the aircraft 1 and the aircraft 2 to the air traffic control 1. Communication of position information between the radar 1, the aircraft 1 and the aircraft 2 is a wasteful process.
Therefore, when the position information of the aircraft 1 and the aircraft 2 at each simulation logical time (LT) shown in FIG. 9 is set in advance as a simulation scenario, the simulation element execution control unit 110 sets the logical time set in the simulation scenario. By applying rule 1, rule 2, and rule 3 for each (LT), a schedule for assigning the active state of simulation elements as shown in FIG. 10 is created, and execution control of the simulation elements is performed.

つまり、シミュレーション要素実行制御部110の送受信判定部1042は、1又は複数のシミュレーション要素間通信制御部105から図5又は図6に示すデータ送受信状況情報と、図9に示すシミュレーションシナリオを取得し、シミュレーション要素102ごとに、データ送受信の相手先となる他のシミュレーション要素を特定するとともに、特定した他のシミュレーション要素とのデータ送受信頻度を単位時間ごとに判定する。
そして、プロセッサ選択部1043は、前述したルール1〜3に基づき、シミュレーション要素ごとに、複数の論理プロセッサの中から実行プロセッサを選択する。具体的には、図10に示すように、相互間でデータ送受信が行われる二つのシミュレーション要素について、当該二つのシミュレーション要素間のデータ送受信頻度が高い時間の間、当該二つのシミュレーション要素の実行プロセッサを同じプロセッサとする。
その後、実施の形態1と同様に、プロセッサ選択部1043は、S703で選択した実行プロセッサを単位時間ごとシミュレーション要素ごとに示すプロセッサ選択結果情報(図10)を生成し、通信制御部インタフェース1041がプロセッサ選択結果情報をネットワークを介して各々のシミュレーション要素間通信制御部105に送信し、各々の論理プロセッサではシミュレーション要素・活動停止管理部107が、プロセッサ選択結果情報に従って、管理しているシミュレーション要素を活動状態・休止状態のいずれかにする。
That is, the transmission / reception determination unit 1042 of the simulation element execution control unit 110 acquires the data transmission / reception status information illustrated in FIG. 5 or 6 and the simulation scenario illustrated in FIG. 9 from one or a plurality of simulation element communication control units 105. For each simulation element 102, another simulation element that is a partner of data transmission / reception is specified, and the data transmission / reception frequency with the other specified simulation element is determined for each unit time.
Then, the processor selection unit 1043 selects an execution processor from a plurality of logical processors for each simulation element based on the rules 1 to 3 described above. Specifically, as shown in FIG. 10, for two simulation elements in which data transmission / reception is performed between the two simulation elements, the execution processor of the two simulation elements during a time when the data transmission / reception frequency between the two simulation elements is high. Are the same processor.
Thereafter, as in the first embodiment, the processor selection unit 1043 generates processor selection result information (FIG. 10) indicating the execution processor selected in S703 for each simulation element for each unit time, and the communication control unit interface 1041 displays the processor. The selection result information is transmitted to each inter-simulation element communication control unit 105 via the network. In each logical processor, the simulation element / activity stop management unit 107 activates the managed simulation element according to the processor selection result information. Set to either state or hibernation.

このようなシミュレーション要素実行制御部によるシミュレーション要素の実行制御により、予めシミュレーションシナリオに設定された情報に基づき、必ず通信が行われる場合のみシミュレーション要素が同じ論理プロセッサ内で活動状態となるため、シミュレーション要素間のデータ通信が、処理遅延の大きいネットワークを介した他の論理プロセッサに対する通信処理として実行される必要が無くなるとともに、各論理プロセッサに対して効率的なシミュレーション要素の実行制御を行うことができる。   Since simulation element execution control by such a simulation element execution control unit is based on information set in advance in a simulation scenario, the simulation element becomes active in the same logical processor only when communication is always performed. It is no longer necessary to perform data communication between them as a communication process for other logical processors via a network with a large processing delay, and efficient execution control of simulation elements can be performed for each logical processor.

このように、本実施の形態では、複数の論理プロセッサでシミュレーション要素を分担実行する分散シミュレーションシステムにおいて、予め設定されたシミュレーションシナリオに依存したシミュレーション状況に応じて決定されるシミュレーション要素間のデータ送受信の関係と頻度によって、各論理プロセッサで実行されるシミュレーション要素の活動状態、休止状態を制御することにより、通信頻度の高いシミュレーション要素間のデータ通信が論理プロセッサ内で実行され、処理遅延の大きいネットワークを介した他の論理プロセッサに対する通信処理の実行が削減されるため、システム全体の処理効率を向上することが可能な分散シミュレーションシステムについて説明した。   As described above, in this embodiment, in a distributed simulation system in which simulation elements are shared and executed by a plurality of logical processors, data transmission / reception between simulation elements determined according to a simulation situation depending on a preset simulation scenario is performed. By controlling the active state and sleep state of the simulation elements executed in each logical processor according to the relationship and frequency, data communication between simulation elements with high communication frequency is executed within the logical processor, and a network with a large processing delay is created. A distributed simulation system that can improve the processing efficiency of the entire system has been described because the execution of communication processing with respect to other logical processors is reduced.

実施の形態3.
実施の形態2では、予めシミュレーションシナリオに設定されたシミュレーション要素の情報に基づいたシミュレーション要素の実行制御について説明した。
実施の形態3では、シミュレーション要素の状態が、予め設定された情報ではなく、動的に変化する場合のシミュレーション要素の実行制御について説明する。
Embodiment 3 FIG.
In the second embodiment, the execution control of the simulation element based on the information of the simulation element set in advance in the simulation scenario has been described.
In the third embodiment, execution control of a simulation element when the state of the simulation element changes dynamically instead of preset information will be described.

本実施の形態に係る分散シミュレーションシステムの構成は、図8に示すものと同様である。また、実施の形態2と同様に、図8の構成と異なり、シミュレーション要素実行制御部110がいずれかの論理プロセッサ内で実現されていても構わない。
また、本実施の形態に係るシミュレーション要素実行制御部110の内部構成は、図2に示したものと同様である。
本実施の形態においては、送受信判定部1042は、予め設定されたシミュレーションシナリオに変更が加えられた場合に、シミュレーションシナリオに加えられた変更を分析し、シミュレーション要素ごとに、データ送受信の相手先となる他のシミュレーション要素を推定するとともに、推定した他のシミュレーション要素とのデータ送受信頻度を単位時間ごとに推測する。
また、プロセッサ選択部1043は、相互間でデータ送受信が行われると推定される二つのシミュレーション要素について、当該二つのシミュレーション要素間のデータ送受信頻度が高いと推測される時間の間、当該二つのシミュレーション要素の実行プロセッサを同じプロセッサとする。
The configuration of the distributed simulation system according to the present embodiment is the same as that shown in FIG. Similarly to the second embodiment, unlike the configuration of FIG. 8, the simulation element execution control unit 110 may be realized in any one of the logical processors.
The internal configuration of the simulation element execution control unit 110 according to the present embodiment is the same as that shown in FIG.
In the present embodiment, when a change is made to a preset simulation scenario, the transmission / reception determination unit 1042 analyzes the change made to the simulation scenario, and for each simulation element, the data transmission / reception destination and The other simulation elements are estimated, and the data transmission / reception frequency with the estimated other simulation elements is estimated for each unit time.
Further, the processor selection unit 1043 is configured to perform two simulations for two simulation elements that are estimated to perform data transmission / reception between the two simulation elements during a time when the data transmission / reception frequency between the two simulation elements is estimated to be high. The execution processor of the element is the same processor.

図11は、シミュレーション実行中に、シミュレーション利用者(人間)の操作により航空機2の位置情報である座標パラメータを変更された状況を示している。このような場合、座標値が変更された時点で、シミュレーション要素実行制御部110は、航空機の位置、向き、速度等の情報を用いる一般的な推測航法アルゴリズム(dead−reckoning navigation algorithm)により、その後の各論理時刻における航空機2の位置情報を推測し、シミュレーション要素の活動状態の割り当てのスケジュールを作成し、シミュレーション要素の実行制御を行う。   FIG. 11 shows a situation in which the coordinate parameter which is the position information of the aircraft 2 is changed by the operation of the simulation user (human) during the simulation. In such a case, when the coordinate value is changed, the simulation element execution control unit 110 uses a general dead-reckoning navigation algorithm that uses information such as the position, orientation, and speed of the aircraft. The position information of the aircraft 2 at each logical time is estimated, a schedule for assigning the active state of the simulation element is created, and execution control of the simulation element is performed.

つまり、プロセッサ選択部1043により各シミュレーション要素102に対して実行プロセッサが選択された後、シミュレーションが実行中に、シミュレーション利用者によりシミュレーションシナリオが変更された場合、送受信判定部1042は、既に取得済みのシミュレーションシナリオ(図9)と、データ送受信状況情報(図5又は図6)と、シミュレーションシナリオの変更内容に基づき、例えば、前述の推測航法アルゴリズムにより、シミュレーションシナリオに加えられた変更(航空機の位置など)を分析し、シミュレーションシナリオ変更後の状態に基づいて、シミュレーション要素ごとに、データ送受信の相手先となる他のシミュレーション要素を推定するとともに、推定した他のシミュレーション要素とのデータ送受信頻度を単位時間ごとに推測する。
そして、プロセッサ選択部1043は、送受信判定部1042の推測結果に対して、前述したルール1〜3を適用して、シミュレーション要素ごとに、複数の論理プロセッサの中から実行プロセッサを選択する。具体的には、相互間でデータ送受信が行われると推定される二つのシミュレーション要素について、当該二つのシミュレーション要素間のデータ送受信頻度が高いと推測される時間の間、当該二つのシミュレーション要素の実行プロセッサを同じプロセッサとする。
その後、実施の形態2と同様に、プロセッサ選択部1043は、S703で選択した実行プロセッサを単位時間ごとシミュレーション要素ごとに示すプロセッサ選択結果情報(図10)を生成し、通信制御部インタフェース1041がプロセッサ選択結果情報をネットワークを介して各々のシミュレーション要素間通信制御部105に送信し、各々の論理プロセッサではシミュレーション要素・活動停止管理部107が、プロセッサ選択結果情報に従って、管理しているシミュレーション要素を活動状態・休止状態のいずれかにする。
In other words, after the execution processor is selected for each simulation element 102 by the processor selection unit 1043, when the simulation scenario is changed by the simulation user while the simulation is being executed, the transmission / reception determination unit 1042 has already been acquired. Based on the simulation scenario (FIG. 9), the data transmission / reception status information (FIG. 5 or FIG. 6), and the change contents of the simulation scenario, for example, the changes made to the simulation scenario by the dead reckoning algorithm described above (aircraft position, etc.) ), And for each simulation element, based on the state after the simulation scenario change is estimated, other simulation elements that are data transmission / reception destinations are estimated, and data transmission / reception with the estimated other simulation elements is performed. Guess degrees per unit time.
Then, the processor selection unit 1043 applies the above-described rules 1 to 3 to the estimation result of the transmission / reception determination unit 1042, and selects an execution processor from a plurality of logical processors for each simulation element. Specifically, with respect to two simulation elements that are estimated to perform data transmission / reception between each other, the execution of the two simulation elements is performed during a time when the frequency of data transmission / reception between the two simulation elements is estimated to be high. The processor is the same processor.
Thereafter, as in the second embodiment, the processor selection unit 1043 generates processor selection result information (FIG. 10) indicating the execution processor selected in S703 for each simulation element for each unit time, and the communication control unit interface 1041 displays the processor. The selection result information is transmitted to each inter-simulation element communication control unit 105 via the network. In each logical processor, the simulation element / activity stop management unit 107 activates the managed simulation element according to the processor selection result information. Set to either state or hibernation.

このようなシミュレーション要素実行制御部によるシミュレーション要素の実行制御により、人間の操作等により動的にシミュレーション状況が変更された場合でも、通信が行われる場合を推測して、シミュレーション要素が同じ論理プロセッサ内で活動状態となるようなスケジュールを作成するため、各論理プロセッサに対して効率的なシミュレーション要素の実行制御を行うことができる。   Even if the simulation status is dynamically changed by a human operation or the like by the execution control of the simulation element by the simulation element execution control unit, the simulation element is assumed to be in the same logical processor by assuming that communication is performed. Therefore, it is possible to efficiently control execution of simulation elements for each logical processor.

このように本実施の形態では、複数の論理プロセッサでシミュレーション要素を分担実行する分散シミュレーションシステムにおいて、人間の操作等によって動的に変化するシミュレーション状況に応じて決定されるシミュレーション要素間のデータ送受信の関係と頻度を推測し、各論理プロセッサで実行されるシミュレーション要素の活動状態、休止状態を制御することにより、通信頻度の高いシミュレーション要素間のデータ通信が論理プロセッサ内で実行され、処理遅延の大きいネットワークを介した他の論理プロセッサに対する通信処理の実行が削減されるため、システム全体の処理効率を向上することが可能な分散シミュレーションシステムについて説明した。   As described above, in the present embodiment, in a distributed simulation system in which simulation elements are shared and executed by a plurality of logical processors, data transmission / reception between simulation elements determined in accordance with a simulation situation that dynamically changes according to a human operation or the like. By inferring the relationship and frequency and controlling the active state and sleep state of the simulation elements executed in each logical processor, data communication between simulation elements with high communication frequency is executed within the logical processor, resulting in a large processing delay. A description has been given of a distributed simulation system capable of improving the processing efficiency of the entire system because the execution of communication processing with respect to other logical processors via the network is reduced.

なお、以上の説明では、航空機の航行シミュレーションを例にして説明したが、計画・予測・解析用シミュレーションなど、様々な用途のシミュレーションシステムに対して実施の形態1−3に示した分散シミュレーションシステムは適用可能である。   In the above description, the aircraft navigation simulation has been described as an example. However, the distributed simulation system described in Embodiment 1-3 for the simulation system for various uses such as the simulation for planning / prediction / analysis is described below. Applicable.

実施の形態1−3に示した分散シミュレーションシステムでは、シミュレーション要素間のデータ送受信の関係と頻度によって、各論理プロセッサで実行されるシミュレーション要素の活動状態、休止状態を制御することにより、通信頻度の高いシミュレーション要素間のデータ通信が論理プロセッサ内で実行されることになり、論理プロセッサ間の負荷バランスを適正化することができ、論理プロセッサのハードウェア資源を有効に活用することができる。また、他の論理プロセッサとの通信処理の実行が削減されるため、システム全体の処理効率を向上することが可能となる。   In the distributed simulation system described in Embodiment 1-3, the communication frequency is controlled by controlling the active state and the sleep state of the simulation element executed by each logical processor according to the relationship and frequency of data transmission / reception between the simulation elements. Data communication between high simulation elements is executed in the logical processor, the load balance between the logical processors can be optimized, and hardware resources of the logical processor can be effectively utilized. In addition, since the execution of communication processing with other logical processors is reduced, the processing efficiency of the entire system can be improved.

実施の形態1に係る分散シミュレーションシステムの構成例を示す図。1 is a diagram illustrating a configuration example of a distributed simulation system according to a first embodiment. シミュレーション要素実行制御部の内部構成例を示す図。The figure which shows the internal structural example of a simulation element execution control part. 実施の形態1の例による分散シミュレーションシステムの実行例を示す図。FIG. 3 is a diagram illustrating an execution example of the distributed simulation system according to the example of the first embodiment. 図3の分散シミュレーションシステムで実行されるシミュレーション状況の例を示す図。The figure which shows the example of the simulation condition performed with the distributed simulation system of FIG. 図4の例における各シミュレーション要素間のデータ送受信の関係図。FIG. 5 is a relationship diagram of data transmission / reception between simulation elements in the example of FIG. 4. 図5の例における各シミュレーション要素間のデータ送受信の関係表。FIG. 6 is a relationship table of data transmission / reception between simulation elements in the example of FIG. 実施の形態1に係るシミュレーション要素実行制御部の動作例を示すフローチャート図。FIG. 3 is a flowchart showing an operation example of a simulation element execution control unit according to the first embodiment. 実施の形態2に係る分散シミュレーションシステムの構成例を示す図。FIG. 4 is a diagram illustrating a configuration example of a distributed simulation system according to a second embodiment. 座標(緯度、経度)に対する各シミュレーション要素の位置関係を示す図。The figure which shows the positional relationship of each simulation element with respect to a coordinate (latitude, longitude). シミュレーション要素の活動状態の割り当てのスケジュールを示す図。The figure which shows the schedule of the allocation of the active state of a simulation element. 人間の操作により航空機2の座標パラメータが変更された状況図。The situation figure in which the coordinate parameter of the aircraft 2 was changed by human operation. 実施の形態1−3に係る分散シミュレーションシステムのハードウェア構成例を示す図。The figure which shows the hardware structural example of the distributed simulation system which concerns on Embodiment 1-3.

符号の説明Explanation of symbols

101 論理プロセッサ、102 シミュレーション要素、103 シミュレーション要素管理部、104 シミュレーション要素実行制御部、105 シミュレーション要素間通信制御部、107 シミュレーション要素・活動停止管理部、201 論理プロセッサ、202 シミュレーション要素、203 シミュレーション要素管理部、204 シミュレーション要素実行制御部、205 シミュレーション要素間通信制御部、206 ネットワーク、1041 通信制御部インタフェース、1042 送受信判定部、1043 プロセッサ選択部。   DESCRIPTION OF SYMBOLS 101 Logical processor, 102 Simulation element, 103 Simulation element management part, 104 Simulation element execution control part, 105 Simulation element communication control part, 107 Simulation element and activity stop management part, 201 Logical processor, 202 Simulation element, 203 Simulation element management Unit, 204 simulation element execution control unit, 205 inter-simulation element communication control unit, 206 network, 1041 communication control unit interface, 1042 transmission / reception determination unit, 1043 processor selection unit.

Claims (5)

複数のシミュレーション要素の実行を制御するシミュレーション実行制御装置であって、
シミュレーションの実行に先立ち、予め設定されたシミュレーションシナリオに基づいて、シミュレーション要素ごとに、データ送受信の相手先となる他のシミュレーション要素を特定するとともに、特定した他のシミュレーション要素とのデータ送受信頻度を、シミュレーション進行の進捗度合いを示すシミュレーション論理時刻ごとに判定する送受信判定部と、
シミュレーションの実行に先立ち、前記送受信判定部の判定結果に基づき、複数のシミュレーション要素の各々に対して、シミュレーション要素を実行する実行プロセッサを前記シミュレーション論理時刻ごとに複数のプロセッサの中から選択し、相互間でデータ送受信が行われる二つのシミュレーション要素について、当該二つのシミュレーション要素間のデータ送受信頻度が高いシミュレーション論理時刻の間、当該二つのシミュレーション要素の実行プロセッサを同じプロセッサとするスケジュールを作成するプロセッサ選択部とを有することを特徴とするシミュレーション実行制御装置。
A simulation execution control device for controlling the execution of a plurality of simulation elements,
Prior to the execution of the simulation, for each simulation element, based on a simulation scenario set in advance, the other simulation element that is the partner of data transmission / reception is specified, and the frequency of data transmission / reception with the specified other simulation element is determined . A transmission / reception determination unit for determining each simulation logical time indicating the progress of simulation progress ;
Prior to execution of the simulation, based on the determination result of the transmission / reception determination unit, for each of the plurality of simulation elements, an execution processor that executes the simulation element is selected from among the plurality of processors at each simulation logic time. Processor selection that creates a schedule for two simulation elements that perform data transmission / reception between the two simulation elements during the simulation logic time when the frequency of data transmission / reception between the two simulation elements is high. A simulation execution control device.
前記プロセッサ選択部は、
相互間でデータ送受信が行われない二つのシミュレーション要素の実行プロセッサを異なるプロセッサとするスケジュールを作成することを特徴とする請求項1に記載のシミュレーション実行制御装置。
The processor selection unit includes:
The simulation execution control apparatus according to claim 1, wherein a schedule is created in which execution processors of two simulation elements that do not transmit and receive data between each other are different processors.
前記送受信判定部は、
予め設定されたシミュレーションシナリオに変更が加えられた場合に、シミュレーションシナリオに加えられた変更を分析し、シミュレーション要素ごとに、データ送受信の相手先となる他のシミュレーション要素を推定するとともに、推定した他のシミュレーション要素とのデータ送受信頻度を前記シミュレーション論理時刻ごとに推測することを特徴とする請求項1に記載のシミュレーション実行制御装置。
The transmission / reception determination unit includes:
When a change is made to a preset simulation scenario, the change made to the simulation scenario is analyzed, and for each simulation element, other simulation elements that are the destinations of data transmission / reception are estimated, and the estimated other The simulation execution control device according to claim 1, wherein a frequency of data transmission / reception with the simulation element is estimated at each simulation logic time .
前記プロセッサ選択部は、
相互間でデータ送受信が行われると推定される二つのシミュレーション要素について、当該二つのシミュレーション要素間のデータ送受信頻度が高いと推測されるシミュレーション論理時刻の間、当該二つのシミュレーション要素の実行プロセッサを同じプロセッサとすることを特徴とする請求項3に記載のシミュレーション実行制御装置。
The processor selection unit includes:
For two simulation elements that are estimated to transmit / receive data to / from each other, the execution processors of the two simulation elements are the same during the simulation logic time when the frequency of data transmission / reception between the two simulation elements is estimated to be high. The simulation execution control apparatus according to claim 3, wherein the simulation execution control apparatus is a processor.
コンピュータに、複数のシミュレーション要素の実行制御を実行させるプログラムであって、
シミュレーションの実行に先立ち、予め設定されたシミュレーションシナリオに基づいて、シミュレーション要素ごとに、データ送受信の相手先となる他のシミュレーション要素を特定するとともに、特定した他のシミュレーション要素とのデータ送受信頻度を、シミュレーション進行の進捗度合いを示すシミュレーション論理時刻ごとに判定する送受信判定処理と、
シミュレーションの実行に先立ち、前記送受信判定処理の判定結果に基づき、複数のシミュレーション要素の各々に対して、シミュレーション要素を実行する実行プロセッサを前記シミュレーション論理時刻ごとに複数のプロセッサの中から選択し、相互間でデータ送受信が行われる二つのシミュレーション要素について、当該二つのシミュレーション要素間のデータ送受信頻度が高いシミュレーション論理時刻の間、当該二つのシミュレーション要素の実行プロセッサを同じプロセッサとするスケジュールを作成するプロセッサ選択処理とをコンピュータに実行させることを特徴とするプログラム。
A program for causing a computer to execute execution control of a plurality of simulation elements,
Prior to the execution of the simulation, for each simulation element, based on a simulation scenario set in advance, the other simulation element that is the partner of data transmission / reception is specified, and the frequency of data transmission / reception with the specified other simulation element is determined . A transmission / reception determination process for determining each simulation logical time indicating the progress of simulation progress ;
Prior to the execution of the simulation, based on the determination result of the transmission / reception determination process, for each of the plurality of simulation elements, an execution processor that executes the simulation element is selected from the plurality of processors at each simulation logic time , Processor selection that creates a schedule for two simulation elements that perform data transmission / reception between the two simulation elements during the simulation logic time when the frequency of data transmission / reception between the two simulation elements is high. A program that causes a computer to execute processing.
JP2006055433A 2006-03-01 2006-03-01 Simulation execution control device and program Expired - Fee Related JP4509951B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006055433A JP4509951B2 (en) 2006-03-01 2006-03-01 Simulation execution control device and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006055433A JP4509951B2 (en) 2006-03-01 2006-03-01 Simulation execution control device and program

Publications (2)

Publication Number Publication Date
JP2007233763A JP2007233763A (en) 2007-09-13
JP4509951B2 true JP4509951B2 (en) 2010-07-21

Family

ID=38554292

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006055433A Expired - Fee Related JP4509951B2 (en) 2006-03-01 2006-03-01 Simulation execution control device and program

Country Status (1)

Country Link
JP (1) JP4509951B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5274129B2 (en) * 2008-07-14 2013-08-28 三菱電機株式会社 Simulation system, transmission side simulation apparatus and simulation program using logical time
JP4577422B2 (en) * 2008-07-14 2010-11-10 ソニー株式会社 Information processing system and information processing method, robot control system and control method, and computer program
JP5534002B2 (en) 2010-03-25 2014-06-25 富士通株式会社 Multi-core processor system, control program, and control method
CN102426424B (en) * 2011-09-28 2013-04-10 天津大学 Visual emulation method of near-space flying vehicle based on distributed framework

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002342297A (en) * 2001-05-16 2002-11-29 Nec Corp Distributed simulation controller
JP2004348462A (en) * 2003-05-22 2004-12-09 Mitsubishi Electric Corp Distributed simulation system
JP2005250954A (en) * 2004-03-05 2005-09-15 Toshiba Corp Distributed simulation system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002342297A (en) * 2001-05-16 2002-11-29 Nec Corp Distributed simulation controller
JP2004348462A (en) * 2003-05-22 2004-12-09 Mitsubishi Electric Corp Distributed simulation system
JP2005250954A (en) * 2004-03-05 2005-09-15 Toshiba Corp Distributed simulation system

Also Published As

Publication number Publication date
JP2007233763A (en) 2007-09-13

Similar Documents

Publication Publication Date Title
KR102624607B1 (en) Rack-level scheduling for reducing the long tail latency using high performance ssds
US11233710B2 (en) System and method for applying machine learning algorithms to compute health scores for workload scheduling
JP7313381B2 (en) Embedded scheduling of hardware resources for hardware acceleration
US8359596B2 (en) Determining capability of an information processing unit to execute the job request based on satisfying an index value and a content of processing of the job
JP5583837B2 (en) Computer-implemented method, system and computer program for starting a task in a computer system
US8671418B2 (en) Environment modification in a hybrid node computing environment
JP4768354B2 (en) Job management apparatus, job management method, and job management program
US9569383B2 (en) Method of handling network traffic through optimization of receive side scaling
JP5305664B2 (en) Method, program and apparatus for trading resources between partitions of a data processing system
US20060227788A1 (en) Managing queues of packets
US9256470B1 (en) Job assignment in a multi-core processor
US10890960B2 (en) Method and apparatus for limiting rack power consumption
US20180081715A1 (en) Network interface controller-based scheduling of processing tasks in a distributed computing system
Seo et al. SLO-aware inference scheduler for heterogeneous processors in edge platforms
US8589926B2 (en) Adjusting processor utilization data in polling environments
JP4509951B2 (en) Simulation execution control device and program
CN113326140A (en) Process migration method and device, computing equipment and storage medium
US20220107847A1 (en) Computing system for determining quality of virtual machine telemetry data
US11354163B2 (en) Virtual machine placement method and virtual machine placement device implementing the same
US10114438B2 (en) Dynamic power budgeting in a chassis
Niknia et al. An SMDP-based approach to thermal-aware task scheduling in NoC-based MPSoC platforms
JP2007172322A (en) Distributed processing type multiprocessor system, control method, multiprocessor interruption controller, and program
US20130144587A1 (en) Scalability evaluation device, scalability evaluation method, and scalability evaluation program
JP2013114538A (en) Information processing apparatus, information processing method and control program
Landwehr An experimental exploration of self-aware systems for exascale architectures

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080604

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20091210

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091215

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100113

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100223

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100329

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: 20100427

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100428

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130514

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4509951

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140514

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees