JP3674720B2 - 並列計算機におけるデータ転送方法 - Google Patents

並列計算機におけるデータ転送方法 Download PDF

Info

Publication number
JP3674720B2
JP3674720B2 JP27460095A JP27460095A JP3674720B2 JP 3674720 B2 JP3674720 B2 JP 3674720B2 JP 27460095 A JP27460095 A JP 27460095A JP 27460095 A JP27460095 A JP 27460095A JP 3674720 B2 JP3674720 B2 JP 3674720B2
Authority
JP
Japan
Prior art keywords
packet
command
reception
main memory
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP27460095A
Other languages
English (en)
Other versions
JPH09120391A (ja
Inventor
治彦 上埜
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP27460095A priority Critical patent/JP3674720B2/ja
Publication of JPH09120391A publication Critical patent/JPH09120391A/ja
Application granted granted Critical
Publication of JP3674720B2 publication Critical patent/JP3674720B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
(目次)
発明の属する技術分野
従来の技術(図8〜図11)
発明が解決しようとする課題(図10,図11)
課題を解決するための手段
発明の実施の形態
(a)第1実施形態の説明(図1〜図5)
(b)第2実施形態の説明(図6,図7)
発明の効果
【0002】
【発明の属する技術分野】
本発明は、複数の処理装置〔以下、PE(Processor Element)という〕を相互に通信可能に接続して構成された並列計算機におけるデータ転送方法に関し、特に、分散主記憶MIMD(Multiple Instruction stream Multiple Data stream)型並列計算機システムに用いて好適の技術に関する。
【0003】
【従来の技術】
近年、例えば数値計算や画像処理等のように膨大なデータを高速に処理する必要性から、コンピュータシステムの高速化や大容量化が要求されるている。これに伴って、複数のPEをそなえて相互に通信を行ないながら並列的に処理を行なう並列処理技術が研究・開発されている。
【0004】
一般に、並列計算機システムでは、例えば図8に示すように、n台のPE(PE番号として#1〜#nが付与されているものとする)101が、通信手段としてのPE間結合網100を介して相互に通信可能に接続されている。
各PE101には、図9に示すように、転送処理部102,命令処理部(CPU)103および主記憶104がそなえられている。
【0005】
ここで、転送処理部102は、主記憶104上のデータの送受信処理を行なうものであり、命令処理部103は、PE101相互間の通信に際してプログラム処理を行なうものである。
なお、上述のように転送処理部102と命令処理部103とを独立に設けることにより、命令処理部103の負荷とオーバヘッドとを削減できるようになっている。また、転送処理部102は、送信処理と受信処理とを同時並列的に行なえるように構成され、これにより、データ転送速度とデータ転送効率との向上をはかっている。
【0006】
ところで、近年、上述のような分散主記憶MIMD型並列計算機システムにおいては、メッセージパッシングモデルと呼ばれるプログラミングモデルを用いた並列プログラミングが盛んになりつつある。このメッセージパッシングモデルは、PE101相互間でメッセージの送受信を明示的に行なうことにより、PE101相互間のデータ転送処理とPE101相互間の同期処理とを実行するモデルである。このため、並列計算機システムにおいて、メッセージパッシングモデルを効率よく実現できるようにする必要がある。
【0007】
メッセージパッシングモデルでデータ転送を行なう際には、一般に、送信側PE101では、転送データ本体に、プログラムが指定する送信側制御データを付加する一方、受信側PE101では、受信した転送データ本体と送信側制御データとに、受信側制御データを付加して保持・管理する必要がある。
以下に、図10および図11により、従来のメッセージ転送処理について説明する。なお、図10,図11では、送信側および受信側の各PE101の主記憶104上におけるデータ保持状態が示され、時間経過が左方から右方へ進むものとして概略的な表示がなされている。
【0008】
図10に示すメッセージ転送処理では、送信側PE101上のプログラムが、まず、主記憶104上において、配列の一部等の転送データ本体201を複写するとともに、複写された転送データ本体201に、送信メッセージの識別子(以下、IDという)等の送信側制御データ202を付加することにより、パケットボディ200を組み立てる。同時に、送信側PE101上のプログラムは、主記憶104上において、パケットボディ200を転送するための通信装置(図9の転送処理部102)への転送コマンド210の組立も行なう。そして、通信装置(図9の転送処理部102)に対して、組み立てた転送コマンド210の実行を指示する〔以上、図10中の期間(1)参照〕。
【0009】
これに応じて、通信装置は、転送コマンド210によってポインティングされる主記憶104上のパケットボディ200を読み出し、転送コマンド210をパケットヘッダとして、このパケットヘッダとパケットボディ200とからなるパケットを、PE間結合網100へ送り出す。PE間結合網100は、パケットヘッダ内の転送コマンド210に含まれる受信側PE101の指定情報に従い、パケットを受信側PE101へ転送する〔以上、図10中の期間(2)参照〕。
【0010】
受信側PE101では、パケットヘッダ内の転送コマンド210は通信装置(図9の転送処理部102)へ送られ、コマンド解析等の処理が実行されるとともに、送信側制御データ202および転送データ本体201を含むパケットボディ200は、主記憶104上のメッセージ受信キュー110内に格納される〔以上、図10中の期間(3)参照〕。
【0011】
そして、受信側PE101上のプログラムが、主記憶104上において、受信側制御データ220を、受信したメッセージ(パケットボディ200)に付加する〔図10中の期間(4)参照〕。この受信側制御データ220には、受信メッセージのIDや、メッセージ受信キュー110内のメッセージをポインティングするための情報などが含まれている。
【0012】
一方、図11に示すメッセージ転送処理では、送信側PE101上のプログラムが、まず、主記憶104上において、送信メッセージの識別子(以下、IDという)等の送信側制御データ202を組み立てるとともに、この送信側制御データ202を転送するための通信装置への転送コマンド210Aと、転送データ本体201を転送するための通信装置への転送コマンド210Bとを組み立てる。そして、通信装置(図9の転送処理部102)に対して、組み立てた2つの転送コマンド210A,210Bの実行を指示する〔以上、図11中の期間(1)参照〕。
【0013】
これに応じて、通信装置は、転送コマンド210Aによってポインティングされる主記憶104上の送信側制御データ202を読み出し、転送コマンド210Aをパケットヘッダ、送信側制御データ202をパケットボディとして、1つ目のパケットを、PE間結合網100へ送り出す。
続いて、通信装置は、転送コマンド210Bによってポインティングされる主記憶104上の転送データ本体201を読み出し、転送コマンド210Bをパケットヘッダ、転送データ本体201をパケットボディとして、2つ目のパケットを、PE間結合網100へ送り出す。
【0014】
PE間結合網100は、これら2つのパケットを、各パケットヘッダ内の転送コマンド210A,210Bに含まれる受信側PE101の指定情報に従って、受信側PE101へ転送する〔以上、図11中の期間(2)参照〕。
受信側PE101では、各パケットのパケットヘッダ内の転送コマンド210A,210Bは通信装置(図9の転送処理部102)へ送られ、コマンド解析等の処理が実行されるとともに、パケットボディとして転送されてきた送信側制御データ202および転送データ本体201は、一体化されて、主記憶104上のメッセージ受信キュー110内に格納される〔以上、図11中の期間(3)参照〕。
【0015】
そして、受信側PE101上のプログラムが、主記憶104上において、受信側制御データ220を、受信したメッセージ(一体化された送信側制御データ202および転送データ本体201)に付加する〔図11中の期間(4)参照〕。この受信側制御データ220には、前述と同様、受信メッセージのIDや、メッセージ受信キュー110内のメッセージをポインティングするための情報などが含まれている。
【0016】
【発明が解決しようとする課題】
しかしながら、図10に示すメッセージ転送処理では、送信側PE101の主記憶104上でメッセージ(パケットボディ200)を組み立てる際に、転送データ本体201をコピーする必要があるため、大きな処理量が必要となる。従って、大容量のメッセージ転送を行なう場合には、そのコピー処理に多大な時間を要し、メッセージパッシングを効率よく行なうことができないという課題があった。
【0017】
図11に示すメッセージ転送処理では、送信側PE101において、転送データ本体201をコピーする必要はなくなるが、1つのメッセージを転送するために2つのパケットを組み立てて転送する必要があり、2つの転送コマンド210A,210Bを組み立てなければならず、処理量が多くなって効率が悪いという課題があった。
【0018】
また、図11に示すメッセージ転送処理では、受信側PE101において、2つのパケットの間に他PEからのパケットが割り込むと以後の処理が面倒になるため、送信側PE101からの2つのパケットを受信し終えるまでは、他PEからのパケットを受信しないようにするなどの特殊な制御が必要になるなどの課題もあった。
【0019】
本発明は、このような課題に鑑み創案されたもので、転送データ本体のコピーが不要で、且つ、1個のパケット転送で1個のメッセージを転送できるようにして、メッセージ転送のための処理量を少なくし、メッセージ転送の効率化をはかった、並列計算機におけるデータ転送方法を提供することを目的とする。
【0020】
【課題を解決するための手段】
このため、本発明の並列計算機におけるデータ転送方法は、通信手段を介し複数の処理装置を相互に通信可能に接続して構成された分散主記憶MIMD型並列計算機におけるデータ転送方法であって、送信側処理装置が、各種制御情報を含むパケットヘッダと転送データ本体を含むパケットボディとからなるパケットを該通信手段に対して発信するとともに、該通信手段が、該パケットを所定の受信側処理装置へ転送することにより、該送信側処理装置の主記憶上のデータを該受信側処理装置の主記憶上へ転送するものにおいて、該送信側処理装置の主記憶上に作成される前記パケットヘッダを、データ転送を指示するコマンド用のコマンド領域(ハードウエア用コマンド領域)と、プログラムにより指定されたデータを転送するための非コマンド領域(プログラム用領域)とから構成し、前記パケットヘッダの非コマンド領域に、該分散主記憶MIMD型並列計算機においてメッセージパッシングモデルでデータ転送を行なう際にプログラムによって指定され送信メッセージの識別子を含む送信側制御データを設定し、該受信側処理装置では、前記パケットを受信すると、前記パケットヘッダの非コマンド領域と前記パケットボディとを該主記憶上のメッセージ受信キューに格納するとともに、前記パケットヘッダのコマンド領域を、該主記憶上において複数のコマンド領域を格納可能に構成されたコマンド受信領域に格納し、受信に際して異常が発生しない場合には前記パケットヘッダのコマンド領域を該コマンド受信領域に対して上書きにより格納する一方、異常発生時には当該異常の発生要因に係るパケットのコマンド領域を該コマンド受信領域に保持し、該コマンド受信領域に、新たなコマンド領域を格納するための有効領域が無くなった場合には、新たなパケットの受信を停止することを特徴としている(請求項1)。
【0024】
このとき、送信側処理装置で前記パケットヘッダのコマンド領域にプロセス識別子を設定するとともに、該受信側処理装置の主記憶上に前記プロセス識別子毎にメッセージ受信キューをそなえ、該受信側処理装置では、前記パケットヘッダの非コマンド領域と前記パケットボディとを、前記パケットヘッダのコマンド領域のプロセス識別子に応じたメッセージ受信キューに格納するように構成してもよい(請求項)。
【0026】
上述した本発明の並列計算機におけるデータ転送方法および並列計算機用処理装置では、データ送信時に、データ転送を指示するコマンドがパケットヘッダのコマンド領域に設定されるとともに、プログラムにより送信側制御データがパケットヘッダの非コマンド領域に設定され、転送コマンドおよび送信側制御データの両方を含むパケットヘッダと転送データ本体を含むパケットボディとからなるパケットが、受信側処理装置に転送される。
【0027】
このとき、転送データ本体は、パケットヘッダのコマンド領域に設定された転送コマンドにより指定されパケットボディとして主記憶から読み出されるので、送信側処理装置でのパケット組立時に転送データ本体を主記憶上でコピーする必要がなく、また、パケットヘッダに送信側制御データが含まれているので、2個のパケット転送を行なう必要もなくなり、1個のパケット転送で1個のメッセージを転送することができる。
【0028】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態を説明する。
(a)第1実施形態の説明
図1は本発明の第1実施形態としての並列計算機システムの全体構成を示すブロック図であり、この図1に示すように、本実施形態の並列計算機システムも、図8に示したものとほぼ同様に、n台のPE(PE番号として#1〜#nが付与されているものとする)1が、通信手段としてのPE間結合網2を介して相互に通信可能に接続されている。
【0029】
各PE1は、図2のPE番号#1のPE1のブロック内に表記されるように、少なくとも通信装置3および主記憶4をそなえて構成されている。なお、図1においては、PE番号#1のPE1についてのみその内部を図示しているが、他のPE番号#2〜#nのPE1も、同様に構成され、後述する各種機能を有することは言うまでもない。
【0030】
ここで、通信装置3は、図9にて前述した転送処理部102と同様に、主記憶4上のデータの送受信処理を行なうもので、その詳細構成や動作については図4,図5により後述する。
そして、本実施形態の各PE1は、他PE1に対してデータ送信(メッセージ転送)を行なう際には、基本的には従来と同様、パケットヘッダ11とパケットボディ12とからなるパケット10を、PE間結合網2に対して発信するものであるが、本実施形態では、パケットヘッダ11が、データ転送を指示するための各種コマンド(詳細は図3参照;以下、通信装置転送コマンドという)15を設定されるコマンド領域(ハードウエア用コマンド領域)13と、プログラムにより指定されたデータを転送するための非コマンド領域(プログラム用領域)14とから構成され、パケットヘッダ11の非コマンド領域14には、プログラムにより送信側制御データ16が設定される。
【0031】
なお、主記憶4上の配列の一部等の転送データ本体17は、パケットヘッダ11のコマンド領域13に設定される通信装置転送コマンド15により指定され、パケットボディ17として主記憶4から読み出されるようになっている。
また、パケットヘッド11の内容は、例えば図3に示すようになっている。ここに示す例では、ワード“0”〜“15”が前述したコマンド領域13に対応する部分であり、ワード“16”〜“31”が、送信側制御データ16を設定される非コマンド領域14に対応する部分である。
【0032】
コマンド領域13に設定される通信装置転送コマンド15としては、図3に示す通り、ワード“0”に受信PE番号が、ワード“1”に送信PE番号が、ワード“2”に送信コマンドコード,送信パケット配置指定,送信ボディ配置指定,予約が設定され、同様に、ワード“3”に受信コマンドコード,受信パケット配置指定,受信ボディ配置指定,予約が設定される。さらに、ワード“4”に要素長が、ワード“5”にボディ長が、ワード“6”に送信ボディ開始アドレスが、ワード“7”に受信ボディ開始アドレスが、ワード“8”に送信ストライド距離1が、ワード“9”に送信ストライド距離1要素数が、ワード“10”に送信ストライド2が、ワード“11”に予約が、ワード“12”に受信ストライド距離1が、ワード“13”に受信ストライド距離1要素数が、ワード“14”に受信ストライド2が、ワード“15”に予約が設定される。
【0033】
ここで、上述した設定データのうち、“送信パケット配置指定”は、本実施形態では、送信パケット10(パケットヘッダ11とパケットボディ12)の配置手法は1通りしか無いので、この“送信パケット配置指定”領域の内容は無視される。
また、“受信パケット配置指定”として、例えば、“0x00”が設定された場合、パケットボディ12(転送データ本体17)は、受信ボディ開始アドレスに格納され、“OxO1”が設定された場合、後述するメッセージ受信キュー18内に、パケットヘッダ11とパケットボディ12とが格納される。
【0034】
“送信ボディ配置指定”や“受信ボディ配置指定”としては、例えば、“0x00”により連続配置が、“0x01”によりストライド配置が、“0x02”により二重ストライド配置が、“0x03”によりインダイレクト配置が指定される。
このとき、ボディ開始アドレスをS、ストライド距離1をD1、ストライド距離2をD2、ストライド距離1要素数をN1とすると、“送信ボディ配置指定”としてストライド配置が指定された場合、送信側PE1において、アドレスS, S+D1,S+2*D1,S+3*D1, …,S+N1*D1のデータが主記憶4から転送データとして読み出される一方、“受信ボディ配置指定”としてストライド配置が指定された場合、受信側PE1において、主記憶4のアドレスS,S+D1,S+2*D1,S+3*D1, …,S+N1*D1に転送データが格納されることになる。
【0035】
また、“送信ボディ配置指定”として二重ストライド配置が指定された場合、送信側PE1において、アドレス
S, S+D1, S+2*D1,..............,S+N1*D1,
S+N1*D1+D2, S+N1*D1+D2+D1, S+N1*D1+D2+2*D1,.....,S+2*N1*D1+D2,
S+2*N1*D1+2*D2,S+2*N1*D1+2*D2+D1,S+2*N1*D1+2*D2+2*D1,.,S+3*N1*D1+2*D2,
S+3*N1*D1+3*D2,............
のデータが主記憶4から転送データとして読み出される一方、“受信ボディ配置指定”として二重ストライド配置が指定された場合、受信側PE1において、主記憶4における上記アドレスに転送データが格納されることになる。
【0036】
上述のような転送コマンドをパケットヘッダ11のコマンド領域13に設定することにより、本実施形態のパケットボディ12では、送信側PE1の主記憶4上の配列のストライド転送や部分配列転送等を行なうことができる。ただし、受信側PE1の主記憶4上でのパケットボディ12は、図2や図6に示すように、常に連続データとして格納される。
【0037】
次に、図2により、第1実施形態の並列計算機システムにおけるデータ転送手順を説明する。なお、図2では、送信側および受信側の各PE1の主記憶4上におけるデータ保持状態が示され、時間経過が左方から右方へ進むものとして概略的な表示がなされている。
図2に示すように、送信側PE1上のプログラムが、まず、主記憶4上において、転送データ本体17を転送するための通信装置転送コマンド15を、コマンド領域13に指定するとともに、図3に示したごとくコマンド領域13に連続する非コマンド領域14に、送信メッセージのID等の送信側制御データ16を指定する。これらのコマンド領域13と非コマンド領域14とを合わせてパケットヘッダ11とする。そして、通信装置3(図1参照)に対し、パケットヘッダ11のコマンド領域13内の通信装置転送コマンド15の実行を指示する〔以上、図2中の期間(1)参照〕。
【0038】
これに応じて、送信側通信装置3は、通信装置転送コマンド15によってポインティングされる主記憶4上のパケットボディ17をパケットボディ12として読み出し、通信装置転送コマンド15および送信側制御データ16を含むパケットヘッダ11を付加し、パケット10を形成してPE間結合網2へ送り出す。PE間結合網2は、パケットヘッダ11内の通信装置転送コマンド15に含まれる受信側PE1の指定情報に従い、パケット10を受信側PE1へ転送する〔以上、図2中の期間(2)参照〕。
【0039】
受信側PE1では、パケットヘッダ11の通信装置転送コマンド15は、受信側通信装置3へ送られ、コマンド解析等の処理が実行されるとともに、パケット10の全体、つまり、通信装置転送コマンド15および送信側制御データ16を含むパケットヘッダ11と、転送データ本体17を含むパケットボディ12との両方が、主記憶4上のサイクリックキューであるメッセージ受信キュー18内に格納される〔以上、図2中の期間(3)参照〕。
【0040】
そして、受信側PE1上のプログラムが、主記憶4上において、受信側制御データ19を、受信したメッセージ(パケット10)に付加する〔図2中の期間(4)参照〕。この受信側制御データ19には、受信メッセージのIDや、メッセージ受信キュー18内のメッセージをポインティングするための情報などが含まれている。
【0041】
なお、送信側PE1で、パケットヘッダ11のコマンド領域13に、通信装置転送コマンド15の情報の一つとしてプロセスIDを設定する一方、受信側PE1の主記憶4上にプロセスID毎に複数のメッセージ受信キュー18をそなえておいてもよい。この場合、受信側PE1では、パケットヘッダ11とパケットボディ12との両方が、パケットヘッダ11のコマンド領域13のプロセスIDに応じたメッセージ受信キュー18に格納される。
【0042】
ところで、次に、本実施形態の各PE1における通信装置3の詳細構成について、図4を参照しながら説明する。なお、この図4に示す通信装置3は、後述する第2実施形態でも用いられるものである。
通信装置3は、大きく分けて3つの部分、即ち、送信系3A,受信系3Bおよび主記憶アクセス制御部3Cから構成されている。主記憶アクセス制御部3Cは、送信系3Aおよび受信系3Bからの指令に応じ主記憶4に対してアクセスを行ない、主記憶4から送信系3Aへのデータ転送や、受信系3Bから主記憶4へのデータ転送を制御するものである。
【0043】
送信系3Aは、コマンドレジスタ21,デコーダ22,制御回路23,アドレスレジスタ24,セレクタ25,加算器26,ボディアドレスレジスタ27,アドレス生成回路28,パケットヘッダキューベースアドレスレジスタ29,送信ポインタ30,1加算器31,送信末尾ポインタ32,比較器33および出力バッファ34から構成されている。
【0044】
ここで、コマンドレジスタ21は、データ送信時に、主記憶アクセス制御部3Cを介して主記憶4から読み出されたパケットヘッダ11の通信装置転送コマンド15を一時的に保持するものである。
デコーダ22は、コマンドレジスタ21に保持された転送コマンド15を解析するものであり、制御回路23は、このデコーダ22の解析結果に基づいて、送信系3Aの各部を制御するものである。
【0045】
アドレスレジスタ24は、主記憶4から読み出すべき転送データの主記憶上アドレスを一時的に保持するもので、このアドレスレジスタ24には、セレクタ25により選択されたアドレスデータが保持されるようになっている。
セレクタ25は、加算器26,ボディアドレスレジスタ27またはアドレス生成回路28のいずれかからのアドレスデータを選択して、アドレスレジスタ24に出力するものである。
【0046】
加算器26は、パケットヘッダ11を主記憶4から読み出すために、パケットヘッダ11の部分に対応するアドレスを順次生成するもので、レジスタ29に保持されるパケットヘッダキューベースアドレス(パケットヘッダ11の主記憶4上の先頭アドレス)と、送信ポインタ30の値とを加算してセレクタ25へ出力する。送信ポインタ30は、初期値として0が設定されているが、データ送信を開始すると、その送信ポインタ30の値は、1加算器31により1ずつカウントアップされる。
【0047】
従って、加算器26からの出力は、パケットヘッダキューベースアドレスを初期値として1ずつ順に増加する。このような加算器26からのアドレス値は、パケットヘッダキューベースアドレスからパケットヘッダ11の最終アドレスに到達するまで、セレクタ25を介してアドレスレジスタ24に順次設定される。これにより、パケットヘッダ11が、主記憶アクセス制御部3Cを介して主記憶4から読み出される。
【0048】
また、ボディアドレスレジスタ27は、ボディアドレス(主記憶4上の転送データ本体17の先頭アドレス,前述したボディ開始アドレスS)を保持するものであり、パケットヘッダ11の読出後には、セレクタ25により、このレジスタ27のボディアドレスがアドレスレジスタ24に設定されることで、パケットボディ12を成す転送データ本体17の読出が開始される。
【0049】
ボディアドレスがアドレスレジスタ24に設定されると、以降、セレクタ25は、アドレス生成回路28からのアドレス値を選択して、順次、アドレスレジスタ24に設定するように動作する。
このとき、アドレス生成回路28は、転送コマンド15中で指定される送信ボディ配置に応じ、ボディアドレスを初期値としてアドレス生成を行なうもので、送信ボディ配置が連続配置指定であればボディアドレスから1ずつ増加する値を出力するほか、送信ボディ配置がストライド配置指定あるいは二重ストライド配置指定であれば、前述した計算式に基づいてアドレス値を生成する。
【0050】
このようなアドレス生成回路28からのアドレス値は、セレクタ25を介してアドレスレジスタ24に順次設定され、これにより、転送データ本体17が、パケットボディ12として、主記憶アクセス制御部3Cを介して主記憶4から順次読み出される。
上述のごとく読み出されたパケットヘッダ11およびパケットボディ12は、パケット10として出力バッファ34に保持され、図5にて後述するごとく、PE間結合網2を経由して、受信側PE1へ転送されるようになっている。
【0051】
なお、送信末尾ポインタ32は、送信末尾のポインタ値を予め設定されるものであり、比較器33は、送信ポインタ30の値と送信末尾ポインタ32の値とを比較し、一致した場合には送信停止信号を出力するものである。
一方、受信系3Bは、コマンドレジスタ35,デコーダ36,制御回路37,入力バッファ38,アドレスレジスタ39,セレクタ40,加算器41,コマンド受信領域アドレスレジスタ42,43,アドレス生成回路44,メッセージ受信キューベースアドレスレジスタ45,受信ポインタ46,1加算器47,受信先頭ポインタ48および比較器49から構成されている。
【0052】
ここで、コマンドレジスタ35は、PE間結合網2からのデータ受信時に、パケットヘッダ11の通信装置転送コマンド15を一時的に保持するものであり、デコーダ36は、コマンドレジスタ35に保持された転送コマンド15を解析するものであり、制御回路37は、このデコーダ36の解析結果に基づいて、受信系3Bの各部を制御するものである。
【0053】
入力バッファ38は、PE間結合網2を介して送信側PE1から受信したパケット10を一時的に保持するもので、この入力バッファ38に保持されたパケット10のデータは、図5や図7に示すフローチャートに従って後述するごとく、アドレスレジスタ39に示されるアドレスと組になって、順次、主記憶アクセス制御部3Cを介して主記憶4上のメッセージ受信キュー18に格納されるようになっている。
【0054】
アドレスレジスタ39は、入力バッファ38に保持されているパケット10を書き込むべき主記憶4上のアドレスを一時的に保持するもので、このアドレスレジスタ39には、セレクタ40により選択されたアドレスデータが保持されるようになっている。
セレクタ40は、加算器41,コマンド受信領域アドレスレジスタ42,43またはアドレス生成回路44のいずれかからのアドレスデータを選択して、アドレスレジスタ39に出力するものである。なお、コマンド受信領域アドレスレジスタ42,43は、第1実施形態では用いられず、後述する第2実施形態を実現する際に使用されるもので、これらの構成要素の構成・動作については第2実施形態の説明中で行なう。
【0055】
加算器41は、入力バッファ38に保持されているパケット10を主記憶4上のメッセージ受信キュー18に格納する際の書込アドレスを順次生成するためのもので、レジスタ45に保持されるメッセージ受信キューベースアドレス(メッセージ受信キュー18の空きの先頭アドレス)と、受信ポインタ46の値とを加算してセレクタ40へ出力する。
【0056】
受信ポインタ46は、初期値として0が設定されているが、主記憶4へのデータ書込を開始すると、その受信ポインタ46の値は、メッセージ受信キュー18に対してこの受信キュー18の1ブロック分のデータが書き込まれる度に、1加算器47により1ずつカウントアップされ、セレクタ40を介してアドレスレジスタ39に設定されるようになっている。
【0057】
従って、加算器41からの出力は、メッセージ受信キューベースアドレスを初期値として1ブロック分のデータ書込毎に1ずつ順に増加する。このような加算器41からのアドレス値は、パケット10を全て書き込むまで、セレクタ40を介してアドレスレジスタ39に順次設定される。
そして、パケット10のデータは、アドレスレジスタ39に順次設定されるアドレスと組になって、主記憶アクセス制御部3Cを介して主記憶4のメッセージ受信キュー18に書き込まれる。
【0058】
このとき、アドレス生成回路44は、加算器41からのアドレス値がアドレスレジスタ39に設定されると、入力バッファ38から主記憶4へのデータ書込を行なう度に、アドレスレジスタ39に設定されたアドレス値に対して1回のデータ格納バイト長を加算するもので、その加算結果は、セレクタ40を介してアドレスレジスタ39に設定される。このアドレス生成回路44による加算処理は、1ブロック分のデータ書込を完了するかパケット10全ての書込を終了するまで行なわれる。
【0059】
なお、受信先頭ポインタ48は、サイクリックキューであるメッセージ受信キュー18の先頭ポインタ値を予め設定されるものであり、比較器49は、受信ポインタ46の値と受信先頭ポインタ48の値とを比較し、一致した場合には受信溢れ信号を出力するものである。
次に、第1実施形態の動作〔特にデータ受信時(PE間結合網2および受信系3B)の動作〕について、図5のフローチャート(ステップS1〜S12)に従って説明する。
【0060】
PE間結合網2は、このPE間結合網2に接続された各PE1の入力バッファ38の空きワード数を、常時、捕捉しており(ステップS1)、所定PE1を宛先(受信側PE)とするパケット10が存在し、且つ、この受信側PE1の入力バッファ38が空いている場合には(ステップS2)、1ワード目にパケット送信開始信号を伴ってパケット10の転送を開始し(ステップS3)、受信側PE1の入力バッファ38の空き状態に応じて、パケット10の全体をその受信側PE1に転送する(ステップS4)。このステップS4による処理は、1つのパケット10の転送を終了するまで(ステップS5でYES判定となるまで)繰り返し行なわれ、パケット10の転送を終了すると、ステップS1に戻る。
【0061】
ステップS3,S4によりPE間結合網2から受信側PE1へのパケット転送が開始されると、受信側PE1の通信装置3内の受信系3Bでは、入力バッファ38が空いている限り、パケット10を読み込む(ステップS6)。このとき、パケットヘッダ11内のコマンドコード(通信装置転送コマンド15)が流れるタイミングで、その転送コマンド15をコマンドレジスタ35に読み込む(ステップS7)。
【0062】
ステップS7によりコマンドレジスタ35に読み込まれたコマンドコードはデコーダ36により解読されて、パケット10の受信格納方法を制御するための信号が、制御回路37により生成される(ステップS8)。
本実施形態では、図2により前述したように、パケット10の全体、つまり、通信装置転送コマンド15および送信側制御データ16を含むパケットヘッダ11と、転送データ本体17を含むパケットボディ12との両方を、主記憶4上のメッセージ受信キュー18にエンキューすべく、まず、セレクタ40により、加算器41からのアドレス値が選択されてアドレスレジスタ39に設定される。
【0063】
つまり、アドレスレジスタ39には、まず、メッセージ受信キューベースアドレスレジスタ45の値と受信ポインタ46の値との加算値が設定される。受信ポインタ46の値は、メッセージ受信キュー18に対して1ブロック分のパケットデータの格納を終える毎に1加算器47により1ずつカウントアップされる(ステップS9)。
【0064】
アドレスレジスタ39に設定されたアドレスと入力バッファ38からのパケットデータとを組にして主記憶アクセス制御部3Cへ送り、この主記憶アクセス制御部3Cを介して、パケットデータを主記憶4上のメッセージ受信キュー18内へ格納する(ステップS10)。
ステップS10により、パケットデータを1回格納すると、アドレス生成回路44により、アドレスレジスタ39のアドレス値に1回のデータ格納バイト長が加算され、その加算結果が、セレクタ40を介してアドレスレジスタ39に設定される(ステップS11)。
【0065】
ステップS10およびS11による処理は、メッセージ受信キュー18に対して1ブロック分のパケットデータ転送を完了するか、パケット10の全てをメッセージ受信キュー18に転送するまで(ステップS12でYES判定となるまで)繰り返し実行され、また、上述したステップS9〜S12による処理は、パケット10の受信を完了するまで、つまり、パケット10の全てをメッセージ受信キュー18に転送するまで(ステップS13でYES判定となるまで)繰り返し実行される。
【0066】
このように、本発明の第1実施形態によれば、転送コマンド15および送信側制御データ16の両方を含むパケットヘッダ11と、転送データ本体17を含むパケットボディ12とからなるパケット10が受信側PE1に転送されるので、送信側PE1でのパケット組立時に転送データ本体17を主記憶4上でコピーする必要がなく、1個のパケット転送で1個のメッセージを転送できる。従って、メッセージ転送のための処理量/オーバヘッドを少なくすることができ、このようなメッセージ転送(メッセージパッシング)の性能や効率が大幅に向上するという利点がある。
【0067】
(b)第2実施形態の説明
次に、本発明の第2実施形態について説明するが、この第2実施形態においても、送信側PE1で行なわれるパケット10の組立処理や、送信側PE1からPE間結合網2へのパケット送出処理は第1実施形態のものと全く同じであるが、第2実施形態では、図6および図7にて説明する通り、受信側PE1でのパケット10の格納手法が第1実施形態と異なっている。
【0068】
図6により、第2実施形態の並列計算機システムにおけるデータ転送手順を説明する。なお、図6でも、送信側および受信側の各PE1の主記憶4上におけるデータ保持状態が示され、時間経過が左方から右方へ進むものとして概略的な表示がなされている。
図6に示すように、送信側PE1上のプログラムが、まず、主記憶4上において、転送データ本体17を転送するための通信装置転送コマンド15を、コマンド領域13に指定するとともに、図3に示したごとくコマンド領域13に連続する非コマンド領域14に、送信メッセージのID等の送信側制御データ16を指定する。これらのコマンド領域13と非コマンド領域14とを合わせてパケットヘッダ11とする。そして、通信装置3に対し、パケットヘッダ11のコマンド領域13内の通信装置転送コマンド15の実行を指示する〔以上、図6中の期間(1)参照〕。
【0069】
これに応じて、送信側通信装置3は、通信装置転送コマンド15によってポインティングされる主記憶4上のパケットボディ17をパケットボディ12として読み出し、通信装置転送コマンド15および送信側制御データ16を含むパケットヘッダ11を付加し、パケット10を形成してPE間結合網2へ送り出す。PE間結合網2は、パケットヘッダ11内の通信装置転送コマンド15に含まれる受信側PE1の指定情報に従い、パケット10を受信側PE1へ転送する〔以上、図6中の期間(2)参照〕。ここまでの処理は、第1実施形態と全く同じである。
【0070】
第2実施形態の受信側PE1では、主記憶4上に、メッセージ受信キュー18以外に、パケットヘッダ11のコマンド領域13(転送コマンド15)を2個分格納するためのコマンド受信領域20A,20Bが設けられている。そして、図7にても後述するごとく、パケットヘッダ11の通信装置転送コマンド15は、受信側通信装置3へ送られ、コマンド解析等の処理が実行された後、コマンド受信領域20A,20Bの空き状態に応じ、コマンド受信領域20Aまたは20Bに保持される。
【0071】
このとき、第2実施形態では、受信に際して異常が発生しない場合、パケットヘッダ11のコマンド領域13は、コマンド受信領域20Aまたは20Bに対して上書きにより格納される一方、異常発生時には、当該異常の発生要因に係るパケット10のコマンド領域13をコマンド受信領域20Aまたは20Bに保持し続け、新たなコマンド領域13を格納するための有効領域が無くなった場合、コマンド受信領域20A,20Bのいずれにも転送コマンド15が保持され上書きを行なえない状況になった場合には、新たなパケット10の受信を停止し、異常要因が解消されるまで待機する。
【0072】
パケットヘッダ11のコマンド領域13(転送コマンド15)を主記憶4上のコマンド受信領域20Aまたは20Bに格納した後には、パケット10の残りの部分、つまり、非コマンド領域14における送信側制御データ16と、転送データ本体17を含むパケットボディ12とが、主記憶4上のサイクリックキューであるメッセージ受信キュー18内に格納される〔以上、図6中の期間(3)参照〕。
【0073】
そして、受信側PE1上のプログラムが、主記憶4上において、受信側制御データ19を、受信したメッセージ(送信側制御データ16および転送データ本体17)に付加する〔図2中の期間(4)参照〕。この受信側制御データ19には、受信メッセージのIDや、メッセージ受信キュー18内のメッセージをポインティングするための情報などが含まれている。
【0074】
なお、第2実施形態においても、送信側PE1で、パケットヘッダ11のコマンド領域13に、通信装置転送コマンド15の情報の一つとしてプロセスIDを設定する一方、受信側PE1の主記憶4上にプロセスID毎に複数のメッセージ受信キュー18をそなえておいてもよい。この場合、受信側PE1では、パケットヘッダ11の送信側制御データ16とパケットボディ12(転送データ本体17)とが、パケットヘッダ11のコマンド領域13のプロセスIDに応じたメッセージ受信キュー18に格納される。
【0075】
ここで、図4に示した通信装置3(受信系3B)の構成のうち、この第2実施形態に係る部分の構成について詳細に説明する。
図4に示したコマンド受信領域アドレスレジスタ42,43およびアドレス生成回路44は、パケットヘッダ11のうち通信装置転送コマンド13のみ、メッセージ受信キュー18ではなく主記憶4上のコマンド受信領域20Aまたは20Bに書き込む際に用いられる。このとき、送信側制御データ15および転送データ本体17は、前述した加算器41からのアドレス値に基づいてメッセージ受信キュー18に書き込まれる。
【0076】
コマンド受信領域アドレスレジスタ42,43は、図6に示すコマンド受信領域20A,20Bの先頭アドレスをそれぞれ保持するものであり、第2実施形態では、コマンド受信領域20A,20Bの空き状態に応じて、まず、セレクタ40が、コマンド受信領域アドレスレジスタ42または43のアドレスを選択してアドレスレジスタ39に設定するようになっている。
【0077】
コマンド受信領域アドレスがアドレスレジスタ39に設定されると、以降、セレクタ40は、アドレス生成回路44からのアドレス値を選択して、順次、アドレスレジスタ39に設定するように動作する。
このとき、アドレス生成回路44は、入力バッファ38から主記憶4へのデータ書込を行なう度に、アドレスレジスタ39に設定されたアドレス値に対して1回のデータ格納バイト長を加算するもので、その加算結果は、セレクタ40を介してアドレスレジスタ39に設定される。このアドレス生成回路44による加算処理は、パケットヘッダ11のコマンド領域13(転送コマンド15)をコマンド受信領域20Aまたは20Bに格納するまで行なわれる。
【0078】
これにより、入力バッファ38に保持されているパケットヘッダ11の転送コマンド15が、そのアドレス値と組になって、主記憶アクセス制御部3Cを介して主記憶4上のコマンド受信領域20Aまたは20Bに書き込まれる。
転送コマンド15の書込を終了すると、セレクタ40が、加算器41からのアドレス値とアドレス生成回路44からのアドレス値とを適宜選択してアドレスレジスタ39に設定するように動作することにより、入力バッファ38に保持されているパケットヘッダ11の送信側制御データ16およびパケットボディ12である転送データ本体17は、第1実施形態と全く同様にして、主記憶アクセス制御部3Cを介して主記憶4上のメッセージ転送キュー18に書き込まれるようになっている。
【0079】
次に、第2実施形態の動作〔特にデータ受信時(PE間結合網2および受信系3B)の動作〕について、図7のフローチャート(ステップS21〜S38)に従って説明する。
PE間結合網2は、第1実施形態と全く同様に、PE間結合網2に接続された各PE1の入力バッファ38の空きワード数を、常時、捕捉する(ステップS21)。そして、所定PE1を宛先(受信側PE)とするパケット10が存在し、且つ、この受信側PE1の入力バッファ38が空いている場合には(ステップS22)、1ワード目にパケット送信開始信号を伴ってパケット10の転送を開始し(ステップS23)、受信側PE1の入力バッファ38の空き状態に応じて、パケット10の全体をその受信側PE1に転送する(ステップS24)。このステップS24による処理は、1つのパケット10の転送を終了するまで(ステップS25でYES判定となるまで)繰り返し行なわれ、パケット10の転送を終了すると、ステップS21に戻る。
【0080】
ステップS23,S24によりPE間結合網2から受信側PE1へのパケット転送が開始されると、受信側PE1の通信装置3内の受信系3Bでは、入力バッファ38が空いている限り、パケット10を読み込む(ステップS26)。このとき、パケットヘッダ11内のコマンドコード(通信装置転送コマンド15)が流れるタイミングで、その転送コマンド15をコマンドレジスタ35に読み込む(ステップS27)。
【0081】
ステップS27によりコマンドレジスタ35に読み込まれたコマンドコードはデコーダ36により解読されて、パケット10の受信格納方法を制御するための信号が、制御回路37により生成される(ステップS28)。
本実施形態では、図6により前述したように、コマンド領域13の通信装置転送コマンド15を主記憶4上のコマンド受信領域20Aまたは20Bに格納するとともに、非コマンド領域14の送信側制御データ16と転送データ本体17を含むパケットボディ12とを、主記憶4上のメッセージ受信キュー18にエンキューすべく、セレクタ40により、コマンド受信領域アドレスレジスタ42,43のアドレス値,加算器41からのアドレス値もしくはアドレス生成回路44からのアドレス値のいずれかが適宜選択されてアドレスレジスタ39に設定される(後述するステップS30〜S38)。
【0082】
このとき、コマンド受信領域20Aおよび20Bの両方とも空いていなければ少なくとも一方が空き状態になるまで待機し(ステップS29)、コマンド受信領域20Aまたは20Bのいずれか一方が空き状態であれば、まず、セレクタ40により、アドレスレジスタ39に、コマンド受信領域アドレスレジスタ42または43のアドレス値を設定する(ステップS30)。
【0083】
アドレスレジスタ39に設定されたアドレスと入力バッファ38の転送コマンド15とを組にして主記憶アクセス制御部3Cへ送り、この主記憶アクセス制御部3Cを介して、転送コマンド15を主記憶4上のコマンド受信領域20Aまたは20Bに格納する(ステップS31)。
ステップS31により、転送コマンド15のデータを1回格納すると、アドレス生成回路44により、アドレスレジスタ39のアドレス値に1回のデータ格納バイト長が加算され、その加算結果が、セレクタ40を介してアドレスレジスタ39に設定される(ステップS32)。
【0084】
ステップS31およびS32による処理は、パケットヘッダ11のコマンド領域13(転送コマンド15)を全て主記憶4上のコマンド受信領域20Aまたは20Bに格納するまで(ステップS33でYES判定となるまで)繰り返し実行される。
転送コマンド15を全て主記憶4上のコマンド受信領域20Aまたは20Bに格納すると、第1実施形態とほぼ同様に、セレクタ40により、アドレスレジスタ39には、メッセージ受信キューベースアドレスレジスタ45の値と受信ポインタ46の値との加算値が設定される。受信ポインタ46の値は、メッセージ受信キュー18に対して1ブロック分のパケットデータの格納を終える毎に1加算器47により1ずつカウントアップされる(ステップS34)。
【0085】
アドレスレジスタ39に設定されたアドレスと入力バッファ38からのパケットデータ(送信側制御データ16および転送データ本体17)とを組にして主記憶アクセス制御部3Cへ送り、この主記憶アクセス制御部3Cを介して、パケットデータを主記憶4上のメッセージ受信キュー18内へ格納する(ステップS35)。
【0086】
ステップS35により、パケットデータを1回格納すると、アドレス生成回路44により、アドレスレジスタ39のアドレス値に1回のデータ格納バイト長が加算され、その加算結果が、セレクタ40を介してアドレスレジスタ39に設定される(ステップS36)。
ステップS35およびS36による処理は、メッセージ受信キュー18に対して1ブロック分のパケットデータ転送を完了するか、パケット10のうち転送コマンド15以外の全てをメッセージ受信キュー18に転送するまで(ステップS37でYES判定となるまで)繰り返し実行され、また、上述したステップS34〜S37による処理は、パケット10の受信を完了するまで、つまり、パケット10のうち転送コマンド15以外の全てをメッセージ受信キュー18に転送するまで(ステップS38でYES判定となるまで)繰り返し実行される。
【0087】
このような本発明の第2実施形態によっても、第1実施形態と同様の作用効果を得ることができるほか、第2実施形態では、転送コマンド15が、メッセージ受信キュー18と別個のコマンド受信領域20Aまたは20Bに保持され、異常受信した場合にはその異常が解消されるまで転送コマンド15が保持されているので、転送コマンド15をコマンド受信領域20Aまたは20Bから読み出してその異常受信に直ちに対処することができる。
【0088】
【発明の効果】
以上詳述したように、本発明の並列計算機におけるデータ転送方法によれば、転送コマンドおよび送信側制御データの両方を含むパケットヘッダとパケットボディとからなるパケットが受信側処理装置に転送されるので、送信側処理装置でのパケット組立時に転送データ本体を主記憶上でコピーする必要がなく、1個のパケット転送で1個のメッセージを転送できる。
【0089】
従って、メッセージ転送のための処理量/オーバヘッドを少なくすることができ、このようなメッセージ転送(メッセージパッシング)の性能や効率の向上に寄与するところが大きい。
【図面の簡単な説明】
【図1】本発明の第1実施形態としての並列計算機システムの全体構成を示すブロック図である。
【図2】第1実施形態の並列計算機システムにおけるデータ転送手順を説明するための図である。
【図3】本実施形態におけるパケットヘッダの内容を説明するための図である。
【図4】本実施形態のPEにおける通信装置の詳細構成を示すブロック図である。
【図5】第1実施形態の動作を説明するためのフローチャートである。
【図6】本発明の第2実施形態としての並列計算機システムにおけるデータ転送手順を説明するための図である。
【図7】第2実施形態の動作を説明するためのフローチャートである。
【図8】一般的な並列計算機システムの構成を示すブロック図である。
【図9】一般的な並列計算機用処理装置の構成を示すブロック図である。
【図10】並列計算機システムにおける従来のデータ転送処理を説明するための図である。
【図11】並列計算機システムにおける従来のデータ転送処理の他例を説明するための図である。
【符号の説明】
1 PE(並列計算機用処理装置)
2 PE間結合網(通信手段)
3 通信装置
3A 送信系
3B 受信系
3C 主記憶アクセス制御部
4 主記憶
10 パケット
11 パケットヘッダ
12 パケットボディ
13 コマンド領域(ハードウエア用コマンド領域)
14 非コマンド領域(プログラム用領域)
15 通信装置転送コマンド
16 送信側制御データ
17 転送データ本体
18 メッセージ受信キュー(サイクリックキュー)
19 受信側制御データ
20A,20B コマンド受信領域
21 コマンドレジスタ
22 デコーダ
23 制御回路
24 アドレスレジスタ
25 セレクタ
26 加算器
27 ボディアドレスレジスタ
28 アドレス生成回路
29 パケットヘッダキューベースアドレスレジスタ
30 送信ポインタ
31 1加算器
32 送信末尾ポインタ
33 比較器
34 出力バッファ
35 コマンドレジスタ
36 デコーダ
37 制御回路
38 入力バッファ
39 アドレスレジスタ
40 セレクタ
41 加算器
42,43 コマンド受信領域アドレスレジスタ
44 アドレス生成回路
45 メッセージ受信キューベースアドレスレジスタ
46 受信ポインタ
47 1加算器
48 受信先頭ポインタ
49 比較器

Claims (2)

  1. 通信手段を介し複数の処理装置を相互に通信可能に接続して構成された分散主記憶MIMD(Multiple Instruction stream Multiple Data stream)型並列計算機におけるデータ転送方法であって、送信側処理装置が、各種制御情報を含むパケットヘッダと転送データ本体を含むパケットボディとからなるパケットを該通信手段に対して発信するとともに、該通信手段が、該パケットを所定の受信側処理装置へ転送することにより、該送信側処理装置の主記憶上のデータを該受信側処理装置の主記憶上へ転送するデータ転送方法において、
    該送信側処理装置の主記憶上に作成される前記パケットヘッダを、データ転送を指示するコマンド用のコマンド領域と、プログラムにより指定されたデータを転送するための非コマンド領域とから構成し、
    前記パケットヘッダの非コマンド領域に、該分散主記憶MIMD型並列計算機においてメッセージパッシングモデルでデータ転送を行なう際にプログラムによって指定され送信メッセージの識別子を含む送信側制御データを設定し、
    該受信側処理装置では、前記パケットを受信すると、前記パケットヘッダの非コマンド領域と前記パケットボディとを該主記憶上のメッセージ受信キューに格納するとともに、前記パケットヘッダのコマンド領域を、該主記憶上において複数のコマンド領域を格納可能に構成されたコマンド受信領域に格納し、
    受信に際して異常が発生しない場合には前記パケットヘッダのコマンド領域を該コマンド受信領域に対して上書きにより格納する一方、異常発生時には当該異常の発生要因に係るパケットのコマンド領域を該コマンド受信領域に保持し、
    該コマンド受信領域に、新たなコマンド領域を格納するための有効領域が無くなった場合には、新たなパケットの受信を停止することを特徴とする、並列計算機におけるデータ転送方法。
  2. 該送信側処理装置で、前記パケットヘッダのコマンド領域にプロセス識別子を設定するとともに、
    該受信側処理装置の主記憶上に、前記プロセス識別子毎にメッセージ受信キューをそなえ、
    該受信側処理装置では、前記パケットヘッダの非コマンド領域と前記パケットボディとを、前記パケットヘッダのコマンド領域のプロセス識別子に応じたメッセージ受信キューに格納することを特徴とする、請求項記載の並列計算機におけるデータ転送方法。
JP27460095A 1995-10-23 1995-10-23 並列計算機におけるデータ転送方法 Expired - Fee Related JP3674720B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP27460095A JP3674720B2 (ja) 1995-10-23 1995-10-23 並列計算機におけるデータ転送方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP27460095A JP3674720B2 (ja) 1995-10-23 1995-10-23 並列計算機におけるデータ転送方法

Publications (2)

Publication Number Publication Date
JPH09120391A JPH09120391A (ja) 1997-05-06
JP3674720B2 true JP3674720B2 (ja) 2005-07-20

Family

ID=17544001

Family Applications (1)

Application Number Title Priority Date Filing Date
JP27460095A Expired - Fee Related JP3674720B2 (ja) 1995-10-23 1995-10-23 並列計算機におけるデータ転送方法

Country Status (1)

Country Link
JP (1) JP3674720B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4699685B2 (ja) * 2003-08-21 2011-06-15 パナソニック株式会社 信号処理装置及びそれを用いた電子機器
WO2020078470A1 (zh) 2018-10-18 2020-04-23 上海寒武纪信息科技有限公司 片上网络数据处理方法及装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2561759B2 (ja) * 1991-03-29 1996-12-11 インターナショナル・ビジネス・マシーンズ・コーポレイション マルチプロセッサシステムおよびそのメッセージ送受信制御装置
JP3003418B2 (ja) * 1992-09-25 2000-01-31 株式会社日立製作所 プロセッサ間データ通信方法
JPH06301618A (ja) * 1993-04-15 1994-10-28 Matsushita Electric Ind Co Ltd 遠隔手続き呼び出し方法
JP3200757B2 (ja) * 1993-10-22 2001-08-20 株式会社日立製作所 並列計算機の記憶制御方法および並列計算機

Also Published As

Publication number Publication date
JPH09120391A (ja) 1997-05-06

Similar Documents

Publication Publication Date Title
JP3165022B2 (ja) コンピュータ・システム及びメッセージ転送方法
JP3601955B2 (ja) データ転送方法およびそれに適した計算機システム
US6577542B2 (en) Scratchpad memory
US6667988B1 (en) System and method for multi-level context switching in an electronic network
US5434976A (en) Communications controller utilizing an external buffer memory with plural channels between a host and network interface operating independently for transferring packets between protocol layers
US7643511B2 (en) Frame alteration logic for network processors
JP3336816B2 (ja) マルチメディア通信装置及び方法
US6947442B1 (en) Data transfer control device and electronic equipment
WO1999005809A1 (en) System for reducing bus overhead for communications with a network interface
US5495619A (en) Apparatus providing addressable storage locations as virtual links and storing predefined destination information for any messages transmitted on virtual links at these locations
US7631313B2 (en) System and method for transferring data
CN101027634A (zh) 数据传送机制
JP4703074B2 (ja) 電子ネットワークにおけるコンテクストを切り換える装置及び方法
US5961614A (en) System for data transfer through an I/O device using a memory access controller which receives and stores indication of a data status signal
JPH0678001A (ja) ネットワークアダプタシステム
JP3674720B2 (ja) 並列計算機におけるデータ転送方法
KR100516411B1 (ko) 패킷화된 데이터 통신 인터페이스 장치의 pci-직렬 버스 인터페이스 장치를 자율적으로 동작하는 방법 및 시스템
US6457072B1 (en) System and method for effectively performing physical direct memory access operations
JP4033915B2 (ja) データストリーム制御方法及び装置
US7007156B2 (en) Multiple coprocessor architecture to process a plurality of subtasks in parallel
JP2821053B2 (ja) ネットワークシステム
US5875299A (en) disk access apparatus for performing a stride processing of data
JP3639317B2 (ja) データ転送制御装置
JP3967792B2 (ja) パケット化されたデータ通信インタフェース機器のpciシリアルバスインタフェース機器回路を自律的に動作させるための方法ならびに自律ブート回路
JP3640976B2 (ja) データ転送制御方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040120

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040322

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20050111

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050314

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20050323

TRDD Decision of grant or rejection written
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20050314

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20050419

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050420

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20080513

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20090513

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090513

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100513

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100513

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110513

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20120513

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20130513

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20140513

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees