JP2001229145A - Method and device for data communication between processors - Google Patents
Method and device for data communication between processorsInfo
- Publication number
- JP2001229145A JP2001229145A JP2000037878A JP2000037878A JP2001229145A JP 2001229145 A JP2001229145 A JP 2001229145A JP 2000037878 A JP2000037878 A JP 2000037878A JP 2000037878 A JP2000037878 A JP 2000037878A JP 2001229145 A JP2001229145 A JP 2001229145A
- Authority
- JP
- Japan
- Prior art keywords
- transfer
- processor
- message
- unit
- timeout
- 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
Links
- 238000004891 communication Methods 0.000 title claims abstract description 64
- 238000000034 method Methods 0.000 title claims description 49
- 238000012546 transfer Methods 0.000 claims abstract description 152
- 230000005540 biological transmission Effects 0.000 claims abstract description 30
- 238000012545 processing Methods 0.000 claims description 82
- 230000008569 process Effects 0.000 claims description 33
- 238000012544 monitoring process Methods 0.000 claims description 18
- 230000006870 function Effects 0.000 description 45
- 230000001360 synchronised effect Effects 0.000 description 24
- 238000012790 confirmation Methods 0.000 description 23
- 230000000903 blocking effect Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 7
- 238000012360 testing method Methods 0.000 description 5
- 238000001994 activation Methods 0.000 description 4
- 230000004913 activation Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 2
- 206010000210 abortion Diseases 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
Landscapes
- Multi Processors (AREA)
Abstract
Description
【0001】[0001]
【発明の属する技術分野】本発明はプロセッサ間データ
通信方法に関し、例えば、MPI(メッセージパッシン
グインタフェース)関数のノンブロッキング転送命令を
使用して複数のプロセッサ間でデータ転送を行なう場合
などに使用し得るものである。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an inter-processor data communication method, which can be used, for example, when data is transferred between a plurality of processors using a non-blocking transfer instruction of an MPI (Message Passing Interface) function. It is.
【0002】また、本発明は、かかるプロセッサ間デー
タ通信方法を使用するプロセッサ間データ通信装置に関
するものである。[0002] The present invention also relates to an inter-processor data communication apparatus using such an inter-processor data communication method.
【0003】[0003]
【従来の技術】MPIは、MPIフォーラムで仕様検討
されているメッセージパッシングライブラリで、Fortra
n言語または、C言語で記述されたプログラムからMP
Iの関数または、サブルーチンとして呼び出される。M
PIには、1対1通信機能、集団通信(集配信/集積演
算)機能、派生データ型機能、コミュニケータ(Commun
icator)機能、プロセストポロジ(Process Topolog
y)機能、動的プロセス生成/管理機能、片側通信機
能、拡張集団通信(集配信/集積演算)機能、並列入出
力機能をサポートできる利点がある。2. Description of the Related Art MPI is a message passing library whose specifications are being examined by the MPI Forum.
MP from a program written in n language or C language
It is called as a function of I or a subroutine. M
PI includes one-to-one communication function, collective communication (collection / distribution / integration operation) function, derived data type function, communicator (Communicator)
icator) function, process topology (Process Topolog)
y) There is an advantage that it can support a function, a dynamic process generation / management function, a one-side communication function, an extended collective communication (collective distribution / integrated operation) function, and a parallel input / output function.
【0004】このうちコミュニケータ機能では、これま
でのメッセージパッシングライブラリでは実現困難であ
った多重通信空間を実現することができ、プロセストポ
ロジ機能では、プログラマがプロセスを分かりやすい形
で定義することができる。[0004] Among them, the communicator function can realize a multiplex communication space which has been difficult to realize with a conventional message passing library, and the process topology function allows a programmer to define a process in an easy-to-understand form. .
【0005】このようなMPI関数は、もう1つの特徴
として、ノンブロッキング転送命令を装備している。Such an MPI function has a non-blocking transfer instruction as another feature.
【0006】ノンブロッキング転送命令は、例えば、膨
大な演算量を要する演算処理を、ネットワーク中の複数
のプロセッサで分担し、分散処理(あるいは並列処理)
で、処理するケースなどに有利である。[0006] The non-blocking transfer instruction is, for example, an arithmetic processing requiring an enormous amount of arithmetic processing is shared by a plurality of processors in a network, and distributed processing (or parallel processing) is performed.
This is advantageous in cases such as processing.
【0007】転送命令のノンブロッキング性によって、
分散処理に関与する各プロセッサは、開始された転送命
令が完全に終了する前であっても他の処理を実行し得る
から、この他の処理に、上述した膨大な演算量を要する
演算処理のなかで各プロセッサが分担する分の演算を当
てはめると、各プロセッサは演算の実行中でもメッセー
ジの転送処理を実行でき、メッセージの転送処理の実行
中でも演算を実行することが可能になる。[0007] Due to the non-blocking nature of the transfer instruction,
Each of the processors involved in the distributed processing can execute other processing even before the started transfer instruction is completely completed. By applying the calculation shared by the processors among them, each processor can execute the message transfer processing even while executing the calculation, and can execute the calculation even while executing the message transfer processing.
【0008】ノンブロッキング転送命令を実行する通信
部分のみのフローチャートを図2(A)および(B)に
示す。この転送命令では、図3に示すように、ネットワ
ーク8中のプロセッサ10とプロセッサ11とのあいだ
のメッセージ転送が実行される。FIGS. 2A and 2B show a flowchart of only the communication portion for executing the non-blocking transfer instruction. In this transfer instruction, as shown in FIG. 3, message transfer between the processor 10 and the processor 11 in the network 8 is executed.
【0009】図2(A)はプロセッサ10における動作
を示し、同図(B)はプロセッサ11における動作を示
す。図2(A)のフローチャートはS1〜S5の各ステ
ップから構成され、同図(B)のフローチャートはS6
〜S9の各ステップから構成されている。FIG. 2A shows the operation in the processor 10, and FIG. 2B shows the operation in the processor 11. The flowchart of FIG. 2A includes steps S1 to S5, and the flowchart of FIG.
To S9.
【0010】プロセッサ10で、あるメッセージを送信
(または受信)するため、図2(A)に示すように、例
えば関数名称MPI_Isend、MPI_Irecv
に対応する転送起動が行われるとき(S1)、プロセッ
サ11でもそのメッセージを受信(または送信)するた
め、関数名称MPI_Irecv、MPI_Isend
に対応する転送起動が行われる(S6)。In order to transmit (or receive) a message in the processor 10, as shown in FIG. 2A, for example, function names MPI_Isend, MPI_Irecv
Is executed (S1), the processor 11 also receives (or transmits) the message, so that the function names MPI_Irecv, MPI_Isend
(S6).
【0011】次に、プロセッサ10は当該ノンブロッキ
ング転送命令とは別の処理、例えば上述した分担する演
算を実行し(S2)、同様にプロセッサ11も、当該ノ
ンブロッキング転送命令とは別の処理、例えば上述した
分担する演算を実行する(S7)。Next, the processor 10 executes another process different from the non-blocking transfer instruction, for example, the above-mentioned shared operation (S2). Similarly, the processor 11 performs another process different from the non-blocking transfer instruction, for example, The assigned calculation is executed (S7).
【0012】そしてステップS2につづくステップS3
では、プロセッサ10が例えば関数名称MPI_Tes
tに対応する転送確認を行い、ステップS7につづくス
テップS8ではプロセッサ11が例えば関数名称MPI
_Waitに対応する転送完了待ちを行う。Then, step S3 following step S2
Then, the processor 10 executes, for example, the function name MPI_Tes.
In step S8 following step S7, the processor 11 checks, for example, the function name MPI
Wait for transfer completion corresponding to _Wait.
【0013】ステップS3の転送確認処理では、MPI
_Testの関数をコールすると転送が完了したか否か
のステータスがセットされ、関数呼び出し側に直ちにリ
ターンする。もしもここで、MPI_Waitの関数を
コールするものとすると、転送が完了し次第、関数呼び
出し側にリターンしてくる。In the transfer confirmation processing in step S3, the MPI
When the function of _Test is called, a status indicating whether or not the transfer is completed is set, and the function immediately returns to the function call side. If the function of MPI_Wait is called here, as soon as the transfer is completed, the function returns to the function calling side.
【0014】MPIは、MPIを使用するアプリケーシ
ョンのためにアプリケーションインタフェースとMPI
が用意すべき関数ライブラリのそれぞれの関数の機能を
規定しているだけであるから、その規定に反しないかぎ
りにおいて、当該転送確認処理などの各処理の具体的な
中身としてはさまざまなものが考えられるが、ここでは
言及しない。MPI is an application interface and MPI for applications that use MPI.
Merely specifies the function of each function in the function library that should be prepared, so various contents may be considered as the specific contents of each process such as the transfer confirmation process as long as they do not violate the specifications. But not mentioned here.
【0015】ネットワークや各プロセッサなどの動作に
問題が無く、障害が発生しない正常時には、プロセッサ
10はワンショットの転送確認(S3)につづいてステ
ータスチェックを行い(S4)、通信部分に関して正常
終了が行われる(S5)。この正常終了のあとでも、前
記分担する演算などの処理は、引き続き実行され得る。When there is no problem in the operation of the network and each processor, and there is no failure, the processor 10 performs a status check following a one-shot transfer confirmation (S3) (S4), and completes the communication part normally. This is performed (S5). Even after the normal termination, the processing such as the above-mentioned shared operation can be continuously executed.
【0016】なお、転送確認(S3)のあとにステータ
スチェック(S4)を行うのは、転送確認(S3)では
転送が単に終了したかどうかが出力されるだけなので、
その終了が正常に行われたかどうかを認識するために、
当該ステータスチェックによってステータスの中身を確
認する必要があるためである。The status check (S4) performed after the transfer confirmation (S3) is performed because the transfer confirmation (S3) simply outputs whether or not the transfer has been completed.
To know if the termination was successful,
This is because it is necessary to confirm the contents of the status by the status check.
【0017】同様に、前記正常時には、プロセッサ11
でも、短時間の転送完了待ち(S8)につづいて通信部
分に関する正常終了が行われる(S9)。Similarly, in the normal state, the processor 11
However, after a short transfer completion wait (S8), normal termination of the communication part is performed (S9).
【0018】引き続いて、前記メッセージとは別なメッ
セージを転送する場合には、図2(A)、(B)のフロ
ーチャートと同様な処理が、各プロセッサ10,11で
繰り返されることになる。Subsequently, when a message other than the above message is transferred, the same processing as that in the flowcharts of FIGS. 2A and 2B is repeated in each of the processors 10 and 11.
【0019】もしも、転送命令などがブロッキング性で
あった場合を想定すると、各プロセッサは分担している
分の演算が終了するまで、当該演算のために完全にハー
ドウエア資源を占有されてしまうために、その他の処理
をいっさい実行できなくなる。すなわち分担する分の演
算が完全に終了するまで、転送命令を実行することがで
きず、転送命令が完全に終了するまで、演算を実行する
ことができない。If it is assumed that a transfer instruction or the like has a blocking property, each processor completely occupies the hardware resources for the operation until the operation of the shared operation is completed. Then, no other processing can be executed. That is, the transfer instruction cannot be executed until the operation to be shared is completed, and the operation cannot be executed until the transfer instruction is completely completed.
【0020】このことから、ノンブロッキング転送命令
の有用性が分かる。From this, the usefulness of the non-blocking transfer instruction can be understood.
【0021】[0021]
【発明が解決しようとする課題】ところで、ネットワー
クや各プロセッサなどの動作に問題が有り、障害が発生
する異常時には、前記プロセッサ10の行うステップS
3の転送確認はワンショット、すなわち1回だけではす
まなくなり、前記転送完了待ち(S8)も短時間ではす
まなくなることがある。When there is a problem in the operation of the network or each processor and a failure occurs, the step S
The transfer confirmation of No. 3 may be sorry only for one shot, that is, once, and the transfer completion wait (S8) may be sorry in a short time.
【0022】MPI関数のノンブロッキング転送にはタ
イムアウトの概念が無く、転送の時間管理および時間監
視を行なうことが出来ないため、最悪の状況では、前記
ステップS3の転送確認が際限なく繰り返されるととも
に、前記ステップS8の転送完了待ちが無制限に長時間
化する事態も起こり得る。In the non-blocking transfer of the MPI function, there is no concept of a timeout, and transfer time management and time monitoring cannot be performed. In the worst case, the transfer confirmation in the step S3 is repeated endlessly. A situation in which the waiting for the transfer completion in step S8 is unlimitedly long may occur.
【0023】この場合、転送が完了するまで次の転送は
待たされた状態になって通信が停滞してしまう。また、
転送完了待ち(S8)については、何らかの障害により
終了ステータスを得ることができなかった時はプログラ
ムが停止した状態になり、システムが停止してしまう。In this case, the next transfer is kept waiting until the transfer is completed, and communication is stagnated. Also,
Regarding the transfer completion wait (S8), when the end status cannot be obtained due to some failure, the program is in a stopped state, and the system is stopped.
【0024】結局、このような問題のあるノンブロッキ
ング転送命令は、上述した大きな利点を持っている反
面、全体として通信効率が低く、使い勝手が悪く、信頼
性が低いということができる。After all, the non-blocking transfer command having such a problem has the above-mentioned great advantage, but it can be said that the communication efficiency is low as a whole, the usability is low, and the reliability is low.
【0025】[0025]
【課題を解決するための手段】かかる課題を解決するた
めに、第1の発明では、転送命令の実行中に当該転送命
令以外の命令を実行し得る非排他的転送命令を備えた通
信関数を使用して、単位メッセージを送信及び/又は受
信するプロセッサ間データ通信方法において、前記単位
メッセージの送信及び/又は受信に関してタイムアウト
を監視することを特徴とする。According to a first aspect of the present invention, there is provided a communication function having a non-exclusive transfer instruction capable of executing an instruction other than the transfer instruction during execution of the transfer instruction. A method for transmitting and / or receiving a unit message by using an inter-processor data communication method, characterized in that a timeout is monitored for the transmission and / or reception of the unit message.
【0026】また、第2の発明では、転送命令の実行中
に当該転送命令以外の命令を実行し得る非排他的転送命
令を備えた通信関数を使用して、単位メッセージを送信
及び/又は受信するプロセッサ間データ通信装置におい
て、前記単位メッセージの送信及び/又は受信に関して
タイムアウトを監視するタイムアウト監視手段を備えた
ことを特徴とする。In the second invention, a unit message is transmitted and / or received by using a communication function having a non-exclusive transfer instruction capable of executing an instruction other than the transfer instruction during execution of the transfer instruction. An inter-processor data communication apparatus according to claim 1, further comprising timeout monitoring means for monitoring a timeout with respect to transmission and / or reception of said unit message.
【0027】[0027]
【発明の実施の形態】(A)実施形態 以下、本発明のプロセッサ間データ通信方法および装置
に関する第1および第2の実施形態について説明する。DESCRIPTION OF THE PREFERRED EMBODIMENTS (A) Embodiments First and second embodiments of the inter-processor data communication method and apparatus of the present invention will be described below.
【0028】(A−1)第1の実施形態の構成 本実施形態のプロセッサ30の内部構成を図5に示す。
このプロセッサ30は、上述した図3のプロセッサ10
に対応するプロセッサであり、対向するプロセッサ31
と通信する。プロセッサ30と31とを含むネットワー
クをネットワーク9とする。(A-1) Configuration of the First Embodiment FIG. 5 shows the internal configuration of the processor 30 of the present embodiment.
The processor 30 is the same as the processor 10 of FIG.
Is the processor corresponding to
Communicate with A network including the processors 30 and 31 is referred to as a network 9.
【0029】図5において、プロセッサ30は、転送処
理部21と、タイムアウト監視部22と、転送打ち切り
部23とを備えている。In FIG. 5, the processor 30 includes a transfer processing unit 21, a timeout monitoring unit 22, and a transfer termination unit 23.
【0030】このうち転送処理部21は、上述した図2
(A)のフローチャートと同様な送信側のノンブロッキ
ング転送動作を実行する機能を備えた部分である。Of these, the transfer processing unit 21 is the same as that shown in FIG.
This is a portion having a function of executing a non-blocking transfer operation on the transmission side similar to the flowchart of FIG.
【0031】なお、送信側で図2(A)の処理を行い、
受信側で図2(B)の処理を行うのは、分散処理を行い
各処理が入力ドリブンで動作するシステムの一例であっ
て、MPI規格上は、必ずしもその必要はない。Note that the transmitting side performs the processing of FIG.
Performing the processing in FIG. 2B on the receiving side is an example of a system in which distributed processing is performed and each processing operates in an input-driven manner, and is not necessarily required in the MPI standard.
【0032】MPIのノンブロッキング転送命令を行う
場合、起動(MPI_Isend、MPI_Irec
v)とその転送の完了(MPI_TestまたはMPI
_Waitのどちらか)を対にして行う必要があるだけ
で、MPI_Isendの転送確認には、MPI_Te
stを用いてもよく、MPI_Waitを用いてもよ
い。When a non-blocking transfer instruction of MPI is performed, activation (MPI_Isend, MPI_Irec
v) and completion of the transfer (MPI_Test or MPI
_Wait), the MPI_Isend transfer confirmation includes the MPI_Te
st may be used, and MPI_Wait may be used.
【0033】同様に、MPI_Irecvに対しては、
MPI_Waitによる転送完了待ちだけでなく、MP
I_Testによる完了確認を行ってもよい。ただしM
PI_Testを使う場合は、単純に転送の結果を問い
合わせているのに等しいため、転送が完了するまで問い
合わせ(すなわちMPI_Testのコール)を行わな
ければならない。Similarly, for MPI_Irecv,
Not only wait for transfer completion by MPI_Wait,
Confirmation of completion by I_Test may be performed. Where M
When PI_Test is used, it is equivalent to simply inquiring about the result of the transfer, so that an inquiry (that is, a call to MPI_Test) must be made until the transfer is completed.
【0034】また、タイムアウト監視部22は、ステッ
プS22(図1参照)の転送確認(この処理は、前記ス
テップS3の転送確認と同じ)時に転送の完了が確認で
きなかった場合に、タイムアウトチェック処理を実行す
る部分である。If the completion of the transfer cannot be confirmed at the transfer confirmation in step S22 (see FIG. 1) (this process is the same as the transfer confirmation in step S3), the timeout monitor 22 Is the part that executes
【0035】タイムアウトチェック処理では、転送開始
時刻と現在時刻との差分を取り、この差分があらかじめ
設定されているタイムアウト時間以上となったときに
は、転送タイムアウト発生と判定する。転送タイムアウ
ト発生と判定した場合、このタイムアウト監視部22
は、タイムアウト検出信号TDを転送打ち切り部23に
出力する。In the timeout check process, a difference between the transfer start time and the current time is obtained, and when the difference is equal to or longer than a preset timeout time, it is determined that a transfer timeout has occurred. If it is determined that a transfer timeout has occurred, the timeout monitoring unit 22
Outputs the timeout detection signal TD to the transfer termination unit 23.
【0036】なお、タイムアウト監視部22が前記差分
を取るために必要な転送開始時刻は、図4に示すデータ
構造体26に含まれる時刻データ25を調べることによ
って得られる。The transfer start time required for the timeout monitoring unit 22 to obtain the difference can be obtained by checking the time data 25 included in the data structure 26 shown in FIG.
【0037】図4のデータ構造体26は、同一プロセッ
サ内のデータ転送起動処理とデータ転送確認処理の間
で、転送起動、確認の対応付けを行うために受け渡され
るハンドシェーク構造体(ここで、「ハンドシェーク」
は、同一プロセッサ内のプログラム間のハンドシェーク
を示す)で、当該リクエスト部24と、時刻データ部2
5とから構成されている。The data structure 26 shown in FIG. 4 is a handshake structure (here, a handshake structure passed between the data transfer activation process and the data transfer confirmation process in the same processor for associating the transfer activation and the confirmation. "handshake"
Indicates a handshake between programs in the same processor), the request unit 24 and the time data unit 2
And 5.
【0038】このうちリクエスト部24は、MPI_I
sendやMPI_IrecvなどのMPI関数の引数
として用いられるデータバッファアドレス、転送語数
(通信語数)、データ型、転送先アドレス(MPIラン
ク)、通信要求ハンドルなどを含んだ部分である。The request section 24 includes the MPI_I
It is a portion including a data buffer address, a transfer word number (communication word number), a data type, a transfer destination address (MPI rank), a communication request handle, and the like used as arguments of MPI functions such as send and MPI_Irecv.
【0039】MPI関数を使用した通信においては、各
通信ごとに通信相手および通信語数を指定する必要があ
るため、各プロセッサ30,31は通信相手のアドレス
や通信語数を当該通信に先立って認識していなけらばな
らないが、この認識は、MPIを使用するアプリケーシ
ョンが意識するものではなく、MPI関数によるメッセ
ージ転送以外の方法によって実現されるべきものであ
る。In the communication using the MPI function, it is necessary to specify the communication partner and the number of communication words for each communication. Therefore, each of the processors 30 and 31 recognizes the address of the communication partner and the number of communication words prior to the communication. However, this recognition is not conscious of the application using the MPI, but should be realized by a method other than the message transfer by the MPI function.
【0040】例えば、プロセッサ30からプロセッサ3
1へメッセージを送信する場合などには、当該メッセー
ジ送信に先立って行われるプロセッサ間のハンドシェー
クにより、送信元であるプロセッサ30側の送信関数で
は、送信先であるプロセッサ31のアドレスと、当該メ
ッセージの通信語数を指定し、送信先となるプロセッサ
31側の受信関数では送信元であるプロセッサ30のア
ドレスと当該メッセージの通信語数を指定しておく必要
があるが、このプロセッサ間ハンドシェークは通常のM
PI関数によるメッセージ転送以外の方法で行うことが
必要であると考えられる。For example, from the processor 30 to the processor 3
For example, when a message is transmitted to the transmission source 1, the transmission function of the transmission source processor 30 performs the handshaking between the processors prior to the transmission of the message, and the address of the transmission destination processor 31 and the address of the transmission destination of the message are transmitted. It is necessary to specify the number of communication words, and to specify the address of the processor 30 as the transmission source and the number of communication words of the message in the reception function of the processor 31 as the transmission destination.
It is considered necessary to perform the method by a method other than the message transfer by the PI function.
【0041】なぜなら、このプロセッサ間ハンドシェー
クまでMPI通信で行うとすると、当該プロセッサ間ハ
ンドシェークの前提となる通信相手のアドレスや通信語
数を伝えるために、さらに先行するMPI通信が必要に
なるという矛盾が生じるからである。If the MPI communication is performed up to the inter-processor handshake, there is a contradiction that further preceding MPI communication is required to transmit the address of the communication partner and the number of communication words which are the premise of the inter-processor handshake. Because.
【0042】したがって、プロセッサ間のハンドシェー
ク等の制御用通信の具体例については、MPI規格の全
範囲をそのままカバーしようとする本実施形態の趣旨に
反するので、ここでは詳述しない。Accordingly, a specific example of control communication such as handshaking between processors is contrary to the spirit of the present embodiment, which intends to cover the entire range of the MPI standard as it is, and will not be described in detail here.
【0043】図5のプロセッサ30の構成要素のうち転
送処理部21は、前記リクエスト部24から前記引数を
取り出してMPI関数にセットし、転送を起動する部分
である。The transfer processing section 21 of the components of the processor 30 shown in FIG. 5 is a section for taking out the argument from the request section 24, setting the argument in the MPI function, and activating the transfer.
【0044】また、タイムアウト監視部22は、転送処
理部21が引数を取り出したリクエスト部24に、当該
引数に対応した通信の開始時刻を示す時刻データ25を
付加することにより、データ構造体26を生成し記憶し
ておく機能を備えている。Further, the timeout monitoring unit 22 adds the time data 25 indicating the communication start time corresponding to the argument to the request unit 24 from which the transfer processing unit 21 has extracted the argument, thereby creating the data structure 26. It has the function of generating and storing.
【0045】前記転送打ち切り部23は、タイムアウト
監視部22からタイムアウト検出信号TDを受け取るこ
とによって、転送打ち切り信号CLを出力し、プロセッ
サ30に転送処理(メッセージ送信処理)の進行を打ち
切らせる部分である。これにより前記ステップS3のよ
うに転送確認が際限なく繰り返されて通信が停滞するこ
とを防止できる。The transfer termination unit 23 outputs a transfer termination signal CL upon receiving the timeout detection signal TD from the timeout monitoring unit 22, and causes the processor 30 to terminate the transfer process (message transmission process). . As a result, it is possible to prevent communication from stagnating due to endless repetition of transfer confirmation as in step S3.
【0046】なお、本実施形態の場合、受信側のプロセ
ッサ31が装備している機能も、図5に示した送信側の
プロセッサ30と同じであるものとする。したがってプ
ロセッサ31の内部構成も図5に示した構成と同じであ
る。In the case of the present embodiment, it is assumed that the functions of the processor 31 on the receiving side are the same as those of the processor 30 on the transmitting side shown in FIG. Therefore, the internal configuration of the processor 31 is the same as the configuration shown in FIG.
【0047】ただ、転送処理部21が行う転送処理の内
容が、送信側プロセッサ30においては送信処理である
のに対し、受信側プロセッサ31では受信処理である点
が相違するだけである。The only difference is that the contents of the transfer processing performed by the transfer processing unit 21 are transmission processing in the transmission processor 30 and reception processing in the reception processor 31.
【0048】以下、上記のような構成を有する本実施形
態の動作について説明する。Hereinafter, the operation of the present embodiment having the above configuration will be described.
【0049】(A−2)第1の実施形態の動作 メッセージを送信するプロセッサ30の通信部分の処理
を、図1に示す。図1はまた、当該メッセージを受信す
るプロセッサ31の通信部分の処理をも示している。図
1のフローチャートは、S20〜S27の各ステップか
ら構成されている。(A-2) Operation of the First Embodiment FIG. 1 shows the processing of the communication part of the processor 30 for transmitting a message. FIG. 1 also shows the processing of the communication part of the processor 31 that receives the message. The flowchart of FIG. 1 includes steps S20 to S27.
【0050】このうちステップS20の処理内容は前記
ステップS1と同じであってよく、同様に、ステップS
21は前記ステップS2と、ステップS22は前記ステ
ップS3と、ステップS23は前記ステップS4と、正
常終了S25は前記ステップS5とそれぞれ同じ処理内
容であってよい。The content of the processing in step S20 may be the same as that in step S1.
21 may be the same as step S2, step S22 may be step S3, step S23 may be step S4, and normal termination S25 may be the same as step S5.
【0051】ネットワーク9や各プロセッサ30,31
などの動作に問題が無く、障害が発生しない正常時のう
ち、理想的なケースでは、通常、このフローチャート
は、ステップS20、S21、S22、S23、S2
4、S25の順番に進行して正常に終了する。The network 9 and the processors 30 and 31
In the normal case where there is no problem in the operation such as the operation and no failure occurs, in an ideal case, this flowchart is usually composed of steps S20, S21, S22, S23 and S2.
4. The process proceeds in the order of S25 and ends normally.
【0052】このときステップS22では、1回だけ転
送確認処理(送信側プロセッサ30では送信確認処理、
受信側プロセッサ31では受信確認処理)が行われ、そ
の処理で転送の完了が確認されて、ステップS24はY
(Yes)側に分岐することになる。At this time, in step S22, the transfer confirmation processing is performed only once (the transmission confirmation processing
The reception-side processor 31 performs a reception confirmation process), and confirms the completion of the transfer in that process.
It will branch to the (Yes) side.
【0053】ただし、ステップS23とS25のあいだ
に配置されたステップS24では、転送確認(S22)
の時点で、転送完了の確認が行えなかった場合、N(N
o)側に分岐して処理をステップS26に進める。However, in step S24 arranged between steps S23 and S25, transfer confirmation (S22)
If transfer completion cannot be confirmed at the time of
The process branches to o) and the process proceeds to step S26.
【0054】ステップS26の処理では、タイムアウト
監視部22が、前記データ構造体26の時刻データ25
を調べて転送開始時刻を認識し、その転送開始時刻と現
在時刻との差分を取って、この差分があらかじめ設定さ
れているタイムアウト時間以上であるかどうかが判定さ
れる。In the process of step S 26, the timeout monitoring unit 22 sends the time data 25 of the data structure 26
To determine the transfer start time, take the difference between the transfer start time and the current time, and determine whether the difference is equal to or greater than a preset timeout time.
【0055】当該差分が、タイムアウト時間以上である
と判定された場合には、ステップS26はY側に分岐し
てステップS27に処理を進め、タイムアウト時間未満
であると判定された場合には再度、ステップS22に処
理を進める。これは、1回目の転送確認(S22)で転
送完了の確認が行えなくても、タイムアウト時間内であ
れば、正常範囲内に転送の完了をみる可能性があること
を見越した手順である。If it is determined that the difference is equal to or longer than the timeout period, step S26 branches to the Y side and the process proceeds to step S27. If it is determined that the difference is less than the timeout period, the process proceeds again. The process proceeds to step S22. This is a procedure in anticipation of the possibility that transfer completion may be seen within a normal range within the timeout period even if transfer completion cannot be confirmed in the first transfer confirmation (S22).
【0056】ステップS27では、転送打ち切り部23
が、転送要求のキャンセル、すなわち転送処理の打ち切
りを行う。In step S27, the transfer termination unit 23
Cancels the transfer request, that is, aborts the transfer process.
【0057】前記タイムアウト時間をどの程度に設定す
るかにもよるが、通常は、1回の転送確認(S22)で
転送の完了が確認できなくても、ただちに転送打ち切り
(S27)とはせず、ステップS22、S23、S2
4、S26から構成されるループを繰り返し処理して、
タイムアウト時間内に転送完了が確認(S22)できれ
ば正常終了(S25)で終わり、できなければ転送打ち
切り(S27)で終わることになる。Although it depends on how long the timeout time is set, usually, even if the transfer completion cannot be confirmed by one transfer confirmation (S22), the transfer is not immediately terminated (S27). , Steps S22, S23, S2
4. The loop composed of S26 is repeatedly processed,
If transfer completion is confirmed (S22) within the timeout period, the process ends with normal termination (S25), and if not, it ends with transfer termination (S27).
【0058】転送打ち切りとすることで、プロセッサ3
0、31による通信部分の処理は、いつまでも当該メッ
セージの転送完了に拘泥せず、次の新たなメッセージ
(このメッセージの送信先はプロセッサ31以外のプロ
セッサであってよい)の転送処理に取り掛かることがで
きる。By terminating the transfer, the processor 3
The processing of the communication part by 0 and 31 may start the transfer processing of the next new message (the destination of this message may be a processor other than the processor 31) irrespective of the transfer completion of the message forever. it can.
【0059】なお、図1のステップS27中に示したM
PI_Cancelは、転送要求のキャンセルを示す関
数名称である。Note that M shown in step S27 of FIG.
PI_Cancel is a function name indicating cancellation of a transfer request.
【0060】受信側プロセッサ31でもこの送信側プロ
セッサ30と同様に、タイムアウト時間未満は転送確認
(受信確認、受信完了待ち)が繰り返されて、タイムア
ウト時間以上になると転送(受信)打ち切りとされ、以
降は、当該メッセージ以外のメッセージ(このメッセー
ジの送信元はプロセッサ30以外のプロセッサであって
よい)の受信を行うことができる。In the receiving processor 31, similarly to the transmitting processor 30, transfer confirmation (reception confirmation, reception completion wait) is repeated until the time is less than the timeout time, and transfer (reception) is terminated when the time exceeds the timeout time. Can receive a message other than the message (the source of the message may be a processor other than the processor 30).
【0061】(A−3)第1の実施形態の効果 本実施形態によれば、従来は、ある転送処理が完了する
まで次の転送処理を行うことができなかったMPI関数
のノンブロッキング転送命令を用いても、タイムアウト
時間以降は次の転送処理を行うことができるため、通信
の停滞を防止して円滑なデータ(メッセージ)転送を行
ない、全体として通信効率を高め、使い勝手を良くし、
通信の信頼性を向上することができる。(A-3) Effects of the First Embodiment According to the present embodiment, a non-blocking transfer instruction of an MPI function, which conventionally could not perform the next transfer processing until a certain transfer processing was completed, is executed. Even if it is used, the next transfer process can be performed after the timeout period, so that communication stagnation is prevented, smooth data (message) transfer is performed, overall communication efficiency is improved, and usability is improved.
The reliability of communication can be improved.
【0062】また、本実施形態では、タイムアウト監視
を行なうことにより、ネットワークや通信相手のプロセ
ッサなどの転送経路について、正常性の判断を行なうこ
とができる。Further, in this embodiment, by performing timeout monitoring, it is possible to determine the normality of a transfer path such as a network or a processor of a communication partner.
【0063】(B)第2の実施形態 (B−2)第2の実施形態の構成および動作 図10に、本実施形態の送信側プロセッサ40の内部構
成を示し、図11に本実施形態の受信側プロセッサ50
の内部構成を示す。プロセッサ40と50は、図3に示
す本実施形態のネットワーク60に含まれている。(B) Second Embodiment (B-2) Configuration and Operation of Second Embodiment FIG. 10 shows the internal configuration of the transmitting processor 40 of the present embodiment, and FIG. Receiving processor 50
2 shows the internal configuration of FIG. The processors 40 and 50 are included in the network 60 of the present embodiment shown in FIG.
【0064】図10において、プロセッサ40は、転送
処理部41と、タイムアウト監視部42と、転送打ち切
り部43と、再送処理部44とを備えている。In FIG. 10, the processor 40 includes a transfer processing unit 41, a timeout monitoring unit 42, a transfer termination unit 43, and a retransmission processing unit 44.
【0065】このうち、転送処理部41は第1の実施形
態の転送処理部21に対応する。同様に、タイムアウト
監視部42は前記タイムアウト監視部22に対応し、転
送打ち切り部43は前記転送打ち切り部23に対応す
る。The transfer processing section 41 corresponds to the transfer processing section 21 of the first embodiment. Similarly, the timeout monitoring unit 42 corresponds to the timeout monitoring unit 22, and the transfer termination unit 43 corresponds to the transfer termination unit 23.
【0066】したがって本実施形態のプロセッサ40と
第1の実施形態のプロセッサ30との構成上、動作上の
実質的な相違点は、再送処理部44に関連する部分に限
られる。Therefore, the substantial difference in operation between the processor 40 of the present embodiment and the processor 30 of the first embodiment is limited to the portion related to the retransmission processing unit 44.
【0067】このプロセッサ40の動作は、図8のフロ
ーチャートに示す。図8のフローチャートはS30〜S
38の各ステップから構成されているが、転送起動(送
信起動)を示すステップS30は第1の実施形態の送信
側プロセッサ30におけるステップS20に対応する。The operation of the processor 40 is shown in the flowchart of FIG. The flowchart of FIG.
38, each step S30 indicating transfer start (transmission start) corresponds to step S20 in the transmitting processor 30 of the first embodiment.
【0068】同様に、ステップS31は前記ステップS
21に対応ステップS32は前記ステップS22に対応
し、ステップS33は前記ステップS23に対応し、ス
テップS34は前記ステップS24に対応し、ステップ
S35は前記ステップS25に対応し、ステップS36
は前記ステップS26に対応し、ステップS37は前記
ステップS27に対応する。Similarly, step S31 is the same as step S31.
Step S32 corresponds to Step S22, Step S33 corresponds to Step S23, Step S34 corresponds to Step S24, Step S35 corresponds to Step S25, and Step S36.
Corresponds to step S26, and step S37 corresponds to step S27.
【0069】したがって図8中では、ステップS38だ
けが本実施形態に特有なステップである。Therefore, in FIG. 8, only step S38 is a step unique to this embodiment.
【0070】結局、本実施形態のプロセッサ40と第1
の実施形態のプロセッサ30との構成上、動作上の実質
的な相違点は、再送処理部44、再送処理S38に関連
する部分する部分に限られる。After all, the processor 40 of the present embodiment and the first
In the configuration of the processor 30 of this embodiment, the substantial difference in operation is limited to the portion related to the retransmission processing section 44 and the retransmission process S38.
【0071】一方、図11において、プロセッサ50
は、転送処理部41と、タイムアウト監視部42と、転
送打ち切り部43と、同期データチェック部51と、廃
棄処理部52とを備えている。On the other hand, in FIG.
Has a transfer processing unit 41, a timeout monitoring unit 42, a transfer termination unit 43, a synchronous data check unit 51, and a discard processing unit 52.
【0072】このうち、図10と同じ符号を付した部分
の機能は図10の各部と同じである。これは、部分4
1,42,43の各部である。The functions of the portions denoted by the same reference numerals as those in FIG. 10 are the same as those in FIG. This is part 4
1, 42, and 43.
【0073】このプロセッサ50の動作は、図9のフロ
ーチャートに示す。図9のフローチャートはS40〜S
48の各ステップから構成されているが、転送起動(受
信起動)を示すステップS40は第1の実施形態の受信
側プロセッサ31におけるステップS20に対応する。The operation of the processor 50 is shown in the flowchart of FIG. The flowchart of FIG.
The step S40 indicating the transfer start (reception start) corresponds to step S20 in the reception-side processor 31 of the first embodiment.
【0074】同様に、ステップS41は前記ステップS
21に対応し、ステップS42は前記ステップS22に
対応し、ステップS43は前記ステップS23に対応
し、ステップS44は前記ステップS24に対応し、ス
テップS45は前記ステップS25に対応し、ステップ
S46は前記ステップS26に対応し、ステップS47
は前記ステップS27に対応する。Similarly, step S41 is performed in step S41.
21, step S42 corresponds to step S22, step S43 corresponds to step S23, step S44 corresponds to step S24, step S45 corresponds to step S25, and step S46 corresponds to step S46. Step S47 corresponds to S26.
Corresponds to the step S27.
【0075】したがって図9中では、ステップS48だ
けが本実施形態に特有なステップである。Therefore, in FIG. 9, only step S48 is a step unique to this embodiment.
【0076】結局、本実施形態のプロセッサ50と第1
の実施形態のプロセッサ31との構成上、動作上の実質
的な相違点は、同期データチェック部51と、廃棄処理
部52、あるいは、同期データチェック処理S48に関
連する部分に限られる。After all, the processor 50 of the present embodiment and the first
In the configuration of the processor 31 of the third embodiment, the substantial difference in operation is limited to the synchronous data check unit 51, the discard processing unit 52, or the part related to the synchronous data check processing S48.
【0077】以下では、本実施形態が第1の実施形態と
相違する点についてのみ説明する。In the following, only differences between the present embodiment and the first embodiment will be described.
【0078】送信側プロセッサ40において、再送処理
部44が動作してステップS38の再送処理が行われる
のは、ステップS37の転送打ち切り処理が行われたあ
とである。In the transmission-side processor 40, the retransmission processing section 44 operates to perform the retransmission processing in step S38 after the transfer termination processing in step S37 is performed.
【0079】すなわち、転送開始(送信起動開始)時刻
と現在時刻との差分を取り、この差分があらかじめ設定
されているタイムアウト時間以上となり、転送タイムア
ウト発生と判定されステップS37でY側の分岐が行わ
れた場合である。That is, the difference between the transfer start (transmission start start) time and the current time is calculated, and the difference is equal to or longer than a preset timeout time, and it is determined that a transfer timeout has occurred. This is the case.
【0080】送信側プロセッサ40において転送タイム
アウトの発生が認められる場合、前回の転送では正常な
メッセージが受信側プロセッサ50に受信されていない
可能性が高いため、再送処理S38によって同じ内容の
メッセージを再度送信し、通信の信頼性を確保する。When occurrence of a transfer timeout is recognized in the transmitting processor 40, it is highly likely that a normal message has not been received by the receiving processor 50 in the previous transfer, so that a message having the same content is re-transmitted by the retransmission processing S38. Transmit and ensure communication reliability.
【0081】一方、受信側プロセッサ50において、同
期データチェック部51が動作してステップS48の同
期データチェック処理が行われるのは、この再送処理S
37によって送信側プロセッサ40が送信したメッセー
ジの受信に備えるためである。On the other hand, in the receiving processor 50, the synchronous data check unit 51 operates to perform the synchronous data check processing in step S48.
This is to prepare for the reception of the message transmitted by the transmission-side processor 40 by 37.
【0082】本実施形態で、送信側プロセッサ40から
送信され、受信側プロセッサ50で受信されるメッセー
ジ(転送テキスト)MEは、図6に示すように、転送目
的の送信データDCに対し、同期データSDを付加した
構造を持っている同期データSDの値は、送信側プロセ
ッサ40の転送処理部41が新たな送信データDCを持
つメッセージMEを送信するたびに所定の規則性に基づ
いて変更操作する。本実施形態ではこの変更操作は、イ
ンクリメント(+1)であるものとする。In the present embodiment, a message (transfer text) ME transmitted from the transmitting processor 40 and received by the receiving processor 50 is, as shown in FIG. The value of the synchronous data SD having the structure with the added SD is changed based on a predetermined regularity every time the transfer processing unit 41 of the transmitting processor 40 transmits the message ME having the new transmission data DC. . In the present embodiment, this change operation is assumed to be an increment (+1).
【0083】したがって通常の送信、受信が行われると
きは送受信される時系列なメッセージMEの同期データ
SDは、逐次、インクリメントされて行くが、再送およ
びその受信が行われると、同じ値の同期データSDを持
つメッセージMEがつづけて送信され、受信されること
になる。Therefore, when normal transmission and reception are performed, the synchronization data SD of the time-series message ME transmitted and received is sequentially incremented. However, when retransmission and reception thereof are performed, the synchronization data SD having the same value is obtained. The message ME having the SD is subsequently transmitted and received.
【0084】これらのメッセージMEを受信する受信側
プロセッサ50では、同期データチェック部51が、少
なくとも前回に受信したメッセージMEに関する同期デ
ータSDの値を記憶していて、当該前回のSDの値と、
今回受信したメッセージMEの同期データSDの値とを
比較し、同じであれば同期データSDの一致を示す一致
信号を、廃棄処理部52に送信する。In the receiving processor 50 that receives these messages ME, the synchronization data check unit 51 stores at least the value of the synchronization data SD relating to the message ME received last time.
The value of the synchronous data SD of the message ME received this time is compared, and if they are the same, a coincidence signal indicating the coincidence of the synchronous data SD is transmitted to the discard processing unit 52.
【0085】一致信号を受信した廃棄処理部52は、転
送処理部41が記憶している前回に受信したメッセージ
MEの内容(データDC)を廃棄処理する。このような
廃棄処理を行うのは、タイムアウトが生じた場合、当該
メッセージMEの転送経路に問題がある可能性が高く、
データDCに伝送誤りが生じている可能性も、タイムア
ウトが生じない場合よりも高いと考えられるからであ
る。The discard processing unit 52 that has received the coincidence signal discards the contents (data DC) of the previously received message ME stored in the transfer processing unit 41. Performing such a discarding process is likely to have a problem in the transfer route of the message ME when a timeout occurs,
This is because the possibility that a transmission error has occurred in the data DC is considered to be higher than when no timeout occurs.
【0086】本実施形態の動作を説明するために、プロ
セッサ40と50のあいだで図7に示すような転送処理
が行われる場合を例に取る。In order to explain the operation of the present embodiment, a case where the transfer processing as shown in FIG. 7 is performed between the processors 40 and 50 will be described as an example.
【0087】図7において、シーケンスSE1の転送で
は、同期データSDの値を「1」としてメッセージME
の転送を行い送信側のプロセッサ40でも受信側のプロ
セッサ50でもタイムアウトを検出しない。In FIG. 7, in the transfer of the sequence SE1, the value of the synchronous data SD is set to “1” and the message ME is set.
No timeout is detected by either the processor 40 on the transmission side or the processor 50 on the reception side.
【0088】この場合、図8のフローチャートは正常終
了S35で終わり、図9のフローチャートは正常終了S
45のあとで同期データチェック処理S48を行って終
わる。今回の同期データチェック処理S48では、前回
に受信したメッセージMEの同期データSDの値として
は、当該「1」と異なる値、例えば「0」が検出される
ので、受信側プロセッサ50内で廃棄処理部52が動作
することはない。In this case, the flowchart of FIG. 8 ends with the normal end S35, and the flowchart of FIG. 9 ends with the normal end S35.
After 45, the synchronous data check processing S48 is performed and the processing ends. In the current synchronization data check process S48, a value different from the “1”, for example, “0” is detected as the value of the synchronization data SD of the message ME received last time. The unit 52 does not operate.
【0089】したがって、送信側プロセッサ40では次
のメッセージMEを送信するための送信起動処理S30
が行われ、受信側プロセッサ50では次のメッセージM
Eを受信するための受信起動処理S40が行われる。Therefore, the transmission-side processor 40 starts transmission activation processing S30 for transmitting the next message ME.
Is performed, and the next message M
A reception start process S40 for receiving E is performed.
【0090】次いで、シーケンスSE2−1のメッセー
ジ転送では、同期データSDの値を「2」としたメッセ
ージMEの転送につき、送信側でタイムアウトが検出さ
れて、転送打ち切り処理S37が行われる。Next, in the message transfer of the sequence SE2-1, a timeout is detected on the transmission side for the transfer of the message ME in which the value of the synchronous data SD is "2", and the transfer termination processing S37 is performed.
【0091】このとき受信側プロセッサ50では、タイ
ムアウトを検出していないため、前回同様、正常終了処
理S45につづいて同期データチェック処理S48が行
われ、同期データSDの値が「2」のメッセージMEが
受信され、次のメッセージMEを受信するための受信起
動処理S40が行われる。At this time, since no timeout has been detected in the receiving processor 50, the synchronous data check processing S48 is performed following the normal end processing S45 as in the previous case, and the message ME with the value of the synchronous data SD of "2" is executed. Is received, and reception start processing S40 for receiving the next message ME is performed.
【0092】当該シーケンスSE2−1につづくシーケ
ンスSE2−2では、送信側プロセッサ40の再送処理
部44が機能して、同期データSDの値が「2」のメッ
セージMEの再送処理S38を行う。In the sequence SE2-2 following the sequence SE2-1, the retransmission processing unit 44 of the transmitting processor 40 functions to perform the retransmission processing S38 of the message ME whose synchronous data SD is “2”.
【0093】再送処理S38そのものも、図8のフロー
チャート全体と同様な論理構造を持っていて、必要なら
ば2回以上繰り返して再送処理が実行されることもあ
る。The retransmission processing S38 itself has the same logical structure as the entire flow chart of FIG. 8, and if necessary, the retransmission processing may be repeatedly performed two or more times.
【0094】このステップS38で再送されたメッセー
ジMEは、送信側でも受信側でもタイムアウトを検出す
ることなく正常に受信されるものとすると、受信側プロ
セッサ50では、正常終了処理S45につづく同期デー
タチェック処理S48で、今回受信したメッセージME
の同期データSDの値が前回受信したメッセージMEと
同じ「2」であることを検出し、送信側で再送処理S3
8が行われたことを認識して、廃棄処理部52を動作さ
せる。Assuming that the message ME retransmitted in step S38 is normally received on both the transmitting side and the receiving side without detecting a timeout, the receiving processor 50 checks the synchronous data after the normal end processing S45. In process S48, the message ME received this time
Of the synchronous data SD is "2", which is the same as the previously received message ME, and the transmitting side performs retransmission processing S3.
Recognizing that step 8 has been performed, the discard processing unit 52 is operated.
【0095】廃棄処理部52は、前回受信した同期デー
タSDが「2」のメッセージMEを廃棄し、今回受信し
た同期データSDが「2」のメッセージMEを真正な受
信メッセージとして取り扱う。The discard processing unit 52 discards the message ME whose previously received synchronous data SD is “2”, and treats the message ME whose received synchronous data SD is “2” as a genuine received message.
【0096】次のシーケンスSE3−1では、同期デー
タSDが「3」のメッセージMEの転送について、受信
側プロセッサ50でタイムアウトを検出したため、送信
側プロセッサ40でも、ステップS33で送信が正常に
終了したことを確認することができず、送信側と受信側
の双方でタイムアウトを検出する。In the next sequence SE3-1, the timeout of the transfer of the message ME whose synchronous data SD is "3" has been detected by the receiving processor 50, so that the transmitting processor 40 has also successfully completed the transmission in step S33. Cannot be confirmed, and a timeout is detected on both the transmitting side and the receiving side.
【0097】このとき、送信側プロセッサ40の処理
は、転送打ち切り処理S37によって終わり、受信側プ
ロセッサ50の処理も、転送打ち切り処理S47によっ
て終わる。At this time, the processing of the transmitting processor 40 ends with the transfer abort processing S37, and the processing of the receiving processor 50 also ends with the transfer abort processing S47.
【0098】シーケンスS3−2では、転送打ち切り処
理S37で前回のメッセージ送信を終えた送信側プロセ
ッサ40が、前回と同じ同期データSDが「3」のメッ
セージMEの再送処理S47を実行する。In the sequence S3-2, the transmission-side processor 40 that has completed the previous message transmission in the transfer termination processing S37 executes the same retransmission processing S47 of the message ME whose synchronous data SD is “3” as the previous time.
【0099】このメッセージ転送は、送信側でも受信側
でもタイムアウトを検出することなく正常に終了(S3
5、S45)するものとすると、受信側では同期データ
チェック処理S48が実行されるが、前回は受信側でも
タイムアウトが検出されているため、受信側プロセッサ
50にとって、同期データSDが「3」のメッセージM
Eの受信はこれが最初となる。This message transfer is normally completed on both the transmitting side and the receiving side without detecting a timeout (S3
5, S45), the synchronous data check processing S48 is executed on the receiving side, but the timeout has been detected on the receiving side the previous time, so that the synchronous data SD of “3” is received by the receiving side processor 50. Message M
This is the first reception of E.
【0100】以降も、図7の各シーケンスと同様な動作
が繰り返され得る。Thereafter, the same operation as each sequence in FIG. 7 can be repeated.
【0101】(B−2)第2の実施形態の効果 本実施形態によれば、第1の実施形態と同様な効果を得
ることができる。(B-2) Effects of the Second Embodiment According to the present embodiment, the same effects as those of the first embodiment can be obtained.
【0102】加えて、本実施形態では、転送のタイムア
ウト時に再送を行なうことにより、転送することができ
ないデータ(メッセージ)の発生頻度を低下できるとい
う意味で、データ転送の信頼性を高めることが可能であ
る。In addition, in the present embodiment, by performing retransmission at the time of transfer timeout, it is possible to increase the reliability of data transfer in the sense that the frequency of occurrence of data (message) that cannot be transferred can be reduced. It is.
【0103】(C)他の実施形態 なお、第2の実施形態では、再送処理S38自体が、図
8のフローチャート全体と同様な論理構造を持ってい
て、必要ならば2回以上繰り返して再送処理が実行され
るものとしたが、必ずしもそのようにする必要はない。(C) Other Embodiments In the second embodiment, the retransmission processing S38 itself has the same logical structure as the entire flow chart of FIG. 8, and if necessary, repeats the retransmission processing at least twice. Is executed, but it is not necessary to do so.
【0104】例えば、転送確認S32やステータスチェ
ックS33などを行わず、画一的に、1回または所定回
数だけ、メッセージ送信を行うことを、当該再送処理S
38の内容としてもよい。For example, the message transmission is performed uniformly or once a predetermined number of times without performing the transfer confirmation S32 or the status check S33.
38.
【0105】ネットワークやプロセッサなどに発生する
障害の形態によっては、何度再送を繰り返してもタイム
アウトを検出してしまうケースも考えられ、その場合に
は当該再送を繰り返すこと自体が、発明が解決しようと
する課題の欄で述べた通信の停滞やシステムの停止など
の問題と実質的に同じ問題をもたらす可能性があるから
である。Depending on the type of failure that occurs in the network, the processor, or the like, there may be a case where a timeout is detected even if retransmission is repeated many times. In such a case, repeating the retransmission itself will solve the invention. This is because there is a possibility that substantially the same problem as the problem such as communication stagnation or system stoppage described in the section of the problem will be caused.
【0106】また、第1および第2の実施形態では、ネ
ットワーク中に含まれているプロセッサの数は2つであ
ったが、3つ以上のプロセッサ数にも対応することがで
きることは当然である。In the first and second embodiments, the number of processors included in the network is two. However, it is natural that the number of processors can be increased to three or more. .
【0107】さらに、本発明は、MPIと主要部が同じ
で、部分的に相違するような規格にも適用することが可
能である。Further, the present invention can be applied to a standard in which the main part is the same as the MPI, but partially different.
【0108】すなわち本発明は、転送命令の実行中に当
該転送命令以外の命令を実行し得る非排他的転送命令を
備えた通信関数を使用して、単位データを送信及び/又
は受信するプロセッサ間データ通信方法および装置につ
いて、広く適用することができる。That is, the present invention relates to a method for transmitting and / or receiving unit data using a communication function having a non-exclusive transfer instruction capable of executing an instruction other than the transfer instruction during execution of the transfer instruction. The data communication method and apparatus can be widely applied.
【0109】[0109]
【発明の効果】以上に説明したように、本発明によれ
ば、非排他的転送命令の利点を享有しつつ、通信効率を
高め、使い勝手を良くし、通信の信頼性を向上すること
ができる。As described above, according to the present invention, the communication efficiency can be improved, the usability can be improved, and the communication reliability can be improved while enjoying the advantages of the non-exclusive transfer instruction. .
【図1】第1の実施形態の動作を示すフローチャートで
ある。FIG. 1 is a flowchart showing an operation of the first embodiment.
【図2】従来のネットワーク中の送信または受信側のプ
ロセッサの動作を示すフローチャートである。FIG. 2 is a flowchart showing the operation of a conventional processor on the transmitting or receiving side in a network.
【図3】従来、第1および第2の実施形態のネットワー
クの構成を示す概略図である。FIG. 3 is a schematic diagram showing a configuration of a network according to the first and second embodiments.
【図4】第1および第2の実施形態で使用するデータ構
造体の構成を示す概略図である。FIG. 4 is a schematic diagram showing a configuration of a data structure used in the first and second embodiments.
【図5】第1の実施形態のプロセッサの内部構成を示す
概略図である。FIG. 5 is a schematic diagram illustrating an internal configuration of a processor according to the first embodiment.
【図6】第2の実施形態でメッセージの構造を示す概略
図である。FIG. 6 is a schematic diagram illustrating a structure of a message in the second embodiment.
【図7】第2の実施形態のプロセッサ間通信動作を示す
動作説明図である。FIG. 7 is an operation explanatory diagram illustrating an inter-processor communication operation according to the second embodiment;
【図8】第2の実施形態の送信側プロセッサの動作を示
すフローチャートである。FIG. 8 is a flowchart illustrating an operation of a transmitting processor according to the second embodiment.
【図9】第2の実施形態の受信側プロセッサの動作を示
すフローチャートである。FIG. 9 is a flowchart illustrating an operation of a receiving processor according to the second embodiment.
【図10】第2の実施形態の送信側プロセッサの内部構
成を示す概略図である。FIG. 10 is a schematic diagram illustrating an internal configuration of a transmission-side processor according to the second embodiment.
【図11】第2の実施形態の受信側プロセッサの内部構
成を示す概略図である。FIG. 11 is a schematic diagram illustrating an internal configuration of a receiving processor according to the second embodiment.
8,9,60…ネットワーク、10,11,30,3
1,40,50…プロセッサ、21、41…転送処理
部、22,42…タイムアウト監視部、23,43…転
送打ち切り部、44…再送処理部、51…同期データチ
ェック部、52…廃棄処理部、SD…同期データ、DC
…(送信)データ、ME…メッセージ。8, 9, 60: Network, 10, 11, 30, 3
1, 40, 50: Processor, 21, 41: Transfer processing unit, 22, 42: Timeout monitoring unit, 23, 43: Transfer termination unit, 44: Retransmission processing unit, 51: Synchronous data check unit, 52: Discard processing unit , SD: Synchronous data, DC
... (transmission) data, ME ... message.
フロントページの続き (72)発明者 民實 茂 東京都港区虎ノ門1丁目7番12号 沖電気 工業株式会社内 (72)発明者 杉沢 彰彦 東京都港区虎ノ門1丁目7番12号 沖電気 工業株式会社内 Fターム(参考) 5B045 BB31 BB42 BB44 JJ05 JJ14 JJ45 Continuing from the front page (72) Inventor Shigeru Minami 1-7-12 Toranomon, Minato-ku, Tokyo Oki Electric Industry Co., Ltd. (72) Inventor Akihiko Sugisawa 1-7-12 Toranomon, Minato-ku, Tokyo Oki Electric Industry F term in reference (reference) 5B045 BB31 BB42 BB44 JJ05 JJ14 JJ45
Claims (4)
命令を実行し得る非排他的転送命令を備えた通信関数を
使用して、単位メッセージを送信及び/又は受信するプ
ロセッサ間データ通信方法において、 前記単位メッセージの送信及び/又は受信に関してタイ
ムアウトを監視することを特徴とするプロセッサ間デー
タ通信方法。An inter-processor data communication method for transmitting and / or receiving a unit message using a communication function having a non-exclusive transfer instruction capable of executing an instruction other than the transfer instruction during execution of the transfer instruction. The method according to claim 1, wherein a timeout is monitored for transmission and / or reception of the unit message.
内容に関する異同を受信時に識別させるための識別情報
を、各単位メッセージに付加した請求項1のプロセッサ
間データ通信方法であって、 送信時に前記タイムアウト監視手段によってタイムアウ
トが検出された場合、前記データを再送する再送処理、
及び/又は、 受信時に、前記識別情報をもとに、受信した各単位メッ
セージの収容する情報内容の異同を調べ、同一の情報内
容を収容した単位メッセージが複数受信された場合に
は、最後に受信された単位メッセージだけを真正な単位
メッセージとして処理する受信データ選別処理を実行す
ることを特徴とするプロセッサ間データ通信方法。2. The data communication method between processors according to claim 1, wherein identification information for identifying the difference between the information contents contained in said unit message at the time of reception is added to each unit message. When a timeout is detected by the timeout monitoring unit, a retransmission process of retransmitting the data,
And / or upon receiving, based on the identification information, check for differences in information contents contained in each of the received unit messages, and when a plurality of unit messages containing the same information contents are received, finally, A data communication method between processors, comprising executing a received data selection process for processing only a received unit message as a genuine unit message.
命令を実行し得る非排他的転送命令を備えた通信関数を
使用して、単位メッセージを送信及び/又は受信するプ
ロセッサ間データ通信装置において、 前記単位メッセージの送信及び/又は受信に関してタイ
ムアウトを監視するタイムアウト監視手段を備えたこと
を特徴とするプロセッサ間データ通信装置。3. An inter-processor data communication device for transmitting and / or receiving a unit message using a communication function having a non-exclusive transfer instruction capable of executing an instruction other than the transfer instruction during execution of the transfer instruction. 2. The inter-processor data communication device according to claim 1, further comprising a timeout monitoring unit that monitors a timeout with respect to transmission and / or reception of the unit message.
内容に関する異同を受信時に識別させるための識別情報
を、各単位メッセージに付加した請求項3のプロセッサ
間データ通信装置であって、 送信時に前記タイムアウト監視手段によってタイムアウ
トが検出された場合、前記データを再送する再送手段、
及び/又は、 受信時に、前記識別情報をもとに、受信した各単位メッ
セージの収容する情報内容の異同を調べ、同一の情報内
容を収容した単位メッセージが複数受信された場合に
は、最後に受信された単位メッセージだけを真正な単位
メッセージとして処理する受信データ選別手段を備えた
ことを特徴とするプロセッサ間データ通信装置。4. The interprocessor data communication apparatus according to claim 3, wherein identification information for identifying a difference in information content contained in said unit message at the time of reception is added to each unit message. Retransmission means for retransmitting the data when a timeout is detected by the timeout monitoring means,
And / or upon receiving, based on the identification information, check for differences in information contents contained in each of the received unit messages, and when a plurality of unit messages containing the same information contents are received, finally, An inter-processor data communication device, comprising: a received data selection unit that processes only a received unit message as a genuine unit message.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2000037878A JP2001229145A (en) | 2000-02-16 | 2000-02-16 | Method and device for data communication between processors |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2000037878A JP2001229145A (en) | 2000-02-16 | 2000-02-16 | Method and device for data communication between processors |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2001229145A true JP2001229145A (en) | 2001-08-24 |
Family
ID=18561701
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2000037878A Pending JP2001229145A (en) | 2000-02-16 | 2000-02-16 | Method and device for data communication between processors |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2001229145A (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2020009450A (en) * | 2006-06-13 | 2020-01-16 | タンネンバウム、ズヴィ | Cluster computing support for application programs |
-
2000
- 2000-02-16 JP JP2000037878A patent/JP2001229145A/en active Pending
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2020009450A (en) * | 2006-06-13 | 2020-01-16 | タンネンバウム、ズヴィ | Cluster computing support for application programs |
| US11563621B2 (en) | 2006-06-13 | 2023-01-24 | Advanced Cluster Systems, Inc. | Cluster computing |
| US11570034B2 (en) | 2006-06-13 | 2023-01-31 | Advanced Cluster Systems, Inc. | Cluster computing |
| US11811582B2 (en) | 2006-06-13 | 2023-11-07 | Advanced Cluster Systems, Inc. | Cluster computing |
| US12021679B1 (en) | 2006-06-13 | 2024-06-25 | Advanced Cluster Systems, Inc. | Cluster computing |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6907547B2 (en) | Test tool and methods for testing a computer function employing a multi-system testcase | |
| US6487607B1 (en) | Methods and apparatus for remote method invocation | |
| US6393497B1 (en) | Downloadable smart proxies for performing processing associated with a remote procedure call in a distributed system | |
| US7003777B2 (en) | Coordination-centric framework for software design in a distributed environment | |
| JP3055970B2 (en) | Method and apparatus for implementing interface between object-oriented languages | |
| JP2000515278A (en) | Method and apparatus for invoking and processing objects asynchronously | |
| JPH0563821B2 (en) | ||
| CN111045797A (en) | Task scheduling execution method, related device and medium | |
| CN113992941B (en) | Cloud-edge collaborative video analysis system and method based on serverless function computing | |
| CN110825455A (en) | Application program running method, device and system | |
| Kraemer et al. | Aligning UML 2.0 state machines and temporal logic for the efficient execution of services | |
| KR102820812B1 (en) | Apparatus for non-faced treatment service, and control method thereof | |
| US10379918B2 (en) | System and method for MPI implementation in an embedded operating system | |
| JP2001229145A (en) | Method and device for data communication between processors | |
| KR20010041226A (en) | Downloadable smart proxies for performing processing associated with a remote procedure call in a distributed system | |
| JPH06301618A (en) | Remote procedure accessing method | |
| Williamson et al. | Concurrent communication and synchronization mechanisms | |
| JPS62121562A (en) | Data communication system | |
| JP3691962B2 (en) | Agent system and information processing method | |
| JPH0628322A (en) | Information processor | |
| CN116262177B (en) | Cloud gaming login methods, devices, computers, storage media, and software products | |
| Li | DynaQoS©‐RDF: a best effort for QoS‐assurance of dynamic reconfiguration of dataflow systems | |
| KR100968376B1 (en) | Device and method for processing application between different processor, and application processor(ap) communication system comprising the same device | |
| KR0143742B1 (en) | Data Communication Method for Multiprocessing System | |
| KR0175740B1 (en) | Inter-task communication method for task parallel in high speed parallel computer |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060131 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070727 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070807 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20071204 |