JPH01100657A - Simulator - Google Patents

Simulator

Info

Publication number
JPH01100657A
JPH01100657A JP62257103A JP25710387A JPH01100657A JP H01100657 A JPH01100657 A JP H01100657A JP 62257103 A JP62257103 A JP 62257103A JP 25710387 A JP25710387 A JP 25710387A JP H01100657 A JPH01100657 A JP H01100657A
Authority
JP
Japan
Prior art keywords
simulation
constitution
executing
configuration
processes
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP62257103A
Other languages
Japanese (ja)
Inventor
Masayoshi Hagiwara
萩原 正義
Michio Suzuki
鈴木 三知男
Ryoichi Sasaki
良一 佐々木
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP62257103A priority Critical patent/JPH01100657A/en
Publication of JPH01100657A publication Critical patent/JPH01100657A/en
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

PURPOSE:To attain a high speed by a simple and small scale parallel processing by defining a part for executing a basic function to be simulated as a slave process and executing and controlling by a master process. CONSTITUTION:Constitution defining information is inputted to a network constitution definition file 4 according to the input menu display 2 of a constitution defining input part 1. The change, addition of the file and the assurance of a consistency between information in the file are executed by a network constitution input process 3 to input the constitution defining information by a program 5. After the completion of this input, the part 1 interrupts an SM executing process 11 executing the simulation (SM) to change and add the constitution and request for the continuation of the SM. The process 11 maintains a packet transfer between the slave processes for executing the basic function of the SM and a time relation on a communication process. The output of a SM executing result is requested according to the interruption of the master process to maintain the time relation in this case.

Description

【発明の詳細な説明】 〔産業上の利用分野] 本発明はシミュレーション技術に係り、特に待ち行列系
問題に好適なシミュレーション実行装置に関する。
DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to simulation technology, and particularly to a simulation execution device suitable for queuing problems.

〔従来の技術〕[Conventional technology]

従来、汎用計算機を用いた待ち行列系問題を扱う離散系
シミュレータとして代表的なものに、G P  S  
S  (General  Purpose  Sim
ulationS ystem)やS IMSCRI 
PT (S IMulationS CRI P To
r)等があり、大型計算機等で多用されている。
Conventionally, GPS is a typical discrete system simulator that handles queuing problems using general-purpose computers.
S (General Purpose Sim
system) and S IMSCRI
PT (SIMulationS CRI P To
r), etc., and are frequently used in large-scale computers.

例えば、GPSSの場合、トランザクションが通る道筋
、すなわち、トランザクションの受ける処理過程をブロ
ックと呼ばれるもので記述し、各ブロックには、数個の
パラメータが用意され、ユーザはこのパラメータを指定
することによって、各ブロックの機能を規定する。
For example, in the case of GPSS, the path that a transaction takes, that is, the processing process that a transaction undergoes, is described in what is called a block, and each block has several parameters, and by specifying these parameters, the user can Define the function of each block.

待ち行列から出るとのできる条件2分岐条件等の複雑な
機能を記述する場合も、パラメータ操作によって実行す
る必要がある。このように。
Even when writing a complex function such as a conditional two-branch condition that allows exiting from the queue, it is necessary to execute it by manipulating parameters. in this way.

GPSSでは、ユーザがシミュレーションのタイミング
(同期)を取るため本来のモデルとは無関係なブロック
を定義する必要があり、GPSS内部機構に関する知識
が不可欠となる。また、シミュレーション対象が複雑な
場合のモデルの作成は、上記のブロックで分かるように
、急激に困難となる。
With GPSS, users need to define blocks unrelated to the original model in order to obtain simulation timing (synchronization), and knowledge of the internal mechanisms of GPSS is essential. Furthermore, as can be seen from the above block, creating a model when the simulation target is complex becomes rapidly difficult.

したがって、シミュレーション実行制御(例えば上記の
同期をとること等)をシミュレータ自体が行ない、ユー
ザによるシミュレーション実行制御部分の開発を軽減し
、ユーザのモデル作成作業を容易にするシミュレータ、
あるいはシミュレーション言語を開発することは、シミ
ュレーション対象が複雑な場合には特に必要である。
Therefore, a simulator that performs simulation execution control (for example, the above synchronization) by itself, reduces the user's development of the simulation execution control part, and facilitates the user's model creation work.
Alternatively, developing a simulation language is especially necessary when the simulation target is complex.

このようなシミュレータとして、電子情報通信学会論文
誌D 、 Vol、 J 70− D 、 No、 5
pp、896−906のrタイムオブジェクトを用いた
待ち行列網シミュレーション専用論理型言語」に論じら
れたものがある。上記の言語ではプロセス間の時刻関係
を表すためにタイムオブジェクトと呼ばれる一種のマク
ロ命令を用意し、これを組合せることでモデルを作成す
る。
As such a simulator, IEICE Transactions D, Vol. J70-D, No. 5
"Logical Language Dedicated to Queuing Network Simulation Using R-Time Objects", pp. 896-906. In the above languages, a type of macro instruction called a time object is prepared to express the time relationship between processes, and a model is created by combining these.

このタイムオブジェクトを用いる方法はGPSSに比べ
て、シミュレーション実行制御を記述することをかなり
容易にする。
This method of using time objects makes it much easier to describe simulation execution control than GPSS.

しかしながら、処理系として逐次処理P rologを
用いているので、処理速度がきわめて遅く、実用化のた
めにはマルチ・プロセッサ上での並列処理が不可欠であ
る。それゆえ、ジョブ配分などのマルチ・プロセッサ制
御がさらに必要となり、処理系は大規模化する。
However, since the sequential processing Prolog is used as a processing system, the processing speed is extremely slow, and parallel processing on multiple processors is essential for practical use. Therefore, multi-processor control such as job distribution becomes even more necessary, and the scale of the processing system becomes larger.

〔発明が解決しようとする問題点〕[Problem that the invention seeks to solve]

上記従来技術は、シミュレーションに対する高速処理の
点について配慮が不充分であり、高速化を図ることでシ
ミュレーション実行制御が複雑化し、シミュレータが大
型化する問題があった。
The above-mentioned conventional technology does not give sufficient consideration to high-speed processing of simulations, and there is a problem in that increasing the speed complicates simulation execution control and increases the size of the simulator.

また、ネットワーク等のシミュレーションではタイムオ
ブジェクトによる記述ではネットワーク構成が複雑な場
合、構成の把握がむずかしく、構成の最適化等の設計支
援ツールとしての使用に難があった。
Furthermore, in network simulations, when the network configuration is complex, it is difficult to understand the network configuration using time object descriptions, making it difficult to use the system as a design support tool for configuration optimization and the like.

本発明の目的は、マルチプロセッサ等による並行処理に
よる高速化を図る際の制御が簡単で、シミュレータ自体
の規模も小さいシミュレーション装置を実現することに
ある。
An object of the present invention is to realize a simulation apparatus that is easy to control when speeding up processing by parallel processing using multiprocessors and the like, and the scale of the simulator itself is small.

また、ネットワーク等のシミュレーションでは構成の把
握および変更が容易となるようにすることにある。
Another objective is to make it easy to understand and change the configuration when simulating a network or the like.

〔問題点を解決するための手段〕[Means for solving problems]

上記目的はシミュレーション対象の基本機能の実行を行
なう部分を子プロセスとし、シミュレーション対象の実
行制御を上記複数の子プロセスを1つの親プロセスが実
行制御することにより達成される6シミユレーシヨンに
おけるプロセス間の時刻関係は上記親プロセスが管理す
る中央時計を用い、子プロセスは時刻関係が守ら九るよ
うに親プロセスより起動・監視される。したがって、子
プロセスは親プロセスの管理の下で並行処理を行なう。
The above purpose is achieved by making the part that executes the basic functions of the simulation target a child process, and controlling the execution of the simulation target by one parent process controlling the execution of the plurality of child processes. The relationship is established using a central clock managed by the parent process, and the child process is started and monitored by the parent process to ensure that the time relationship is maintained. Therefore, the child process performs parallel processing under the control of the parent process.

また、子プロセス同士の関係は、あらかじめ第3のプロ
セスにより定義し、親プロセスに伝えることで、子プロ
セスはお互いの関係を知る必要なく、完成に親プロセス
からの管理で動作する。そのため、シミュレーション対
象の複雑化により子プロセス数が増加したとしても、子
プロセス自体がシミュレーションの実行制御を行わない
ため、シミュレータの規模は大きくならない。また、構
成変更はプロセス数の増減や起動回数変更により実現で
きる。
Furthermore, by defining the relationship between the child processes in advance by the third process and communicating this to the parent process, the child processes do not need to know the relationship between each other and can operate completely under the control of the parent process. Therefore, even if the number of child processes increases due to the complexity of the simulation target, the scale of the simulator will not increase because the child processes themselves do not control the execution of the simulation. Further, configuration changes can be realized by increasing or decreasing the number of processes or changing the number of startups.

〔作用〕[Effect]

本発明のシミュレーション方式は、シミュレーション対
象の基本機能をマルチプロセス動作で行なう。プロセス
はソフトウェア処理上完全に他のプロセスより保護され
た処理単位であるため、他のプロセスにより実行が狙害
されることはなく、完全独立に並行処理される。また、
各子プロセスを中央時計の1単位時刻内で何回起動させ
るかという管理を親プロセスが行なうことで、各子プロ
セス間の時刻関係を守ることになるので、特定の処理が
先行したり遅れたりして、実システムとシミュレーショ
ンシステムとの違いが生じたりして、シミュレーション
結果が実態に合わなくなるということがない。
The simulation method of the present invention performs the basic functions of the simulation target by multi-process operation. Since a process is a processing unit that is completely protected from other processes in terms of software processing, its execution is not targeted by other processes and is processed completely independently and in parallel. Also,
By managing how many times each child process is started within one unit of time of the central clock, the parent process protects the time relationship between each child process, so a specific process may be delayed or preceded. This prevents simulation results from becoming inconsistent with the actual situation due to differences between the actual system and the simulation system.

〔実施例〕〔Example〕

以下、本発明の一実施例を第1図より順に説明する。第
1図は本発明のシミュレーション処理系の全体構成図で
ある。全体構成は大きく3つの部分より成る。その第1
は、シミュレーション対象の構成や構成要素の種別や内
部属性、例えば機能・処理速度・処理の制約条件等、を
定義し、その情報を構成定義用ファイルに入力する部分
であり、図1の1に相当する。その第2は、シミュレー
ションの実行を行なう部分で、この部分は図1の10〜
17に示す部位より成り、マルチプロセス機能を用いた
並行処理が行なわれる。その第3は、シミュレーション
の実行結果を解析し表示をする部分である。これらの部
分をネットワークのシミュレーションに適用したときの
構成を第1図で示した。上記の3つの部分は別プロセス
による実行ができるよう(実行部分はさらに親・子プロ
セスの複数プロセスに分かれる)ファイルを用いたイン
タフェイスを持っている。したがって、これら3つの部
分の独立した並行処理が可能である。上記のマルチプロ
セス機能は汎用マルチプロセスオペレーティングシステ
ムが持つ基本機能である。
Hereinafter, one embodiment of the present invention will be explained in order starting from FIG. FIG. 1 is an overall configuration diagram of a simulation processing system of the present invention. The overall structure consists of three main parts. The first
This is the part that defines the configuration to be simulated, the types and internal attributes of the components, such as functions, processing speed, processing constraints, etc., and inputs that information into the configuration definition file. Equivalent to. The second part is the part that executes the simulation, and this part is from 10 to 10 in Figure 1.
It consists of the parts shown in 17 and performs parallel processing using a multi-process function. The third part is a part that analyzes and displays simulation execution results. FIG. 1 shows the configuration when these parts are applied to network simulation. The above three parts have an interface using files so that they can be executed by separate processes (the execution part is further divided into multiple parent and child processes). Therefore, independent parallel processing of these three parts is possible. The multi-process function described above is a basic function possessed by a general-purpose multi-process operating system.

また、マルチプロセッサ等複数の計算機による並行処理
による高速化も、原理的には処理構成の変更をせずに行
なうことができる。すなわち、上記のプロセス単位の処
理を各計算機に行わせ、各プロセス相互のインタフェイ
スをプロセッサ結合バス上のデータ転送により実行する
ことで実現することである。
Further, in principle, speeding up by parallel processing by multiple computers such as multiprocessors can be achieved without changing the processing configuration. That is, this is achieved by having each computer perform the above-mentioned process-by-process processing, and by performing an interface between each process by data transfer on a processor-coupled bus.

次に第1図、第5図を用いてシミュレーション実行手順
およびシミュレーション動作について説明する。
Next, the simulation execution procedure and simulation operation will be explained using FIGS. 1 and 5.

まずシミュレーション対象としてネットワークの構成を
定義する。例えば、パケット交換網について、網内平均
遅延時間やスループット、回線使用率などを網内に入る
トラヒック量に従って評価する場合に、次のような構成
定義を入力する。
First, define the network configuration as a simulation target. For example, when evaluating the average delay time, throughput, line usage rate, etc. in a packet switching network according to the amount of traffic entering the network, input the following configuration definition.

網内に入るトラヒック量、各交換機の処理能力(毎秒処
理パケット数)、交換機内の各キューの長さ、各交換機
内ルーチング方式、処理遅延時間回線接続情報、各回線
の伝送速度やビット誤り率。
The amount of traffic entering the network, the processing capacity of each switch (number of packets processed per second), the length of each queue within the switch, the routing method within each switch, processing delay time, line connection information, transmission speed and bit error rate of each line. .

距離、などである。これらをネットワーク構成定義入力
メニュー表示2に従って、ネットワーク構成定義ファイ
ル4に入力する。定義ファイルとしては、接続関係ファ
イル、交換機属性ファイル。
distance, etc. These are input into the network configuration definition file 4 according to the network configuration definition input menu display 2. Definition files include connection relationship files and switch attribute files.

回線属性ファイルなど複数のファイルを用意し、各ファ
イルの変更、追加およびファイル内情報間の無矛盾性保
証をネットワーク構成定義入力プロセス3が行なう。ま
た、構成定義情報を別の管理プログラムより入力するこ
とができるよう1本発明の構成定義フォーマットに情報
を変更するプログラム5を設ける。
A plurality of files such as a line attribute file are prepared, and the network configuration definition input process 3 changes and adds each file and guarantees consistency between the information in the files. In addition, a program 5 for changing information into the configuration definition format of the present invention is provided so that configuration definition information can be input from another management program.

上記の構成定義入力か完了したときは、この構成定義入
力部分1がシミュレーションこの実行や=8− 結果の出力と独立した非同期処理で動作しているため、
シミュレーション実行中のシミュレーション実行親プロ
セス11に割込みをかけ、構成の変更、追加等があった
ので、構成の変更や追加箇所を読み込んで、シミュレー
ションを続行する要求を出す。この時、親プロセス11
は、シミュレーションの実行制御における時刻関係が非
同期に入る割込みにより乱されないように割込みを処理
する。すなわち、シミュレーション対象の基本機能を実
行する子プロセス、(この場合には、パケット交換機や
トラヒック生成加入者端末等のこと。)間のパケット転
送や通信処理上の時刻関係が保たれ、特定の子プロセス
が先行してパケット転送したり、トラヒック生成したり
して、実ネットワークにおける時間的前後関係と異なる
ことがないようにする。そのためには、第5図(1)の
ように親プロセスは割込みが入った時点で一旦、割込み
が起った記録をフラグのようなものでとっておき、子プ
ロセスの起動が一巡74して、シミュレーションの実行
制御をとるために設けた中央時計の1単位時刻が経過し
た時点75で実際の構成変更処理を行なうことにする。
When the above configuration definition input is completed, this configuration definition input part 1 is running in an asynchronous process independent of the simulation execution and the output of the results.
An interrupt is made to the simulation execution parent process 11 that is currently executing the simulation, and since there have been changes or additions to the configuration, a request is made to read the changes or additions to the configuration and continue the simulation. At this time, parent process 11
handles interrupts so that the time relationships in simulation execution control are not disturbed by asynchronous interrupts. In other words, the time relationships in packet transfer and communication processing between the child processes that execute the basic functions to be simulated (in this case, packet switching equipment, traffic generating subscriber terminals, etc.) are maintained, and the A process forwards packets or generates traffic in advance so that it does not differ from the temporal context in the actual network. To do this, as shown in Figure 5 (1), when an interrupt occurs, the parent process must keep a record of the occurrence of the interrupt using something like a flag, and once the child process has started one cycle 74, it can be simulated. At time point 75, when one unit of time of the central clock provided to control the execution of the process has elapsed, the actual configuration change process will be performed.

ここで、親プロセスが持つ上記の中央時計とは、シミュ
レーション対象間の処理の時間的前後関係を保つ同期の
ために仮想的に設けたもので、その最小時刻(1単位)
の整数倍の離散的事象でシミュレーションを実行するも
のである。
Here, the above-mentioned central clock owned by the parent process is a virtual clock provided for synchronization that maintains the temporal relationship of processing between simulation targets, and its minimum time (1 unit)
The simulation is performed using discrete events that are an integer multiple of .

親プロセスによる構成変更は、第5図(1)。The configuration change by the parent process is shown in Figure 5 (1).

第5図(2)で以下に説明する。This will be explained below with reference to FIG. 5(2).

(1)ネットワーク構成定義ファイル4の内容を読みと
り76、構成変更前の各ファイル内容との比較77によ
り構成変更箇所の割出し78を行なう。
(1) The contents of the network configuration definition file 4 are read 76 and compared 77 with the contents of each file before the configuration change to determine 78 where the configuration has been changed.

(2)構成変更箇所をメツセージ形成79にし、構成変
更により影響をうける子プロセス対応にメツセージを送
信80していく。
(2) Message formation 79 is performed at the configuration change location, and a message is sent 80 to the child process affected by the configuration change.

(3)構成変更メツセージを受信した子プロセスは内部
にもつ各種テーブルを変更97する。変更終了後、終了
メツセージを親プロセスに通知98する。
(3) The child process that receives the configuration change message changes 97 various internal tables. After the change is completed, a termination message is notified 98 to the parent process.

(4)親プロセスが構成変更メツセージを関係する子プ
ロセスに送り終わり、そのすべての子プロセスより終了
メツセージを受信した時に、構成変更は完了81する。
(4) When the parent process finishes sending configuration change messages to related child processes and receives termination messages from all of the child processes, the configuration change is completed 81.

(5)新しい構成におけるネットワーク構成定義ファイ
ルを別ファイルにコピー82し、次の構成変更がある時
の構成変更前ファイルとしておく。
(5) Copy 82 the network configuration definition file in the new configuration to another file and use it as the file before the configuration change when the next configuration change occurs.

(6)親プロセスは中断していた中央時計の時刻よりシ
ミュレーションの実行再14(71にもどる)を行なう
(6) The parent process re-executes the simulation 14 (returns to 71) from the time of the central clock where it was interrupted.

上記のような、実行、構成変更、実行結果の出力等は、
親プロセスにより図6のようなメツセージ形式で特定の
子プロセスに命令することで行なう。そのために、メツ
セージには命令の種別100や送信先子プロセス名10
1などを書いておく。子プロセスは、第5,2図にある
ように、通常はこの親プロセスからのメツセージ待ち状
態となっており91、親プロセスからの命令があった時
点で、他の子プロセスとは独立した並行処理を行ない、
処理終了後、親に終了通知98して再びメツセージ待ち
状態91となる。子プロセスは、また、親プロセスから
の構成変更によりそれ自体増加したり、減少したりする
。したがって、シミュレーションの開始はまず親プロセ
スが作られ、次にその時与えられる構成定義に対応して
子プロセスが必要数件られる。
Execution, configuration changes, output of execution results, etc. as described above are
This is done by the parent process instructing a specific child process in a message format as shown in FIG. For this purpose, the message includes the command type 100 and destination child process name 10.
Write down 1 etc. As shown in Figures 5 and 2, the child process is normally in a state of waiting for a message from the parent process91, and when it receives an instruction from the parent process, it is in a parallel state independent of other child processes. process,
After the process is finished, the parent is notified of the completion 98 and the process returns to a message waiting state 91. Child processes also increase or decrease themselves due to configuration changes from the parent process. Therefore, when starting a simulation, a parent process is first created, and then a necessary number of child processes are created in accordance with the configuration definition given at that time.

シミュレーションの実際の実行では、パケット交換機の
網内パケット転送等の子プロセス間のデータのやりとり
があるため、それらのデータ交換第1図の17は、オペ
レーティングシステム10がもつプロセス間通信機能を
用いる。この機能は前記の親プロセスと子プロセス間の
メツセージ通信16でも使用している。この機能は、汎
用オペレーティング・システムでは通常サポートされて
いる。
In the actual execution of the simulation, data is exchanged between child processes such as intra-network packet transfer of a packet switch, so the inter-process communication function of the operating system 10 is used for data exchange 17 in FIG. This function is also used in the message communication 16 between the parent process and the child process described above. This feature is typically supported by general purpose operating systems.

次に、シミュレーション実行結果の出力は、第5.2図
に説明するように、構成変更要求があったときのように
、シミュレーションの実行中や実行終了後にユーザより
親プロセスへの割込みで要求する。この場合も、時刻関
係を保ち、中央時計の1単位時刻が経過した時点で実際
の子プロセスへの結果出力要求メツセージを送信する。
Next, as explained in Figure 5.2, the output of the simulation execution results is requested by the user via an interrupt to the parent process during or after the simulation, such as when a configuration change request is made. . In this case as well, the time relationship is maintained, and a result output request message is sent to the actual child process when one unit of time of the central clock has elapsed.

このメツセージは金子プロセスに送信し、各子プロセス
は第6図のメツセージ103で指定するシミュレーショ
ン結果出力ファイル23にシミュレーション実行結果デ
ータ24を出力95し、終了通知を親フロセスに送り返
す98゜すべての子プロセスのシミュレーション実行結
果の出力が終了すると、再び親プロセスは中断していた
中央時計の時刻より実行を再開する。このようにして、
ユーザの必要時のみだけシミュレーション結果を指定フ
ァイルに出力することで、処理時間が大きいファイルへ
の出力回数を減らし、処理の高速化を図る。
This message is sent to the Kaneko process, each child process outputs the simulation execution result data 24 to the simulation result output file 23 specified by the message 103 in FIG. 6, and a termination notification is sent back to the parent process. When the output of the simulation execution results of the process is completed, the parent process resumes execution from the time of the central clock where it was interrupted. In this way,
By outputting simulation results to a designated file only when required by the user, the number of outputs to files that take a long processing time is reduced and processing speed is increased.

あるいは、一定周期で親プロセスから子プロセスに出力
要求メツセージを送ることもできる。このように、シミ
ュレーション結果がファイルに一定量蓄積していくと、
シミュレーション結果解析・出力プロセス第1図の22
がユーザの要求(キーボード割込み)あるいは親プロセ
スによる要求(プログラムによる処理)で起動され、結
果の表示を画面やプリンターに行なう。このシミュレー
ション結果解析・出力プロセス22も他の構成定義入力
プロセス3や親プロセス、子プロセス等の実行部分にあ
るプロセスと独立に並行処理される。
Alternatively, output request messages can be sent from the parent process to the child process at regular intervals. In this way, when a certain amount of simulation results are accumulated in the file,
Simulation result analysis/output process 22 in Figure 1
is started by a user's request (keyboard interrupt) or a parent process's request (program processing), and displays the results on the screen or printer. This simulation result analysis/output process 22 is also processed independently and in parallel with other processes in the execution part such as the other configuration definition input processes 3, parent processes, and child processes.

第2図はネットワーク構成の例であり、図2.1はパケ
ット交換網のモデルである。パケットは30あるいは3
5のトラヒック発生加入者端末を模擬する子プロセスよ
り、構成定義で決められたトラヒックを親プロセスが起
動する毎に発生する。パケット交換機31,32,33
.34は別の子プロセスより転送されたパケットを内部
にキューイングし、転送先に振り分けて転送する。
FIG. 2 is an example of a network configuration, and FIG. 2.1 is a model of a packet switching network. packet is 30 or 3
A child process simulating the traffic generating subscriber terminal of No. 5 generates traffic determined by the configuration definition each time the parent process starts. Packet switch 31, 32, 33
.. 34 internally queues packets transferred from another child process, distributes them to transfer destinations, and transfers them.

パケット交換機のもつ上記のキューは交換機を模擬する
子プロセスへの構成定義に基づき設定され、キュー操作
は子プロセス内部処理で行なう。1交換機が1回の親プ
ロセスの起動で何個のパケットを処理するか、および、
中央時計の1柩位時刻で何回交換機を模擬する子プロセ
スを起動するかによって各交換機の処理速度の差をシミ
ュレーションする。
The above-mentioned queues of the packet switch are set based on configuration definitions for a child process that simulates the switch, and queue operations are performed within the child process. How many packets does one switch process in one parent process startup?
The difference in processing speed of each exchange is simulated based on how many times a child process simulating the exchange is activated in one hour of the central clock.

第2図(2)は工場における生産ラインを表わすキュー
イングモデルの例である。材料の出庫量を模擬する子プ
ロセス40よりトランザクションが発生し、生産ライン
上の各工程での作業を模擬する子プロセス41,42.
43経て、製品出荷量を模擬する子プロセス44に到着
する。
FIG. 2 (2) is an example of a queuing model representing a production line in a factory. A transaction is generated by a child process 40 that simulates the amount of material to be shipped, and child processes 41, 42 .
43, it arrives at a child process 44 that simulates the amount of product shipments.

各モデルのシミュレーション実行結果により、図2.1
ではトラヒックによる各交換機のキュー長やスループッ
ト、遅延時間等のネットワーク性能評価が、第2図(2
)では、在庫予想や生産計画立案を行なうことができる
Based on the simulation execution results of each model, Figure 2.1
Figure 2 (2
) allows inventory forecasting and production planning.

第3図はシミュレーション実行画面の例を示したもので
ある。第1図で示したようにシミュレーションの並行処
理の単位となるネットワーク構成定義入力メニュー51
、シミュレーション実行中のネットワーク構成を表示す
る画面52、シミュレーション実行結果表示画面53が
、ワークステーション等で使用可能なマルチウィンドウ
表示されている。これにより、ユーザは並行処理の様子
を実際の目で確認することができる。
FIG. 3 shows an example of a simulation execution screen. As shown in FIG. 1, the network configuration definition input menu 51 serves as the unit of parallel processing of the simulation.
, a screen 52 that displays the network configuration during simulation execution, and a simulation execution result display screen 53 are displayed in a multi-window format that can be used on a workstation or the like. This allows the user to see the parallel processing with his or her own eyes.

第4図は、シミュレーションの実行制御を行なう親プロ
セス(第1図11)が子プロセス(第1図12.13,
14.15)をメツセージで起動する際に使用する実行
制御用テーブルである。このテーブルの大きて64は金
子プロセス数分あり、これは構成定義入力時、子プロセ
スの生成と同時に作られる。実行制御用テーブルには、
メツセージ送信先子プロセス名(オペレーティングシス
テムがついてるプロセス番号)60、子プロセスが模擬
する機能、例えば、パケット交換機や加入者端末等の種
別を区別するネットワークノード種別61、各子プロセ
スの起動回路を中央時計の1単位時刻内で表わし、子プ
ロセスの相対的処理性能やトラヒック発生量を保持する
ための実行回数62、およびネットワークノード種別6
1で示されるノードの内部処理や機能、キュー長などの
パラメータを保持するノード属性63よりなる。親プロ
セスはこの実行制御テーブルを見て子プロセスにメツセ
ージ送信節5.1図の73することで、第1図16に示
したシミュレーションの実行制御を行なう。
Figure 4 shows that the parent process (Figure 1 11) that controls the execution of the simulation is connected to the child process (Figure 1 12.13,
This is an execution control table used when starting 14.15) with a message. There are at most 64 tables for the number of Kaneko processes, and this table is created when a configuration definition is input and at the same time as a child process is generated. In the execution control table,
Name of the child process to which the message is sent (process number assigned by the operating system) 60, Network node type 61 that distinguishes the type of function that the child process simulates, such as a packet switch or subscriber terminal, etc., The startup circuit of each child process is centrally located. The number of executions expressed within one unit of clock time to maintain the relative processing performance and traffic generation amount of the child process 62, and the network node type 6
It consists of node attributes 63 that hold parameters such as the internal processing and functions of the node indicated by 1 and the queue length. The parent process controls the execution of the simulation shown in FIG. 16 by looking at this execution control table and transmitting a message to the child process at 73 in Section 5.1 of FIG.

〔発明の効果〕〔Effect of the invention〕

本発明によれば、シミュレーション対象の構成の変更等
があっても、対象の基本機能を実行するプロセス数の増
減やプロセスの起動回数の変更を行なうことにより簡単
にシミュレーションの実行を進めることができ、また、
任意の構成に対してプロセスの並行処理が可能であるた
め高速な実行ができる。
According to the present invention, even if there is a change in the configuration of the simulation target, the simulation can be easily executed by increasing or decreasing the number of processes that execute the basic functions of the target or by changing the number of times the processes are activated. ,Also,
Since processes can be processed in parallel for any configuration, high-speed execution is possible.

【図面の簡単な説明】[Brief explanation of the drawing]

第1図は本発明の一実施例のシミュレーション処理系の
全体構成図、第2図はネットワークシミュレーションに
おけるネットワーク構成例1と2、第3図はネットワー
クシミュレーションにおけるシミュレーション実行画面
例、第4図はネットワga< 2) 順、第5日1は子プロセスの実行手順、第6図は親プロ
セスと子プロセス間のメツセージ構成図である。
Figure 1 is an overall configuration diagram of a simulation processing system according to an embodiment of the present invention, Figure 2 is network configuration examples 1 and 2 in network simulation, Figure 3 is an example of a simulation execution screen in network simulation, and Figure 4 is a network configuration example. ga<2) Day 5 1 shows the execution procedure of the child process, and FIG. 6 is a message configuration diagram between the parent process and the child process.

Claims (1)

【特許請求の範囲】[Claims] マルチプロセス機能を有する計算機システムにおいて、
シミュレーション対象の基本機能をシミュレーションす
る複数の第1のプロセスと、それらを起動・制御するた
めの第2のプロセスとからなる処理手段と、複数の第1
のプロセスのシミュレーションにおける並行処理の相互
の時間的前後関係を保つために第2のプロセスがシミュ
レーション上の仮想の最小時刻(1単位)の整数倍の離
散的事象でシミュレーションを実行する実行手段と、第
1のプロセスの相互の処理能力の相対的差違を第2のプ
ロセスが第1のプロセスの起動回数で制御する制御手段
と、シミュレーション対象の構成に従って、第1のプロ
セス数を個数を変更する変更手段と、上記の第1のプロ
セスを起動制御するために第2のプロセスと第1のプロ
セス間のデータ通信を行なう通信手段とより成ることを
特徴とするシミュレーション装置。
In a computer system with multi-process functionality,
a processing means consisting of a plurality of first processes for simulating the basic functions of the simulation target and a second process for starting and controlling them;
Execution means for the second process to execute the simulation with discrete events that are an integral multiple of the virtual minimum time (1 unit) on the simulation in order to maintain the mutual temporal relationship of parallel processing in the simulation of the process; a control means for controlling the relative difference in mutual processing capacity of the first processes by the number of times the second process starts the first process; and a change for changing the number of the first processes according to the configuration to be simulated. and communication means for performing data communication between the second process and the first process in order to start and control the first process.
JP62257103A 1987-10-14 1987-10-14 Simulator Pending JPH01100657A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP62257103A JPH01100657A (en) 1987-10-14 1987-10-14 Simulator

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62257103A JPH01100657A (en) 1987-10-14 1987-10-14 Simulator

Publications (1)

Publication Number Publication Date
JPH01100657A true JPH01100657A (en) 1989-04-18

Family

ID=17301773

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62257103A Pending JPH01100657A (en) 1987-10-14 1987-10-14 Simulator

Country Status (1)

Country Link
JP (1) JPH01100657A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002530177A (en) * 1998-11-23 2002-09-17 ジーイー ウルトラサウンド イスラエル リミテッド Ultrasound system with parallel processing architecture

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002530177A (en) * 1998-11-23 2002-09-17 ジーイー ウルトラサウンド イスラエル リミテッド Ultrasound system with parallel processing architecture
JP4795538B2 (en) * 1998-11-23 2011-10-19 ジー イー ウルトラサウンド イスラエル リミテッド Ultrasound system with parallel processing architecture

Similar Documents

Publication Publication Date Title
US7984448B2 (en) Mechanism to support generic collective communication across a variety of programming models
US5081601A (en) System for combining independently clocked simulators
CN110838961B (en) General aviation bus message scheduling system
Baldassari et al. PROTOB: An object‐oriented case tool for modelling and prototyping distributed systems
Peacock et al. A distributed approach to queueing network simulation
WO2023098614A1 (en) Cloud instance capacity expansion/reduction method and related device therefor
Juhasz et al. A performance analyser and prediction tool for parallel discrete event simulation
JPH01100657A (en) Simulator
Melamed The performance analysis workstation: An interactive animated simulation package for queueing networks
Sampson Process-oriented patterns for concurrent software engineering
CN112737815B (en) Method and system for dynamically configuring event queue of network simulator
Pouzet et al. Parallel application design: The simulation approach with HASTE
Foley A tutorial on satellite graphics systems
Sang et al. Process mobility in distributed-memory simulation systems
Wangerin et al. A modular client-server discrete event simulator for networked computers
EP1122659A2 (en) Multi-threaded frame safe sychronization of a simulation
JPH05258002A (en) Synchronous execution controlling system for different kind of simulator
JP2004234643A (en) Process scheduling device, process scheduling method, program for process scheduling, and storage medium recorded with program for process scheduling
CN116192897A (en) Development method and device of Internet of things component
JP2002197491A (en) Device for simulating three-dimensional model
Tyler et al. A Tool for Analysing the Design and Performance of a Mascot ACP Network-Introductory Report
Toda et al. A parallel processing simulator for a network system using multimicroprocessors
Schiffner et al. Function nets: a comfortable tool for simulating database system architectures
Servos et al. Simulator of an Asynchronous Distributed System
JPH04363730A (en) Simulation executing means