JPH0756984B2 - Loop network system - Google Patents
Loop network systemInfo
- Publication number
- JPH0756984B2 JPH0756984B2 JP63166115A JP16611588A JPH0756984B2 JP H0756984 B2 JPH0756984 B2 JP H0756984B2 JP 63166115 A JP63166115 A JP 63166115A JP 16611588 A JP16611588 A JP 16611588A JP H0756984 B2 JPH0756984 B2 JP H0756984B2
- Authority
- JP
- Japan
- Prior art keywords
- station
- packet
- destination
- address
- transmission
- 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 - Lifetime
Links
Landscapes
- Multi Processors (AREA)
- Small-Scale Networks (AREA)
Description
【発明の詳細な説明】 産業上の利用分野 本発明は、トークンパッシングを用いた構内通信システ
ム(ローカル・エリア・ネットワーク)に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a private area communication system (local area network) using token passing.
従来の技術 本発明が適応されるトークンパッシングを用いたローカ
ル・エリア・ネットワーク(LAN)の一構成例を第3図
に示す。2. Description of the Related Art A configuration example of a local area network (LAN) using token passing to which the present invention is applied is shown in FIG.
図中、24〜28はこの伝送システムにおいて、パケットの
送受信とデータの処理を行うステーションA、B、C、
D、E、29はループ伝送路である。In the figure, 24 to 28 are stations A, B, C for transmitting / receiving packets and processing data in this transmission system.
D, E and 29 are loop transmission lines.
第4図に従来のトークンパッシングを用いられるパケッ
トフォーマットの一例を示す。図中30は、パケットの先
頭を示すスタートデリミタ(SD)、31は宛先ステーショ
ンアドレス(DA)、32は、送信元アドレス(SA)、33は
送信データ、34は31〜33の伝送誤りを検出するためのCR
C等によるフレームチェックシーケンス(FCS)、35はパ
ケットの末尾を示すエンドデリミタ(ED)である。36
は、パケットコピー成功か失敗かの結果と失敗の場合の
理由(FCSエラ発生等)コードをパケット通過ステーシ
ョンが書き込むフレームステータス領域(FS)である。
SD、EDは、データと一義的に識別されるものである(例
えば、SD、EDは伝送路符号の違反を含ませる等の手段に
よる)。FIG. 4 shows an example of a packet format in which conventional token passing is used. In the figure, 30 is the start delimiter (SD) that indicates the beginning of the packet, 31 is the destination station address (DA), 32 is the source address (SA), 33 is the transmission data, and 34 is the transmission error of 31 to 33. CR to do
A frame check sequence (FCS) by C or the like, and 35 is an end delimiter (ED) indicating the end of the packet. 36
Is a frame status area (FS) in which a packet passing station writes a result of packet copy success or failure and a reason (FCS error occurrence etc.) code in case of failure.
SD and ED are uniquely identified as data (for example, SD and ED are by means such as including a violation of the transmission path code).
各ステーションでは、データ処理を行うプロセッサを持
ち、プロセッサは、複数のプロセス(データの処理単位
である。)を実行できる。Each station has a processor for performing data processing, and the processor can execute a plurality of processes (data processing units).
今、ステーションAにプロセスPxが存在する。第5図
(a)に示す様に、プロセスPx(これを親プロセスとす
る)が新たにプロセスPy(これを子プロセスとする)を
生成し、その結果をプロセスPxの後の同期部分で必要と
する場合、親プロセスPxと子プロセスPyは並列実行が可
能である。このため、子プロセスPyを他のステーション
で実行し、結果のみを親プロセスに返すことにより処理
速度を上げることができる。Now, the process Px exists in the station A. As shown in FIG. 5 (a), the process Px (which has this as a parent process) newly creates a process Py (which has this as a child process), and the result is required in the synchronization part after the process Px. In this case, the parent process Px and the child process Py can be executed in parallel. Therefore, the processing speed can be increased by executing the child process Py in another station and returning only the result to the parent process.
従来は、子プロセスの存在する(実行可能な)ステーシ
ョンのアドレスを検索し、パケットのヘッダ部にDA、SA
を作成し、送信データ中にプロセス名とデータを設定し
て、宛先ステーションへ送っていた。Conventionally, the address of the station (executable) where the child process exists is searched, and DA and SA are added to the packet header.
Created, set the process name and data in the send data, and sent it to the destination station.
この場合、プロセスとアドレスの対応表の検索処理(デ
ィレクトィ・サービス)が必要であり、全体の処理のオ
ーバーヘッドとなっていた。In this case, a process of searching the correspondence table of processes and addresses (directive service) is required, which is an overhead of the whole process.
また、宛先ステーションでのプロセッサの負荷が重い場
合、送信元ステーションで親プロセスと子プロセスを実
行した方が、ネットワークを経由して複数ステーション
で実行するよりも高速な場合があった。これは、動的に
ネットワーク上のステーションのプロセッサの負荷を親
プロセス実行ステーションで知ることが出来ないためで
ある。(子プロセスを発行する前に、各ステーションに
問い合わせることも可能であるが、それ自体がオーバー
ヘッドであり、ステーション数が多い場合、このオーバ
ーヘッドが大きく成りすぎる。また、同時に多数のステ
ーションの負荷情報を集めることが出来ないため、ステ
ーションの負荷を調べ終わった時点で、最初に調べたス
テーションの負荷が変わってしまう。この様な理由から
子プロセス発行前に、各ステーションのその時点での負
荷の検出は不可能である。) また、第5図(b)に示すように、ステーションAに親
プロセスPxが存在し、このプロセスPxが新たにn個の同
一子プロセスPyを生成し、処理を進める場合、子プロセ
スPyを実行可能なステーションがあったなら、n個の子
プロセスをネットワークを経由して複数ステーションで
生起、実行させ、処理結果をネットワークを通じて集め
て処理を進めることにより、負荷を分散させ並列実行が
可能であり、これにより処理速度を上げることができ
る。Also, when the processor load at the destination station is heavy, it may be faster to execute the parent process and the child process at the source station than to execute them at multiple stations via the network. This is because the parent process execution station cannot dynamically know the processor load of the station on the network. (It is also possible to query each station before issuing the child process, but this is an overhead itself, and if the number of stations is large, this overhead becomes too large. Since the load cannot be collected, the load of the first checked station will change when the load of the station has been checked. For this reason, before the child process is issued, the load of each station at that time is detected. Moreover, as shown in FIG. 5B, the parent process Px exists in the station A, and this process Px newly creates n identical child processes Py, and proceeds the processing. In this case, if there is a station that can execute the child process Py, n child processes will be sent to multiple stations via the network. Occurrence, is executed, by proceeding the processing results collected through the network, is capable of parallel execution by distributing the load, it is possible to increase this by processing speed.
この場合、従来、子プロセス発行ステーションでは、デ
ィレクトィサービスにより、プロセス生起(実行)可能
ステーションを検出し、個々のステーションに別々に子
プロセス生成を行っていた。In this case, conventionally, in the child process issuing station, the direct service is used to detect a process spawnable (executable) station, and the child process is individually generated in each station.
これは、トークンパッシングリングによるパケットの同
報通信機能(全ステーション受信用の同報アドレスを使
用)を用いた場合、パケットを受信したステーション数
が不明で、幾つプロセスが生成できたか判断できないた
めである。This is because when the packet broadcast function using the token passing ring (broadcast address for receiving all stations is used), the number of stations that received the packet is unknown and it cannot be determined how many processes were created. is there.
具体的には、n個のプロセスPyを生起させる必要があ
り、N個のステーションがプロセスPyを生成可能である
とする。ただし、ここではn>Nであり、一回の同報で
全ステーションが受信プロセス生成してもまだプロセス
生成の必要があるものとすると、一回の同報通信でN台
のステーションの内何台のステーションがプロセス生成
命令を受信をしたか不明であるため、さらに幾つのプロ
セスPyの生成が必要かが分からない。また、n<Nの場
合、n個のプロセスが生成されたにも関わらず余分なプ
ロセスPyが生成されることがある。) 親プロセスが一個の子プロセスPyを生成する場合と同様
に、他のステーションでのプロセッサの負荷の重さを知
らないため、負荷の重いか、またはプロセッサの処理能
力の低いステーションの子プロセスPyが終了するまで親
プロセスPxは処理を終了することが出来ない。(n個の
子プロセスの内最も遅いものが全体の処理能力に制限を
与える)このため、並列実行台数によるデータ処理速度
の向上という効果が現れなかった。Specifically, it is necessary to spawn n processes Py, and it is assumed that N stations can generate processes Py. However, here, n> N, and if all stations generate a reception process in one broadcast, it is still necessary to generate a process. Since it is unknown whether each station has received the process generation command, it is not known how many processes Py need to be generated. In the case of n <N, an extra process Py may be generated even though n processes have been generated. ) As in the case where the parent process spawns one child process Py, it does not know the processor load on other stations, so the child process Py on a station with a heavy load or a low processor capacity The parent process Px cannot finish processing until the process ends. (The slowest of the n child processes limits the overall processing capacity.) Therefore, the effect of improving the data processing speed by the number of parallel executions did not appear.
発明が解決しようとする課題 前述する様に、LAN上に接続された複数ステーションで
分散処理を行う場合、親プロセス実行ステーションで
は、子プロセス実行側ステーションの動的なプロセッサ
負荷が分からないため、高負荷のステーションに子プロ
セスを実行させてしまいデータ処理能力が上がらないこ
とがあった。As described above, when distributed processing is performed by multiple stations connected on the LAN, the parent process execution station does not know the dynamic processor load of the child process execution side station, so it is high. In some cases, the load processing station was made to execute a child process and the data processing capacity was not improved.
また、子プロセス実行が可能なステーションが複数ある
場合、各ステーションのプロセッサ負荷を知らないこと
と、子プロセス実行が目的であるのにステーションアド
レスにより子プロセス生成を指示するため、負荷の軽い
ステーションに子プロセスを生成することが出来なかい
ため、データ処理速度が向上しなかった。Also, when there are multiple stations that can execute child processes, the station load is not known because the processor load of each station is not known and the child address is instructed to be created by the station address even though the child process execution is the purpose. The data processing speed did not improve because the child process could not be created.
同一子プロセスを複数生成する場合でも、ループネット
ワークにおける同報通信機能があるにも関わらず、同報
通信においては受信ステーション数が不明なため、プロ
セス生成は個別通信を行う必要があり、子プロセス生成
のための通信オーバーヘッドが大きく、データ処理速度
向上の障害に成っていた。Even if multiple identical child processes are created, despite the broadcast communication function in the loop network, the number of receiving stations is unknown in the broadcast communication, so it is necessary to perform individual communication for process creation. The communication overhead for generation was large, which was an obstacle to improving the data processing speed.
本発明は、上記問題点を解決するもので、伝送路上の子
プロセス実行可能ステーションの負荷を知ること無し
に、子プロセスを負荷の軽いステーションに生成するこ
と、プロセス名とステーションアドレスの対応表を検索
すること無しに他ステーションにプロセスを生成するこ
と、及び、同一子プロセスをループネットワーク上の複
数ステーションで実行する場合、同報通信機能によりプ
ロセス生成のための通信オーバーヘッドを減らすことに
より、複数ステーションにプロセスを実行させる分散処
理においてデータ処理の高速化を計ることを目的とす
る。The present invention solves the above-mentioned problems. It is possible to generate a child process in a lightly loaded station without knowing the load of the child process executable station on the transmission line, and to create a correspondence table of process names and station addresses. When a process is created in another station without searching, and when the same child process is executed in multiple stations on the loop network, the broadcast function reduces the communication overhead for creating the process, and It aims at speeding up the data processing in the distributed processing that causes the process to be executed.
課題を解決するための手段 本発明は、ループネットワークシステムにおいて、各ス
テーションは、自ステーションが有する生成可能なプロ
セステーブルを持ち、パケットの先頭を示すパケットヘ
ッダ部に、配信したい相手プロセス名と配信したいプロ
セス数と配信要求レベルを書き込む領域を持つ宛先プロ
セス部と、送信元ステーションアドレスとプロセス名を
書き込む領域から成る送信元プロセスアドレス部を各々
設け、パケットを送信するステーションでは、送信を要
求するプロセス名と送信ステーションアドレスを送信元
アドレス部に、相手ステーション内の宛先プロセス名と
同報により複数ステーションに配信する場合は配信ステ
ーション数と受信要求レベルを宛先プロセス部に設定し
て送出し、前記パケットを通過させるステーションで
は、宛先ステーションアドレス及び宛先プロセス部が一
致したなら、送信データをパケットからコピーし、自ス
テーション内の前記宛先プロセスに送ると共に配信ステ
ーション数を1減じ、0であるなら受信しない様に制御
し、宛先プロセス部に配信要求レベルの書き込み領域を
設け、各ステーションの保有プロセス名テーブルに各プ
ロセスにつながる処理の待行列長を記入する領域を設
け、前記パケットを通過させるステーションでは、宛先
プロセス部が一致したステーションでも、自ステーショ
ン内宛先プロセスの待行列が宛先アドレス部の配信要求
レベルを越えて存在する場合は、これをコピーせず、そ
のまま通過させる様制御し、送信ステーションではルー
プ一巡後の送信パケットの宛先プロセス部の配信ステー
ション数が0でない場合は、配信要求レベルを上げて通
過させる様制御することを特徴とするループネットワー
クシステムである。Means for Solving the Problems According to the present invention, in a loop network system, each station has a process table that can be generated by its own station, and in a packet header section indicating the beginning of a packet, the name of the other process to be delivered and the delivery A destination process part that has an area for writing the number of processes and the distribution request level, and a source process address part that has an area for writing the source station address and process name are provided respectively, and at the station that transmits the packet, the process name that requests transmission And the sending station address to the source address part and the destination process name in the other station to broadcast to multiple stations, set the number of distribution stations and the reception request level to the destination process part and send the packet. Station to pass If the destination station address and the destination process part match, the transmission data is copied from the packet, sent to the destination process in its own station, the number of distribution stations is reduced by 1, and if it is 0, it is not received. However, a delivery request level write area is provided in the destination process section, and an area for entering the queue length of the processing connected to each process is provided in the possessed process name table of each station. If the queue of the destination process within its own station exceeds the delivery request level of the destination address part, the station that does not copy it but passes it as it is is controlled even if the station with which The number of distribution stations in the destination process part of the transmitted packet is 0 If there is a loop network system and controlling as to pass by increasing the distribution request level.
作用 本発明は、前述したトークンパッシング方式を行えば、
プロセス名とステーションアドレスの対応表を検索する
こと無しにプロセス生起命令を発行することが可能であ
り、伝送路上の子プロセス実行可能ステーションの負荷
を知ること無しに、子プロセスを負荷の軽いステーショ
ンに生成することが可能であり、同一子プロセスをルー
プネットワーク上の複数ステーションで実行する場合、
同報通信機能によりプロセス生成のための通信オーバー
ヘッドを減らすことが可能である。Action The present invention, if the token passing method described above is performed,
It is possible to issue a process generation command without searching the correspondence table of process names and station addresses, and the child process can be changed to a lightly loaded station without knowing the load of the child process executable station on the transmission path. It is possible to spawn and run the same child process on multiple stations on the loop network,
It is possible to reduce the communication overhead for process generation by the broadcast communication function.
実施例 本発明を、実施した場合のトークンパッシングリング中
のパケットフォーマットを、第1図に示す。EXAMPLE FIG. 1 shows a packet format in the token passing ring when the present invention is carried out.
図中1はパケットの先頭を示すスタートデリミタ(S
D)、2は宛先プロセス(DP)で、宛先プロセス名(DP
N)3、配信先ステーションアドレス(DSA)4、配信要
求レベル(RL)、配信要求プロセス数(DN)6から成
る。これにより、親子のプロセスの内で、子プロセスを
他のステーションで実行する場合の子プロセス生成を要
求できる。この内DSA6は、子プロセスを特定ステーショ
ンで実行する場合にステーションアドレスを指定するも
のである。通常の処理では、子プロセスの実行のみが必
要で実行されるステーションを特定する必要が無いた
め、特定ステーションを指示しないアドレス(例えば同
報アドレス)を使用する。In the figure, 1 is a start delimiter (S
D), 2 is the destination process (DP), the destination process name (DP
N) 3, delivery destination station address (DSA) 4, delivery request level (RL), and delivery request process number (DN) 6. This makes it possible to request the generation of a child process when the child process is executed by another station among the parent and child processes. Among them, DSA6 specifies a station address when the child process is executed in a specific station. In normal processing, since it is only necessary to execute the child process and it is not necessary to specify the station to be executed, an address (for example, a broadcast address) that does not indicate the specific station is used.
7は、送信元プロセス(SP)であり、送信元プロセス
(SPN)8、送信元ステーションアドレス(SSA)9から
成る。親プロセスは、特定ステーションのプロセスであ
るため、親プロセス名SPN8の他にステーションアドレス
9が、必要であり、子プロセスからの処理結果送信先と
なる。A source process (SP) 7 includes a source process (SPN) 8 and a source station address (SSA) 9. Since the parent process is a process of a specific station, the station address 9 is necessary in addition to the parent process name SPN8, and it becomes the processing result transmission destination from the child process.
10は送信データ、11は2、7、10の伝送誤りを検出する
ためのCRC等によるフレームチェックシーケンス(FC
S)、12はパケットの末尾を示すエンドデリミタ(ED)
である。13は、パケットコピー成功か失敗かの結果と失
敗の場合の理由(FCSエラ発生等)コードをパケット通
過ステーションが書き込むフレームステータス領域(F
S)である。ここで、SD、EDは、データと一義的に識別
されるものである。(例えば、SD、EDは伝送路符号の違
反を含ませる等の手段による。) 第1図の構成のパケットフォーマットによるトークンパ
ッシングネットワークを第2図を用いて説明する。10 is transmission data, 11 is a frame check sequence (FC) by CRC or the like for detecting 2, 7, and 10 transmission errors.
S), 12 is the end delimiter (ED) that indicates the end of the packet
Is. 13 is a frame status area (F) in which the packet passing station writes the result of packet copy success or failure and the reason (FCS error occurrence etc.) in the case of failure.
S). Here, SD and ED are uniquely identified as data. (For example, SD and ED are by means of including a violation of the transmission path code.) The token passing network with the packet format having the configuration of FIG. 1 will be described with reference to FIG.
第2図は、ステーションの内部構造の概略図であり、同
一構造のステーションA、B、Cを表している。説明の
ため、A、B、Cの各ステーションで同一機能部には、
数字にa、b、cの添字をつけるものとする。FIG. 2 is a schematic diagram of the internal structure of the station, showing stations A, B and C of the same structure. For the sake of explanation, the same functional units in A, B, and C stations are
The numbers shall be suffixed with a, b, and c.
ステーションA14aは、内部にパケット送受信処理部15a
と、データ処理を行うプロセッサ16aを持つ。16aのプロ
セッサは、複数のプロセスを処理するため、待行列17a
が付属している。この待行列17aは、物理的なものでは
ない(通常メモリ内に存在)が、説明の都合上図17aの
様に示すこととする。The station A14a has an internal packet transmission / reception processing unit 15a.
And a processor 16a for processing data. The 16a processor handles multiple processes, so queue 17a
Is included. Although the queue 17a is not physical (usually exists in the memory), it is shown as in FIG. 17a for convenience of explanation.
待行列17aには、処理待プロセスの行列が図の斜線の様
に並んでいる。プロセッサ16aには、現在処理中のプロ
セスPx18aが存在し、子プロセスPyを並列実行しようと
している。In the queue 17a, queues of process waiting processes are arranged as shaded in the figure. The processor 16a has a process Px18a currently being processed, and is trying to execute the child process Py in parallel.
この時、プロセッサ16aは、送信を要求する自プロセス
名Px18aと送信元ステーションアドレス(この場合は、
A)を送信元プロセス情報として、子プロセス名(この
場合は、Py)と宛先ステーションアドレス(この場合、
子プロセスPyの実行ステーションはどのステーションで
も良いとして、同報ステーションアドレス)と、生成し
たいプロセス数(この場合は1)を宛先プロセス情報と
して、また、子プロセスPyに送るべきデータを送信デー
タとしてパケット送受信処理部15aに送り、プロセッサ1
6aは、親プロセスPx18aの実行を続ける。At this time, the processor 16a uses the name Px18a of its own process that requests transmission and the source station address (in this case,
Using A) as the source process information, the child process name (Py in this case) and the destination station address (in this case,
The execution station of the child process Py may be any station, and the broadcast station address) and the number of processes to be created (1 in this case) are used as the destination process information, and the data to be sent to the child process Py is used as the transmission data. Send to the transmission / reception processing unit 15a, the processor 1
6a continues to execute the parent process Px18a.
パケット送受信処理部15aには、プロセッサ16aの処理待
行列17aの長さ及びプロセスの種別から、自ステーショ
ンの負荷を推定する負荷推定テーブル19aが存在する。
この負荷推定テーブル19aの値から、パケットコントロ
ーラ20aは現在のプロセッサの負荷を求め、これを配信
要求レベル(RL)とし、プロセッサ16aから送られた情
報と共に、第1図の送信パケットを構成し、伝送路21a
からトークンが到着したなら、これを獲得消去し、パケ
ットを伝送路22aに送出する。The packet transmission / reception processing unit 15a has a load estimation table 19a for estimating the load of the own station from the length of the processing queue 17a of the processor 16a and the type of process.
The packet controller 20a obtains the current load of the processor from the value of the load estimation table 19a, sets it as the distribution request level (RL), and forms the transmission packet of FIG. 1 together with the information transmitted from the processor 16a, Transmission line 21a
When the token arrives from, the token is acquired and erased, and the packet is sent to the transmission path 22a.
各ステーションでは、ステーションが実行可能なプロセ
ス名が予めパケット送受信処理部内のプロセステーブル
23a〜23cに登録されている。In each station, the process name that can be executed by the station is stored in advance in the process table in the packet transmission / reception processing unit.
Registered in 23a-23c.
まず、説明の都合上、ステーションA〜Cは、プロセス
Pyを持っている(実行可能)だとする。First, for convenience of description, the stations A to C
Suppose you have Py (executable).
ループ伝送路上のステーションB(Aの下流のステーシ
ョン)は、到着するパケットの宛先プロセス部の宛先プ
ロセス名(DPN)を自ステーションのプロセステーブル2
3bと比較する。今、子プロセスPyがテーブル23b中にあ
るが、ただちに受信はせず、パケット中の配信要求レベ
ル(RL)と負荷推定テーブル22bの値を比較する。この
場合、ステーションAでの負荷(図中では、待行列の長
さが負荷に比例すると仮定)より、自ステーションBの
負荷の方が重いことがわかるため、パケットを受信せず
(つまり、子プロセスPyの実行は行わず)、パケット中
の配信数(DN)はそのままで、パケットの末尾のフレー
ムステータス部にプロセス名一致のステータスを書き、
パケットを通過させる。Station B (the station downstream of A) on the loop transmission line uses the destination process name (DPN) of the destination process part of the arriving packet as its own process table 2
Compare with 3b. Although the child process Py is now in the table 23b, it is not immediately received and the delivery request level (RL) in the packet is compared with the value of the load estimation table 22b. In this case, since the load on station B is heavier than the load on station A (assuming that the length of the queue is proportional to the load in the figure), packets are not received (that is, child packets are not received). Do not execute process Py), leave the number of distributions (DN) in the packet as it is, write the process name matching status in the frame status section at the end of the packet,
Pass the packet.
ステーションBの直下流のステーションCでは、ステー
ションBと同様の動作をおこなう。この場合、プロセス
名Pyがプロセス名テーブル23c中にあるだけではなく、
パケット中の配信要求レベル(RL)より、自ステーショ
ンの負荷推定テーブル19cの値の方が小さいので(親プ
ロセス実行ステーションAより、自ステーションCの方
負荷が軽いことを示す。)、パケット中の配信数(DN)
を1だけ減じ、プロセス名一致とコピー終了のステータ
スをフレームステータス領域(FS)に書き、パケットを
通過させパケットをコピー(受信)し、プロセスPyをプ
ロセッサ16cの待行列17cにいれる。The station C immediately downstream of the station B performs the same operation as the station B. In this case, not only is the process name Py in the process name table 23c,
Since the value of the load estimation table 19c of the own station is smaller than the distribution request level (RL) in the packet (indicates that the load of the own station C is lighter than that of the parent process execution station A). Number of distributions (DN)
Is decremented by 1, the status of process name match and copy end is written in the frame status area (FS), the packet is passed, the packet is copied (received), and the process Py is put in the queue 17c of the processor 16c.
送信ステーションAには、パケットがループを一巡して
帰って来る。この際、パケットの配信数(DN)が0であ
れば、子プロセスPyは、ループ上の他のステーションで
実行されていることとなり、送信は成功と見なされ、送
出パケットは消去され、トークンが解放(下流ステーシ
ョン向けて送出)される。The packet returns to the transmitting station A in a loop. At this time, if the number of packets delivered (DN) is 0, it means that the child process Py is being executed by another station on the loop, the transmission is considered successful, the transmitted packet is erased, and the token is It is released (sent to the downstream station).
以上述べた手法では、パケットの受信は、プロセス名と
配信要求レベルの2つの項目で判断される。In the method described above, the reception of the packet is determined by the two items of the process name and the distribution request level.
そこで、次のような場合分けにより、さらに動作を説明
する。Therefore, the operation will be further described based on the following cases.
(1)ループ上のステーションに子プロセスが存在し、
親プロセス実行ステーションのプロセッサ負荷より、負
荷の軽いステーションも存在する場合。(1) A child process exists in the station on the loop,
When some stations have a lighter load than the processor load of the parent process execution station.
(2)ループ上のステーションに子プロセスが存在し、
親プロセス実行ステーションのプロセッサ負荷より、負
荷の軽いステーションが存在しない場合。(2) There is a child process in the station on the loop,
There is no station that has a lighter load than the processor load of the parent process execution station.
(3)ループ上のステーションに子プロセスが存在せ
ず、親プロセス実行ステーションのプロセッサ負荷よ
り、負荷の軽いステーションが存在する場合。(3) When there is no child process in the station on the loop and there is a station with a lighter load than the processor load of the parent process execution station.
(4)ループ上のステーションに子プロセスが存在せず
し、親プロセス実行ステーションのプロセッサ負荷より
負荷の軽いステーションも存在しない場合。(4) The child process does not exist in the station on the loop, and there is no station whose load is lighter than the processor load of the parent process execution station.
場合(1)は、すでに説明した通りである。Case (1) is as described above.
場合(2)は、送信ステーションが送信パケット一巡後
のフレームステータス部(FS)をみることにより検出さ
れる。これは、送信ステーションのプロセッサAの負荷
より、プロセッサ負荷の軽いステーションがループ上に
存在しないことを示しており、親プロセス実行ステーシ
ョンAが子プロセスも実行したほうが、処理速度が早い
ことになる。ループ一巡後の送信パケットのフレームス
テータス領域FSからこれを判断したパケット送受信処理
部15aは、自ステーションのプロセス待行列17aに子プロ
セス実行を指示する。Case (2) is detected by the transmitting station looking at the frame status part (FS) after one cycle of the transmission packet. This indicates that there is no station on the loop whose processor load is lighter than that of the processor A of the transmitting station, and the parent process execution station A also executes the child process, which results in faster processing speed. The packet transmission / reception processing unit 15a, which has determined this from the frame status area FS of the transmission packet after one loop, instructs the process queue 17a of its own station to execute the child process.
場合(3)(4)は、プロセスが他のステーションに存
在しないため、プロセスの実行コードを送る必要がある
が、本発明では対象としない。この場合、ループ一巡後
の送信パケットのフレームステータス領域(FS)に、プ
ロセス名一致のステータスが無いことで検出でき、自ス
テーションで子プロセスも実行することになる。In cases (3) and (4), since the process does not exist in another station, the execution code of the process needs to be sent, but this is not the target of the present invention. In this case, it can be detected because there is no process name matching status in the frame status area (FS) of the transmission packet after one loop, and the child process will also be executed in the own station.
この様に、プロセスの存在もディレクトリィ・サービス
を用いることなく確認できる。このため、従来、ディレ
クトリィ・サービスを用いることにより、プロセス実行
可能なステーションを捜していたが、この手順を行わず
に直接本来の目的である子プロセスの実行依頼が可能で
ある。In this way, the existence of the process can be confirmed without using the directory service. For this reason, conventionally, a directory service is used to search for a station capable of executing a process, but it is possible to directly submit a child process, which is the original purpose, without performing this procedure.
次に、ステーションAの親プロセスPxが複数(n個)の
子プロセスPyを生成する必要がある場合を、同様に第2
図を用いて説明する。Next, when the parent process Px of the station A needs to generate a plurality (n) of child processes Py, the second process is similarly performed.
It will be described with reference to the drawings.
ループ上には、N個のステーションが存在し、そのうち
M個(M≦N)のステーションが子プロセスPyを持つと
する。There are N stations on the loop, and M (M ≦ N) stations among them have a child process Py.
図中ステーションAの待行列17aには、処理待プロセス
の行列が斜線の様に並んでいる。プロセッサ16aには、
現在処理中のプロセスPx18aが存在し、子プロセスPyを
n個並列生成しようとしている。In the queue 17a of station A in the figure, queues of process waiting processes are arranged in a shaded manner. The processor 16a has
There is a process Px18a currently being processed, and n child processes Py are being created in parallel.
この時、プロセッサ16aは、送信を要求する自プロセス
名Pxと送信ステーションアドレス(この場合は、A)を
送信元プロセス情報として、子プロセス名(この場合
は、Py)と宛先ステーションアドレス(この場合、子プ
ロセスPyの実行ステーションはどのステーションでも良
いとして、同報ステーションアドレス)と、生成したい
プロセス数(この場合はn)を宛先プロセス情報とし
て、子プロセスPyに送るべきデータを送信データとして
パケット送受信処理部15aに送り、プロセッサ16aは、親
プロセスPxの実行を続ける。At this time, the processor 16a sets the child process name (Py in this case) and the destination station address (in this case) using the own process name Px and the transmission station address (A in this case) requesting the transmission as the source process information. , The execution station of the child process Py may be any station, the broadcast station address) and the number of processes to be created (n in this case) as the destination process information, and the data to be sent to the child process Py as the transmission data as packet transmission / reception. Sending to the processing unit 15a, the processor 16a continues execution of the parent process Px.
1個の子プロセス生成の場合と同様に、プロセッサ16a
から送られた情報と負荷推定テーブル値から、パケット
コントローラ20aは、第1図の送信パケットを構成し、
伝送路21aからトークンが到着したなら、これを獲得消
去し、パケットを伝送路22aに送出する。As in the case of creating one child process, the processor 16a
The packet controller 20a forms the transmission packet of FIG. 1 from the information sent from the server and the load estimation table value,
When the token arrives from the transmission line 21a, the token is acquired and deleted, and the packet is sent to the transmission line 22a.
ステーションBとステーションCでは、前例と同様の動
作をおこなう。つまり、ステーションCは、親プロセス
実行のステーションAより負荷が軽いので、パケット中
の配信数(DN)を1だけ減じ、パケットをコピー(受
信)し、プロセスPyをプロセッサ16cの待行列17cにいれ
る。Stations B and C perform the same operations as in the previous example. That is, since the load of the station C is lighter than that of the station A which executes the parent process, the distribution number (DN) in the packet is reduced by 1, the packet is copied (received), and the process Py is put in the queue 17c of the processor 16c. .
この様に、ループ上に、現在のステーションAのプロセ
ッサより負荷の軽いステーションがm個存在し、m≧n
ならループ一巡でn個の子プロセスPyが生成され、プロ
セス配信数が0に成った時点で、送信パケットは、プロ
セスPyを持ち、ステーションAより負荷の軽いステーシ
ョンでもパケットは受信されず、単に通過する。m≦n
ならば、ループ一巡後の送出パケットのヘッダ部の配信
プロセス数は(n−m)に、末尾のフレームステータス
部には、プロセス名一致、コピー終了のステータスが入
って帰って来る。Thus, there are m stations having a lighter load than the processor of the current station A on the loop, and m ≧ n
Then, when n child processes Py are created in one loop and the number of process distributions becomes 0, the transmitted packet has the process Py, and even a station with a lighter load than station A does not receive the packet, but simply passes it. To do. m ≦ n
Then, the number of distribution processes in the header part of the outgoing packet after one loop is (nm), and the status of the process name match and copy end are returned in the end frame status part.
送信ステーションAには、パケットがループを一巡して
帰って来ても、全て(n個)のプロセスが配信されたわ
けではないので、パケット末尾のステータス部をクリア
し、配信プロセス数は(n−m)のままで、通過(再送
信)させる。この動作をループ一巡後のフレームステー
タス部が、プロセス名は一致したが、コピーはされなか
ったという形式になるか、配信プロセス数が0になるま
で続ける。Even if the packet returns to the transmitting station A after going through a loop, not all (n) processes have been delivered, so the status part at the end of the packet is cleared and the number of delivery processes is (n- m) is left as it is, and it is passed (retransmitted). This operation is continued until the frame status part after one loop has the same process name but not copied, or until the number of distribution processes becomes zero.
配信要求プロセス数が0になった場合は、n個の子プロ
セスPyがステーションA以外のステーションに分配され
たことを示しており、パケットを消去し、トークンを下
流に送出する。When the number of distribution request processes becomes 0, it indicates that n child processes Py are distributed to stations other than the station A, the packet is erased, and the token is transmitted downstream.
配信要求プロセス数が0でなく、ループ一巡後のフレー
ムステータス部が、プロセス名は一致したが、コピーは
されなかったという形式になった場合は、ループ上の子
プロセスPyの生成機能のあるステーションは、全て親プ
ロセスPx実行ステーションAのプロセッサ負荷とほぼ同
一になっおり、まだ生成すべき子プロセスPyが存在して
いることを示している。この場合、子プロセスPyを1個
生成した前例と同様に、ステーションA自身も子プロセ
スPyを生成(パケット受信)する。このとき、他のステ
ーションと同様に、配信要求プロセス数を1減じ、0に
ならないなら、フレームの送信を続ける。ただし、この
場合、自身のプロセッサの負荷が増加しているため、自
動的に、配信要求レベルも増加する。If the number of delivery request processes is not 0, and the frame status part after one loop has the same process name but was not copied, a station with the generation function of the child process Py on the loop All indicate that the processor load of the parent process Px execution station A is almost the same, and that there still exists a child process Py to be created. In this case, the station A itself also creates (receives a packet) the child process Py, as in the previous example in which one child process Py was created. At this time, like the other stations, the number of distribution request processes is decremented by 1, and if it does not become 0, frame transmission is continued. However, in this case, since the load of the processor itself is increasing, the distribution request level also automatically increases.
配信要求レベルが増加したため、ループ上のすでに子プ
ロセスを複数生成しているステーションでも、新たに子
プロセスを生成(パケットの受信)を行う様になる。Since the distribution request level has increased, even a station on the loop that has already created multiple child processes will create new child processes (receive packets).
この手順を配信要求プロセス数が0になるまで行い、0
に成ったパケットが送信ステーションAに戻ったら消去
し、トークンを送出する。これにより、子プロセスPy実
行可能ステーションは、全てほぼ同一の負荷で動作する
こととなる。これにより、従来、負荷の大きな特定ステ
ーションに子プロセスを実行させた場合に発生する一部
の子プロセスの処理結果の応答の遅れによる、待ち合わ
せ(プロセス間の同期)が大幅に改善され、親プロセス
Pxは高速に実行される。This procedure is repeated until the number of distribution request processes reaches 0, and
When the packet formed in step 1 is returned to the transmitting station A, it is erased and a token is transmitted. As a result, the child process Py executable stations all operate under substantially the same load. This greatly improves waiting (synchronization between processes) due to delay in response of processing results of some child processes that occur when a child process is executed by a specific station with a large load, and the parent process is significantly improved.
Px runs fast.
発明の効果 以上説明したように、本発明によれば、複数プロセスを
ループ上の複数ステーションで実行する場合、子プロセ
スを負荷の軽いステーションに生成することが可能であ
り、プロセス名とステーションアドレスの対応表を検索
すること無しに子プロセスの生成を指示することが可能
であり、複数の同一子プロセスをループネットワーク上
の複数ステーションで実行する場合、ループの同報通信
機能により通信オーバーヘッドを減らし、且つ、ほぼ均
等な負荷を割り付けることが可能であり、複数プロセス
の複数ステーションでの実行によるデータ処理を高速化
することができる。As described above, according to the present invention, when a plurality of processes are executed by a plurality of stations on a loop, it is possible to spawn a child process in a station with a light load, and to save a process name and a station address. It is possible to instruct the generation of child processes without searching the correspondence table, and when multiple identical child processes are executed at multiple stations on the loop network, the communication overhead of the loop reduces communication overhead, Moreover, it is possible to allocate a substantially equal load, and it is possible to speed up data processing by executing a plurality of processes in a plurality of stations.
第1図は本発明の一実施例によるループネットワークシ
ステムで使用されるフレーム構成図、第2図は本発明の
一実施例によるステーションの構成を示すブロック図、
第3図は本発明が適応されるループ伝送システムの構成
を示す状態図、第4図は従来例によるループネットワー
クシステムで使用されるフレーム構成図、第5図は複数
プロセスによるデータ処理を説明するための概念図であ
る。 1、30……スタートデリミタ、2……宛先プロセス、3
……宛先プロセス名、4……宛先ステーションアドレ
ス、5……配信要求レベル、6……配信プロセス数、7
……送信元プロセス、8……送信元ステーションアドレ
ス、9……送信元プロセス名、10、33……送信データ、
11、34……フレームチェックシーケンス、12、34……エ
ンドデリミタ、13、36……フレームステータス領域、14
a、15b、14c、24、25、26、27、28……ステーション、1
5a、15b、15c……パケット送受信処理部、16a、16b、16
c……ステーションプロセッサ、17a、17b、17c……待行
列、18a、18b、18c……実行中プロセス、19a、19b、19c
……プロセッサ負荷推定テーブル、20a、20b、20c……
パケットコントローラ、21a、22a、29……ループ伝送
路、23a、23b、23c……ステーション内実行可能プロセ
ス名テーブル、31……宛先ステーションアドレス、32…
…送信元ステーションアドレス。1 is a frame configuration diagram used in a loop network system according to an embodiment of the present invention, and FIG. 2 is a block diagram showing a configuration of a station according to an embodiment of the present invention,
FIG. 3 is a state diagram showing a configuration of a loop transmission system to which the present invention is applied, FIG. 4 is a frame configuration diagram used in a loop network system according to a conventional example, and FIG. 5 illustrates data processing by a plurality of processes. It is a conceptual diagram for. 1, 30 ... Start delimiter, 2 ... Destination process, 3
...... Destination process name, 4 ... Destination station address, 5 ... Delivery request level, 6 ... Delivery process number, 7
…… Sender process, 8 …… Sender station address, 9 …… Sender process name, 10, 33 …… Send data,
11,34 …… Frame check sequence, 12,34 …… End delimiter, 13,36 …… Frame status area, 14
a, 15b, 14c, 24, 25, 26, 27, 28 ... Station, 1
5a, 15b, 15c ... Packet transmission / reception processing unit, 16a, 16b, 16
c: station processor, 17a, 17b, 17c ... queue, 18a, 18b, 18c ... running process, 19a, 19b, 19c
...... Processor load estimation table, 20a, 20b, 20c ……
Packet controller, 21a, 22a, 29 ... Loop transmission line, 23a, 23b, 23c ... Station executable process name table, 31 ... Destination station address, 32 ...
… Source station address.
Claims (3)
を有するステーションを接続し、伝送路上には一義的に
識別されるトークンと呼ばれるパターンを巡回させ、前
記トークンを獲得したステーションが自ステーション内
の送信待パケットを送信し、送信終了後下流ステーショ
ンにトークンを解放するトークンパッシング方式による
ループネットワークシステムにおいて、各ステーション
は、自ステーションが有するプロセスのテーブルを持
ち、パケットの先頭を示すパケットヘッダ部に、宛先ス
テーションアドレスと、配信したい相手プロセス名と配
信したい該プロセス数と配信要求レベルを書き込む領域
を持つ宛先プロセス部と、送信元ステーションアドレス
とプロセス名を書き込む領域から成る送信元プロセス部
を各々設け、パケットを送信するステーションでは、送
信を要求するプロセス名と送信ステーションアドレスを
送信元アドレス部に、相手ステーション内の宛先プロセ
ス名と同報により複数ステーションに配信する場合は配
信ステーション数と受信要求レベルを宛先プロセス部に
設定して送出し、前記パケットを通過させるステーショ
ンでは、宛先ステーションアドレス及び宛先プロセス部
が一致したなら、送信データをパケットからコピーし、
自ステーション内の前記宛先プロセスに送ると共に配信
ステーション数を1減じ、0であるなら受信しない様に
制御することを特徴とするループネットワークシステ
ム。1. A station having a packet transmission / reception function is connected to a loop-shaped transmission line, a pattern called a token uniquely identified is circulated on the transmission line, and the station that has acquired the token is in its own station. In a loop network system using the token passing method in which a packet waiting to be transmitted is transmitted and the token is released to a downstream station after the transmission is completed, each station has a table of processes of its own station, and has a packet header part indicating the beginning of the packet. , Destination station address, destination process name to be delivered, number of processes to be delivered and destination process part having an area for writing delivery request level, and source process part having an area for writing source station address and process name respectively , Packet At the station that sends a message, the process name and the sending station address that are requested to be sent are sent to the source address part, and the number of distribution stations and the reception request level are sent to the destination when sending to multiple stations by broadcast with the destination process name in the other station. At the station that sets and sends to the process unit and passes the packet, if the destination station address and the destination process unit match, the transmission data is copied from the packet,
A loop network system characterized in that the number of distribution stations is decremented by 1 while being sent to the destination process in its own station, and if it is 0, it is not received.
部の配信要求レベルの書き込み領域に、ステーションの
データ処理プロセッサにつながるプロセスの待行列長か
ら自ステーションの負荷を推定し、その値を設定し、前
記パケットを通過させるステーションでは、宛先プロセ
ス名が一致したステーションでも、自ステーション内プ
ロセッサの推定負荷が宛先アドレス部の配信要求レベル
を越えて存在する場合は、これをコピーせず、プロセス
名一致のステータスをパケットに書き込むのみで、その
まま通過させる様制御することを特徴とする特許請求の
範囲第1項記載のループネットワークシステム。2. A packet transmitting station estimates the load of its own station in the delivery request level write area of the destination process section from the queue length of the process connected to the data processing processor of the station, sets that value, and sets the packet If the estimated load of the processor in the local station exceeds the delivery request level of the destination address part even if the destination process name matches, the station that passes The loop network system according to claim 1, wherein the loop network system is controlled so that the packet is simply written and the packet is allowed to pass as it is.
パケットの宛先プロセス部の配信ステーション数が0で
ない場合は、配信要求レベルを上げて通過させる様制御
することを特徴とする特許請求の範囲第2項記載のルー
プネットワークシステム。3. The transmitting station is controlled so that when the number of distribution stations in the destination process part of the transmission packet after one loop has passed is not 0, the distribution request level is increased and the packet is passed. The loop network system according to the item.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63166115A JPH0756984B2 (en) | 1988-07-04 | 1988-07-04 | Loop network system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63166115A JPH0756984B2 (en) | 1988-07-04 | 1988-07-04 | Loop network system |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0289437A JPH0289437A (en) | 1990-03-29 |
JPH0756984B2 true JPH0756984B2 (en) | 1995-06-14 |
Family
ID=15825304
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP63166115A Expired - Lifetime JPH0756984B2 (en) | 1988-07-04 | 1988-07-04 | Loop network system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0756984B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2618135B2 (en) * | 1991-10-21 | 1997-06-11 | 日本電信電話株式会社 | Load Balancing Control Method for Distributed Processing System |
-
1988
- 1988-07-04 JP JP63166115A patent/JPH0756984B2/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH0289437A (en) | 1990-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4160642B2 (en) | Network data transfer method | |
JP3384686B2 (en) | Method and apparatus for receiving information from a communication network | |
US6693880B2 (en) | System of controlling the flow of information between senders and receivers across links being used as channels | |
US5991797A (en) | Method for directing I/O transactions between an I/O device and a memory | |
JP2675968B2 (en) | Extension of subscriber distributed two-phase commit protocol | |
US5394551A (en) | Semaphore mechanism for a data processing system | |
JP2000163372A (en) | Method and device for transaction processing and medium where processing program thereof is recorded | |
US20030051100A1 (en) | Content caching with special handling of multiple identical requests for content | |
JPH04227145A (en) | Method and system for stating establishment of session | |
JPH06125347A (en) | Exchange method of message | |
EP4181432A1 (en) | Redundant path resource reservation method, network device, and storage medium | |
JP2002543491A (en) | Communication architecture for distributed computing environment | |
JPH0756984B2 (en) | Loop network system | |
JPH0553939A (en) | File transfer processing system | |
JP2933005B2 (en) | Management information storage device | |
JPH1069467A (en) | Data access system for server in distributed computer system | |
KR0169037B1 (en) | Method of message control in agent of electric communication control network | |
JPH0575637A (en) | Name server control system | |
JPH11110365A (en) | Network computer system, computer used in system and method relating to system | |
JPH0621925A (en) | Communication control system for multiplex transmission line | |
JP2716307B2 (en) | Local area network system | |
JP2821299B2 (en) | Access control method | |
JPH02222336A (en) | Computer address managing system | |
JP2916185B2 (en) | Dynamic selection method of incoming communication adapter | |
JP3028544B2 (en) | Load balancing method for distributed processing system |