JPH08202665A - Inter-computer coupling device of loosely coupled computer - Google Patents

Inter-computer coupling device of loosely coupled computer

Info

Publication number
JPH08202665A
JPH08202665A JP7012332A JP1233295A JPH08202665A JP H08202665 A JPH08202665 A JP H08202665A JP 7012332 A JP7012332 A JP 7012332A JP 1233295 A JP1233295 A JP 1233295A JP H08202665 A JPH08202665 A JP H08202665A
Authority
JP
Japan
Prior art keywords
computer
packet
lock
counter
broadcast
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
JP7012332A
Other languages
Japanese (ja)
Inventor
Hiroshi Yashiro
寛 屋代
Hideki Murayama
秀樹 村山
Shoichi Murase
彰一 村瀬
Satoshi Yoshizawa
聡 吉沢
Takehisa Hayashi
林  剛久
Masahiro Kitano
昌宏 北野
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 JP7012332A priority Critical patent/JPH08202665A/en
Publication of JPH08202665A publication Critical patent/JPH08202665A/en
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)
  • Computer And Data Communications (AREA)

Abstract

PURPOSE: To provide an inter-computer coupling device, which actualizes a fast broadcasting communication guaranteeing reliability, at a low cost for a network communication system. CONSTITUTION: A loosely coupled computer system is provided with a resend- requesting lock flag 113, which can be referred to by all computers on a network, and a counter 112 in the inter-computer coupling device, and each time the flag is referred to by a computer, the contents of the counter 112 are advanced by one. Further, history information on broadcasting is stored in lock information storage means 108 in all the computers. Consequently, the reliability of broadcasting communication can be guaranteed with small network resources and network packets required for mutual exclusion can be decreased.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】疎結合計算機システムにおけるネ
ットワークの構成法及びその制御方法に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a network construction method and its control method in a loosely coupled computer system.

【0002】[0002]

【従来の技術】従来、疎結合計算機システムにおいて、
計算機間でメッセージを互いに交換しあいながら相互排
除を実現する方式があった。例えば「分散アルゴリズ
ム、亀田恒彦・山下雅史著、近代科学社、1994」の
論文中で様々なアルゴリズムが紹介されている。これら
の分散ロック方式は、いずれも一対一のメッセージ通信
を用いて実現する方式である。これらの方式では、ロッ
クをとる可能性のある計算機に対してメッセージを送
り、全てのメッセージが返って来るのを待つ必要があ
る。例えば、Ricart-Agrawal のアルゴリズムでは、ロ
ックを要求する計算機の個数をNとすると1回のロッ
ク、アンロックを行うのに 2(N−1)個のメッセー
ジが必要になり、その内の N−1個のメッセージはロ
ックを要求した計算機に集中的に送信される。一つのノ
ードでは、処理は逐次に行われるので、ロック要求が完
了するにはロックを取り合う計算機の個数Nに比例して
大きくなるという問題がある。
2. Description of the Related Art Conventionally, in a loosely coupled computer system,
There was a method of mutual exclusion while exchanging messages between computers. For example, various algorithms are introduced in a paper "Distributed Algorithm, Tsunehiko Kameda / Masashi Yamashita, Modern Science Co., Ltd., 1994". All of these distributed lock methods are realized using one-to-one message communication. In these methods, it is necessary to send a message to a computer that may acquire the lock and wait for all the messages to be returned. For example, in the Ricart-Agrawal algorithm, assuming that the number of computers requesting lock is N, 2 (N-1) messages are required to perform one lock / unlock, and N- One message is sent centrally to the computer that requested the lock. Since the processing is sequentially performed in one node, there is a problem that the completion of the lock request increases in proportion to the number N of computers that hold locks.

【0003】前述の様に分散ロックのアルゴリズムにお
いては、ロックを設定する可能性のある全てのノードに
対してメッセージを送信する。この全てのノードに対し
てメッセージを送る操作を、ハードウェアの支援を用い
た一斉同報機能によって実現する方法がある。例えば、
現在、普及している Ethernet 等のLANでは、一斉同
報機能が提供されている。しかし、一斉同報したメッセ
ージにおいても、メッセージの到着を確認するために、
一斉同報した計算機に対して、メッセージが到着した事
を保証する必要が生じる。一斉同報を受信した計算機
が、一斉同報を送信した計算機に対して、確認応答のた
めのメッセージを送信する事も考えられるが、この方法
では、前述の様な一対一通信で問題となったのと同様に
処理量が大きくなってしまう。
As described above, in the distributed lock algorithm, a message is sent to all the nodes that may set the lock. There is a method of realizing the operation of sending a message to all the nodes by a broadcast function using the support of hardware. For example,
Currently, LANs such as Ethernet, which are widely used, are provided with a broadcast function. However, even in the broadcast message, in order to confirm the arrival of the message,
It is necessary to guarantee that the message has arrived for the computers that have sent the simultaneous broadcast. It is conceivable that the computer that receives the simultaneous broadcast will send a message for confirmation response to the computer that sent the simultaneous broadcast, but this method causes a problem in the one-to-one communication as described above. Similarly, the processing amount becomes large.

【0004】この問題を解決するために、一斉同報した
メッセージが到着し無かった時だけ、メッセージの再送
を要求する方式が提案されている。M.F.Kaashoek 他に
依る論文 "An Efficient Reliable Broadcast", Operat
ing Systems Review, Vol.23, Oct.1989, pp.5-19 で報
告されている。この方式では、一斉同報の順序を管理す
る計算機(シーケンサ)を予め決めておき、一斉同報を
発行する計算機はシーケンサのある計算機に一斉同報を
依頼する。一斉同報を受信した場合、一斉同報に対する
確認応答をせず、受信パケットの欠落が発見された時だ
け再送をシーケンサに対して要求する。
In order to solve this problem, a method has been proposed in which a message is requested to be retransmitted only when a broadcast message has not arrived. MF Kaashoek et al. "An Efficient Reliable Broadcast", Operat
ing Systems Review, Vol.23, Oct.1989, pp.5-19. In this method, a computer (sequencer) that manages the order of broadcasts is determined in advance, and the computer that issues the broadcasts requests the broadcasts to computers with sequencers. When receiving the broadcast, it does not acknowledge the broadcast and requests the sequencer to retransmit only when a missing received packet is found.

【0005】[0005]

【発明が解決しようとする課題】従来例で示した方法で
は以下に示すような問題がある。
The method described in the conventional example has the following problems.

【0006】第1の問題としては、M.F.Kaashoek 他の
方法では、一度シーケンサに対してメッセージを送出す
るため、往復2つのメッセージが必要となる。また、自
計算機の出した一斉同報はどの順番にあるかは自計算機
にシーケンサとなった計算機から一斉同報が到着した時
だけにしか判らない。このため、一斉同報通信によって
ロックを実現した場合、一斉同報通信をシーケンサに依
頼し、シーケンサからの一斉同報を受信するまでの間は
ロック要求が待たされてしまう。
The first problem is that the method of MF Kaashoek et al. Sends a message to the sequencer once, and therefore requires two round-trip messages. In addition, the order in which the simultaneous broadcasts issued by the own computer are present can be known only when the simultaneous broadcasts arrive at the own computer from the computer serving as the sequencer. Therefore, when the lock is realized by the simultaneous broadcast communication, the lock request is kept waiting until the simultaneous broadcast communication is requested to the sequencer and the simultaneous broadcast is received from the sequencer.

【0007】第2の問題としては、シーケンサでは欠落
したパケットの再送を行う必要があるため、一斉同報し
たメッセージの履歴情報を持っている必要がある。履歴
情報を持つ計算機、即ちシーケンサに障害が発生した場
合には、一斉同報のための履歴情報が失われてしまい、
メッセージの欠落に対する保証が困難になる。
A second problem is that the sequencer needs to retransmit a missing packet, and therefore it is necessary to have history information of broadcast messages. If a computer with history information, that is, a sequencer, fails, history information for simultaneous broadcast is lost,
It becomes difficult to guarantee the message loss.

【0008】[0008]

【課題を解決するための手段】以上の問題点を解決する
ために、本発明においては計算機間結合装置内に、接続
された全ての計算機から参照可能なフラグを少なくとも
二つ持ち、ネットワークに接続された全ての計算機から
参照可能なカウンタを少なくとも一つ持たせ、このカウ
ンタは参照の度毎にカウンタの内容を1つ増やす事を特
徴とする。このカウンタを持たせる事により、第1の問
題である一斉同報通信の番号付けの際に2つ必要だった
メッセージを一つに削減する事が出来る。第2の問題で
ある一斉同報のための履歴情報を全計算機に持たせるこ
とにより、どの計算機に障害が発生しても他の計算機で
代用出来る様にする。しかしこの場合、一斉同報通信し
た再送要求を全計算機に対して送信すると、全計算機か
ら再送パケットを受信してしまい、メッセージ数が増大
すると言う第3の問題が発生する。このような全計算機
からの再送を避けるために、全計算機から参照可能な2
つのフラグを持たせる事により、再送する計算機を一つ
に限定する。
In order to solve the above problems, according to the present invention, at least two flags that can be referred to by all the connected computers are provided in the inter-computer coupling device, and the computer is connected to the network. At least one counter that can be referred to from all the computers that have been referred to is provided, and this counter is characterized in that the content of the counter is incremented by one each time it is referred. By providing this counter, it is possible to reduce the number of messages, which was required at the time of the numbering of the simultaneous broadcast communication, which is the first problem, to two. The second problem is that all computers have history information for simultaneous broadcast, so that even if any computer fails, another computer can substitute it. However, in this case, if a retransmission request transmitted by broadcast is transmitted to all the computers, a retransmission packet is received from all the computers, which causes a third problem that the number of messages increases. In order to avoid such retransmission from all computers, all computers can refer to
By giving one flag, the number of retransmitted computers is limited to one.

【0009】[0009]

【作用】本発明によれば、ネットワーク通信方式におい
て、信頼性を保証する一斉同報通信を高速に実現する計
算機間結合装置を安価に実現する事が出来る。
According to the present invention, in a network communication system, it is possible to inexpensively realize an inter-computer coupling device which realizes a simultaneous broadcast communication which guarantees reliability.

【0010】[0010]

【実施例】図1に本発明における疎結合計算機システム
の実施例の一つを示す。疎結合計算機システムは、複数
の計算機101と計算機101を接続する計算機結合装
置110とから構成される。各計算機101は、プロセ
ッサ104、補助記憶装置105、メインメモリ10
6、ネットワークインタフェース107、ロック情報記
憶手段108から構成される。計算機結合装置110
は、各計算機101を接続するネットワークインタフェ
ース111と、ネットワークインタフェース111を相
互接続しパケットを交換するためのパケット交換網11
5、及び、各ネットワークインタフェース111を介し
て各計算機101のプロセッサ104から参照可能なカ
ウンタ112、再送要求ロックフラグ113を備えてい
る。計算機結合装置110は、一つの計算機101から
他の全ての計算機に対して、パケットを送信する一斉同
報機能を持っている。この一斉同報機能は、公知の例と
して、例えば「並列計算機構成論、富田真治著、昭晃
堂」101ページで紹介されている。カウンタ112
は、各計算機からの読み出し命令によって、カウンタの
値を読み出し、要求を出した計算機に送り返した後カウ
ンタの内容を1つ増す機能を持っており、例えば、TT
L、CMOS等の論理回路によって構成することができ
る。再送要求ロックフラグ113は、TestAndSet 機能
を備えている。TestAndSet 機能は、公知の技術であ
り、例えば「オペレーティングシステムの基礎、A.
N.ハーバーマン著、土井範久訳、培風館」の73ペー
ジに紹介されている。この TestAndSet 機能では、前の
ロックフラグ113の値を読み出し、もし0であれば、
ロックフラグ113の値を1とし、前の値0を読み出
す。もし、ロックフラグ113の値が1であれば、この
ままロックフラグの値を1とする。以上の操作を他の操
作に邪魔されずに、一度に出来るようにする事で、ロッ
クフラグを排他的に用いる事が可能となる。再送要求ロ
ックフラグ113は、公知の技術でありTTL、CMO
S等の論理回路によって構成することができる。ロック
情報記憶手段108は、図1に示す様に、計算機101
のシステムバスに独立に接続されていても良いし、メイ
ンメモリ106、或いは、ネットワークインタフェース
107に内蔵されていても良い。
FIG. 1 shows one embodiment of the loosely coupled computer system according to the present invention. The loosely coupled computer system includes a plurality of computers 101 and a computer coupling device 110 that connects the computers 101. Each computer 101 includes a processor 104, an auxiliary storage device 105, and a main memory 10.
6, a network interface 107, and a lock information storage means 108. Computer coupling device 110
Is a network interface 111 for connecting the computers 101 and a packet switching network 11 for interconnecting the network interfaces 111 to exchange packets.
5, and a counter 112 and a retransmission request lock flag 113 that can be referred to by the processor 104 of each computer 101 via each network interface 111. The computer coupling device 110 has a broadcast function for transmitting a packet from one computer 101 to all other computers. This broadcast function is introduced as a well-known example on page 101 of "Parallel Computer Construction, Shinji Tomita, Shokodo". Counter 112
Has a function of reading the value of the counter by a read command from each computer, sending it back to the computer that issued the request, and then incrementing the content of the counter by one. For example, TT
It can be configured by a logic circuit such as L or CMOS. The resend request lock flag 113 has a TestAndSet function. The TestAndSet function is a well-known technique, for example, “Basics of Operating System, A.
N. Page 73 of "Haberman, Translated by Norihisa Doi, Baifukan". This TestAndSet function reads the previous value of the lock flag 113, and if it is 0,
The value of the lock flag 113 is set to 1, and the previous value 0 is read. If the value of the lock flag 113 is 1, the value of the lock flag is set to 1 as it is. By allowing the above operations to be performed at one time without being disturbed by other operations, the lock flag can be used exclusively. The retransmission request lock flag 113 is a well-known technique, and is a TTL or CMO.
It can be configured by a logic circuit such as S. The lock information storage means 108, as shown in FIG.
It may be independently connected to the system bus, or may be built in the main memory 106 or the network interface 107.

【0011】本発明においては、ロック要求、及び、ロ
ック解除をするために、一斉同報通信機能を用いて、各
計算機101の間で通信を行い、ロック情報が全計算機
で同じになることを保証する。一般にネットワーク上の
外乱等によって、一斉同報通信のパケットの欠落がある
ため、欠落したパケットを再送する事により補償する必
要がある。このパケットの欠落を補償するために、カウ
ンタ112、再送要求ビット113を用いる。以下、本
発明において、これらのカウンタ112、再送要求ビッ
ト113を用いてロック機能が動作する様子をPAD図
を用いて、処理を説明する。
In the present invention, in order to request the lock and release the lock, the simultaneous broadcast function is used to perform communication between the computers 101 so that the lock information is the same for all computers. Guarantee. Generally, there is a packet loss of the simultaneous broadcast communication due to disturbance on the network, so it is necessary to compensate by retransmitting the dropped packet. The counter 112 and the retransmission request bit 113 are used to compensate for this packet loss. Hereinafter, in the present invention, a process in which the lock function operates using the counter 112 and the retransmission request bit 113 will be described with reference to a PAD diagram.

【0012】図2に本発明におけるロック情報記憶手段
108の一実施例を示す。ロック情報記憶手段108は
ロック待ちキュー201、実行カウンタ206、最新受
信カウンタ207を備えている。ロック待ちキュー20
1は、シーケンス番号202、ロックID203、ロッ
ク要求計算機番号204、要求プロセス番号205を組
とする待ち行列として構成される。実行カウンタ206
は、ロックを実行した最新の計算機番号を示し、最新受
信カウンタ207は、ロック要求を実行した最新の計算
機番号を示す。ロック待ちキュー201には、全ての計
算機101からのロック要求が含まれている。他の計算
機からのロック要求は、一斉同報通信によって通知され
る。もし、一斉同報通信のパケットがネットワーク上で
欠落しなければ、ロック要求は全ての計算機で同一にな
る。しかし、前述したように、現実のネットワークにお
いては、パケットの欠落が起こり得る。本発明の目的
は、この欠落したパケットを他の計算機のロック待ちキ
ュー201にあるパケット内容208によって補償する
技術を提供する事である。
FIG. 2 shows an embodiment of the lock information storage means 108 in the present invention. The lock information storage means 108 includes a lock waiting queue 201, an execution counter 206, and a latest reception counter 207. Lock waiting queue 20
1 is configured as a queue including a sequence number 202, a lock ID 203, a lock request computer number 204, and a request process number 205. Execution counter 206
Indicates the latest computer number that executed the lock, and the latest reception counter 207 indicates the latest computer number that executed the lock request. The lock waiting queue 201 includes lock requests from all computers 101. Lock requests from other computers are notified by broadcast communication. If broadcast packets are not lost on the network, the lock request will be the same on all computers. However, as described above, packet loss may occur in an actual network. An object of the present invention is to provide a technique for compensating for this missing packet by the packet contents 208 in the lock waiting queue 201 of another computer.

【0013】図3に本発明で用いる一斉同報通信のパケ
ットの内容の一実施例を示す。一斉同報通信パケット3
01は、パケットヘッダ302、及び、データ303か
ら構成される。パケットヘッダ302は送付元計算機3
04、パケットの種類305、シーケンス番号306か
ら構成される。送付元計算機304は、一斉同報通信パ
ケットを送出した計算機の番号を示す。パケットの種類
305は、次の3種類あり、ロック要求、ロック解除、
再送要求がある。シーケンス番号は、計算機結合装置1
10の中のカウンタ112の値であり、この番号を用い
る事で一斉同報パケットの欠落を各計算機で検知する。
ロック識別子307は、複数種類のロックを要求するた
めに用意する。もし、全計算機で一つのロックを用いる
ならば、このロック識別子は必要ない。
FIG. 3 shows an embodiment of the contents of the packet for simultaneous broadcast communication used in the present invention. Broadcast packet 3
01 is composed of a packet header 302 and data 303. The packet header 302 is the sender computer 3
04, a packet type 305, and a sequence number 306. The sender computer 304 indicates the number of the computer that has sent the broadcast packet. There are the following three types of packet 305: lock request, unlock,
There is a resend request. Sequence number is computer coupling device 1
This is the value of the counter 112 in 10, and by using this number, the loss of the broadcast packet is detected by each computer.
The lock identifier 307 is prepared to request a plurality of types of locks. If all computers use one lock, this lock identifier is not needed.

【0014】以下、上述の3種類のパケットを送信、或
いは、受信する時の各計算機での処理を示す。
The processing in each computer when transmitting or receiving the above three types of packets will be described below.

【0015】図4は、本発明における任意の計算機から
ロック要求を送信する際の処理フローを示したPAD図
である。ロック要求があると、まず、ステップ401に
示す様に、計算機結合装置110中のカウンタ112の
内容を一時的にメインメモリに読み出す。次にステップ
402に示すように、カウンタ112は読み出されると
同時にカウンタ112の値を1つ増やす。メインメモリ
106に読み込んだカウンタ112の値はステップ40
3で示すようにパケットヘッダ302内のシーケンス番
号306に格納する。ここで、ステップ404で、も
し、自計算機の実行カウンタ206に1を加えた値がパ
ケットヘッダ302内のシーケンス番号306と等しけ
れば、他にロック要求を発行した計算機が無い事が判る
ので、ステップ405でロック要求が成立した事をロッ
ク要求したユーザプロセスに通知する。ステップ406
では、現在、自計算機でロック要求を出し、まだ、解除
していない事を示すため、自計算機のロック待ちキュー
201にパケット管理情報209を挿入する。このロッ
ク待ちキュー201内のシーケンス番号202、ロック
ID203、ロック要求計算機番号204は、それぞ
れ、一斉同報パケット301のシーケンス番号305、
ロック識別子307、送付元計算機304に対応する。
要求プロセス番号205は、複数の計算機から要求を受
ける場合に、どのプロセスから要求があったかを記憶す
るために用いられ、例えば、UNIXオペレーティング
システムにおけるプロセス番号で代用する事が出来る。
UNIXオペレーティングシステムのプロセス番号につ
いては、「UNIX4.3BSDの設計と実装、 S.J.L
effler 他著、中村明他訳、丸善株式会社」の25ペー
ジに詳細が記述されている。ロック待ちキュー201に
挿入する順番は、パケット内のシーケンス番号の昇順と
する。ステップ407では、自計算機のロック要求を他
の計算機に通知するため送付元計算機304に自計算機
の番号を格納し、然る後に送付元計算機304は一斉同
報通信のパケットを送信する。以上の処理によって、送
付元計算機304がロック要求を全計算機に通知し、も
し、他に要求が無ければ、他の計算機にロック要求を通
知する前に、ロックが確保出来る。
FIG. 4 is a PAD diagram showing a processing flow when a lock request is transmitted from an arbitrary computer according to the present invention. When there is a lock request, first, as shown in step 401, the contents of the counter 112 in the computer coupling device 110 are temporarily read into the main memory. Next, as shown in step 402, when the counter 112 is read, the value of the counter 112 is incremented by one. The value of the counter 112 read into the main memory 106 is calculated in step 40.
As shown in 3, the sequence number 306 in the packet header 302 is stored. Here, in step 404, if the value obtained by adding 1 to the execution counter 206 of the own computer is equal to the sequence number 306 in the packet header 302, it is known that there is no other computer that issued the lock request. In step 405, the fact that the lock request has been established is notified to the user process that made the lock request. Step 406
Then, the packet management information 209 is inserted into the lock waiting queue 201 of the own computer in order to indicate that the own computer has issued the lock request and has not released the lock request yet. The sequence number 202, the lock ID 203, and the lock request computer number 204 in the lock waiting queue 201 are the sequence number 305 and the sequence number 305 of the broadcast packet 301, respectively.
It corresponds to the lock identifier 307 and the sender computer 304.
The request process number 205 is used to store which process has made a request when receiving requests from a plurality of computers. For example, the process number in the UNIX operating system can be used instead.
For the process number of UNIX operating system, refer to "Design and Implementation of UNIX4.3BSD, SJL
effler et al., Translated by Akira Nakamura et al., Maruzen Co., Ltd. ”on page 25 for details. The order of inserting into the lock waiting queue 201 is the ascending order of the sequence numbers in the packet. In step 407, in order to notify another computer of the lock request of the own computer, the number of the own computer is stored in the sender computer 304, and after that, the sender computer 304 transmits the packet of the simultaneous broadcast communication. Through the above processing, the sender computer 304 notifies all computers of the lock request, and if there is no other request, the lock can be secured before notifying the lock request to other computers.

【0016】図5は、本発明における一斉同報パケット
受信処理を示すPAD図である。
FIG. 5 is a PAD diagram showing a broadcast packet reception process in the present invention.

【0017】一斉同報通信をステップ501で受信し、
パケットの種類をステップ502で検査する。もし、パ
ケットの種類が再送処理であれば、ステップ503にお
いて再送処理を行う。この再送処理の詳細については後
述する。もし、再送要求が無ければ、ステップ504に
おいて自計算機の最新受信カウンタ207に1を加えた
ものがパケット内のシーケンス番号306と比較し、も
し、小さければ、パケットの欠落があるものとして、ス
テップ505において、再送要求処理を行う。この再送
要求処理の詳細については後述する。ステップ506に
おいては、自計算機の最新受信カウンタ207の内容を
パケット内のシーケンス番号306とし、このパケット
まではパケットの欠落無しに受信した事を記憶する。ス
テップ507では、再び、パケットの種類を検査し、ロ
ック要求であれば、ロック待ちキュー201内にロック
要求を格納する。ロック待ちキューの挿入する位置は、
前述した様に、パケット内のシーケンス番号の昇順とす
る。ステップ507において、パケットの種類がロック
解除であった場合には、ステップ509において、ロッ
ク解除受信処理を行う。ロック解除受信処理の詳細につ
いては後述する。
In step 501, the simultaneous broadcast communication is received,
The type of packet is checked in step 502. If the packet type is retransmission processing, retransmission processing is performed in step 503. Details of this retransmission processing will be described later. If there is no retransmission request, the latest reception counter 207 of the computer is incremented by 1 in step 504 and compared with the sequence number 306 in the packet. If smaller, it is determined that there is a packet loss and step 505. In, the resend request process is performed. Details of this retransmission request process will be described later. In step 506, the contents of the latest reception counter 207 of the own computer are set as the sequence number 306 in the packet, and the fact that the packet has been received without any packet loss is stored up to this packet. In step 507, the packet type is checked again, and if it is a lock request, the lock request is stored in the lock waiting queue 201. The position to insert the lock wait queue is
As described above, the sequence numbers in the packet are in ascending order. If the type of packet is unlocked in step 507, unlock receiving processing is performed in step 509. The details of the unlock reception processing will be described later.

【0018】図6は、本発明における再送要求処理を示
すPAD図である。再送処理においては、まず、ステッ
プ601において、自計算機の最新受信カウンタ207
に1を加えた値と受信パケット内のシーケンス番号の値
よりも小さいか否かを検査する。もし、小さければ、そ
の間のシーケンス番号を持つ一斉同報通信パケットが欠
落している事になる。以下では、欠落したパケットを他
の計算機から送信してもらう事を要求する処理である。
ステップ602では、計算機結合装置内の再送要求ロッ
クフラグ111の値を TestAndSet 機能によって検査
し、TestAndSet機能によって得られた値がもし1であれ
ば、他の計算機が再送処理中であるので、そのまま待ち
続ける。もし、TestAndSet の値が0であれば、再送処
理をしている計算機が無い事が判り、ステップ603に
進む。ステップ603では、一斉同報通信パケットの種
類を再送要求とし、自計算機の最新受信カウンタ207
の値に1加えた値をシーケンス番号として、一斉同報通
信を行う。ステップ604では他の計算機からパケット
の再送がある迄待つ処理である。自分の計算機で要求し
たロック要求は必ずロック要求処理のステップ406で
自計算機のロック要求待ちキュー201に格納されてい
る筈なので、仮に、一斉同報通信パケットが全計算機に
到着しなかった場合でも、少なくとも一つの計算機で
は、シーケンス番号に対応するロック要求のパケットを
持っている事が保証できる。ステップ604では再送さ
れたパケットを受信する処理である。このステップ60
4における再送パケット受信処理においては、再送する
計算機との一対一通信によって実現し、パケットの到着
を確認する、確認応答を再送する計算機に送り返す。ま
た、再送要求のための一斉同報通信がどの計算機に対し
ても到着しない場合が考えられるので、そのよ様な状況
を想定して、ステップ604の待ち処理の前にタイマを
かけ、もし、設定した時間が経過した場合には、ステッ
プ603を再度実行する処理もステップ604に含まれ
る。ステップ605では、再送されたパケットをロック
待ちキュー201の先頭に入れる。ステップ606で
は、再送処理を終了するため、再送要求ロックビット1
13の値を0とする。最後に、ステップ607で、自計
算機の最新受信カウンタ207に1を加える。もし、カ
ウンタの値がステップ601の条件に満たなければ、再
び、ステップ602からステップ606の処理を繰り返
し、欠落したパケットを他計算機から送信してもらう。
図7は本発明における再送処理を示すPAD図である。
再送要求を受けた計算機は次の様にして、再送処理を行
う。ステップ701では、ロック待ちキュー201の中
のシーケンス番号202を走査し、再送要求のあったシ
ーケンス番号と等しいシーケンス番号202があった場
合に、ステップ702以降に進む。もし、無い場合に
は、再送処理を打ち切る。ステップ702では、ステッ
プ701で発見したシーケンス番号202に対応するパ
ケットが自計算機から送信したものであるかどうかを検
査する。対応するパケットが自計算機から送信されたも
のであれば、ステップ703において、ステップ701
で検査した結果該当したパケットを再送要求計算機に送
信する。前述した様に、ステップ701における送信処
理は、確認応答処理を含んだ一対一通信にを用いて実現
する。
FIG. 6 is a PAD diagram showing a retransmission request process according to the present invention. In the resending process, first, in step 601, the latest reception counter 207 of the own computer.
It is checked whether it is smaller than the value obtained by adding 1 to the value of the sequence number in the received packet. If it is smaller, it means that the broadcast packets having sequence numbers in between are missing. The following is a process of requesting that a missing packet be transmitted from another computer.
In step 602, the value of the resend request lock flag 111 in the computer coupling apparatus is checked by the TestAndSet function, and if the value obtained by the TestAndSet function is 1, another computer is in the process of resending, so wait as it is. to continue. If the value of TestAndSet is 0, it is found that there is no computer that is performing retransmission processing, and the process proceeds to step 603. In step 603, the type of the broadcast packet is set as a retransmission request, and the latest reception counter 207 of the own computer is set.
Broadcasting is performed using the value obtained by adding 1 to the sequence number as the sequence number. In step 604, the process waits until another computer retransmits the packet. Since the lock request requested by the own computer must be stored in the lock request waiting queue 201 of the own computer in step 406 of the lock request processing, even if the broadcast packet does not reach all the computers. , At least one computer can be guaranteed to have the lock request packet corresponding to the sequence number. Step 604 is a process of receiving the retransmitted packet. This step 60
The retransmission packet reception processing in 4 is realized by one-to-one communication with the retransmitting computer, and confirms the arrival of the packet, and sends an acknowledgment back to the retransmitting computer. In addition, there is a possibility that the broadcast communication for the resend request does not arrive at any of the computers. Therefore, assuming such a situation, a timer is set before the waiting process of step 604, and When the set time has elapsed, step 604 also includes the process of executing step 603 again. In step 605, the retransmitted packet is put in the head of the lock waiting queue 201. At step 606, the retransmission request lock bit 1
The value of 13 is set to 0. Finally, in step 607, 1 is added to the latest reception counter 207 of the own computer. If the counter value does not satisfy the condition of step 601, the processes of steps 602 to 606 are repeated again, and the missing packet is transmitted from another computer.
FIG. 7 is a PAD diagram showing a retransmission process in the present invention.
The computer that has received the resend request performs resend processing as follows. In step 701, the sequence number 202 in the lock waiting queue 201 is scanned, and if there is a sequence number 202 that is equal to the sequence number for which a resend request has been made, the process proceeds to step 702 and subsequent steps. If it does not exist, the retransmission process is terminated. In step 702, it is checked whether or not the packet corresponding to the sequence number 202 found in step 701 is transmitted from the computer. If the corresponding packet is transmitted from the computer, in step 703, step 701.
The packet corresponding to the result of the inspection in step 2 is transmitted to the retransmission request computer. As described above, the transmission process in step 701 is realized by using the one-to-one communication including the confirmation response process.

【0019】図6、および、図7で示した処理によっ
て、一斉同報通信を用いたロック要求パケットが全計算
機で保持することが出来る様になるため、どの計算機が
故障してもロック情報を復旧可能となる。
By the processing shown in FIG. 6 and FIG. 7, the lock request packet using the simultaneous broadcast communication can be held by all the computers, so that the lock information can be obtained even if any computer fails. It will be recoverable.

【0020】図8は、本発明におけるロック解除要求の
受信処理を示したPAD図である。ステップ801で
は、実行パケットカウンタとパケット内のシーケンス番
号を検査する。もし、実行カウンタ206の値とパケッ
ト内のシーケンス番号が等しければ、ロック待ちキュー
201の先頭にロック情報がある事が判るので、その情
報を削除する。ロック待ち情報を削除する処理は、ステ
ップ802、803で示すように、ロック待ちキュー2
01からの先頭を取り除く処理で実現できる。ステップ
804で自計算機内のロック待ちキューの先頭が自計算
機からの要求であるかどうかを検査し、もし、そうであ
れば、ステップ805において、自計算機のロック要求
したプログラムにロックが獲得できたことを通知する。
なお、ステップ801で、もし、実行カウンタ206の
値とパケット内のシーケンス番号が等しく無い場合に
は、ロック要求のパケットが欠落しているため、ステッ
プ806において、再送要求処理をした後に、ステップ
801の処理を繰り返す。
FIG. 8 is a PAD diagram showing the process of receiving the lock release request according to the present invention. In step 801, the execution packet counter and the sequence number in the packet are checked. If the value of the execution counter 206 and the sequence number in the packet are the same, it is known that there is lock information at the head of the lock wait queue 201, and that information is deleted. As shown in steps 802 and 803, the process of deleting the lock wait information is performed by the lock wait queue 2
This can be realized by the process of removing the head from 01. In step 804, it is checked whether or not the head of the lock waiting queue in the local computer is a request from the local computer. If so, in step 805, the lock can be acquired in the program for which the local computer has requested locking. Notify that.
In step 801, if the value of the execution counter 206 is not equal to the sequence number in the packet, the lock request packet is missing. Therefore, in step 806, the retransmission request process is performed, and then the step 801 is performed. The process of is repeated.

【0021】[0021]

【発明の効果】本発明によれば、複数の計算機をネット
ワークで結合し、各計算機は独立したアドレス空間を持
ち、各計算機内のメモリ上に複数計算機間でデータを共
有するための共有データメモリを持つ疎結合計算機シス
テムにおいて、共有データの一貫性保証のための同期
と、並列プログラムを制御するための同期とのために必
要なネットワークパケットを少なくする事が出来るの
で、ネットワーク資源を有効に活用することが出来る。
また、並列プログラムを制御するための同期と共に共有
データの一貫性保証も行う事が出来るので、並列プログ
ラムを記述するプログラマの負担を軽減する事が出来
る。その結果、特に、通信時間に比して計算時間が長
く、自動的に負荷の分散が困難である様な並列処理の問
題を効率良く処理する事が可能となる。
According to the present invention, a plurality of computers are connected by a network, each computer has an independent address space, and a shared data memory for sharing data among a plurality of computers on a memory in each computer. In a loosely coupled computer system that has, it is possible to reduce network packets required for synchronization to guarantee consistency of shared data and synchronization for controlling parallel programs, so network resources can be effectively used. You can do it.
In addition, since the consistency of shared data can be guaranteed as well as the synchronization for controlling the parallel program, the burden on the programmer who writes the parallel program can be reduced. As a result, in particular, it becomes possible to efficiently deal with the problem of parallel processing in which the calculation time is longer than the communication time and it is difficult to automatically distribute the load.

【図面の簡単な説明】[Brief description of drawings]

【図1】本発明の一実施例を示す疎結合計算機システム
のブロック図。
FIG. 1 is a block diagram of a loosely coupled computer system according to an embodiment of the present invention.

【図2】本発明に於けるロック情報記憶手段のの一実施
例を示す図。
FIG. 2 is a diagram showing an embodiment of lock information storage means in the present invention.

【図3】本発明に於ける一斉同報通信パケットの一実施
例を示す図。
FIG. 3 is a diagram showing an embodiment of a broadcast packet according to the present invention.

【図4】本発明に於けるロック時一斉同報通信パケット
の送信処理を示すPAD図。
FIG. 4 is a PAD diagram showing a process of transmitting a broadcast packet at the time of locking in the present invention.

【図5】本発明に於ける一斉同報通信パケットの受信処
理を示すPAD図。
FIG. 5 is a PAD diagram showing a receiving process of a broadcast packet according to the present invention.

【図6】本発明に於ける一斉同報通信パケットの再送要
求処理を示すPAD図。
FIG. 6 is a PAD diagram showing retransmission request processing of a broadcast packet according to the present invention.

【図7】本発明に於ける一斉同報通信パケットの再送処
理を示すPAD図。
FIG. 7 is a PAD diagram showing retransmission processing of a broadcast packet according to the present invention.

【図8】本発明に於けるロック解除パケット受信時の処
理を示すPAD図。
FIG. 8 is a PAD diagram showing processing when a lock release packet is received in the present invention.

【符号の説明】[Explanation of symbols]

100:疎結合計算機システム、 101:計算機、 103:システムバス、 104:プロセッサ、 105:補助記憶装置、 106:メインメモリ、 107:計算機内のネットワークインタフェース、 108:ロック情報記憶手段、 110:計算機間結合装置、 111:計算機結合装置内のネットワークインタフェー
ス、 112:カウンタ、 113:再送要求ロックフラグ、 115:パケット交換網、 201:ロック待ちキュー、 202:シーケンス番号、 203:ロックID、 204:ロック要求計算機番号、 205:要求プロセス番号、 206:実行カウンタ、 207:最新受信カウンタ、 301:ネットワークパケット、 302:パケットヘッダ、 303:ネットワークパケット内のデータ、 304:一斉同報通信パケットの送付元計算機、 305:一斉同報通信パケットの種類、 306:一斉同報通信パケットのシーケンス番号、 307:一斉同報通信パケットによって実現されるロッ
ク識別子、 401〜407:ロック時一斉同報通信の処理、 501〜509:一斉同報通信パケットの受信処理、 601〜607:一斉同報通信で欠落したパケットを再
送要求する処理、 701〜703:一斉同報通信で欠落したパケットを再
送する処理、 801〜805:ロック解除受信処理
100: Loosely Coupled Computer System, 101: Computer, 103: System Bus, 104: Processor, 105: Auxiliary Storage Device, 106: Main Memory, 107: Network Interface in Computer, 108: Lock Information Storage Means, 110: Between Computers Coupling device, 111: Network interface in computer coupling device, 112: Counter, 113: Retransmission request lock flag, 115: Packet switching network, 201: Lock wait queue, 202: Sequence number, 203: Lock ID, 204: Lock request Computer number, 205: Request process number, 206: Execution counter, 207: Latest reception counter, 301: Network packet, 302: Packet header, 303: Data in network packet, 304: Broadcast packet 305: Type of broadcast packet, 306: Sequence number of broadcast packet, 307: Lock identifier realized by broadcast packet, 401-407: Broadcast when locked Communication processing, 501 to 509: Reception processing of broadcast packet, 601 to 607: Processing for requesting retransmission of packet lost in broadcast communication, 701 to 703: Retransmission of packet lost in broadcast communication Processing, 801 to 805: lock release reception processing

───────────────────────────────────────────────────── フロントページの続き (72)発明者 吉沢 聡 東京都国分寺市東恋ケ窪1丁目280番地 株式会社日立製作所中央研究所内 (72)発明者 林 剛久 東京都国分寺市東恋ケ窪1丁目280番地 株式会社日立製作所中央研究所内 (72)発明者 北野 昌宏 神奈川県海老名市下今泉810番地 株式会 社日立製作所オフィスシステム事業部内 ─────────────────────────────────────────────────── ─── Continuation of the front page (72) Satoshi Yoshizawa, Satoshi Yoshizawa, 1-280, Higashi Koikeku, Kokubunji, Tokyo Inside Hitachi Research Laboratory, Central Research Institute (72) Takehisa Hayashi 1-280, Higashi Koikeku, Kokubunji, Tokyo Hitachi, Ltd. Central Research Laboratory (72) Inventor Masahiro Kitano 810 Shimoimaizumi, Ebina, Kanagawa Stock Company Hitachi, Ltd. Office Systems Division

Claims (4)

【特許請求の範囲】[Claims] 【請求項1】計算機がネットワークで結合された疎結合
計算機システムにおいて、各計算機間で発生する通信パ
ケットを交換する交換ネットワークであって、ネットワ
ークに接続されたすべての計算機から参照可能なカウン
タを少なくとも一つ持ち、該カウンタは参照の度にカウ
ンタの内容を1つ増し、かつ、ネットワークに接続され
た全ての計算機から参照可能なフラグを少なくとも一つ
持つ事を特徴とする計算機間結合装置。
1. A loosely coupled computer system in which computers are coupled via a network, which is a switching network for exchanging communication packets generated between the computers, and at least a counter which can be referred to by all the computers connected to the network. An inter-computer coupling device characterized by having one counter, incrementing the content of the counter by each reference, and having at least one flag that can be referenced by all the computers connected to the network.
【請求項2】請求項1の計算機間結合装置を持つ疎結合
計算機システムにおいて、該計算機間結合装置に接続さ
れた任意の一つの計算機から通信パケットを他の全ての
計算機に対して送出する一斉同報機能を持ち、請求項1
のカウンタで読み込んだカウンタ値を、該一斉同報の通
信パケットに含ませる事を特徴とする計算機間結合装
置。
2. A loosely coupled computer system having a computer-to-computer coupling device according to claim 1, wherein any one computer connected to the computer-to-computer coupling device sends a communication packet to all other computers. Claim 1 having a broadcast function
An inter-computer coupling device characterized in that the counter value read by the counter is included in the simultaneous broadcast communication packet.
【請求項3】請求項2の疎結合計算機システムの計算機
において、受信した一斉同報の通信パケットの履歴を記
憶する手段と、受信した一斉同報の通信パケットに含ま
れたカウンタ値を記憶する手段と、受信した一斉同報の
通信パケットのヘッダ情報に格納されたカウンタ値の記
憶手段とを比較する手段を持ち、該比較手段によって、
記憶したカウンタ値とヘッダ情報のカウンタ値の差が1
でない場合には、一斉同報の通信パケットが到着しなか
ったと判断する事を特徴とする計算機間結合装置。
3. A computer of the loosely coupled computer system according to claim 2, which stores a history of received broadcast communication packets and a counter value included in the received broadcast communication packets. And a means for comparing the counter value storage means stored in the header information of the received broadcast communication packet, the comparing means comprising:
The difference between the stored counter value and the counter value of the header information is 1
If not, the inter-computer coupling device is characterized in that it judges that the broadcast communication packet has not arrived.
【請求項4】請求項3の疎結合計算機システムにおい
て、カウンタ値を含む一斉同報通信パケットが受信側の
計算機に到着しなかった場合には、一斉同報通信を用い
て再送要求を行ない、再送要求を受信した計算機が該カ
ウンタ値を含む一斉同報通信パケットを送出した計算機
であった場合に、再送要求を行なった計算機に対して該
カウンタ値を含む一斉同報通信パケットを再送する事を
特徴とする計算機間結合装置。
4. The loosely coupled computer system according to claim 3, wherein when a broadcast packet including a counter value does not arrive at the receiving computer, a retransmission request is made using the broadcast communication, If the computer that received the resend request is the computer that sent the broadcast packet containing the counter value, resend the broadcast packet containing the counter value to the computer that issued the resend request. An inter-computer coupling device characterized by:
JP7012332A 1995-01-30 1995-01-30 Inter-computer coupling device of loosely coupled computer Pending JPH08202665A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7012332A JPH08202665A (en) 1995-01-30 1995-01-30 Inter-computer coupling device of loosely coupled computer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7012332A JPH08202665A (en) 1995-01-30 1995-01-30 Inter-computer coupling device of loosely coupled computer

Publications (1)

Publication Number Publication Date
JPH08202665A true JPH08202665A (en) 1996-08-09

Family

ID=11802359

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7012332A Pending JPH08202665A (en) 1995-01-30 1995-01-30 Inter-computer coupling device of loosely coupled computer

Country Status (1)

Country Link
JP (1) JPH08202665A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000148648A (en) * 1998-11-10 2000-05-30 Toshiba Corp Communication method, communication equipment and recording medium
JP2000259534A (en) * 1999-03-04 2000-09-22 Toshiba Corp Transmission equipment, transmission method, recording medium recording software for transmission and communication system
JP2018142078A (en) * 2017-02-27 2018-09-13 三菱重工業株式会社 Information processing system and information processing method

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000148648A (en) * 1998-11-10 2000-05-30 Toshiba Corp Communication method, communication equipment and recording medium
JP2000259534A (en) * 1999-03-04 2000-09-22 Toshiba Corp Transmission equipment, transmission method, recording medium recording software for transmission and communication system
JP2018142078A (en) * 2017-02-27 2018-09-13 三菱重工業株式会社 Information processing system and information processing method

Similar Documents

Publication Publication Date Title
US4430651A (en) Expandable and contractible local area network system
US4410889A (en) System and method for synchronizing variable-length messages in a local area network data communication system
US4423414A (en) System and method for name-lookup in a local area network data communication system
US6480897B1 (en) Optimistic transmission flow control including receiver data discards upon inadequate buffering condition
US4396983A (en) Distributed data processing system having several local system and communication modules for use in such data processing system
US5459725A (en) Reliable multicasting over spanning trees in packet communications networks
US4718002A (en) Method for multiprocessor communications
JP3833847B2 (en) Acknowledgment system and method for message reception in packet-based communication networks
US4792947A (en) Method of multi-address communication
Tomlinson Selecting sequence numbers
US6178174B1 (en) Optimistic, eager rendezvous transmission mode and combined rendezvous modes for message processing systems
JPH03165139A (en) Data communication method and data communication system
JPH06125347A (en) Exchange method of message
JPH06252897A (en) Method and system for multiple address file transfer
JPS6358418B2 (en)
US6035335A (en) Optimistic, eager rendezvous transmission system and combined rendezvous system for message processing, and related data structures
JPH0567092B2 (en)
JPH08202665A (en) Inter-computer coupling device of loosely coupled computer
JP3415027B2 (en) Data communication device and data communication method
Jia Implementation of a reliable multicast protocol
CN114157529A (en) Distributed data transmission system and method
JPH09282296A (en) System for controlling communication between multiplexed nodes
Jia et al. Design and analysis of an efficient and reliable atomic multicast protocol
Jia et al. An efficient and reliable group multicast protocol
Jia et al. A multicast protocol based on a single logical ring using a virtual token and logical clocks