JP3376956B2 - プロセッサ間通信装置 - Google Patents
プロセッサ間通信装置Info
- Publication number
- JP3376956B2 JP3376956B2 JP13496099A JP13496099A JP3376956B2 JP 3376956 B2 JP3376956 B2 JP 3376956B2 JP 13496099 A JP13496099 A JP 13496099A JP 13496099 A JP13496099 A JP 13496099A JP 3376956 B2 JP3376956 B2 JP 3376956B2
- Authority
- JP
- Japan
- Prior art keywords
- page
- processor
- communication
- logical
- fault
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17306—Intercommunication techniques
- G06F15/17331—Distributed shared memory [DSM], e.g. remote direct memory access [RDMA]
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Multi Processors (AREA)
Description
がネットワークによって結合された並列コンピュータで
の、仮想記憶を実現するためのプロセッサ間通信装置に
関する。
列処理において、プロセッサ間通信は必須である。ここ
で、プロセッサ間通信は複数のプロセッサ間でのデータ
のやりとりをいう。また、このプロセッサ間通信は、複
数のプロセッサで並列に処理することにより発生するも
のであって、並列処理のオーバヘッドの1つとなり、プ
ロセッサ間通信を高速に行なうことが、並列処理効果を
高めるためには必須となっている。
は、1人のユーザが処理に使用するプロセッサを決め
て、1つのプロセッサでは1人のユーザのジョブだけが
走るように、システムを空間的に分割するスペースシェ
アリングという手法が採られてきた。しかしながら、こ
の方法では、各ユーザが使用するプロセッサ数の合計
は、物理的なプロセッサ数を越えられないという制限が
ある。このような制限を克服して、複数のユーザが並列
計算機を使う方法の1つとして、時間的にプロセッサを
分割して使うタイムシェアリングの方法がある。タイム
シェアリングを行なうには、複数ユーザのジョブのメモ
リメージを外部の記憶媒体、例えばハードディスクに退
避する仮想記憶のサポートが必須となる。
の向上により、それが扱うデータ規模はますます増大し
ていく。並列処理でのデータの分配は、まず、1つのプ
ロセッサにディスクやホストマシンからデータを転送
し、分割したデータをそれぞれのプロセッサに分配する
方法が採られることが多い。このような場合、分配後に
はデータは各プロセッサの主記憶に格納されるが、最初
に1つのプロセッサの主記憶にデータをロードする時点
で、データ量が主記憶容量を越えてしまうことがある。
このような問題に対応するためにも、外部の記憶媒体、
例えばハードディスクを使って実主記憶容量以上のデー
タを扱う仮想記憶のサポートが必須である。
列計算機でサポートするには、次のような課題がある。
即ち、プロセッサ間通信が高速化したため、ページアウ
トしたページをディスクから主記憶にページインする時
間が相対的に非常に長くなったことである。そのため、
ページインのためにプロセッサ間通信を止めた時の、他
のプロセッサ間通信への影響の大きさが問題になってく
る。
ージインの説明図で、(A)は全ての領域がページイン
されている場合、(B)は通信バッファがページインさ
れている場合、(C)はプロセッサ間通信により送信デ
ータと受信領域がページインされている場合を示してい
る。従来は、図11(A)〜(C)の構成により、、ペ
ージインのためにプロセッサ間通信を止めた時の、他の
プロセッサ間通信への干渉を防止していた。
憶を使わないという解である。プロセッサ間通信の対象
になる主記憶領域は限定できないので、プログラムが使
用する全領域を実メモリに割り当てて、ページアウトし
ないことにするのである。この方法では、上に述べた並
列計算機での仮想記憶サポートの要求に答えられないと
いう課題がある。
ッサ間通信のための送信バッファ、受信バッファを設け
るものである。この方法では、送信バッファ、受信バッ
ファだけを常に実メモリに割り付けておき、プロセッサ
間通信するデータは必ず、この送信メモリバッファと受
信メモリバッファを介して転送される。そうすることに
より、プロセッサ間通信自体は、実メモリから実メモリ
への転送となり、プロセッサ間通信を止めることはな
い。しかしながら、プロセッサ間通信には、送信バッフ
ァへのデータのコピーと、受信バッファから宛先アドレ
スへのデータのコピーの2回のデータコピーが必要とな
り、プロセッサ間通信性能が著しく低下するという課題
がある。
通信時にそのプロセッサ間通信の送信データの領域と受
信領域を予め実メモリ上に割り付けてから、プロセッサ
間通信を行なうものである。この方法では、コピーする
ことなくデータが宛先アドレスに転送されるが、最初に
実メモリ上に割り当てられていることを確認するための
プロセッサ間のやりとりが必要となる。これにより、コ
ピーを行なわなくても、実質的なプロセッサ間通信の性
能が低下する。
仮想記憶自体をサポートできていない。従来方式2で
は、送信バッファへのデータのコピーと、受信バッファ
から宛先アドレスへのデータのコピーのオーバヘッドか
ら、通信性能が著しく低下する。従来方式3では、たと
え、プロセッサ間通信に関わるメモリ領域が実メモリ領
域に割り付けられていたとしても、必ず、プロセッサ間
通信の前に実メモリへの割り付けを確認するためのプロ
セッサ間通信が必要である。そこで、この確認のための
プロセッサ間通信により、プロセッサ間通信の性能が低
下する。即ち、従来の並列計算機システムで仮想記憶を
サポートした場合に、実メモリ上に割り当てられた領域
間のプロセッサ間通信の性能が低下してしまうという課
題があった。
プロセッサ間通信に関わるメモリ領域が実メモリ領域に
割り付けられている場合でも、性能低下の原因になる作
業をせずに、プロセッサ間通信の性能を良好に保持する
プロセッサ間通信装置を提供することを目的とする。
明の請求項1に記載のプロセッサ間通信装置は、図1に
示すように、CPU3、主記憶4、送信装置5、並びに
受信装置6を有するプロセッサ1が複数個、ネットワー
ク2によって結合された並列コンピュータに用いられ
る。プロセッサ間通信装置は、プロセッサ間通信で通信
されるデータの読み出しアドレスと書き込みアドレスが
論理アドレスで指定され、送信装置5と受信装置6内に
論理アドレスから物理アドレスに変換する手段TLB1
0、21を有している。
サ間通信装置は、タスクごとに割り当てられた通信ID
とプロセッサ間通信のパケットを送った送り元の論理プ
ロセッサ番号から決まる主記憶上の位置29に、該通信
IDを宛先とした該論理プロセッサ番号のプロセッサか
らのプロセッサ間通信によるデータ転送中に、ページフ
ォールトが発生したかを示すフラグ291と、該データ
転送中で直近にページフォールトした論理ページ番号2
92と、ページフォールトしたページを記憶するページ
リストの先頭アドレスを記憶する手段293と、ページ
フォールトしたページ数とを記憶する手段294を持つ
構成である。
置では、受信装置内でのアドレス変換の結果、ページの
状態がページアウトの場合には、前記のページフォール
トに関するデータを通信IDと送り元論理プロセッサ番
号によって決まる主記憶上の位置に記憶し、アドレス変
換にかかる論理ページを主記憶上のフォールトページリ
スト33に加える構成とするとよい。さらに好ましく
は、図8のステップS110に示すように、アドレス変
換にかかる論理ページを予め用意しておいたダミーペー
ジを割り当てる構成とするとよい。
LB10は、論理アドレス201を構成する論理ページ
202の情報として、論理ページの割り当てられた物理
ページ番号229と、ページの状態230として下記
(i)〜(iv)の状態を持つことを特徴とするもので
ある。 (i)物理ページが割り当てられていない無効の状態; (ii)現在主記憶になく外部記憶媒体に追い出されて
いるページアウトの状態; (iii)以前はページアウトの状態で現在ページイン
処理を行なっている際中であるページイン中の状態; (iv)該主記憶上に割り付けられているページインの
状態。
信装置でのアドレス変換時に、タスクごとに割り当てら
れた通信IDと、パケットの送り元の論理プロセッサ番
号から決定される主記憶上の場所に記憶されている論理
ページ番号と、変換しようとしている論理ページ番号と
を比較する手段222、223を持つ構成としている。
アドレス変換の結果、ページの状態230がページイン
中の場合には、比較器22を用いて論理ページの比較を
行なう。そして、論理ページ番号が同じ場合には何もせ
ず、論理ページ番号が異なった場合にだけ、その論理ペ
ージ番号をフォールトページリスト33に加え、直近に
ページフォールトした論理ページ番号292として記憶
し、ページフォールトしたページ数294を1増やす、
ことを行なう構成とするとよい。
宛先の通信IDと送り元の論理プロセッサ番号から決ま
る主記憶上の位置のデータと、パケットに付加されたデ
ータとを交換し、交換した結果を送り元のプロセッサの
決められた主記憶上の位置に書き込むチェックパケット
133を持つ。
た直後に、チェックパケット133を用いて、事前に送
ったプロセッサ間通信の受信側でのページフォールトが
あったかどうかを知る構成とするとよい。
は、第2の実施の形態で示すように、作成されるページ
フォールトしたページのリストを、リモートリードによ
って、送り元のプロセッサが読み出して、そこにある論
理ページ番号のデータだけを再送し、再度前記パケット
でページフォールトの有無を確認し、ページフォールト
が起こらなくなるまで、再送をつづける構成としてい
る。
の形態を説明する。 図1は、本発明の一実施の形態を
説明する構成ブロック図である。図において、並列コン
ピュータは、複数のプロセッサ1がネットワーク2に接
続されて構成されている。プロセッサ1は、CPU3と
主記憶4と送信装置5と受信装置6から構成される。送
信装置5内は、ヘッダ読み出し回路7、ヘッダレジスタ
8、パケット生成回路9、TLB10、割り込み発生回
路11、並びにFIFOメモリ12から構成されてい
る。
送信要求によって、主記憶4上に設けられたパーセルヘ
ッダキュー13からヘッダ14を読み出し、ヘッダの内
容を検査し、エラーがなければ、ヘッダレジスタ8に格
納する。ヘッダレジスタ8は、複数のヘッダ14を格納
できる。
内の複数のヘッダ14のうち次にパケットを送信できる
ものを選び、そのヘッダに書かれたソースアドレスをT
LB10を使って論理アドレスから物理アドレスに変換
する。そして、ヘッダレジスタ8内のヘッダ14を使っ
て、ネットワーク2に送り出すパケットのヘッダを作成
し、TLB10により変換された物理ソースアドレスか
らのデータの読み出しを主記憶4に依頼し、読み出した
送信データ15をパケットとしてネットワーク2に送り
出す。
IDとソースアドレスから、論理アドレスを物理アドレ
スに変換する。TLB10内にはアドレス変換に必要な
情報がキャッシュされているが、必要に応じて、主記憶
4上のページテーブル16にアクセスしたり、OSにペ
ージの割り当てを要求するための割り込みをおこしたり
して、アドレス変換に必要な情報を得る。
パケット生成回路9間に設けられたもので、データ幅の
変換やエラー検出符号などの作成を行なう。割り込み発
生回路11は、ヘッダ読み出し回路7でのヘッダの検査
の結果、エラーとなった場合や、TLB10における論
理アドレスから物理アドレスへの変換の際に、OSに対
して処理を依頼しなければならない時に、CPU3に対
して割り込みを発生させる。
信IDレジスタ18、送り元論理プロセッサ番号レジス
タ19、書き込みアドレスレジスタ20、TLB21、
比較器22、データ書き込み回路23、データ交換回路
24、ヘッダ書き込み回路25、並びに割り込み発生回
路26から構成される。
送られてきたパケットを一次的に格納する。通信IDレ
ジスタ18は、パケットヘッダに含まれる通信IDを格
納する。送り元論理プロセッサ番号レジスタ19は、パ
ケットヘッダに含まれる、そのパケットを送信したプロ
セッサの論理プロセッサ番号を格納する。書き込みアド
レスレジスタ20は、パケットヘッダに含まれている、
パケットのデータの書き込みアドレス(デスティネーシ
ョンアドレス)を格納する。
通信IDと、書き込みアドレスレジスタ20内のデステ
ィネーションアドレスから、論理アドレスを物理アドレ
スに変換して、データ書き込み回路23に物理書き込み
アドレスを渡す。TLB21内にはアドレス変換に必要
な情報がキャッシュされているが、必要に応じて、主記
憶4上のページテーブル16にアクセスしたり、OSに
ページの割り当てを要求するための割り込みをおこした
りして、アドレス変換に必要な情報を得る。
られてきた受信データ27を、主記憶4上の、TLB2
1から出力された書き込みアドレスに、書き込む。デー
タ交換回路24は、主記憶4上に設けられたチェックバ
ッファ28のエントリ29(以下、チェックバッファエ
ントリ29という)の値と、パケットで送られてきたデ
ータを交換し、チェックバッファエントリ29の値をヘ
ッダ書き込み回路25に出力する。
パケットに含まれる情報と、データ交換回路24からの
データとから、受信したパケットの返事のパーセルヘッ
ダを作成し、主記憶4上の返事専用のパーセルヘッダキ
ュー34にヘッダを書き込み、送信装置5内のヘッダ読
み出し回路7に送信要求を出す。
20に格納された書き込みアドレスの一部と、主記憶4
上のチェックバッファエントリ29の一部を比較し、比
較結果をデータ書き込み回路23に出力し、必要に応じ
て割り込み発生回路26を使って割り込みを発生させ
る。
比較結果で割り込みが必要な場合や、TLB21におけ
る論理アドレスから物理アドレスへの変換の際に、OS
に対して処理を依頼しなければならない時に、CPU3
に対して割り込みを発生させる。
主記憶4に設けられたもので、各通信IDのチェックバ
ッファ28へのポインタ30を格納している。受信装置
6は、通信IDレジスタ18内の通信IDと、主記憶上
のチェックバッファポインタテーブル31を使って、そ
の通信IDに対応するチェックバッファ28をアクセス
する。
られたもので、送信装置5内のヘッダ読み出し回路7
が、宛先論理プロセッサ番号を、宛先物理プロセッサ番
号と通信IDに変換するのに用いられる。フォールトペ
ージリスト33は、主記憶4に設けられたもので、ペー
ジフォールトしたページの論理ページ番号を格納する。
われる、パーセルとパケットについて説明する。パーセ
ルは通信の単位であって、そのヘッダ14がパーセルヘ
ッダキュー13に書かれる。ヘッダレジスタ8には、ヘ
ッダ読み出し回路7が、主記憶4上の宛先変換テーブル
32を使って、このパーセルヘッダの宛先を論理プロセ
ッサ番号から、物理プロセッサ番号と通信IDに、変換
したものが書き込まれる。パケットはネットワーク内を
流れる通信の単位であり、ネットワーク2を構成するス
イッチ内のFIFOメモリの容量等により、その大きさ
が限定される。1つのパーセルで送られるデータはパケ
ット生成回路9により、複数のパケットに分割され送ら
れる。
るリモートDMAパーセルの構成図で、(A)はパーセ
ルヘッダキュー13内での形式、(B)はヘッダレジス
タ8内での形式、(C)はリモートDMAパケットの形
式を示している。
ータの読み出しアドレス105からデータ長104分の
データを、宛先論理プロセッサ番号103で示された宛
先のプロセッサ1の主記憶4の書き込みアドレス106
へ書き込む機能を持つ。リモートDMAのパーセルヘッ
ダ101の先頭にはコード欄102が設けられている。
コード欄102に書き込まれた「000」は、このパー
セルヘッダがリモートDMAのヘッダであることを示し
ている。
のパーセルヘッダキュー13から読み出されたリモート
DMAのパーセルヘッダ101は宛先変換テーブル32
を使って、宛先論理プロセッサ番号103が、宛先物理
プロセッサ番号と通信ID110に変換されて、ヘッダ
レジスタ8に書き込まれる。
内のリモートDMAのパーセルヘッダ108と、そのタ
スクが持っている情報121を使って、リモートDMA
のパケット114を生成する。リモートDMAのパケッ
ト114は、リモートDMAを示す「000」が書き込
まれたコード欄115と、宛先の物理プロセッサ番号と
通信ID116と、パケット長117、送り元の論理プ
ロセッサ番号118、書き込みアドレス119、送信デ
ータ120から構成される。
内の残りデータ長111と、送信データの読み出しアド
レス112と書き込みアドレス113からパケット長1
17を決定し、リモートDMAのパケット114を生成
する。ヘッダレジスタ8内のリモートDMAのパーセル
ヘッダの残りデータ長111と、読み出しアドレス11
2、書き込みアドレス113は、1つのパケットを送信
するごとに更新され、パケット生成回路9は、残りデー
タ長111がゼロになるまで、パケットを送る。
送信や受信の途中にページフォールト等が起こらないよ
うに、読み出しアドレス112と書き込みアドレス11
3のページ境界をまたぐパケットは生成しない。即ち、
パケット生成回路9は、読み出しアドレス112のペー
ジ境界と書き込みアドレス113のページ境界では、必
ず、パケットが切られるように、パケット長117を決
定する。
説明する。図3は、この並列コンピュータで通信される
チェックパケットのパーセルとチェックパケットの返事
のパーセルの構成図で、(A)はパーセルヘッダキュー
13内での形式、(B)はヘッダレジスタ8内での形
式、(C)はチェックパケットの形式、(D)はパーセ
ルヘッダキュー13内での形式、(E)はヘッダレジス
タ8内での形式、(F)はチェックパケットの返事のパ
ケットの形式を示している。チェックパケットのパーセ
ルは、特別なアドレスにある値と交換するデータ126
を交換し、値をチェックパケットの返事のパケット15
2として返送し、指定された返事の書き込みアドレス1
25に書き込む機能を持つ。
トのパーセルヘッダ122には、チェックパケットのパ
ーセルであることを示す「100」が書き込まれたコー
ド欄123、宛先の論理プロセッサ番号124、チェッ
クパケットの返事を書き込む書き込みアドレス125、
交換するデータ126から構成される。チェックパケッ
トのパーセルヘッダ122もヘッダレジスタ8に書き込
まれる前に、宛先変換テーブル32を使って、宛先論理
プロセッサ番号124が宛先の物理プロセッサ番号と通
信ID130に変換される。
のチェックパケットのパーセルヘッダ128と、そのタ
スクの情報141から、次のようなものから構成される
チェックパケット133を作成する。コード欄134に
書き込まれた「100」は、パケットの種類がチェック
パケットであることを示す。送り元の論理プロセッサ番
号137と送り元の物理プロセッサ番号と通信ID13
8は、そのタスクが持っている情報141である。返事
の書き込みアドレス139と交換するデータ140は、
チェックパケットのパーセルヘッダ128のものをその
まま使う。チェックパケットのパーセルヘッダ128は
必ず1つのチェックパケット133として送信される。
ヘッダ142について、図3を参照して説明する。この
パーセルヘッダは受信装置6のデータ交換回路24で交
換されたチェックバッファエントリ29と、チェックパ
ケット133内にある情報とから作成され、ヘッダ書き
込み回路25によって主記憶4上の返事専用のパーセル
ヘッダキュー34に書き込まれる。
142には、チェックパケットの返事を示す「101」
が書き込まれたコード欄143と、チェックパケット1
33の送り元の物理プロセッサ番号と通信ID138を
そのまま使った宛先の物理プロセッサ番号と通信ID1
44、チェックパケット133の返事の書き込みアドレ
ス139をそのまま使った返事の書き込みアドレス14
5と、交換したチェックバッファエントリ146から構
成される。
セルヘッダキューから、チェックパケットの返事のパー
セルヘッダ142を読み出すと、チェックパケットの返
事を示す「101」が書き込まれたコード欄143を確
認する。他のリモートDMAのパーセルヘッダ101や
チェックパケットのパーセルヘッダ122の場合とは異
なり、ヘッダ読み出し回路7は、宛先プロセッサ番号を
変換しないで、パーセルヘッダキュー内のチェックパケ
ットの返事のパーセルヘッダ142に書かれた宛先の物
理プロセッサ番号と通信ID144をそのままヘッダレ
ジスタ8に書き込む。これは、チェックパケットの返事
のパーセルヘッダ142が、送信装置5のパケット生成
回路9によって作られた送り元の物理プロセッサ番号と
通信ID138をもとに、受信装置6のヘッダ書き込み
回路25によって、作られたものであり、ユーザタスク
がアクセスできない特別なパーセルヘッダキュー34に
書かれたものであるため、そのまま使っても安全である
からである。
の返事のパーセルヘッダ147からチェックパケットの
返事のパケット152を作成し、ネットワークに送り出
す。チェックパケットの返事のパーセル147も、必ず
1つのチェックパケットの返事のパケット141とな
る。
ス変換について図4を使って説明する。図4はTLB1
0の詳細を説明する構成ブロック図である。なお、TL
B21もTLB10と同様の構成となっている。図4に
おいて、論理アドレス201は、論理ページ番号202
とオフセット203によって構成されている。TLB1
0では、通信ID204と論理ページ番号202から、
物理ページ番号229とページの状態230を引く。こ
の実施例では、TLB10には4個のエントリがあり、
与えられた通信ID204と論理ページ番号202と、
4個のエントリ内の通信ID206〜209と論理ペー
ジ番号210〜213とが比較器222、223によっ
て比較され、両方が同じものの物理ページ番号214〜
217とページの状態218〜221が選択回路224
からの信号により、MUX225、226によって、選
ばれ、そのエントリの物理ページ番号229とページの
状態230が出力される。
理ページ番号の組が与えられた通信ID204と論理ペ
ージ番号202に等しいものがなければ、TLB10は
主記憶4上のページテーブル16をアクセスして、該当
するページ情報をTLB10内の4個のエントリのうち
の1個に読み出す。もし、ページテーブル16にもその
ページ情報がなければ、TLB10はOSに割り込みを
あげて新しいページ情報を設定してもらう。
いろいろなものが考えられる。最も簡単なものは、通信
ID204と論理ページ番号202を組み合わせたもの
をオフセットとする構成である。主記憶4の使用効率等
を考えると、論理アドレス201を論理ページ番号20
2とオフセット203だけではなく、セグメントと論理
ページ番号とオフセットと解釈し、セグメントごとにペ
ージテーブル16を用意する構成としてもよい。
ような状態を定義する必要がある。ページの状態230
は2bitで表されており、次のようなものがある。
示す。新規にアクセスされたページの場合もあるので、
割り込みを発生させて、OSに物理ページの割り付けを
依頼する。
ィスクにページアウトされている状態であることを示
す。この場合も割り込みを発生させて、OSに対し処理
を依頼する。
ィスクにページアウトされているが、ページイン中であ
ることを示す。この場合は、割り込みを発生させない。
ジインされていることを示す。
て説明する。図5に示すように、チェックバッファエン
トリ29には、ページフォールトが起こったかどうかを
示すページフォールトフラグ291、直近にページフォ
ールトした論理ページ番号292、ページフォールトし
たページ数294、フォールトページリスト33の先頭
アドレス293が格納されている。ページフォールトフ
ラグ291は、“0”の時にページフォールトが起こっ
ていないことを、“1”の時に、ページフォールトがす
でに起こったことを示す。
説明する。フォールトページリスト33は、1つのチェ
ックバッファエントリ29に対して1つ設けられてお
り、その先頭アドレス293はチェックバッファエント
リ29に書かれている。フォールトページリスト33に
は、ページフォールトした論理ページ番号331が書き
込まれている。フォールトページリスト33の大きさ
は、チェックバッファエントリ29内のページフォール
トしたページ数294となる。1つのパーセルヘッダで
送信できるデータの大きさは限られているので、フォー
ルトページリスト33の大きさの上限は、「1パーセル
で転送できるデータ」÷「1ページの大きさ」となる。
関して説明する。まず、前述したように、パーセルが通
信の単位である。1つのリモートDMAパーセルでは限
られた大きさの連続したアドレスのデータが通信でき
る。本実施例では、1つのリモートDMAパーセルで送
れるデータの大きさは512kバイトとする。また、1
ページの大きさは4kバイトとする。従って、フォール
トページリスト33の大きさは最大で128ページ分と
なる。このくらいの大きさなら、フォールトページリス
ト33の領域を仮想記憶のページアウトの対象から外
し、必ずページインの状態に固定することも可能であ
る。
ルを送るごとに、その直後にチェックパケットのパーセ
ルを送る。
ず、通信ライブラリは、送信するデータを1パーセルで
送れる大きさにN分割する(ステップS201)。次
に、Nが“0”かどうか調べ(ステップS202)、
“0”でないなら、1個のリモートDMAパーセルを送
る(ステップS203)。その直後に1個のチェックパ
ケットのパーセルを送る(ステップS204)。チェッ
クパケットで送る交換するデータは、ページフォールト
フラグ291が“0”のチェックバッファエントリ29
の初期値となる。
つ(ステップS205)。チェックパケットの返事は、
直前に送ったリモートDMAパーセルのデータ受信時に
ページフォールトが起こったかどうかを示すチェックバ
ッファエントリ29である。そのチェックバッファエン
トリ29のページフォールトフラグ291を調べる(ス
テップS206)。そして、もし、ページフォールトが
起こっていれば、その処理を行なって、このリモートD
MAパーセルの送信を完了する(ステップS207)。
に、このリモートDMAパーセルで送ったデータが正確
に受信されるように処理するもので、詳細は後で説明す
る。一方、もし、ページフォールトが起こっていなけれ
ば、何もしない。そして、Nを1減らし(ステップS2
08)、Nがゼロになるまで、繰り返す。
時のページフォールトに対する処理について説明する。
送信装置5内のパケット生成回路9は、ヘッダレジスタ
8内のパーセルヘッダを1つ選び(ステップS00
1)、そのパケットを生成する。そのパーセルヘッダが
リモートDMAのパーセルヘッダである場合(ステップ
S002)には、パケット生成回路9は、その送信デー
タ読み出しアドレスをTLB10を使って物理アドレス
に変換する(ステップS003)。そしてページの状態
230を調べる(ステップS004)。
TLB10は割り込みを発生させて(ステップS00
5)、OSに新しいページを割り当ててもらう(ステッ
プS006)。通常は転送するデータは事前にCPUが
作成しているので、読み出しアドレスのページの状態2
30が“00”であることはほとんどない。そして、O
Sはページの状態230を“11”にして(ステップS
007)、TLB10を割り込み状態から復帰する(ス
テップS008)。TLB10は、また、ページの状態
230を調べる(ステップS004)。
1”なら、TLB10は割り込みを発生させて(ステッ
プS009)、OSにページインの操作を開始してもら
う(ステップS010)。さらにOSは、ページの状態
230を“10”に書き変えページイン中の状態にする
(ステップS011)。そして、OSはTLB10を割
り込み状態から復帰させる(ステップS012)。TL
B10は、また、ページの状態230を調べる(ステッ
プS004)。
0”なら、TLB10は割り込みを発生させず、ページ
の状態230をパケット生成回路9に伝える。パケット
生成回路9は、そのパケットのデータがページイン中で
あるので、そのパーセルヘッダのパケットの送信を中止
し(ステップS013)、他のパーセルヘッダの送信を
試みるため、パーセルヘッダを選ぶ(ステップS00
1)。
なら、TLB10は割り込みを発生させず、ページの状
態230をパケット生成回路9に伝える。パケット生成
回路9は、主記憶4の送信データ15をアクセスし、こ
のパケットを送信する(ステップS014)。そして、
パケット長をもとに、ヘッダレジスタ内の残りデータ
長、読み出しアドレス、書き込みアドレスを更新する
(ステップS015)。そして、送ったパケットが最後
かどうか、つまり、残りデータ長がゼロかどうかを調べ
る(ステップS016)。
ケットを送るためパーセルヘッダの選択を行なう(ステ
ップS001)。もし、最後のパケットの場合には、ヘ
ッダレジスタ8からこのパーセルヘッダを消して、ヘッ
ダレジスタ8を解放する(ステップS017)。そし
て、次に送るパーセルヘッダを選択する(ステップS0
01)。
ダが、リモートDMAのパーセルではなかった場合、つ
まり、チェックパケットのパーセルヘッダか、チェック
パケットの返事のパーセルヘッダの場合には、TLB1
0を使ってアドレスの変換をする必要はなく、そのまま
パケットを送信する。これらのパーセルは1個のパケッ
トにしかならないので、パーセルヘッダをヘッダレジス
タ8から消し、ヘッダレジスタを解放する(ステップS
017)。そして、次のパーセルヘッダを選択する(ス
テップS001)。
信側でのページフォールトに対する処理について説明す
る。受信装置6は、リモートDMAのパケットが到着す
ると、パケットヘッダの情報を、通信IDレジスタ1
8、送り元プロセッサ番号レジスタ19、書き込みアド
レスレジスタ20に格納する(ステップS101)。そ
して、通信IDレジスタ18内の通信IDと、書き込み
アドレスレジスタ20内の書き込みアドレスから、TL
B21を使って、論理アドレスを物理アドレスに変換す
る(ステップS102)。
ページ番号から、そのページの物理ページ番号とページ
の状態230を引く。そして、そのページの状態230
を調べる(ステップS103)。
TLB21は割り込みを発生させて、OSに新しいペー
ジの割り当てを行なってもらう(ステップS104)。
OSは、主記憶上にある新しいページをその論理ページ
に割り当てて物理ページ番号を設定し(ステップS10
5)、ページの状態230を“11”にし(ステップS
106)、割り込み処理から抜ける(ステップS10
7)。TLB21は、新たに設定されたページ情報を調
べる(ステップS103)。
1”なら、TLB21は割り込みを発生させて、OSに
以下のような処理を依頼する(ステップS108)。ま
ず、OSはそのページのページインの処理を開始する
(ステップS109)。そして、OSは受信データを書
き捨てるために予め用意していたダミーページをその物
理ページ番号に設定し(ステップS110)、ページの
状態230をページイン中“10”にする(ステップS
111)。
り元の論理プロセッサ番号から、該当するチェックバッ
ファエントリ29をアクセスし、ページフォールトフラ
グ291を調べる(ステップS120)。もし、以前に
ページフォールトが起こっていない場合には、ページフ
ォールトフラグ291を“1”にして、フォールトペー
ジリスト33の先頭アドレスをチェックバッファエント
リ29に設定する(ステップS121)。
この論理ページ番号を、直近にページフォールトした論
理ページ番号292として書き込み(ステップS12
2)、チェックバッファエントリ29のページフォール
トしたページ数を1増やし(ステップS123)、フォ
ールトページリスト33にこの論理ページ番号を加える
(ステップS124)。そして、割り込み処理から復帰
する(ステップS125)。TLB21は、新たに設定
されたページ情報を調べる(ステップS103)。
0”なら、TLB21は割り込みを発生させず、ページ
の状態230を受信装置6に伝える。受信装置6は、そ
のパケットの通信IDからチェックバッファポインタテ
ーブル31をアクセスし、その通信IDのチェックバッ
ファの先頭アドレス30を取り出し、送り元論理プロセ
ッサ番号レジスタ19内のそのパケットの送り元の論理
プロセッサ番号をオフセットとして、チェックバッファ
エントリ29をアクセスする。そして、比較器22を使
って、そこに書かれた論理ページ番号と、このページの
論理ページ番号とを、比較する(ステップS113)。
ば、データ書き込み回路23は、その物理アドレスに受
信データを書き込む。この物理アドレスはダミーのペー
ジであり、送られてきたデータは捨てられることになる
(ステップS117)。比較の結果、2つのページ番号
が異なれば、比較器22は割り込みを発生させて(ステ
ップS115)、OSに次のことを依頼する。
の論理プロセッサ番号から、該当するチェックバッファ
エントリ29をアクセスし、ページフォールトフラグ2
91を調べる(ステップS120)。もし、以前にペー
ジフォールトが起こっていない場合には、ページフォー
ルトフラグ291を“1”にして、フォールトページリ
スト33の先頭アドレスをチェックバッファエントリ2
9に設定する(ステップS121)。
この論理ページ番号を、直近にページフォールトした論
理ページ番号292として書き込み(ステップS12
2)、チェックバッファエントリ29のページフォール
トしたページ数を1増やし(ステップS123)、フォ
ールトページリスト33にこの論理ページ番号を加える
(ステップS124)。そして、割り込み処理から復帰
する(ステップS125)。そして、データ書き込み回
路23は、その物理アドレスに受信データを書き込む。
この物理アドレスはダミーのページであり、送られてき
たデータは捨てられることになる(ステップS11
7)。
なら、TLB21は割り込みを発生させず、ページ情報
をデータ書き込み回路23に伝える。データ書き込み回
路23は、主記憶にアクセスして、送られてきたデータ
を書き込む(ステップS118)。このパケットは正常
に受信されたことになる。
った場合の送信側での通信ライブラリの処理について説
明する。チェックパケットのパーセルを送って、その返
事を調べた時、ページフォールトフラグ291が“1”
であった場合には、ページフォールトが起こったという
ことである。通信ライブラリは、割り込みをおこして、
OSに対し、ページフォールトしたページへのデータの
転送を依頼し、スリープする。
ェックバッファエントリ29に書かれたページフォール
トしたページ数と、フォールトページリスト33の先頭
アドレスを使って、ダミーページに書き込まれて捨てら
れたデータを再送する。そして、リモートDMAのパー
セルで送ろうとしたデータが全部受信された時点で、ス
リープしていた通信ライブラリをおこす。
ードパーセルを導入する。図9は、リモートリードパー
セルとチェックパケットの返事のパーセルの構成図で、
(A)はパーセルヘッダキュー13内での形式、(B)
はヘッダレジスタ8内での形式、(C)はリモートリー
ドパケットの形式、(D)はパーセルヘッダキュー13
内での形式、(E)はヘッダレジスタ8内での形式、
(F)はリモートリードの返事のパケットの形式を示し
ている。
うに、宛先論理プロセッサ番号403で指定されたプロ
セッサの読み出しアドレス405から、データ長404
分のデータを読み出し、リモートリードパーセルを送っ
たプロセッサの主記憶4の書き込みアドレス406に書
き込む機能を持つ。コード欄402に書き込まれた「1
10」は、これがリモートリードのパーセルヘッダ40
1であることを示す。リモートリードのパーセルヘッダ
401もヘッダレジスタ8に書き込まれる前に、宛先変
換テーブル32を使って、宛先論理プロセッサ番号40
3が宛先の物理プロセッサ番号と通信ID410に変換
される。
のリモートリードのパーセルヘッダ408と、そのタス
クの情報422から、次のようなものから構成されるリ
モートリードパケット414を作成する。「110」が
書き込まれたコード欄415は、それがリモートリード
のパケットであることを示す。送り元の物理プロセッサ
番号と通信ID418は、そのタスクが持っている情報
141である。データ長419と読み出しアドレス42
0、書き込みアドレス421は、リモートリードのパー
セルヘッダ408のものをそのまま使う。リモートリー
ドのパーセルヘッダ408は必ず1つのリモートリード
のパケット414として送信される。
ッダ423について説明する。このパーセルヘッダは受
信装置6のヘッダ書き込み回路25によって、リモート
リードパケット414内にある情報から作成され、主記
憶4上の返事専用のパーセルヘッダキュー34に書き込
まれる。
23には、リモートリードの返事を示す「111」が書
き込まれたコード欄424と、リモートリードパケット
414の送り元の物理プロセッサ番号と通信ID418
をそのまま使った宛先の物理プロセッサ番号と通信ID
425、データ長426、読み出しアドレス427、書
き込みアドレス428から構成される。
セルヘッダキュー34から、リモートリードの返事のパ
ーセルヘッダ423を読み出すと、リモートリードの返
事を示す「111」が書き込まれたコード欄424を確
認し、チェックパケットの返事のパーセルヘッダの場合
と同じように、宛先プロセッサ番号を変換しないで、パ
ーセルヘッダキュー内のリモートリードの返事のパーセ
ルヘッダ423に書かれた宛先の物理プロセッサ番号と
通信ID425をそのままヘッダレジスタ8に書き込
む。
ヘッダ142が、送信装置のパケット生成回路9によっ
て作られた送り元の物理プロセッサ番号と通信ID41
8をもとに、受信装置6のヘッダ書き込み回路25によ
って、作られたものであり、ユーザタスクがアクセスで
きない特別なパーセルヘッダキュー34に書かれたもの
であるため、そのまま使っても安全であるからである。
パーセルを処理するのと同じように、残りデータ長43
2と、読み出しアドレス433、書き込みアドレス43
4から、パケット長438を決定し、リモートリードの
返事のパケット435を送り出す。リモートリードの返
事のパケットは、複数送られることがある。
トDMAのパーセルと同じように、送信装置5で処理さ
れる。つまり、送信アドレスをTLB10で論理アドレ
スから物理アドレスに変換しないといけないので、送信
データがページアウトしている可能性もある。リモート
リードの返事のパーセルは、図7でのリモートDMAの
パーセルの送信処理と同じく処理される。従って、リモ
ートリードの返事のパーセルを送る時の送信側のページ
フォールトの問題は適切に処理される。
ドパーセルを使って、フォールトページリスト33を送
信側通信ライブラリが読み、該当するページの部分を再
送するものである。
図で、ここでは適宜図5も参照して説明する。通信ライ
ブラリは、1個のリモートDMAのパーセルを送った
(ステップS301)後に、チェックパケットを送る
(ステップS302)。そして、そのチェックパケット
の返事を受信(ステップS303)し、チェックバッフ
ァエントリ29のページフォールトフラグ291を調べ
る(ステップS304)。もし、ページフォールトが起
こっていなければ、次のパーセルの送信を行なう。
ら、送られてきたチェックバッファエントリ29内にあ
る、フォールトページリスト33の先頭アドレスから、
ページフォールトしたページ分のデータをリモートリー
ドパーセルによって読み出す(ステップS305)。そ
して、フォールトページリスト33に書かれた論理ペー
ジに送ったデータを再送する(ステップS306)。
続していないかもしれないが、フォールトページリスト
33に書かれている順番、つまり、論理ページ番号が大
きくなる順番に、そのデータを複数のパーセルで送る。
そして、最後に、また、チェックパケットを送信してペ
ージフォールトの有無を確認する(ステップS30
2)。
ページがすでにページインされていることを期待して再
送するが、まだ、ページインされていないかもしれな
い。もし、ページインされていないページがあれば、ま
た、受信側でダミーページに書き捨てられることにな
る。通信ライブラリは、ページフォールトしたページ分
だけのデータを再送し、ページフォールトしたページは
いつかはページインされるので、いつかは、再送でのペ
ージフォールトが発生しなくなる。
に、ユーザタスクが再送をする構成としているので、O
Sの負担を軽減できるという効果がある。また、フォー
ルトページリスト33に関しては、前述したように、あ
まり大きなリストにはならないので、事前にページイン
状態に固定した領域を使うことで、フォールトページリ
スト33そのもののページフォールトを避けることがで
きる。
3がページアウトされていても、リモートリードの返事
のパーセルは、図7で示したリモートDMAのパーセル
と同じく処理されるので、送信データに関するページフ
ォールトは適切に処理される。一方、リモートリードの
返事のパケットの受信時のページフォールトであるが、
フォールトページリスト33の大きさは、たかだか1ペ
ージ分であることと、リモートリードしている側が受信
側なので、受信するページをCPUがアクセスすること
で、事前にページインできることから、ページフォール
トは回避できると考えられる。
プロセッサ間通信装置によれば、プロセッサ間通信に使
われる領域の大きさを意識しないでプログラミングでき
ることである。なぜなら、チェックバッファエントリと
フォールトページリストは主記憶に記憶されるが、プロ
グラムで使われる領域はすべて仮想記憶の対象なので、
従来方式3のようにプロセッサ間通信する主記憶の領域
を制限する必要がないからである。
よれば、ページフォールトが発生しても、ネットワーク
の閉塞が起こらないという効果がある。なぜなら、ペー
ジフォールトしたページへのデータの書き込みは、通常
のデータ受信動作と変わらず、ダミーページに書き込む
ことで、捨てられるからである。
よれば、プロセッサ間通信の性能を低下させずにすむこ
とである。なぜなら、論理ページの状態として、無効、
ページアウト、ページイン中、及びページインの4状態
に分けて、ページフォールトの確認を円滑に行なうから
である。
よれば、ページフォールトが発生した場合でも受信装置
が発生する割り込みが少ないことである。なぜなら、チ
ェックバッファエントリ内の直近にページフォールトし
た論理ページ番号と、今ページフォールトした論理ペー
ジ番号を受信装置が比較するため、同じページのページ
フォールトによる複数の割り込みを発生させずにすむか
らである。
よれば、ページフォールトが発生しない場合には、プロ
セッサ間通信の性能を低下させずにすむことである。な
ぜなら、ページフォールトの確認は大量のデータを送っ
た後に1度だけ、しかも、ページフォールトしたことを
確認するためのパケットの処理を受信装置が高速に行な
うからである。
よれば、ページフォールトした時にOSの負担を軽減で
きるという効果がある。なぜなら、第2の実施の形態で
導入したリモートリードパーセルを使うことにより、ユ
ーザタスクがフォールトページリストを読み出して、自
分でページフォールトで受信されなかったデータを再送
することができるからである。
る。
DMAパーセルの構成図である。
パケットのパーセルとチェックパケットの返事のパーセ
ルの構成図である。
である。
フォールトページリストの構成図である。
説明するフローチャートである。
ジフォールトした場合の送信装置での処理について説明
するフローチャートである。
ジフォールトした場合の受信装置での処理について説明
するフローチャートである。
トリードのパーセルとパケットの構成図である。
ページフォールトが起こった場合の、通信ライブラリの
処理について説明するフローチャートである。
説明図である。
Claims (8)
- 【請求項1】 主記憶、送信装置、並びに受信装置を有
するプロセッサが複数個、ネットワークによって結合さ
れた並列コンピュータに用いられるプロセッサ間通信装
置であって、 プロセッサ間通信で通信されるデータの読み出しアドレ
スと書き込みアドレスが論理アドレスで指定され、 該送信装置と該受信装置内に論理アドレスから物理アド
レスに変換する手段を備えると共に、 タスクごとに割り当てられた通信IDと、パケットの送
り元プロセッサの論理プロセッサ番号から決定される主
記憶上の場所に、 (i)該送り元プロセッサから該通信IDを割り当てら
れたタスクへのプロセッサ間通信時にページフォールト
が発生したかどうかを示すページフォールトフラグと、 (ii)該プロセッサ間通信時に直近にページフォール
トした論理ページ番号と、 (iii)該プロセッサ間通信時にページフォールトし
たページ数と、 (iv)ページフォールトした論理ページ番号を格納す
るフォールトページリストを格納する主記憶上の位置と
を記憶する 手段を備えたプロセッサ間通信装置。 - 【請求項2】 前記受信装置内でのアドレス変換の結
果、ページの状態がページアウトの場合に、(i)該ページフォールトフラグをONにし、 (ii)該プロセッサ間通信時に直近にページフォール
トした論理ページ番号に該アドレス変換した論理ページ
番号を記憶し、 (iii)該ページフォールトしたページ数を1増や
し、 (iv)該フォールトページリストに該アドレス変換し
た論理ページ番号を追加する ことを特徴とする請求項1
に記載のプロセッサ間通信装置。 - 【請求項3】 前記受信装置内でのアドレス変換の結
果、ページの状態がページアウトの場合に、 前記アドレス変換にかかる論理ページを予め用意してお
いたダミーページに割り当てることを特徴とする請求項
2に記載のプロセッサ間通信装置。 - 【請求項4】 該論理アドレスを構成する論理ページの
情報として、該論理ページの割り当てられた物理ページ
番号と、ページの状態として下記(i)〜(iv)の状
態を持つことを特徴とする請求項1に記載のプロセッサ
間通信装置。(i)物理ページが割り当てられていない
無効の状態; (ii)現在主記憶になく外部記憶媒体に追い出されて
いるページアウトの状態; (iii)以前はページアウトの状態で現在ページイン
処理を行なっている際中であるページイン中の状態; (iv)該主記憶上に割り付けられているページインの
状態。 - 【請求項5】 タスクごとに割り当てられた通信ID
と、パケットの送り元プロセッサの論理プロセッサ番号
から決定される主記憶上の場所に記憶されている直近に
ページフォールトした論理ページ番号と、変換した論理
ページ番号とを比較する手段を有し、 前記受信装置内でのアドレス変換の結果、ページの状態
がページイン中の場合には、 該比較手段は、該論理ページ番号が同じ場合には何もせ
ず、該論理ページ番号が異なった場合にだけ、 (i)該ページフォールトフラグをONにし、 (ii)該プロセッサ間通信時に直近にページフォール
トした論理ページ番号に変換した論理ページ番号を記憶
し、 (iii)該ページフォールトしたページ数を1増や
し、 (iv)該フォールトページリストに変換した論理ペー
ジ番号を追加することを特徴とする請求項1に記載のプ
ロセッサ間通信装置。 - 【請求項6】 送り元プロセッサは、プロセッサ間通信
の受信側でページフォルトがあったかどうかを知るため
に、前記プロセッサ間通信でデータを送った直後に、チ
ェックパケットを宛先プロセッサに対して送信し、 前記宛先プロセッサは、前記チェックパケットを受信す
ると、前記プロセッサ間通信を行っていたタスクに割当
てられた通信ID及び前記チェックパケットの送り元プ
ロセッサの論理プロセッサ番号から記憶場所が決定され
る宛先プロセッサ内の主記憶上のデータを、前記送り元
プロセッサの主記憶上の指定された位置宛に送信する こ
とを特徴とする請求項1に記載のプロセッサ間通信装
置。 - 【請求項7】 プロセッサ間通信時にページフォールト
した論理ページ番号が逐次格納されたフォールトページ
リストを、送り元プロセッサがリモートリードを用いて
読み出して、該フォールトページリストにある論理ペー
ジ番号の書き込みアドレスのデータだけを再送すること
を特徴とする請求項6に記載のプロセッサ間通信装置。 - 【請求項8】 前記再送の後で、前記パケットでページ
フォールトの有無を再度確認し、ページフォールトが起
こらなくなるまで、再送をつづけることを特徴とする請
求項7に記載のプロセッサ間通信装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP13496099A JP3376956B2 (ja) | 1999-05-14 | 1999-05-14 | プロセッサ間通信装置 |
US09/568,593 US6678722B1 (en) | 1999-05-14 | 2000-05-11 | Interprocessor communication system for parallel processing |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP13496099A JP3376956B2 (ja) | 1999-05-14 | 1999-05-14 | プロセッサ間通信装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000330960A JP2000330960A (ja) | 2000-11-30 |
JP3376956B2 true JP3376956B2 (ja) | 2003-02-17 |
Family
ID=15140615
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP13496099A Expired - Fee Related JP3376956B2 (ja) | 1999-05-14 | 1999-05-14 | プロセッサ間通信装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US6678722B1 (ja) |
JP (1) | JP3376956B2 (ja) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3780776B2 (ja) * | 1999-10-15 | 2006-05-31 | セイコーエプソン株式会社 | データ転送制御装置及び電子機器 |
JP3800037B2 (ja) | 2001-06-06 | 2006-07-19 | 日本電気株式会社 | プロセッサ間通信システム及びそれに用いるプロセッサ間通信方法 |
JP3594082B2 (ja) | 2001-08-07 | 2004-11-24 | 日本電気株式会社 | 仮想アドレス間データ転送方式 |
JP4226816B2 (ja) * | 2001-09-28 | 2009-02-18 | 株式会社東芝 | マイクロプロセッサ |
JP3904081B2 (ja) | 2003-02-21 | 2007-04-11 | 日本電気株式会社 | データ転送方法およびこれによるネットワークシステム |
US20070260754A1 (en) * | 2006-04-13 | 2007-11-08 | Irish John D | Hardware Assisted Exception for Software Miss Handling of an I/O Address Translation Cache Miss |
US20100202451A1 (en) * | 2008-10-31 | 2010-08-12 | Enfora, Inc. | Modified internet protocol (ip) data packet for asynchronous ip communications |
JP2015146115A (ja) * | 2014-02-03 | 2015-08-13 | 富士通株式会社 | 演算処理装置、情報処理装置及び演算処理装置の制御方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE69132300T2 (de) * | 1990-03-12 | 2000-11-30 | Hewlett-Packard Co., Palo Alto | Durch Anwender festgelegter direkter Speicherzugriff mit Anwendung von virtuellen Adressen |
US5386566A (en) * | 1991-03-20 | 1995-01-31 | Hitachi, Ltd. | Inter-processor communication method for transmitting data and processor dependent information predetermined for a receiving process of another processor |
JPH0619785A (ja) * | 1992-03-27 | 1994-01-28 | Matsushita Electric Ind Co Ltd | 分散共有仮想メモリーとその構成方法 |
JPH08180001A (ja) * | 1994-04-12 | 1996-07-12 | Mitsubishi Electric Corp | 通信方式及び通信方法及びネットワークインタフェース |
JP2830833B2 (ja) * | 1996-04-30 | 1998-12-02 | 日本電気株式会社 | プロセッサ間通信方法及びそれに用いるプロセッサ |
US5884313A (en) * | 1997-06-30 | 1999-03-16 | Sun Microsystems, Inc. | System and method for efficient remote disk I/O |
US6134602A (en) * | 1997-09-24 | 2000-10-17 | Microsoft Corporation | Application programming interface enabling application programs to group code and data to control allocation of physical memory in a virtual memory system |
-
1999
- 1999-05-14 JP JP13496099A patent/JP3376956B2/ja not_active Expired - Fee Related
-
2000
- 2000-05-11 US US09/568,593 patent/US6678722B1/en not_active Expired - Lifetime
Non-Patent Citations (3)
Title |
---|
小西弘一 他,MPI/DE−並列計算機Cenju−3のMPIライブラリーの性能評価,情報処理学会研究報告,日本,社団法人情報処理学会,1995年 3月 9日,Vol.95 No.28(95−HCP−55),p.97−104 |
手塚宏史 他,ピンダウンキャッシュを用いたユーザレベルゼロコピー通信,情報処理学会研究報告,日本,社団法人情報処理学会,1997年 8月22日,Vol.97 No.76(97−ARC−125),p.167−172 |
石川裕,コモディティハードウェアを用いた並列処理技術,情報処理,日本,社団法人情報処理学会,1998年 8月15日,第39巻第8号,p.784−791 |
Also Published As
Publication number | Publication date |
---|---|
JP2000330960A (ja) | 2000-11-30 |
US6678722B1 (en) | 2004-01-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0889622B1 (en) | Apparatus and method for remote buffer allocation and management for message passing between network nodes | |
EP0889623B1 (en) | System and method for efficient remote disk I/O | |
US5752078A (en) | System for minimizing latency data reception and handling data packet error if detected while transferring data packet from adapter memory to host memory | |
US20180375782A1 (en) | Data buffering | |
US6804673B2 (en) | Access assurance for remote memory access over network | |
US7194517B2 (en) | System and method for low overhead message passing between domains in a partitioned server | |
JP4719655B2 (ja) | ネットワーク上におけるプロセッサ制御技術 | |
JPH06309252A (ja) | 相互接続インタフェース | |
JPH07182260A (ja) | ネットワークパケットのフレームバッファ方法 | |
US8250260B2 (en) | Method, arrangement, data processing program and computer program product for exchanging message data in a distributed computer system | |
JP3376956B2 (ja) | プロセッサ間通信装置 | |
US7721023B2 (en) | I/O address translation method for specifying a relaxed ordering for I/O accesses | |
JPH09321827A (ja) | 周辺装置とコンピュータ・ネットワークとをインタフェースする装置 | |
US7136933B2 (en) | Inter-processor communication systems and methods allowing for advance translation of logical addresses | |
US7130936B1 (en) | System, methods, and computer program product for shared memory queue | |
US20070079077A1 (en) | System, method, and computer program product for shared memory queue | |
JP7056870B2 (ja) | 情報処理装置、情報処理方法及びプログラム | |
US20040103249A1 (en) | Memory access over a shared bus | |
US7882166B2 (en) | Inter-computer data transfer method and inter-computer network system | |
JP2924783B2 (ja) | リモートリード処理方法およびその装置 | |
EP1376975B1 (en) | Protocol duplexer and protocol duplexing method | |
JP3237599B2 (ja) | マルチプロセッサシステム及びマルチプロセッサシステムにおけるデータ転送方法 | |
US11914865B2 (en) | Methods and systems for limiting data traffic while processing computer system operations | |
WO2006061316A2 (en) | Transferring data between system and storage in a shared buffer | |
KR20000038076A (ko) | 제로-카피 메시지 패싱 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20021105 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20071206 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081206 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091206 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091206 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101206 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101206 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111206 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111206 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121206 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121206 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131206 Year of fee payment: 11 |
|
LAPS | Cancellation because of no payment of annual fees |