JPH06309252A - 相互接続インタフェース - Google Patents
相互接続インタフェースInfo
- Publication number
- JPH06309252A JPH06309252A JP6067584A JP6758494A JPH06309252A JP H06309252 A JPH06309252 A JP H06309252A JP 6067584 A JP6067584 A JP 6067584A JP 6758494 A JP6758494 A JP 6758494A JP H06309252 A JPH06309252 A JP H06309252A
- Authority
- JP
- Japan
- Prior art keywords
- message
- interface
- node
- interconnection
- packet
- 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.)
- Granted
Links
- 230000004224 protection Effects 0.000 claims abstract description 50
- 230000015654 memory Effects 0.000 claims description 62
- 230000008520 organization Effects 0.000 claims description 54
- 238000012545 processing Methods 0.000 claims description 24
- 238000000034 method Methods 0.000 description 56
- 230000008569 process Effects 0.000 description 47
- 230000005540 biological transmission Effects 0.000 description 40
- 239000000872 buffer Substances 0.000 description 13
- 238000004891 communication Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 8
- 238000012546 transfer Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000000977 initiatory effect Effects 0.000 description 3
- 230000003111 delayed effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 241000700605 Viruses Species 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
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/17—Interprocessor communication using an input/output type connection, e.g. channel, I/O port
Abstract
中断せず、メッセージ消失数を減少できる相互接続イン
タフェースを提供することを目的とする。 【構成】 パケット本体、保護キーを含むメッセージを
ホスト・コンピュータから相互接続インタフェース30
0を介して相互接続組織に接続された同様のホスト・コ
ンピュータに伝送し、相互接続インタフェース300の
受信用ターミナル302内のスロット・テーブルにスロ
ット同定値と対応するとともに、ホスト・コンピュータ
・メモリ304に記憶された保護キーを含む記録を蓄積
し、パケットの保護キーガ記録の保護キーと合致する
と、入来メッセージのスロット同定値に対応して記録に
おいて同定されたホスト・コンピュータ・メモリ304
のエリアにパケット本体を蓄積する。
Description
に関するものであり、より詳細にはマルチプロセッサ式
のデータ処理システムにおいて用いるための改良された
通信システムにおける相互接続インタフェースに関する
ものである。
ータ処理システムは、ある一つの相互接続組織によって
接続された複数のプロセッサノードからなるものであ
る。各プロセッサのノードに典型的に含まれているもの
は、一つのプロセッサ及びローカルRAMである。高速
の相互接続組織によれば、ノード間での通信が維持され
る。ある一つの演算上の問題が複数のノード間で分割さ
れて、異なるノードにおいて利用可能な特別の資源を用
いることによってその効率性を改善し、又は、ある一つ
の結果が利用可能であるのに先だって経過されねばなら
ないリアルタイムを改善するようにされる。従って、一
つのノード上で実行するプロセスは、該当のシステムの
他のノードにおいて実行される演算に依存することにな
る。種々のプロセスが相互接続組織を介して通信され、
情報の交換がなされるとともにプロセスの同期がとられ
る。
は、第1のノード上を実行するプロセスから第2のノー
ド上を実行するプロセスへと、メッセージを伝送するこ
とができる速度に依存している。各ノードに典型的に含
まれているインタフェース回路は、メッセージの送信及
び受信を管理するものである。先行技術の通信システム
においては、メッセージを受信しているノードが、該当
のメッセージが受信されたか否かの制御をする。第1の
ノード上のプロセスが第2のノード上のプロセスへのメ
ッセージの伝送を所望するときには、第1のノード上の
インタフェース回路が相互接続組織を介してメッセージ
を伝送し、そして、第2のノードにおけるインタフェー
ス回路からの確認(acknowledgement )を待つ。
2のノード上のインタフェース回路に到達したときに
は、メッセージが受信されるか、又は、該メッセージが
失われるかの二つの可能性がある。ノードがビジー過ぎ
るか又はメッセージを処理するのには満杯であるときに
は、このッセージは失われることになる。受信側は、メ
ッセージが失われたことを指示するメッセージを戻すか
若しくは沈黙の状態に留まる。いずれの場合にしても、
送信側はある時間の経過後に該当のメッセージを再送せ
ねばならない。不都合なことに、送信側には別の通信を
試行するための最適の時点を定める手段が備えられてい
ない。その理由は、最適の時点で要求されることは受信
側のノードにおいて実行しているプロセスについての知
識であり、これらのプロセスは送信側には明白ではない
ことにある。その結果として、この送信は、典型的に
は、ある所定の時間だけ待機し、これに次いで別の通信
を試行するようにプログラムされている。送信の通信開
始が早すぎるときには、受信側はまだビジー状態にあ
り、メッセージは再び失われることになる。メッセージ
が伝送され、失われる度に、相互接続組織の使用の効率
性が低下される。この低下した効率性により、他のノー
ドで実行している他のプロセスがより遅くなるようにさ
れるが、その理由は、これら他のプロセスは、相互接続
組織における十分なバンド幅を最大の速度で実行するよ
うにアクセスできないことにある。メッセージを再送す
る前の送信の待機時間が長過ぎるときには、第1のメッ
セージの主題として委任されたタスクの結果を含む第2
のノードからの戻りのメッセージを待機して止められて
いることから、この送信上のプロセスは、より低い最大
速度で実行することができる。
れられるときであっても、この先行技術の通信技術はま
だ非効率のものである。ある一つのメッセージが受信側
に到達すると、受信側におけるインタフェース回路がプ
ロセッサを中断して、入来するメッセージを扱う必要の
あることが、このセッサに対して告知される。このメッ
セージが長いものであるときには、それは典型的には幾
つかのブロックに分割される。各ブロックの到達により
典型的には個別の中断が発生される。これらの中断を処
理することにより、プロセッサが他のタスクに関してビ
ジー状態にある場合の、このプロセッサのスループット
に重大な低下が生じるようにされる。原理的にいえば、
幾つかのブロックに分割された一つの長いメッセージに
関連する中断は、その最大のメッセージを格納するのに
十分なバッファを備えたインタフェース回路を用いるこ
とによって回避することができる。しかしながら、この
ようなシステムでも、まだメッセージ毎に1回だけプロ
セッサを中断させる。これに加えて、受信側では、入来
するメッセージが受信側のローカルメモリに配置される
べき場所及びこのメッセージを移動させる際の受信側の
ローカルメモリにおけるそれらの宛先を定めるために、
典型的に著しく長い処理時間を費やす。
ムは、送信の観点からも非効率のものである。第1に、
プロセスにおいてメッセージの伝送が所望される毎に、
オペレーティングシステムの呼出しを求めることによっ
て実行されねばならない。多くのプロセスが単一のノー
ド上を実行しているときには、他のプロセスにより用い
られて、一つのプロセスを悪化させる資源の可能性が常
に存在する。一つのプロセスがインタフェース回路及び
/又は相互接続組織に対する無制限のアクセスを有する
ときには、このような悪化は可能性があるものである。
これに加えて、保護がなされねばならないものは、第2
のノード上でプロセスを「アタック」し、又は、相互接
続組織に優越する第1のノード上のプロセスに対してで
ある。先行技術においては、これらの保護は典型的には
オペレーティングシステム内で構築されている。通信の
受信側においては、そのオペレーティングシステムによ
り、受信側のメモリに書き込むことの許容がテストされ
る。送信側においては、そのオペレーティングシステム
により、一つのプロセスが他のプロセスとして仮装する
ことを停止される。不都合なことに、オペレーティング
システムの呼出しにより、通信のプロセスが低速にされ
る。
インになったとき、システムが新規なプロセッサノード
の弱点であることにある。新規なプロセッサがマルチプ
ロセッサシステムに付加されたときには、それは保護さ
れない状態で起動される。この時間中は、それは誤りを
ともなってロードされ、その結果として不可能化され
る。先行技術においては、この問題に対する解決策とし
て利用可能なものはない。
の問題は、規則的なメッセージを搬送する同じ相互接続
組織を用いることにより、プロセスに待ち時間の短い
(low-latency )同期化を付与する技術が欠如している
ことである。異なるノードを実行させるプロセスを同期
化させることは重要なことが多い。例えば、多くの適用
において、プロセッサの全てによって用いられるデータ
値を変更することは、一時に一つのプロセスだけに与え
ることができる。先行技術のシステムにおいては、個別
の相互接続組織を通して、又は、オペレーティングシス
テムの呼出しを介してのいずれかによって同期が与えら
れる。前者の解決策によれば相互接続組織のハードウエ
アのコストが著しく上昇することは明かであり、また、
後者の解決策は多くの適用に対して遅過ぎるものであ
る。
は、改良されたマルチコンピュータの相互接続インタフ
ェースを提供することにある。
態にあるために失われるメッセージの数が、先行技術の
システムと比較して著しく減少される相互接続インタフ
ェースを提供することにある。
態にあるときに、受信側が入来メッセージによって中断
されることがない相互接続インタフェースを提供するこ
とにある。
伝送する間にシステム上の他のプロセスからの偶発的な
又は悪意のあるアタックから各プロセスを保護するため
の、オペレーティングシステムの呼び出しが必要とされ
ない相互接続インタフェースを提供することにある。
ジを受信側のメモリに格納する場所を定めるために、受
信側で消費される時間量が節減される相互接続インタフ
ェースを提供することにある。
セージトラフィックのために用いられるのと同じ相互接
続組織を用い、集積化され、保護され、待ち時間の短い
同期化操作がなされる相互接続インタフェースを提供す
ることにある。
ホストコンピュータを複数のホストコンピュータを含む
マルチコンピュータのデータ処理システム内の相互接続
組織に接続させるための相互接続インタフェースであ
る。ホストコンピュータは相互に通信する相互接続組織
に接続されている。それぞれのホストコンピュータは、
相互接続組織上でメッセージの送信及び受信をすること
により、同種の相互接続インタフェースを有する他のホ
ストコンピュータと通信する。それぞれのメッセージに
は一つ又は複数のパケットが含まれており、それぞれの
パケットには、パケット本体、パケット識別情報、保護
キー及びスロット識別値である。相互接続インタフェー
スに含まれているものは、一つの受信用ターミナル及び
一つ又は複数の送信用ターミナルである。受信用ターミ
ナルにおいては、相互接続組織に接続されている他のコ
ンピュータからのメッセージを受信する。受信用端末に
は複数の記録を格納するためのスロットテーブルが含ま
れており、それぞれの記録は、相互接続組織上を伝送さ
れるメッセージに含まれているスロット識別値の可能性
のある一つのものに対応している。各記録に含まれてい
る情報は、ホストコンピュータのメモリにおける対応領
域の位置及びサイズを識別するものである。メモリのこ
の領域は、対応するスロット識別値を有する受信したメ
ッセージを格納するために用いられる。各記録には、保
護キー及び入来メッセージの構成を特定する情報も含ま
れている。ある一つの特定の記録を参照する入来メッセ
ージ内の保護キーは、記録に格納されている保護キーに
合致せねばならない。ある一つの受信用ターミナルは、
パケットにおける保護キーが記録に格納されている保護
キーと合致したときには、相互接続組織を介して受信さ
れたパケットを、入来メッセージ内のスロット識別値に
対応する記録において識別されるホストコンピュータの
メモリ領域に格納する。受信用ターミナルには、ホスト
コンピュータによる処理を待機している受信メッセージ
を特定する情報を格納するための複数のリストも含まれ
ている。
ッセージを伝送するために用いられる。各送信用ターミ
ナルに含まれている保護レジスタは、送信用ターミナル
によって伝送されるメッセージのパケットに含まれるべ
き送信用保護キーを格納するためのものである。各送信
用ターミナルに設けられるものは、相互接続組織上をメ
ッセージの意図された受信側に伝送されるべき、メッセ
ージの位置上の情報である。送信用ターミナルにおいて
はメッセージのためのパケットが発生され、そして、相
互接続組織を介してパケットが伝送される。各パケット
には送信用の保護キーが含まれている。この発明の好適
な実施例においては、保護キーが格納されるレジスタは
オペレーティングシステムによってのみ書き込むことが
可能にされる。
ースシステムが用いられる典型的なマルチプロセッサシ
ステムのブロック図である。データ処理システム10に
は複数のプロセッサノード(以下、ノードという)が含
まれている。例示的なノードは12及び14で示されて
いる。各ノードにはローカルRAM16を有するホスト
コンピュータであるプロセッサ15が含まれている。あ
る一つの特定のノードにおけるプロセッサは、相互接続
組織11を介して他のノードにおけるプロセッサとの通
信をする。該当する技術においては多様なインタフェー
ス組織の設計が知られている。ここでの検討の目的のた
めには、相互接続組織11がある一つの送信用ノードか
らある一つの受信用ノードまでの経路を提供することを
注意すれば十分である。それぞれの処理用ノードは、相
互接続インタフェース17を介して相互接続組織11に
接続されている。
ースとの間の一つのキーの差異は、送信側と受信側との
間の通信をいずれの相互接続インタフェースが制御する
かの識別をすることにある。先行技術の設計において
は、受信側が制御することは、受信側に対するメッセー
ジの伝送が成功したかどうか、及び、受信側のメモリの
どこにこのメセージが配置されたかということである。
一般的にいって、各インタフェース回路は、そのノード
においてメモリのブロックを制御する。典型的には、メ
モリの一部はインタフェース回路内にあり、メモリの一
部はローカルRAM内にある。先行技術のシステムにお
いて、ある一つの特定のノード上でメモリの割当てをす
ることは、問題のノードにおける相互接続インタフェー
ス及び/又はプロセッサによって制御される。利用可能
なメモリがフルであるとき、又は、インタフェース上を
到来するメッセージを処理するために、プロセッサがよ
り優先度の高いタスクによってビジー過ぎるときには、
先行技術においてはメッセージが失われることになる。
用いるシステムにおいては、各潜在的な送信は、受信側
でのメモリの部分を管理する。このメモリは送信側によ
って伝送されるデータを格納するために用いられる。ノ
ード12上でのプロセスに対する特定のタスクを実行す
るためにノード14上でのプロセスに命令を出す、ノー
ド12からノード14へのメッセージについて考察す
る。ノード12上での相互接続インタフェース17はメ
ッセージが挿入されるべきスペースのブロックを管理し
ていることから、ノード12上での相互接続インタフェ
ースは、ノード14にメッセージのためのスペースがあ
ることを「知る」。ノード14上でのプロセスがそのタ
スクを完了したときには、受信側のプロセスは通常は
「タスク処理完了(done with task)」メッセージを伝
送する。このメッセージは、また、該当のタスクを開始
させたメッセージのために用いられたメモリが現在はフ
リーであることを、ノード12上での相互接続インタフ
ェースに信号を出すためにも用いられる。このために、
ノード12上での相互接続インタフェース17は、各潜
在的な受信側に割り当てられるメモリの状態を常に知っ
ていることになる。送信側としては受信側での送信の資
源の状態を知っていることから、メッセージを受信する
ために受信側で割り当てられたメモリが不十分であると
きには、送信側はメッセージの伝送を回避することがで
きる。このために、受信側でのスペースの欠如のために
メッセージが失われる問題は、この発明によって回避さ
れる。
ースによれば、ホストがビジー過ぎて、新規なメッセー
ジが到来した旨の信号を出して中断をするサービスがで
きないときに、ホストの中断の防止もする。この発明を
用いるデータ処理システムにおいては、相互接続インタ
フェースで導出されたタスクについて作業していないと
きにのみ、相互接続インタフェースによりそのノードに
おけるプロセッサの中断がなされる。ホストプロセッサ
が相互接続インタフェースを介して伝送されたタスクに
ついて既に作業をしているときには、ホストプロセッサ
を中断することなく、新規のメッセージが作業キューに
対して付加される。この発明の実施例では、実行されて
いるタスクよりも優先度が低い相互接続インタフェース
導出のタスクについてホストプロセッサが作業している
ときに、中断がホストプロセッサに伝送されることも、
当業者には明かなことである。
ェース100の部分のより詳細なブロック図である図2
を参照すると、データ及びプログラムの格納のためのロ
ーカルRAM103がホストコンピュータである中央演
算装置(以下、CPUと記す)102が含まれているプ
ロセッサに対する相互接続組織からのメッセージを受信
するようにされている。送信用ターミナル、受信用ター
ミナルとしての機能を含む相互接続インタフェース10
0に含まれているインタフェースである相互接続組織イ
ンタフェース104は、相互接続組織上でメッセージを
送受信するためのものである。相互接続組織インタフェ
ース104によれば、相互接続組織上でデータを実際に
伝送することが必要とされる種々のプロトコルが管理さ
れる。このような相互接続組織インタフェースは当業者
には周知のことであるから、ここではインタフェース1
04について詳述しない。また、相互接続インタフェー
ス100には受信制御手段であるコントローラ105も
含まれていて、下記に説明される種々の論理的な動作が
なされる。コントローラ105も、該当の技術において
は通常のものである。
まれている固有のローカルメモリ106は、入来するメ
ッセージに関連した情報を格納するために用いられる。
スロット107の記録を格納するためのスロットテーブ
ルとしてのローカルメモリ106には、「スロット」と
して参照される複数の記録が含まれている。例示的なス
ロットは107において示されている。各スロットに格
納されている情報は、相互接続組織上の相互接続インタ
フェース100に接続されているある一つの特定のプロ
セッサに割り当てられたローカルRAM103における
メッセージ領域を記述するためのものである。ある一つ
のスロットに格納された情報にはローカルRAM103
におけるアドレスが含まれており、問題のプロセッサか
らのメッセージはここで格納され、また、その量のスペ
ースが割り当てられることになる。
は、誤指向のメッセージに対して保護を与えるためのも
のである。メッセージ内の各入来パケットが、このメッ
セージにおいて特定されたスロットに格納されたと同じ
保護キーを有していることを要求することにより、保護
を与えることがなされる。
は、当該スロット内のデータによって制御される受信メ
ッセージの構成を特定する情報を格納するためのもので
ある。ある一つの特定のメッセージに対して、このスペ
ースは2個のサブグループの値に分割されているものと
して観察される。その第1のサブグループにおいては、
ある一つの受信メッセージについての事項が特定され
る。これに含まれるものは、該当するメッセージの長
さ、及び、このスロットによって制御されるメモリブロ
ックの始まりに関してメッセージが始まる位置である。
その第2のサブグループは、マルチパケットメッセージ
の受信を制御するために用いられる。
6に格納されたスロット「テーブル」が用いられている
けれども、当業者には明かであるように、実際のテーブ
ルをローカルメモリとしてのローカルRAM103に格
納することができる。この場合において、スロットテー
ブルからのエントリは、キャッシュメモリにおいて用い
られるのと類似の態様で、ローカルRAM103との間
で移動することができる。
分割されて、相互接続組織を介して個別に伝送される。
多くのインタフェース組織はパケットからパケットへと
変化する予測不能な通過時間を有しているために、ある
特定のメッセージに対するパケットの到着は順不同にな
る。ある時点において唯一のメッセージだけがある一つ
の特定のスロットに伝送されている、という簡単な場合
について考察してみる。コントローラ105は、該当の
メッセージが完全である時点を決定できねばならない。
このタスクにおいてコントローラ105を助けるために
は、各々のスロットにはメッセージ識別フィールド及び
カウンタ用のフィールドが含まれており、メッセージ識
別フィールドに格納されている識別値を有するメッセー
ジに対して受信されるべく残留しているパケットのトラ
ックが維持される。送信側がメッセージの伝送をセット
アップすると、メッセージ識別及びパケットカウントが
これらのフィールドにロードされる。
ケットのカウントが0であることによって検知される。
新規なメッセージの到着では、メッセージ内のパケット
のカウントは0ではない。このパケットのために、パケ
ット残留カウンタは、該新規なメッセージ及び再ロード
されるべきメッセージ識別フィールドに対応するカウン
トに適切にセットされるようになる。このメッセージに
対する各連続するパケットはカウントが減少するように
なる。より詳細に後述されるように、いずれのパケット
でも相互接続組織において遅れる可能性があることか
ら、相互接続インタフェースは、メッセージのパケット
が、いかなる既知の順序でも受信されることを予測する
ことはできない。このために、各々のパケットは、スロ
ット情報のセットアップのために必要な、全ての決定的
な情報を反復する。例えば各々のパケットに含まれてい
るものは、メッセージ内のパケットの数、問題のパケッ
トのパケットナンバー、メッセージ識別値及び保護キー
である。
の再伝送の間のエラーを回避するために用いられる。メ
ッセージの伝送の間にエラーが生じたときには、送信側
はメッセージの再伝送をするように指示される。受信側
は、再伝送の間に到着する先行の試行からパケットを防
護し、パケット残留カウンタが誤って減少することがな
いようにせねばならない。先行するメッセージのパケッ
トの一つが相互接続組織内で遅れるときには、このよう
な状況が生起する可能性がある。このような状況を回避
するために、メッセージ識別フィールドは、それぞれの
新規なメッセージの始めにおいて再ロードされる。先行
するメッセージからの遅いパケットは、そのメッセージ
識別フィールドにおいて異なる値を有していることか
ら、遅いパケットは無視される。
るメッセージは一つだけであるとされた。各スロットに
対して多くのメッセージが進行することが許容される場
合には、各スロットに含まれるものは、許容されたメッ
セージ毎の、複数のメッセージ識別フィールド及びパケ
ットカウントフィールドである。ローカルRAM103
におけるオフセット及びメッセージ長フィールドも、可
能性のある多くのメッセージの各々に対して含まれる。
るときには、各スロットに対してメッセージカウントが
格納される。このメッセージカウントにより、ホストコ
ンピュータとしてのCPU102に対するメッセージ到
着の告知が、指示された数のメッセージが到着した後で
のみなされることを、送信側に対して特定化するために
許容するようにされる。このフィールドに対するデフォ
ルト値は0である。即ち、各入来するメッセージにおけ
る受信側に告知するようにされる。カウントが0よりも
大きい値にセットされたときには、カウントは各完了し
たメッセージ上で減少し、カウントが0に到達したとき
にのみ告知がなされる。
コントローラ105は、告知の記録を作業キュー108
に配置する。CPU102が先行のメッセージに応答し
て既に満杯であるときには、中断が生起することはな
い。この場合において、CPU102は、作業キュー1
08を介して受け入れたタスクが終了した後で、作業キ
ュー108をチェックするようにプログラムされてい
る。メッセージが完了したときに、CPU102が相互
接続インタフェースで導出されたタスクについて作業し
ていなかったとすると、CPU102はCPU102に
対する中断を発生させて、メッセージが待機している旨
をこのCPUに告知するようにされる。
トコルエラーに対する入来メッセージのチェックもす
る。例えば、プロセッサに対して割り当てられたメモリ
領域に対して長過ぎるメッセージの伝送要求、誤りの保
護キーを有するパケット等に対するチェックをする。エ
ラーの状態は、好適には、送信側よりもメッセージを受
信する側で処理される。エラーが受信側において検出さ
れたときには、受信側のオペレーティングシステムは、
更に別の問題が送信によって発生されることを防止する
ための動作をするように告知される。誤りのあるメッセ
ージを発生させる問題を送信側が有しているときに好適
であることは、該メッセージの受信側が、マルチプロセ
ッサの環境を管理するオペレーティングシステムの部分
に対して、このような状態の存在を指示することであ
る。オペレーティングシステムのこの部分は、これに次
いで、欠点のあるノードを再ブートさせるための動作を
することができる。送信側がこのようなエラーをしてい
るときには、それ自体でそれらを訂正することに依存す
ることはできない。実際のところ、エラーは伝送ノード
における悪意のあるプロセスの結果である可能性があ
る。後の場合においては、伝送ノードから離れるような
制御がされねばならない。
ースに格納された単一の作業キューが用いられているけ
れども、当業者には明かであるように、異なる優先度を
有する多くの作業キューを用いることができる。これに
加えて、実際の作業キューはホストメモリ、すなわちロ
ーカルRAM103に配置することができる。この場合
においては、作業キューに対するポインタが相互接続イ
ンタフェースに格納されることになる。
受信部分についての上述された実施例は、小さいメッセ
ージに対して最も良好に使用される。その理由は、この
実施例においては、ローカルRAM103における物理
的メモリが、送信側がメッセージを伝送できる全体的な
時間的周期にわたり、それぞれに有効な可能性のある送
信側に対して割り当てられることにある。メモリの大き
さは、対応の送信から予測される最長のメッセージを受
信するのに十分なものでなければならない。
よる相互接続インタフェースにおいては、伝送と同時に
スペースが割り当てられるプロトコルが好適に用いられ
る。この状況においては、送信側は、受信する側が要求
するスペースにおいて、オペレーティングシステムに対
してメッセージを伝送する。受信側のオペレーティング
システムがスペースを割当て、そして、それを記述した
情報を新規なスロットに配置する。これに次いで、スロ
ットナンバー及び保護キーが、伝送を実行する際に用い
られる希望の送信に対して戻される。データが受信側に
おいて処理されるときには、スロットが再指定されて、
メモリ(ローカルメモリ)が他の使用に戻される。
ム内の他のノードと互いにメッセージのサービスをする
ための最低限の大きさのメモリが割り当てられ、これら
のメモリブロックを指摘するためにローカルメモリ10
6における対応のスロットが初期化される。このため
に、システムがパワーアップされたときには、各ノード
は全ての他のノードからのメッセージを受信できるよう
にされる。これらの初期的なスロットは、ブートストラ
ップスロットととして参照される。
れるキーは、スロットが割り当てられるノードアドレス
を伝送する機能である。初期のキーは、いずれのノード
でもキーを算出できるように選択される。しかしなが
ら、可能性のあるキーから用いられるキーの数は、劣性
のあるノードが偶発的にキーを発生させる公算が小さい
ように、十分に小さいものとされる。新規なノードの始
めの動作は、より低い予測性の態様において導出される
ものに対して、これらのキーにおける変更を協議するこ
とである。このようにすることで、あるノードにおける
悪意のある処理(例えば、ウイルス)に対する防護が付
与されて、他のノードに対するメッセージの伝送が可能
にされる。
付加は、通常のブートストラップと同じやり方で達成さ
れる。ある一つのノードは、それと通信していないノー
ドと、システムを排除された(又は付加されなかった)
ものとの間の差異を決定することができない。このため
に、各ノードがローカルメモリとシステム内に潜在的に
存在する可能性があるすべてのノードに対するスロット
とを保留するときには、新規なノードは常に付加される
ことができる。
なノードの数が小さいときには、この手順により、各ノ
ードにおけるメモリについて、受け入れ難い大きさの無
駄が生じる可能性がある。この無駄を回避するために、
幾つかのノードは「ブートサーバ」として指定されるこ
とができる。全ての可能性のあるノードのために、メモ
リはこれらのノードに割り当てられる。ブートサーバに
より、いずれのノードが活動的であるかが決定される。
他のノードに保留されるスロットは、活動的であるとし
て知られているノードに対するだけのものである。ある
一つの新規なノードがオンラインにされると、この新規
なノードは、それに応答するブートサーバに対するシス
テムを探索する。ブートサーバは、これに次いで、ノー
ドにおけるオペレーティングシステム間での通信のため
のスロットを割り当てることを開始する他のノードに対
して、新規なノードの存在を通知する。
が、他のノードにおいて動作しているプロセスに対して
メッセージの伝送を所望したとすると、この希望の伝送
プロセスにより、そのノードにおけるオペレーティング
システムに対するセットアップの要求がなされる。オペ
レーティングシステムにより、メッセージの戻りに対す
る送信側のノードにおけるスロットが設定され、これに
次いで、受信側ノードにおけるオペレーティングシステ
ムに対する開始の間に、オペレーティングシステムのス
ロットセットアップに対して、オペレーティングシステ
ムを介してメッセージが伝送される。受信側ノードにお
けるオペレーティングシステムは、これに次いで、伝送
側のプロセスに対するスロットを設定し、受信側のプロ
セスに対して、制御される送信側におけるスロットの数
を告知する。
他の相互接続インタフェースからのメッセージを受信す
るやり方について上記のように説明してきたが、これか
らは、送信及び受信の双方において相互接続インタフェ
ースによって用いられるデータ構成及びコントロールレ
ジスタについて、より詳細な検討をする。この発明を用
いるデータプロセッサにおいては、全ての通信は、ター
ミナルとして参照される端点を介して実行される。図3
のブロック図は、この発明による相互接続インタフェー
ス300の好適な実施例を示すものである。相互接続イ
ンタフェース300に備えられているものは、一つの受
信用ターミナル302及び一つ又は複数の送信用ターミ
ナル303である。ターミナルの全ては、ホストコンピ
ュータのメモリにおける参照位置に対する単一のメモリ
マッピングテーブルを共有しており、また、この発明に
おいて用いられる種々のレジスタが、ホストコンピュー
タにおけるメモリアドレスとして現れている。かくし
て、ホストコンピュータは、ロード命令及び格納命令を
それぞれに介して、種々のレジスタの読み取り及び書き
込みをすることができる。また、メモリマッピングテー
ブルは、種々のレジスタに対するアクセスを制限する手
段も付与するようにされる。オペレーティングシステム
にのみアクセス可能なアドレスにレジスタを指定するこ
とにより、レジスタを駄目にする誤りのあるプロセスの
可能性が著しく低下される。インタフェース手段として
のインタフェースハードウエア308により、相互接続
組織に対するインタフェースが付与される。
るメッセージは、それぞれに、ホストコンピュータメモ
リ304で受け入れられ、又は、これから送出されるも
のである。この配列により、種々のターミナルにおける
中間バッファに対するメッセージの転送コストが軽減さ
れる。インタフェースハードウエアは図2においては1
00で示されているものであり、上記されたインタフェ
ースハードウエアているものであり、上記されたものは
受信用ターミナルの一例である。
られる送信用ターミナルは、DMA(ダイレクトメモリ
アクセス)モード及びダイレクトモードとして参照され
る二つの異なるモードで動作することができる。図4の
ブロック図は、送信用ターミナル400を示すものであ
る。送信用ターミナル400によって実行される種々の
動作は、受信制御手段であるコントローラ401によっ
て制御される。DMAモードにおいて、送信用ターミナ
ルは、好適にはホストコンピュータシステムメモリの一
部である入力キュー408からの作業をする。より詳細
に後述されるように、入力キューに含まれているディス
クリプタのリストは、相互接続組織を介して伝送される
用意のある、ホストコンピュータメモリにおけるメッセ
ージの位置を特定するものである。これらのメッセージ
は適当な順序でコントローラ401により処理される。
ダイレクトモードにおいては、相互接続組織を介して伝
送されるべき単一のメッセージが、ダイレクト送信レジ
スタ406の内容によって識別される。メッセージはバ
ッファ400が典型的である一つ又は複数のFIFO
(先入れ先出し)バッファ409に格納されている。ダ
イレクトモードは典型的には短い待ち時間を必要とする
短いメッセージのために用いられる。
システムの各ノードで実行することができるマルチコン
ピュータシステムにおいて、防護の事項は極めて重要な
ことである。システムは、異なるプロセスを装い、ま
た、システムの他のノードにおいて格納されているデー
タを駄目にする一つのノードにおける誤りのあるプロセ
スから保護されねばならない。通信の防護を確実にする
この発明によって用いられる一つの方法は、各メッセー
ジに保護キーを含ませることである。このメッセージに
おける保護キーの値は、受信側ノードの受信用ターミナ
ルにおける対応のエントリの値と合致せねばならない。
このレジスタは、送信用ターミナルに接続されたノード
におけるオペレーティングシステムによって書き込まれ
るだけである。保護キーのレジスタは「信託された」オ
ペレーティングシステムソフトウエアによってのみアク
セスされることから、誤りのあるメッセージを伝送する
ことによって他のノードにおけるプロセスを駄目にでき
る、一つのノードにおいて実行しているプロセスの可能
性が著しく低減される。
ーミナルのメッセージ伝送は、ホストメモリから相互接
続組織に対して直接的になされる。保護レジスタ、レジ
スタセット402は、このモードの動作に必要とされる
種々の値を格納するために設けられている。ターミナル
によって完成されるべき伝送タスクのリストは、ノード
のローカルRAM内に配置されたDMA入力キュー40
8に格納されている。各タスクに含まれているものは、
ターミナルを介して伝送されるべきメッセージの記述で
ある。この記述は、以下の検討においてはセンドワーク
ディスクリプタ(send-work-descriptor)として参照さ
れる。キューの位置及びサイズを特定するデータは、レ
ジスタセットとしてのDMAレジスタ402におけるレ
ジスタに格納されている。この情報は、オペレーティン
グシステムによってのみ書き込まれるものである。DM
Aレジスタ402に含まれているポインタは、DMA入
力キューにおいてターミナルによって調査された最後の
センドワークディスクリプタの物理アドレスに対するも
のである。
ークディスクリプタの内容は4個のフィールドに分割さ
れる。その第1のフィールドでは、意図された受信が識
別される。これに含まれているものは、このーバのノー
ドの識別、受信側のメモリ受け入れターミナルにおける
スロットの数、及び、問題のメッセージが受信側のメッ
セージスペースに配置されるべきアドレスを特定するオ
フセットである。その第2のフィールドで識別されるも
のは、送信側のメモリにおける物理アドレスに対するポ
インタ、及び、このポインタによって特定された送信の
メッセージスペースにおけるメッセージのオフセットで
ある。その第3のフィールドはメッセージタイプを特定
するために用いられる。この発明の好適な実施例におい
て、メッセージは、伝送メッセージ又は「リモートゲッ
ト(remote-get)」メッセージのいずれかである。ある
一つのリモートゲットメッセージのために、受信側のメ
モリにおいて特定された領域のコピーが、送信側に戻る
ように伝送される。このプロトコルは、データを含む戻
りメッセージによって追従される、受信側からのデータ
を要求するメッセージと同等のものである。しかしなが
ら、この場合においては、受信側におけるインタフェー
スハードウエアにより、受信側を擾乱させることなく戻
りメッセージが発生される。終りに、最後のフィールド
で特定されるものは、メッセージの長さ、及び、受信側
の告知のために用いられる識別コードである。
ュー408の開始の物理アドレス及びキューの長さを格
納するためのレジスタグループも含まれている。これら
のレジスタはオペレーティングシステムによって書き込
まれる。DMAレジスタセット402には、相互接続イ
ンタフェースがキューにおいて処理を開始したという、
最後のセンドワークディスクリプタの物理アドレスを特
定する現在位置ポインタも含まれている。
るものは、メッセージの処理の間に多くの例外のいずれ
かが生じたときのエラーデータを格納するためのステイ
タスレジスタ、問題のターミナルに対する優先レベルを
格納するためのレジスタ、及び、現在のタスクの状態を
指示するためのレジスタである。それぞれの送信用ター
ミナルは関連した優先度を有している。この発明の好適
な実施例においては二つの優先レベルが用いられてい
る。その一つはコントロールメッセージのような高い優
先度のトラフィックであり、他の一つはバルクデータ転
送のようなより低い優先度のトラフィックである。優先
度はパケットレベルにおいて賦課される。即ち、より高
い優先度のメッセージは、次に続くパケット境界におい
て、より低い優先度のメッセージに先立つことになる。
この発明の好適な実施例において、ターミナルの優先度
を特定するレジスタは、オペレーティングシステムによ
る書き込みが可能なものだけである。
されている動作を開始させるためのコントロールレジス
タも含まれている。ある適切なコードがこのレジスタに
書き込まれると、コントローラ401においては、この
コードによって識別された伝送動作が開始される。
A入力キュー408におけるワークアイテムのリスト
が、物理的メモリの隣接ブロックにおけるサーキュラー
ベクトル(circular vector )としてフォーマット化さ
れる。送信用ターミナルは始めのセンドワークディスク
リプタを開始させることにより動作され、その処理がな
され、そして、これに次いで次続のものに進行される。
送信用ターミナルが0のノード識別を有するセンドワー
クディスクリプタに到達すると、作業が停止され、継続
に先立つノード内のプロセッサからの入力を待機するよ
うにされる。送信用ターミナルがベクトルの端部に到達
すると、受信用ターミナルはベクトルにおける始めのア
ドレスに対して再び巻き込まれる。
を用いて各ターミナルとホストプロセッサとの間で通信
を体系化するためには、多くの異なる可能性のある配列
がある。相互接続インタフェースにおける種々のターミ
ナルの状態を定めることをホストプロセッサが許容する
いかなる構成のものでも、この発明から離れることなく
使用することができる。
は、短い待ち時間を要する短いメッセージの伝送のため
に用いられる。この発明の好適な実施例においては、こ
れらのメッセージは、短いコントロールメッセージ又は
フェッチアンドオピメッセージ(Fetch-and-Opmessage
)のいずれかである。ある一つのフェッチアンドオピ
メッセージによれば、受信側のメモリにおいて特定され
た位置の内容が戻され、また、メッセージの一部である
一つ又は複数のオペランドにおいて、受信側である種の
動作をするようにされる。直接的なターミナルに含まれ
ている付加的なコントロールレジスタセット404は、
アプリケーションのアドレススペースにマッピングさ
れ、そして、ロード/格納命令を用いて、アプリケーシ
ョンによって直接的にアクセスされる。付加的なレジス
タによれば、センドワークディスクリプタにおいて正常
に生成された情報が格納される。メッセージが格納され
るローカルRAMにおけるアドレスを特定するのに代え
て、メッセージが格納されるFIFOバッファ409の
識別が付与される。DMAレジスタには、進行中の活動
のタイプ、例外が生じたときのエラーデータ、及び、あ
る一つの結果がフェッチアンドオピオペレーションから
利用可能であるか否かを指示するレジスタを指示するよ
うな、ステイタスレジスタのセットも含まれている。D
MAレジスタに含まれている一つのレジスタは、最後の
フェッチアンドオピからの戻りの値を保持するためのも
のである。
伝送するために、ローカルプロセッサは、ターミナルが
アイドル状態になるまで待機する。そして、受信側のノ
ード、スロット、開始アドレス及び告知データが、ダイ
レクトターミナルにおけるコントロールレジスタセット
に書き込まれる。これに次いで、伝送されるべきパケッ
トがFIFOバッファ409に書き込まれる。このこと
は、単一アドレスに対する単一ワード格納動作のシーケ
ンス、又は、幾つかのバイトを一時に発するためのキャ
ッシュラインフラッシュ(cache-line-flush)動作のい
ずれかとして達成できる。最後に、ある一つの伝送コマ
ンドが送信用ターミナルにおけるコントロールレジスタ
セットに書き込まれる。
作と同様な態様で実行される。ただし、メッセージ本体
に代えてオペランドが付与されている。そして、この動
作の結果は、通常、動作が一度完了されると検索される
べきことが必要とされる。オペランドがFIFOバッフ
ァ409に書き込まれ、OPコマンドがコントロールレ
ジスタセットに書き込まれることを除き、その手順は上
述されたことと同様である。フェッチアンドオピメッセ
ージに供されるステイタスレジスタが、結果が用意され
ていることを指示したときには、結果を求めている受信
側に対してメッセージが伝送される。
おける活動的な送信用ターミナルの数は、ハードウエア
によってセットされる最大数まで動的に変動させること
ができる。これで付与される方法は、システムの実行能
力に対するハードウエアのコストの妥協をさせることで
ある。大きなシステム又は短い待ち時間の相互接続が特
に重要であるシステムは、より多くのターミナルを用い
ることが可能であり、付加的なハードウエアのコストを
受ける。要求される厳しさがより緩やかなより小さいシ
ステムでは、僅かなターミナルで十分な実行能力を達成
することができる。ハードウエアにおいて備えられてい
るよりも多くのターミナルがシステムに求められたとき
には、そのオペレーティングシステムは、ターミナルの
数を効果的に多重化させるソフトウエアを用いることが
できる。しかしながら、このような増大では、ノードに
おける実行能力に鑑みて遥かに高いコストが加えられ
る。
Aモードの双方で同時に活動的になることができる。ダ
イレクトモードの転送は、それらがDMAキューの先頭
に挿入されているかのようにして扱われる。この発明の
好適な実施例においては、各モードに対して、個別の保
護キーレジスタがコントロールレジスタセット404に
おいて備えられる。
である。初期的には伝送が要求され、必要であるときに
は、幾らかの時間後に結果との集合(rendezvous)がな
される。「送信」動作に対しては、集合を明白にするこ
とを必要としない。
がより同期的なモードで動作することが要求される。こ
の場合においては、送信用ターミナルは、戻りを「得
る」までブロックされる。センドワークディスクリプタ
はメッセージの本体として組み立てられ、そのメッセー
ジは「リモートゲット」の動作タイプをもって伝送され
る。メッセージが受信側に到着したときには、それは送
信側からの戻りメッセージを発生させるために用いられ
る。メッセージが受信側に到着したときには、それはこ
のようなメッセージのために保留されたバッファに入力
され、適当な優先レベルが付与される。この発明の好適
な実施例においては、要求側の優先レベルが用いられ
る。メッセージの機能フィールドは、値「送信」に強制
される。より高い優先度のメッセージが存在しないとき
には、送信は実際にはローカルの相互接続インタフェー
スによって処理される。
に関連のキューについて、殆ど単独で関係している。告
知キューは、DMAの要求を処理するために用いられた
ものと類似の態様で管理されている。しかしながら、こ
の場合においては、告知キユーにおいてアイテムを扱う
際に進行される距離及び現在の告知のセットを処理する
ことが終了したかどうかを、インタフェースに指示する
ものはローカルプロセッサである。このデータの交換
は、受信用ターミナルの一部によりレジスタに書き込む
ことによって処理される。
ジを記述したデータが、受信用ターミナルによって告知
キュー301における次続のフリースロットに書き込ま
れる。メッセージエントリに含まれているものは、告知
を発生した受信用ターミナルにおけるスロットのスロッ
ト数、メッセージ識別タグ、メッセージ領域におけるメ
ッセージの位置、及び、このメッセージの長さである。
告知キューにおけるエントリの処理の終了をプロセッサ
が指示したとき、そして、このときにのみ、この発明の
好適な実施例においては中断が発生される。プロセッサ
によって告知が取り扱われると、告知キューのスロット
における値がクリアされて、エントリの再使用が可能で
あることを、インタフェースに対して指示するようにさ
れる。
キュー301が複数のテーブルに分割される。各テーブ
ルは異なる優先レベルを有している。プロセッサによ
り、優先度が最高のテーブルにおける動作が始めに完了
される。
は、通常のASICセル及び/又はゲートアレイを含む
マイクロプロセッサ又は専用ハードウエアから構成する
ことができる。
の説明や添付された図面から、当業者には明かなところ
である。従って、この発明は、特許請求の範囲の欄にお
ける記載事項によってのみ限定されるべきである。
が、以下、各実施例を要約する。 1. 相互に通信する相互接続組織(11)に接続され
るように、複数のホストコンピュータ(15,102)
を含むマルチコンピュータデータ処理システム内の相互
接続組織(11)に対してローカルメモリ(16,10
3,304)を有するホストコンピュータ(15,10
2)を接続するための相互接続インタフェース(17,
300)であり、各前記ホストコンピュータ(15,1
02)が、前記相互接続組織(11)上でメッセージを
伝送することにより、同種の相互接続インタフェース
(17,300)を有する他の前記ホストコンピュータ
(15,102)と通信し、各前記メッセージが1つ又
は複数のパケットを有し、各パケットが、パケット本
体、パケット識別情報、保護キー及びスロット識別値を
有する相互接続インタフェースにおいて、前記相互接続
組織(11)及び前記ホストコンピュータ(15,10
2)に対して接続を付与するためのインタフェース手段
(104,308)と、前記相互接続組織(11)から
のメッセージを受信するために前記インタフェース手段
(104,308)に接続され、夫々前記スロット識別
値のある1つの可能性があるものに対応し、かつ前記ホ
ストコンピュータ(15,102)の前記ローカルメモ
リ(16,103,304)の対応領域を識別する情
報、保護用キー及び入来メッセージの構成を特定する情
報を含む複数の記録を格納するためのスロットテーブル
手段(106)を有する受信ターミナル(100,30
2,400)と、前記相互接続インタフェースに対する
入来メッセージを処理するために前記インタフェース手
段(104,308)に接続され、前記パケットの前記
保護キーが前記記録(107)に格納された前記保護キ
ーと合致しているときは、前記入来メッセージの前記ス
ロット識別値に対応する前記記録(107)内で識別さ
れた前記ホストコンピュータ(15,102)の前記ロ
ーカルメモリ(16,103,304)領域に、前記パ
ケット本体を格納させる受信制御手段(105,40
1)と、を具備した相互接続インタフェース(17,3
00)である。
1)が、前記ホストコンピュータによる処理を待機する
リストを格納するための手段と、入来メッセージの全て
のパケットが前記ホストコンピュータ(15,102)
の前記ローカルメモリ(16,103,304)領域に
格納されるとき、処理を待機するメッセージの前記リス
ト(108,301)に登録させるための手段とを含む
前記1に記載の相互接続インタフェース(17,30
0)である。
1)が、入来メッセージの全てのパケットが前記ホスト
コンピュータ(15,102)の前記ローカルメモリ
(16,103,304)領域に格納されたとき、そし
て前記ホストコンピュータ(15,102)がメッセー
ジの前記リストによって特定されたメッセージを処理し
ていないときにのみ、前記ホストコンピュータ(15,
102)を中断させるための手段を含む前記2に記載の
相互接続インタフェース(17,300)である。
セージを送信するための送信用ターミナル(303,4
00)が、前記送信用ターミナルによって送信されるメ
ッセージの全パケットに含まれるべき送信保護キーを格
納するための保護レジスタ(404)と、前記相互接続
組織(11)上で伝送されるべきメッセージの位置及び
前記メッセージについて意図される受信を特定するため
のメッセージ識別手段と、前記相互接続組織(11)上
で前記特定されたメッセージを含むパケットを発生及び
伝送するための送信制御手段(401)とを有し、各前
記パケットが、前記送信保護キーと前記メッセージの前
記受信側に取り付けられた前記相互接続インターフェー
ス(17,300)上で、前記スロットテーブル手段
(106)内の記録(107)を特定するスロット識別
値とを有する前記1に記載の相互接続インタフェース
(17,300)である。
が、前記相互接続インタフェース(17,300)に接
続された前記ホストコンピュータ(15,102)のオ
ペレーティングシステムによってのみ変更可能である前
記4に記載の相互接続インタフェース(17,300)
である。
ョブキュー(408)の位置を特定するための手段と、
前記入力ジョブキューの前記ワークディスクリプタ記録
の1つに対して、1つのポインタを格納するためのDM
Aポインタ手段とを有し、前記入力ジョブキュー(40
8)が、夫々メッセージについて意図された受信、前記
スロットテーブル手段(106)における記録(10
7)及び前記ホストコンピュータ(15,102)にお
ける前記メッセージの位置を特定する情報を含む複数の
ワークディスクリプタ記録を有する前記4に記載の相互
接続インタフェース(17,300)である。
するための前記手段が、前記ホストコンピュータ(1
5,102)の前記入力ジョブキューのアドレスを格納
するための手段と、前記ホストコンピュータ(15,1
02)のオペレーティングシステムによってのみ変更可
能である前記6に記載の相互接続インタフェース(1
7,300)である。
ージについて意図された受信を特定する情報を格納する
ための受信識別手段、前記スロットテーブル手段(10
6)の記録及び前記メッセージが格納されるバッファを
含む前記4に記載の相互接続インタフェース(17,3
00)である。
(409)を有し、前記受信識別手段によって特定され
る前記バッファが、前記FIFOバッファの1つを有す
る前記8に記載の相互接続インタフェース(17,30
0)である。
サノードが相互通信するためのメッセジを送受信する相
互接続機構を有するマルチコンピュータデータ処理シス
テムのプロセッサノード間を通信するための方法であっ
て、 (a). 第1のプロセッサノードから第2のプロセッ
サノードに、パケット本体、送信用保護キー及びスロッ
ト識別値を有する少なくとも一つのパケットを有するメ
ッセージを伝送する工程と、 (b). 第1のプロセッサノードから入来したメッセ
ージのパケットに含まれている送信用保護キーが、第2
のプロセッサノードにおいて格納されている保護キーと
合致したときに、第2のプロセッサノードにおいて決定
する工程と、 (c). 送信用保護キーが格納された保護キーと合致
したことが前記決定工程(b)において決定されたと
き、第1のプロセッサノードから到来したメッセージの
パケット本体を第2のプロセッサノードのローカルメモ
リの格納領域に格納する工程であって、このローカルメ
モリの格納領域が第1のプロセッサノードから入来した
メッセージのパケットに含まれているスロット識別値を
用いて識別される工程と、を含む方法である。
セッサノード内のスロットテーブルの記録を識別し、前
記記録が少なくともローカルメモリの格納領域及び格納
されている保護キーを識別する情報を含む前記10に記
載の方法である。
の構成を特定する情報を含む前記11に記載の方法であ
る。
が、前記相互接続組織に接続されたプロセッサノードの
一つに関連される前記11に記載の方法である。
れば、ローカルメモリを有する複数のホストコンピュー
タが相互に相互接続組織を介して通信を行うに際に、パ
ケット本体、パケット識別情報、保護キー、スロット識
別値を有する1個又は複数のパケットを含むメッセージ
をインタフェース手段及びローカルメモリの対応領域を
識別する情報、保護キー、入来メッセージを識別する情
報を含む記録を格納するスロットテーブルを有する受信
ターミナルからなる相互接続インタフェースを介して相
互接続組織に伝送し、パケットの保護キーが記録に含ま
れる保護キーと合致している場合には、入来メッセージ
のスロット識別値に対応して記録において識別されたホ
ストコンピュータのローカルメモリの領域にパケット本
体を相互接続インタフェースの受信制御手段で格納する
ようにしたので、受信側がビジー状態でも、入来メッセ
ージで中断されることがなく、且つメッセージの失われ
る数を減少できる。また、メッセージ伝送中に、他のプ
ロセスからの偶発的あるいは悪意のあるアタックから各
プロセスを保護するためのオペレーティングシステムの
呼び出しが不要であるとともに、入来メッセージを受信
側で格納する場所を決定するのに要する時間を短縮でき
る。さらに、規則的なメッセージを用いるのと同じ相互
接続組織を使用して集積化とプロセスの保護及び待ち時
間の短縮が可能となる。
れる典型的なマルチプロセッサのブロック図である。
ンタフェース100の部分についてのより詳細にされた
ブロック図である。
実施例のブロック図である。
送信用ターミナルのブロック図である。
Claims (1)
- 【請求項1】 相互に通信する相互接続組織(11)に
接続されるように、複数のホストコンピュータ(15,
102)を含むマルチコンピュータデータ処理システム
内の相互接続組織(11)に対してローカルメモリ(1
6,103,304)を有するホストコンピュータ(1
5,102)を接続するための相互接続インタフェース
(17,300)であり、各前記ホストコンピュータ
(15,102)が、前記相互接続組織(11)上でメ
ッセージを伝送することにより、同種の相互接続インタ
フェース(17,300)を有する他の前記ホストコン
ピュータ(15,102)と通信し、各前記メッセージ
が1つ又は複数のパケットを有し、各パケットが、パケ
ット本体、パケット識別情報、保護キー及びスロット識
別値を有する相互接続インタフェースにおいて、 前記相互接続組織(11)及び前記ホストコンピュータ
(15,102)に対して接続を付与するためのインタ
フェース手段(104,308)と、 前記相互接続組織(11)からのメッセージを受信する
ために前記インタフェース手段(104,308)に接
続され、夫々前記スロット識別値のある1つの可能性が
あるものに対応し、かつ前記ホストコンピュータ(1
5,102)の前記ローカルメモリ(16,103,3
04)の対応領域を識別する情報、保護用キー及び入来
メッセージの構成を特定する情報を含む複数の記録を格
納するためのスロットテーブル手段(106)を有する
受信ターミナル(100,302,400)と、 前記相互接続インタフェースに対する入来メッセージを
処理するために前記インタフェース手段(104,30
8)に接続され、前記パケットの前記保護キーが前記記
録(107)に格納された前記保護キーと合致している
ときは、前記入来メッセージの前記スロット識別値に対
応する前記記録(107)内で識別された前記ホストコ
ンピュータ(15,102)の前記ローカルメモリ(1
6,103,304)領域に、前記パケット本体を格納
させる受信制御手段(105,401)と、を具備した
ことを特徴とする相互接続インタフェース(17,30
0)。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US042,957 | 1993-04-05 | ||
US08/042,957 US5448698A (en) | 1993-04-05 | 1993-04-05 | Inter-processor communication system in which messages are stored at locations specified by the sender |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH06309252A true JPH06309252A (ja) | 1994-11-04 |
JP3553634B2 JP3553634B2 (ja) | 2004-08-11 |
Family
ID=21924664
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP06758494A Expired - Lifetime JP3553634B2 (ja) | 1993-04-05 | 1994-03-11 | 相互接続インターフェース |
Country Status (2)
Country | Link |
---|---|
US (1) | US5448698A (ja) |
JP (1) | JP3553634B2 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0991223A (ja) * | 1995-09-20 | 1997-04-04 | Nec Corp | リソースビジー制御方式 |
CN105389120A (zh) * | 2014-09-02 | 2016-03-09 | 英特尔公司 | 支持通过活动消息的rma api |
JP2017191464A (ja) * | 2016-04-13 | 2017-10-19 | 富士通株式会社 | 情報処理システム、送信装置および情報処理システムの制御方法 |
Families Citing this family (69)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0962526A (ja) * | 1995-08-28 | 1997-03-07 | Fujitsu Ltd | 耐故障型rpcシステムおよび方法 |
US5956486A (en) * | 1995-12-20 | 1999-09-21 | Hickman; Paul Lawrence | Method and apparatus for monitoring multiple electronic mail systems |
JP3134808B2 (ja) * | 1997-06-04 | 2001-02-13 | 日本電気株式会社 | フレームリレー伝送装置 |
US6092110A (en) | 1997-10-23 | 2000-07-18 | At&T Wireless Svcs. Inc. | Apparatus for filtering packets using a dedicated processor |
US6158008A (en) * | 1997-10-23 | 2000-12-05 | At&T Wireless Svcs. Inc. | Method and apparatus for updating address lists for a packet filter processor |
US6212610B1 (en) * | 1998-01-07 | 2001-04-03 | Fujitsu Limited | Memory protection mechanism for a distributed shared memory multiprocessor with integrated message passing support |
US6209064B1 (en) | 1998-01-07 | 2001-03-27 | Fujitsu Limited | Cache coherence unit with integrated message passing and memory protection for a distributed, shared memory multiprocessor system |
US6631448B2 (en) | 1998-03-12 | 2003-10-07 | Fujitsu Limited | Cache coherence unit for interconnecting multiprocessor nodes having pipelined snoopy protocol |
US6253321B1 (en) * | 1998-06-19 | 2001-06-26 | Ssh Communications Security Ltd. | Method and arrangement for implementing IPSEC policy management using filter code |
DE19843249A1 (de) * | 1998-09-11 | 2000-03-16 | Francotyp Postalia Gmbh | Verfahren zur Dateneingabe in ein Dienstgerät und Anordnung zur Durchführung des Verfahrens |
US6526452B1 (en) | 1998-11-17 | 2003-02-25 | Cisco Technology, Inc. | Methods and apparatus for providing interfaces for mixed topology data switching system |
US6484207B1 (en) * | 1998-11-17 | 2002-11-19 | Cisco Technology, Inc. | Switching system having interconnects dedicated to store and retrieve data including management of dedicated memory segments allocated when a general memory is depleted |
US6463065B1 (en) | 1998-11-17 | 2002-10-08 | Cisco Technology, Inc. | Mixed topology data switching system |
US6665673B1 (en) | 1998-11-17 | 2003-12-16 | Cisco Technology, Inc. | Channel communication system |
AU4238100A (en) | 1999-04-12 | 2000-11-14 | Sony Electronics Inc. | Asynchronous data transmission with scattering page tables |
WO2000065781A1 (en) | 1999-04-23 | 2000-11-02 | Sony Electronics Inc. | Method of and apparatus for implementing and sending an asynchronous control mechanism packet |
US7073069B1 (en) | 1999-05-07 | 2006-07-04 | Infineon Technologies Ag | Apparatus and method for a programmable security processor |
EP1183603A4 (en) * | 1999-05-07 | 2009-01-07 | Infineon Technologies Ag | DEVICE AND METHOD FOR A PROGRAMMABLE SAFETY PROCESSOR |
US6487186B1 (en) * | 1999-06-28 | 2002-11-26 | Rockwell Collins, Inc. | Method and apparatus for managing communication resources using bootstrap slots |
US6587959B1 (en) * | 1999-07-28 | 2003-07-01 | Emc Corporation | System and method for addressing scheme for use on clusters |
US6839562B2 (en) * | 2000-04-11 | 2005-01-04 | Telecommunication Systems, Inc. | Intelligent delivery agent for short message distribution center |
US6791994B1 (en) | 2000-04-19 | 2004-09-14 | Rockwell Collins, Inc. | Method and apparatus for assigning receive slots in a dynamic assignment environment |
JP2001333137A (ja) * | 2000-05-23 | 2001-11-30 | Mitsubishi Electric Corp | 自主動作通信制御装置及び自主動作通信制御方法 |
US6885651B1 (en) | 2000-08-29 | 2005-04-26 | Rockwell Collins | Maintaining an adaptive broadcast channel using both transmitter directed and receiver directed broadcasts |
US6810022B1 (en) | 2000-08-29 | 2004-10-26 | Rockwell Collins | Full duplex communication slot assignment |
US6781967B1 (en) | 2000-08-29 | 2004-08-24 | Rockwell Collins, Inc. | Scheduling techniques for receiver directed broadcast applications |
US7328232B1 (en) * | 2000-10-18 | 2008-02-05 | Beptech Inc. | Distributed multiprocessing system |
US6657632B2 (en) * | 2001-01-24 | 2003-12-02 | Hewlett-Packard Development Company, L.P. | Unified memory distributed across multiple nodes in a computer graphics system |
US7865440B2 (en) * | 2001-10-11 | 2011-01-04 | International Business Machines Corporation | Method, system, and program for securely providing keys to encode and decode data in a storage cartridge |
US6873331B2 (en) * | 2002-03-29 | 2005-03-29 | Hewlett-Packard Development Company, L.P. | System and method for passing messages among processing nodes in a distributed system |
US7176914B2 (en) * | 2002-05-16 | 2007-02-13 | Hewlett-Packard Development Company, L.P. | System and method for directing the flow of data and instructions into at least one functional unit |
US20040107240A1 (en) * | 2002-12-02 | 2004-06-03 | Globespan Virata Incorporated | Method and system for intertask messaging between multiple processors |
US7149897B2 (en) * | 2003-07-25 | 2006-12-12 | The United States Of America As Represented By The Secretary Of The Navy | Systems and methods for providing increased computer security |
US7629979B2 (en) * | 2003-08-20 | 2009-12-08 | Hewlett-Packard Development Company, L.P. | System and method for communicating information from a single-threaded application over multiple I/O busses |
US7385999B1 (en) | 2003-10-20 | 2008-06-10 | Rockwell Collins, Inc. | Heuristics for combining inter-channel and intra-channel communications in a wireless communications environment |
US7403780B2 (en) | 2004-02-19 | 2008-07-22 | Rockwell Collins, Inc. | Hybrid open/closed loop filtering for link quality estimation |
US7826372B1 (en) | 2004-03-26 | 2010-11-02 | Rockwell Collins, Inc. | Network routing process for regulating traffic through advantaged and disadvantaged nodes |
US7382799B1 (en) | 2004-05-18 | 2008-06-03 | Rockwell Collins, Inc. | On-demand broadcast protocol |
US7310380B1 (en) | 2004-05-28 | 2007-12-18 | Rockwell Collins, Inc. | Generic transmission parameter configuration |
US7397810B1 (en) | 2004-06-14 | 2008-07-08 | Rockwell Collins, Inc. | Artery nodes |
US20060233174A1 (en) * | 2005-03-28 | 2006-10-19 | Rothman Michael A | Method and apparatus for distributing switch/router capability across heterogeneous compute groups |
US7606171B1 (en) | 2005-07-28 | 2009-10-20 | Rockwell Collins, Inc. | Skeletal node rules for connected dominating set in ad-hoc networks |
US8325633B2 (en) * | 2007-04-26 | 2012-12-04 | International Business Machines Corporation | Remote direct memory access |
US7948999B2 (en) * | 2007-05-04 | 2011-05-24 | International Business Machines Corporation | Signaling completion of a message transfer from an origin compute node to a target compute node |
US7889657B2 (en) * | 2007-05-04 | 2011-02-15 | International Business Machines Corporation | Signaling completion of a message transfer from an origin compute node to a target compute node |
US7890670B2 (en) * | 2007-05-09 | 2011-02-15 | International Business Machines Corporation | Direct memory access transfer completion notification |
US7779173B2 (en) * | 2007-05-29 | 2010-08-17 | International Business Machines Corporation | Direct memory access transfer completion notification |
US8037213B2 (en) | 2007-05-30 | 2011-10-11 | International Business Machines Corporation | Replenishing data descriptors in a DMA injection FIFO buffer |
US7765337B2 (en) * | 2007-06-05 | 2010-07-27 | International Business Machines Corporation | Direct memory access transfer completion notification |
US8478834B2 (en) * | 2007-07-12 | 2013-07-02 | International Business Machines Corporation | Low latency, high bandwidth data communications between compute nodes in a parallel computer |
US8018951B2 (en) | 2007-07-12 | 2011-09-13 | International Business Machines Corporation | Pacing a data transfer operation between compute nodes on a parallel computer |
US20090031001A1 (en) * | 2007-07-27 | 2009-01-29 | Archer Charles J | Repeating Direct Memory Access Data Transfer Operations for Compute Nodes in a Parallel Computer |
US7890597B2 (en) * | 2007-07-27 | 2011-02-15 | International Business Machines Corporation | Direct memory access transfer completion notification |
US8959172B2 (en) * | 2007-07-27 | 2015-02-17 | International Business Machines Corporation | Self-pacing direct memory access data transfer operations for compute nodes in a parallel computer |
US20090119460A1 (en) * | 2007-11-07 | 2009-05-07 | Infineon Technologies Ag | Storing Portions of a Data Transfer Descriptor in Cached and Uncached Address Space |
US8249072B2 (en) * | 2009-03-12 | 2012-08-21 | Oracle America, Inc. | Scalable interface for connecting multiple computer systems which performs parallel MPI header matching |
US9009350B2 (en) * | 2008-04-01 | 2015-04-14 | International Business Machines Corporation | Determining a path for network traffic between nodes in a parallel computer |
US9225545B2 (en) * | 2008-04-01 | 2015-12-29 | International Business Machines Corporation | Determining a path for network traffic between nodes in a parallel computer |
US8843651B2 (en) | 2009-06-30 | 2014-09-23 | Oracle America, Inc. | Software aware throttle based flow control |
US8122301B2 (en) * | 2009-06-30 | 2012-02-21 | Oracle America, Inc. | Performing remote loads and stores over networks |
US9596186B2 (en) * | 2009-06-30 | 2017-03-14 | Oracle America, Inc. | Multiple processes sharing a single infiniband connection |
US8095617B2 (en) * | 2009-06-30 | 2012-01-10 | Oracle America Inc. | Caching data in a cluster computing system which avoids false-sharing conflicts |
US8234407B2 (en) * | 2009-06-30 | 2012-07-31 | Oracle America, Inc. | Network use of virtual addresses without pinning or registration |
US8544026B2 (en) * | 2010-02-09 | 2013-09-24 | International Business Machines Corporation | Processing data communications messages with input/output control blocks |
US8949453B2 (en) | 2010-11-30 | 2015-02-03 | International Business Machines Corporation | Data communications in a parallel active messaging interface of a parallel computer |
US8949328B2 (en) | 2011-07-13 | 2015-02-03 | International Business Machines Corporation | Performing collective operations in a distributed processing system |
JP5541275B2 (ja) * | 2011-12-28 | 2014-07-09 | 富士通株式会社 | 情報処理装置および不正アクセス防止方法 |
US8930962B2 (en) | 2012-02-22 | 2015-01-06 | International Business Machines Corporation | Processing unexpected messages at a compute node of a parallel computer |
US20130227243A1 (en) * | 2012-02-23 | 2013-08-29 | Freescale Semiconductor, Inc | Inter-partition communication in multi-core processor |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4802220A (en) * | 1985-03-20 | 1989-01-31 | American Telephone And Telegraph Company, At&T Bell Laboratories | Method and apparatus for multi-channel communication security |
US4774707A (en) * | 1986-09-10 | 1988-09-27 | General Electric Company | Random access communication system with scheduled data transmission and asynchronous contention scheduling |
US5048085A (en) * | 1989-10-06 | 1991-09-10 | International Business Machines Corporation | Transaction system security method and apparatus |
US5243643A (en) * | 1990-11-01 | 1993-09-07 | Voiceples Corporation | Voice processing system with configurable caller interfaces |
US5347514A (en) * | 1993-03-26 | 1994-09-13 | International Business Machines Corporation | Processor-based smart packet memory interface |
-
1993
- 1993-04-05 US US08/042,957 patent/US5448698A/en not_active Expired - Lifetime
-
1994
- 1994-03-11 JP JP06758494A patent/JP3553634B2/ja not_active Expired - Lifetime
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0991223A (ja) * | 1995-09-20 | 1997-04-04 | Nec Corp | リソースビジー制御方式 |
CN105389120A (zh) * | 2014-09-02 | 2016-03-09 | 英特尔公司 | 支持通过活动消息的rma api |
JP2016053946A (ja) * | 2014-09-02 | 2016-04-14 | インテル コーポレイション | アクティブメッセージによるrmaapiのサポート |
US9632973B2 (en) | 2014-09-02 | 2017-04-25 | Intel Corporation | Supporting RMA API over active message |
JP2017191464A (ja) * | 2016-04-13 | 2017-10-19 | 富士通株式会社 | 情報処理システム、送信装置および情報処理システムの制御方法 |
Also Published As
Publication number | Publication date |
---|---|
JP3553634B2 (ja) | 2004-08-11 |
US5448698A (en) | 1995-09-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3553634B2 (ja) | 相互接続インターフェース | |
CA1277382C (en) | Inter-processor communication protocol | |
US20180375782A1 (en) | Data buffering | |
EP1856623B1 (en) | Including descriptor queue empty events in completion events | |
JP3208397B2 (ja) | 制御要素転送システム | |
US5931915A (en) | Method for processing early arrival messages within a multinode asynchronous data communications system | |
US5047917A (en) | Apparatus for intrasystem communications within a binary n-cube including buffer lock bit | |
US7234004B2 (en) | Method, apparatus and program product for low latency I/O adapter queuing in a computer system | |
EP2362298A1 (en) | Transmit completion event batching | |
JPH06202883A (ja) | プロセス間通信装置及び通信方法 | |
US5790813A (en) | Pre-arbitration system allowing look-around and bypass for significant operations | |
JP2007534073A (ja) | ユーザーレベルスタック | |
US7640549B2 (en) | System and method for efficiently exchanging data among processes | |
EP2383658B1 (en) | Queue depth management for communication between host and peripheral device | |
JPH065524B2 (ja) | 記憶装置管理方法 | |
US5878226A (en) | System for processing early arrival messages within a multinode asynchronous data communications system | |
US7130936B1 (en) | System, methods, and computer program product for shared memory queue | |
US20070079077A1 (en) | System, method, and computer program product for shared memory queue | |
KR100298961B1 (ko) | 메시지도착통지를위한소스및수신지개시인터럽트시스템 | |
EP1936514B1 (en) | Apparatus and method for controlling issue of requests to another operation processing device | |
JP2736237B2 (ja) | 遠隔メモリアクセス制御装置 | |
JP2924783B2 (ja) | リモートリード処理方法およびその装置 | |
JP3644158B2 (ja) | 並列計算機におけるデータ送受信方法 | |
Whitcroft et al. | The CBIC: Architectural support for message passing | |
JPH11212900A (ja) | システム制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040107 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040309 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20040427 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040430 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090514 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090514 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100514 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110514 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110514 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120514 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120514 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130514 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130514 Year of fee payment: 9 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130514 Year of fee payment: 9 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130514 Year of fee payment: 9 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |