JPH04227155A - ネットワーク情報転送方法及び装置 - Google Patents
ネットワーク情報転送方法及び装置Info
- Publication number
- JPH04227155A JPH04227155A JP3167528A JP16752891A JPH04227155A JP H04227155 A JPH04227155 A JP H04227155A JP 3167528 A JP3167528 A JP 3167528A JP 16752891 A JP16752891 A JP 16752891A JP H04227155 A JPH04227155 A JP H04227155A
- Authority
- JP
- Japan
- Prior art keywords
- control information
- node
- message
- information
- inter
- 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
- 238000012546 transfer Methods 0.000 title claims abstract description 54
- 238000000034 method Methods 0.000 title claims description 27
- 239000000872 buffer Substances 0.000 claims abstract description 17
- 238000004891 communication Methods 0.000 claims description 43
- 230000005540 biological transmission Effects 0.000 claims description 6
- 239000000725 suspension Substances 0.000 claims 4
- 230000001052 transient effect Effects 0.000 claims 2
- 238000002789 length control Methods 0.000 claims 1
- 230000007246 mechanism Effects 0.000 abstract description 12
- 238000012545 processing Methods 0.000 description 14
- 230000003111 delayed effect Effects 0.000 description 9
- 238000013459 approach Methods 0.000 description 7
- 230000004044 response Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000003044 adaptive effect Effects 0.000 description 3
- 230000001934 delay Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000001788 irregular Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 235000008694 Humulus lupulus Nutrition 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 150000002148 esters Chemical class 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
- Small-Scale Networks (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【0001】
【産業上の利用分野】この発明は、一般的にはノード通
信システムに関し、特に多次元コンピュータ・ネットワ
ークの管理を高度化する手法に関する。
信システムに関し、特に多次元コンピュータ・ネットワ
ークの管理を高度化する手法に関する。
【0002】
【従来の技術】信頼できる電子コンピュータの登場以来
、連係動作する複数のコンピュータを使い、与えられた
タスク全体を完了するシステムが大いに注目されている
。こうしたマルチプロセサ・システムには、大型コンピ
ュータが、その高速性と大容量を活かして、プログラム
の複雑な部分を実行する一方、比較的小型で低速なサテ
ライト・プロセサに、あまり複雑でなく急を要しないタ
スクを割り当てて、大型コンピュータにかかる負荷と要
求を軽減するものがある。大型コンピュータは、サブタ
スクを割り当てる責任、比較的小型のプロセサにいつも
仕事を割り当てておく責任、比較的小型のプロセサの可
用性と性能を確認する責任、及び結果の統一性を保つ責
任を引き受ける必要がある。
、連係動作する複数のコンピュータを使い、与えられた
タスク全体を完了するシステムが大いに注目されている
。こうしたマルチプロセサ・システムには、大型コンピ
ュータが、その高速性と大容量を活かして、プログラム
の複雑な部分を実行する一方、比較的小型で低速なサテ
ライト・プロセサに、あまり複雑でなく急を要しないタ
スクを割り当てて、大型コンピュータにかかる負荷と要
求を軽減するものがある。大型コンピュータは、サブタ
スクを割り当てる責任、比較的小型のプロセサにいつも
仕事を割り当てておく責任、比較的小型のプロセサの可
用性と性能を確認する責任、及び結果の統一性を保つ責
任を引き受ける必要がある。
【0003】別のアプローチを採るマルチプロセサ・シ
ステムもある。このタイプのシステムは複数のプロセサ
と共通バス・システムを使う。プロセサの機能は基本的
には同等である。このタイプのシステムではしばしば、
与えられたサブタスクについての個々のプロセサの可用
性と能力をモニタし、プロセサ相互間のタスクと情報の
ルーティングを制御するために、別に制御コンピュータ
または制御システムが用いられる。プロセサは、他のプ
ロセサの状態と可用性をモニタし、メッセージとプログ
ラムのルーティングを決定するように構成し動作させる
ことができる。こうしたシステムに共通な、事実上の欠
点は、オーバヘッドとメンテナンスの機能に必要なソフ
トウェアと動作時間が、主たる目的である性能に干渉す
ることである。ルーティングとモニタリングの問題は、
プロセサ数に応じて急激に増加するので、結果的に、オ
ーバヘッド機能には不釣り合いなほど多大な労力が注が
れる。
ステムもある。このタイプのシステムは複数のプロセサ
と共通バス・システムを使う。プロセサの機能は基本的
には同等である。このタイプのシステムではしばしば、
与えられたサブタスクについての個々のプロセサの可用
性と能力をモニタし、プロセサ相互間のタスクと情報の
ルーティングを制御するために、別に制御コンピュータ
または制御システムが用いられる。プロセサは、他のプ
ロセサの状態と可用性をモニタし、メッセージとプログ
ラムのルーティングを決定するように構成し動作させる
ことができる。こうしたシステムに共通な、事実上の欠
点は、オーバヘッドとメンテナンスの機能に必要なソフ
トウェアと動作時間が、主たる目的である性能に干渉す
ることである。ルーティングとモニタリングの問題は、
プロセサ数に応じて急激に増加するので、結果的に、オ
ーバヘッド機能には不釣り合いなほど多大な労力が注が
れる。
【0004】マルチプロセサは、初期の“Binac”
(パラレル・プロセサが2個)や、これと同等のシステ
ムが活躍した頃から、オペレーティング・システム全体
の信頼性を事実上高める冗長性を提供することが認めら
れている。最近まで、マルチプロセサ・システムが実際
にインストールされることは少なかったが、これは主に
ソフトウェアの問題が大きいからである。しかしマルチ
プロセサは、リアルタイム・アプリケーションやシステ
ムのダウンタイムが無視できないような状況では動作特
性がよいことから、動作では問題はないが、オーバヘッ
ド・ソフトウェアや動作時間にかなり注力したシステム
が開発されている。
(パラレル・プロセサが2個)や、これと同等のシステ
ムが活躍した頃から、オペレーティング・システム全体
の信頼性を事実上高める冗長性を提供することが認めら
れている。最近まで、マルチプロセサ・システムが実際
にインストールされることは少なかったが、これは主に
ソフトウェアの問題が大きいからである。しかしマルチ
プロセサは、リアルタイム・アプリケーションやシステ
ムのダウンタイムが無視できないような状況では動作特
性がよいことから、動作では問題はないが、オーバヘッ
ド・ソフトウェアや動作時間にかなり注力したシステム
が開発されている。
【0005】マルチタスク・システムについての説明は
、米国特許第3445822号明細書、同356636
3号明細書、及び同3593300号明細書にみられる
が、これらはいずれも、複数のコンピュータが、1つの
共有メイン・メモリをアクセスし、個々のプロセサにタ
スクを最適に割り当てるために、能力と要件が比較され
るシステムを扱っている。
、米国特許第3445822号明細書、同356636
3号明細書、及び同3593300号明細書にみられる
が、これらはいずれも、複数のコンピュータが、1つの
共有メイン・メモリをアクセスし、個々のプロセサにタ
スクを最適に割り当てるために、能力と要件が比較され
るシステムを扱っている。
【0006】米国特許第4099233号明細書では、
複数のプロセサが1つのバスを共有し、送信側のミニプ
ロセサと受信側のミニプロセサとの間でデータ・ブロッ
クを転送するときに、バッファ・レジスタを組み込んだ
制御ユニットが用いられる。この概念は、欧州では、郵
便の仕分けシステムに採用されている。
複数のプロセサが1つのバスを共有し、送信側のミニプ
ロセサと受信側のミニプロセサとの間でデータ・ブロッ
クを転送するときに、バッファ・レジスタを組み込んだ
制御ユニットが用いられる。この概念は、欧州では、郵
便の仕分けシステムに採用されている。
【0007】マルチプロセサ・システムに関する米国特
許第4228496号明細書では、プロセサ相互間のバ
スが、バス・コントローラに接続され、バス・コントロ
ーラが転送状態をモニタして、プロセサ相互間のデータ
転送の優先順位を決定する。複数の周辺デバイスのいく
つかを制御するために各プロセサを接続することができ
る。
許第4228496号明細書では、プロセサ相互間のバ
スが、バス・コントローラに接続され、バス・コントロ
ーラが転送状態をモニタして、プロセサ相互間のデータ
転送の優先順位を決定する。複数の周辺デバイスのいく
つかを制御するために各プロセサを接続することができ
る。
【0008】米国特許第4063220号明細書及び同
第4099024号明細書の“Ethernet”シス
テムは、異なるプロセサ、周辺機器の相互通信の問題に
別のアプローチを示している。ユニットはすべて共通の
マルチアクセス・ネットワークに接続されて、優先順位
を競い合う。衝突の検出は時間順に行われる。これはま
た、グローバルな能力が、すぐには制御できないか、コ
ーディネイトできないか、特殊性を与えられないことを
意味する。
第4099024号明細書の“Ethernet”シス
テムは、異なるプロセサ、周辺機器の相互通信の問題に
別のアプローチを示している。ユニットはすべて共通の
マルチアクセス・ネットワークに接続されて、優先順位
を競い合う。衝突の検出は時間順に行われる。これはま
た、グローバルな能力が、すぐには制御できないか、コ
ーディネイトできないか、特殊性を与えられないことを
意味する。
【0009】こうした複合システムの詳細を充分に評価
するには、特許と関連文献を分析するしかないが、調べ
てみればわかるように、データ転送に優先順位をつける
各インスタンス及びプロセサの選択では、タスクを共有
しようとする場合には、相互通信と監視をかなりの程度
まで制御する必要がある。プロセサを追加するためにシ
ステムを拡張することは、こうした異なるシステムに生
じるのと同じ問題を引き起こすことはないが、各インス
タンスについてみると、システム・ソフトウェア、アプ
リケーション・プログラミング、ハードウェア、あるい
はこれらすべてが複雑にならざるを得ない。
するには、特許と関連文献を分析するしかないが、調べ
てみればわかるように、データ転送に優先順位をつける
各インスタンス及びプロセサの選択では、タスクを共有
しようとする場合には、相互通信と監視をかなりの程度
まで制御する必要がある。プロセサを追加するためにシ
ステムを拡張することは、こうした異なるシステムに生
じるのと同じ問題を引き起こすことはないが、各インス
タンスについてみると、システム・ソフトウェア、アプ
リケーション・プログラミング、ハードウェア、あるい
はこれらすべてが複雑にならざるを得ない。
【0010】ほとんどのネットワークは、各メッセージ
が、デスティネーション・ノードに届いたときに、メッ
セージの転送に用いられるパスで応答(ACK)ワード
が送り返されることによって肯定応答を得る(この手法
は、回路交換網、パケット交換網のいずれにも用いられ
る)。そこで、ソース・ノードはそのメッセージをネッ
トワークにエンキューし、カウントダウン・タイマをス
タートさせる。タイマが切れる前に肯定応答が受理され
ると、メッセージの転送は成功したとみなされる。タイ
マが、応答受理の前に切れると、メッセージ転送は失敗
したとみなされ、メッセージを再送しなければならない
。
が、デスティネーション・ノードに届いたときに、メッ
セージの転送に用いられるパスで応答(ACK)ワード
が送り返されることによって肯定応答を得る(この手法
は、回路交換網、パケット交換網のいずれにも用いられ
る)。そこで、ソース・ノードはそのメッセージをネッ
トワークにエンキューし、カウントダウン・タイマをス
タートさせる。タイマが切れる前に肯定応答が受理され
ると、メッセージの転送は成功したとみなされる。タイ
マが、応答受理の前に切れると、メッセージ転送は失敗
したとみなされ、メッセージを再送しなければならない
。
【0011】上記の機構の問題は、ソース・ノードが、
メッセージが成功したか失敗したかどうかしか認識せず
、経過が充分にレポートされないことである。メッセー
ジの失敗の原因は、ネットワークの輻輳、リンクの破損
、転送エラー、ノード・エラーなどいくつか考えられる
。ソース・ノードは失敗の原因を知らないか、またはメ
ッセージがどこまで進んだかを知らないので、もう一度
メッセージの送信を試すか、メッセージをアボートする
ほかない。
メッセージが成功したか失敗したかどうかしか認識せず
、経過が充分にレポートされないことである。メッセー
ジの失敗の原因は、ネットワークの輻輳、リンクの破損
、転送エラー、ノード・エラーなどいくつか考えられる
。ソース・ノードは失敗の原因を知らないか、またはメ
ッセージがどこまで進んだかを知らないので、もう一度
メッセージの送信を試すか、メッセージをアボートする
ほかない。
【0012】上記の機構を改良する方法として明らかな
のは、メッセージの失敗理由を示す否定応答を追加する
ことである。つまり、いくつかの1次元(1パス)ネッ
トワークが、メッセージ転送が失敗したときに具体的な
ステータス・ワードを返す。ただしこの方法は、複数の
パスに障害が発生し得る多次元ネットワークには応用で
きない。上記の例で、ノード1の子であるノード2、4
が両方とも、別々の原因でメッセージの送信に失敗した
とする。ノード2、4は両方ともこの情報をノード1に
返す。ノード1はそこで両方のエラーをノード0に返す
必要がある。ノード0は、各サーチ・パスで生じた各エ
ラーを処理する必要がある。このプロトコルは、拡張性
のニーズには応えるが、ステータス情報を1つのステー
タス・ワードにまとめることがないので、オーバヘッド
・メモリが過大になる。さらにこの方法を支えるための
ネットワーク・バンド幅も過大になる。
のは、メッセージの失敗理由を示す否定応答を追加する
ことである。つまり、いくつかの1次元(1パス)ネッ
トワークが、メッセージ転送が失敗したときに具体的な
ステータス・ワードを返す。ただしこの方法は、複数の
パスに障害が発生し得る多次元ネットワークには応用で
きない。上記の例で、ノード1の子であるノード2、4
が両方とも、別々の原因でメッセージの送信に失敗した
とする。ノード2、4は両方ともこの情報をノード1に
返す。ノード1はそこで両方のエラーをノード0に返す
必要がある。ノード0は、各サーチ・パスで生じた各エ
ラーを処理する必要がある。このプロトコルは、拡張性
のニーズには応えるが、ステータス情報を1つのステー
タス・ワードにまとめることがないので、オーバヘッド
・メモリが過大になる。さらにこの方法を支えるための
ネットワーク・バンド幅も過大になる。
【0013】機構の最終的な改良方法としては、中間ノ
ードがエラー・レポートを収集し、最も重大なエラー・
レポートだけをその親に渡すことであろう。この方式は
、応答メッセージのトラフィックを少なくするが、メッ
セージの経過がネットワークを通してカプセル化される
ことはない。この方式を採用した場合、ソース・ノード
には、サーチ・ブランチに生じた最も重大なエラーしか
通知されない。メッセージの経過についての情報はレポ
ートされない。
ードがエラー・レポートを収集し、最も重大なエラー・
レポートだけをその親に渡すことであろう。この方式は
、応答メッセージのトラフィックを少なくするが、メッ
セージの経過がネットワークを通してカプセル化される
ことはない。この方式を採用した場合、ソース・ノード
には、サーチ・ブランチに生じた最も重大なエラーしか
通知されない。メッセージの経過についての情報はレポ
ートされない。
【0014】マルチプロセサ・システムにみられるサイ
ズと能力の制約は、論理的に受動的な1、2本のバスを
使用することによる。相互通信を容易にする手法として
は、米国特許第4240143号明細書にみられるよう
に、サブシステムをグローバル・リソースのグループに
分けるなど種々考えられるが、多数のプロセサが用いら
れると、有用なトラフィック量は限界に達するほかなく
、可変ディレイにより、克服不可能な問題が持ち上がる
。プロセサがロックアウトまたはデッドロックに陥る状
況も予想され、こうした状況では、問題を解決するため
に回路やソフトウェアを追加する必要がある。したがっ
て、プロセサを事実上増やす(たとえば1024個にす
る)ことが実用的でないのは明らかである。
ズと能力の制約は、論理的に受動的な1、2本のバスを
使用することによる。相互通信を容易にする手法として
は、米国特許第4240143号明細書にみられるよう
に、サブシステムをグローバル・リソースのグループに
分けるなど種々考えられるが、多数のプロセサが用いら
れると、有用なトラフィック量は限界に達するほかなく
、可変ディレイにより、克服不可能な問題が持ち上がる
。プロセサがロックアウトまたはデッドロックに陥る状
況も予想され、こうした状況では、問題を解決するため
に回路やソフトウェアを追加する必要がある。したがっ
て、プロセサを事実上増やす(たとえば1024個にす
る)ことが実用的でないのは明らかである。
【0015】多くのアプリケーションで望ましいのは、
こうしたこれまでのアプローチの制約を逃れて現在の技
術を最大限に活用することである。現在最も低コストな
技術は、大量生産されるマルチプロセサと、密閉された
環境でヘッドとディスクの間隔を小さくしたWinch
ester型などの大容量の回転ディスク・メモリが、
その基盤になっている。
こうしたこれまでのアプローチの制約を逃れて現在の技
術を最大限に活用することである。現在最も低コストな
技術は、大量生産されるマルチプロセサと、密閉された
環境でヘッドとディスクの間隔を小さくしたWinch
ester型などの大容量の回転ディスク・メモリが、
その基盤になっている。
【0016】マルチプロセサ・システムは、ソフトウェ
アを、不釣り合いなほど複雑にしたりせずに、あるいは
ソフトウェア自体の複雑さをなくして、拡張することが
望ましい。また、機能全体を、一定限度の(または反復
する)処理タスクに動的に細分することのできる分散構
造を特徴としたコンピュータの問題点に取り組めること
が望ましい。
アを、不釣り合いなほど複雑にしたりせずに、あるいは
ソフトウェア自体の複雑さをなくして、拡張することが
望ましい。また、機能全体を、一定限度の(または反復
する)処理タスクに動的に細分することのできる分散構
造を特徴としたコンピュータの問題点に取り組めること
が望ましい。
【0017】データベース・マシンは実質上すべてこの
カテゴリに入る。これには、ソーティング、パターンの
認識と相関、ディジタル・フィルタリング、大きいマル
チプレクサの演算、物理システムのシミュレーション等
の代表的な例も含まれる。こうした状況のいずれについ
ても、広く分散し、比較的直接的であって、瞬時のタス
ク負荷の大きい独立した処理タスクが必要である。この
状況は、従来のマルチプロセサ・システムにとって過大
な負担となる。オーバヘッドの時間とソフトウェアが多
くなり、システムの実際のインプリメンテーションが難
しくなるからである。例えば、共有受動バスを使用した
場合、伝播レートとデータ転送時間により、トランザク
ション処理が可能なレートについて障害が発生するのは
避けられない。
カテゴリに入る。これには、ソーティング、パターンの
認識と相関、ディジタル・フィルタリング、大きいマル
チプレクサの演算、物理システムのシミュレーション等
の代表的な例も含まれる。こうした状況のいずれについ
ても、広く分散し、比較的直接的であって、瞬時のタス
ク負荷の大きい独立した処理タスクが必要である。この
状況は、従来のマルチプロセサ・システムにとって過大
な負担となる。オーバヘッドの時間とソフトウェアが多
くなり、システムの実際のインプリメンテーションが難
しくなるからである。例えば、共有受動バスを使用した
場合、伝播レートとデータ転送時間により、トランザク
ション処理が可能なレートについて障害が発生するのは
避けられない。
【0018】
【発明が解決しようとする課題】この発明は、多次元コ
ンピュータ・ネットワークにおいて制御情報を転送する
問題を解決するものである。多次元コンピュータ・ネッ
トワークは、ノードと呼ばれる同種または異種の複数の
処理ユニットより成る。ノードに必要なことは、他のノ
ードからデータ・ブロックを受信して、他のノードへデ
ータ・ブロックを送信することだけである。ノードは、
例えば、ディスプレイ、ディスク、通信アダプタ、及び
キーボードを含むパーソナル・コンピュータである。
ンピュータ・ネットワークにおいて制御情報を転送する
問題を解決するものである。多次元コンピュータ・ネッ
トワークは、ノードと呼ばれる同種または異種の複数の
処理ユニットより成る。ノードに必要なことは、他のノ
ードからデータ・ブロックを受信して、他のノードへデ
ータ・ブロックを送信することだけである。ノードは、
例えば、ディスプレイ、ディスク、通信アダプタ、及び
キーボードを含むパーソナル・コンピュータである。
【0019】ノードを相互に接続するリンクは、ノード
を規則的なパターンまたは不規則なパターンでつなぐリ
ンクである。ノード・リンクは、2つのパーソナル・コ
ンピュータをつなぐ非同期通信ケーブルと同じく簡素化
することができる。また、ローカル・エリア・ネットワ
ークは、各ノードに複数の通信リンクを提供することが
できる。多次元コンピュータ・ネットワークでノードの
情報交換を管理するためには、情報が転送されるごとに
ノードが制御情報を交換する必要がある。
を規則的なパターンまたは不規則なパターンでつなぐリ
ンクである。ノード・リンクは、2つのパーソナル・コ
ンピュータをつなぐ非同期通信ケーブルと同じく簡素化
することができる。また、ローカル・エリア・ネットワ
ークは、各ノードに複数の通信リンクを提供することが
できる。多次元コンピュータ・ネットワークでノードの
情報交換を管理するためには、情報が転送されるごとに
ノードが制御情報を交換する必要がある。
【0020】メッセージに制御情報が組み合わせられる
ネットワークを最も簡単に設計する方法は、制御情報を
転送するためにバンド幅を予約することである。たとえ
ば、各リンクが、8本のワイヤでデータを各方向へ送受
信する場合、7本はメッセージの送信に、1本は制御情
報のために予約することができる。こうした機構では、
メッセージがリンクを送信されていても1本のワイヤを
いつも制御情報の送信に使うことができる。
ネットワークを最も簡単に設計する方法は、制御情報を
転送するためにバンド幅を予約することである。たとえ
ば、各リンクが、8本のワイヤでデータを各方向へ送受
信する場合、7本はメッセージの送信に、1本は制御情
報のために予約することができる。こうした機構では、
メッセージがリンクを送信されていても1本のワイヤを
いつも制御情報の送信に使うことができる。
【0021】この機構の問題は、制御情報がない場合に
は、メッセージの送信に、リンクのバンド幅の7/8し
か利用できないことである。8番目のワイヤ(制御情報
のために予約されている)は、制御情報が転送されない
ときはアイドル状態のままであり、バンド幅が無駄にな
る。
は、メッセージの送信に、リンクのバンド幅の7/8し
か利用できないことである。8番目のワイヤ(制御情報
のために予約されている)は、制御情報が転送されない
ときはアイドル状態のままであり、バンド幅が無駄にな
る。
【0022】時間多重方式でも同じ問題が生じる。たと
えば各リンクを送られる10番目のバイトを各々制御情
報に使用する通信システムが考えられるが、このような
システムでは、制御情報がない場合にはバンド幅の9/
10しか利用できない。同様に、制御情報の転送を容易
にするために各メッセージの特定のバイトが予約されて
いると、そのバイトが送信されるときに制御情報がなけ
れば、バンド幅が無駄になる。
えば各リンクを送られる10番目のバイトを各々制御情
報に使用する通信システムが考えられるが、このような
システムでは、制御情報がない場合にはバンド幅の9/
10しか利用できない。同様に、制御情報の転送を容易
にするために各メッセージの特定のバイトが予約されて
いると、そのバイトが送信されるときに制御情報がなけ
れば、バンド幅が無駄になる。
【0023】制御情報のためにバンド幅を予約できない
場合は、同じリンクでのメッセージの転送を制御情報に
よって一時中断するようにネットワークを設計する必要
がある。この種のネットワークを実現する一般的な方法
は、各メッセージを、サイズを固定したブロック(パケ
ット)に分けることである。制御情報を追加する必要の
あるときには、リンクが現在のパケットの処理を終えて
、次に送信されるパケットを一時格納し、パケットの代
わりに制御情報を送出することができる。
場合は、同じリンクでのメッセージの転送を制御情報に
よって一時中断するようにネットワークを設計する必要
がある。この種のネットワークを実現する一般的な方法
は、各メッセージを、サイズを固定したブロック(パケ
ット)に分けることである。制御情報を追加する必要の
あるときには、リンクが現在のパケットの処理を終えて
、次に送信されるパケットを一時格納し、パケットの代
わりに制御情報を送出することができる。
【0024】最も簡単なこの実現例では、後の制御情報
と入れ替わったパケットを、メッセージの終わりまで一
時格納できるが、各中間ノードは、少なくとも1パケッ
トに充分なメモリを備えていなければならない。また、
メッセージは、デスティネーション・ノードに順不同に
届くことが考えられる。これは厳しい制約になる。
と入れ替わったパケットを、メッセージの終わりまで一
時格納できるが、各中間ノードは、少なくとも1パケッ
トに充分なメモリを備えていなければならない。また、
メッセージは、デスティネーション・ノードに順不同に
届くことが考えられる。これは厳しい制約になる。
【0025】データを順不同に送信するのを避けるには
、入れ替えられたパケットを一時格納し、反対方向の制
御情報をメッセージのソースに送って、入れ替えられ格
納されたパケットを送信するまで次のパケットを遅らせ
ればよい。しかしその場合には、各中間ノードが、最初
に入れ替えられたパケットから始まるメッセージの各パ
ケットを、ソース・ノードがデータの送信を止めるまで
保持しておくのに充分なメモリを持っている必要がある
。また、通常の制御情報が送信されるたびに、特別な制
御情報を(メッセージを遅らせるか止めるために)別に
送信する必要があり、“雪崩効果”が生じる。
、入れ替えられたパケットを一時格納し、反対方向の制
御情報をメッセージのソースに送って、入れ替えられ格
納されたパケットを送信するまで次のパケットを遅らせ
ればよい。しかしその場合には、各中間ノードが、最初
に入れ替えられたパケットから始まるメッセージの各パ
ケットを、ソース・ノードがデータの送信を止めるまで
保持しておくのに充分なメモリを持っている必要がある
。また、通常の制御情報が送信されるたびに、特別な制
御情報を(メッセージを遅らせるか止めるために)別に
送信する必要があり、“雪崩効果”が生じる。
【0026】この問題の解決法としては、メッセージの
ブレークを待たずに、入れ替えられたパケットを制御情
報が送信された後、すぐにリンクに送ることが考えられ
る。入れ替えられたパケットが送信されたときには、そ
れに続くパケットを一時格納し、この操作をメッセージ
が終わるまで繰り返す必要がある。
ブレークを待たずに、入れ替えられたパケットを制御情
報が送信された後、すぐにリンクに送ることが考えられ
る。入れ替えられたパケットが送信されたときには、そ
れに続くパケットを一時格納し、この操作をメッセージ
が終わるまで繰り返す必要がある。
【0027】この方法で効果を上げるには2つのバッフ
ァが必要になる。1つは制御情報が送信されているとき
に、入れ替えられたパケットを格納する。次に、第1バ
ッファの内容が送信されているときに、第2バッファが
次のパケットを保持しておく必要がある。第1パケット
が送信され、次のパケットの転送が開始されると、第1
バッファが空き、第3パケットを、遅れて一時格納する
のに使用できる。
ァが必要になる。1つは制御情報が送信されているとき
に、入れ替えられたパケットを格納する。次に、第1バ
ッファの内容が送信されているときに、第2バッファが
次のパケットを保持しておく必要がある。第1パケット
が送信され、次のパケットの転送が開始されると、第1
バッファが空き、第3パケットを、遅れて一時格納する
のに使用できる。
【0028】メッセージの終わりの前に送信すべき制御
情報が多くなると、メッセージの残りをパケット2つ分
遅らせるには、バッファがもう1つ必要になる。制御情
報によってメッセージを中断する回数に制限のあるかぎ
り、メッセージを、必要な制御情報をすべて送信するの
に充分な時間遅らせることがシステムによって常に保証
されるのに充分なバッファを与えることができる。
情報が多くなると、メッセージの残りをパケット2つ分
遅らせるには、バッファがもう1つ必要になる。制御情
報によってメッセージを中断する回数に制限のあるかぎ
り、メッセージを、必要な制御情報をすべて送信するの
に充分な時間遅らせることがシステムによって常に保証
されるのに充分なバッファを与えることができる。
【0029】問題は、リンクを流れる制御情報の量が、
同じリンクを同じ方向に流れるメッセージとは無関係な
ことである。したがって、ある特定の作業に必要なメモ
リを前もって定義しておくことはできず、この方法は実
用的でない。
同じリンクを同じ方向に流れるメッセージとは無関係な
ことである。したがって、ある特定の作業に必要なメモ
リを前もって定義しておくことはできず、この方法は実
用的でない。
【0030】この発明は、分散データ処理システムにお
ける処理ポイント相互間でデータを転送するマルチホッ
プ通信ネットワークの機能を高度化するものである。
ける処理ポイント相互間でデータを転送するマルチホッ
プ通信ネットワークの機能を高度化するものである。
【0031】この発明は、任意の長さ、任意の速度のリ
ンク、及び任意のサイズのネットワークに適用できる。 ネットワークは、パラレル・コンピュータの密結合プロ
セサまたは地理的に広く分散した異種プロセサを相互に
接続することができる。この発明は、2つのノード間に
パスが1つだけの1次元ネットワークとともに、多次元
またはパラレルなネットワークにも適用される。
ンク、及び任意のサイズのネットワークに適用できる。 ネットワークは、パラレル・コンピュータの密結合プロ
セサまたは地理的に広く分散した異種プロセサを相互に
接続することができる。この発明は、2つのノード間に
パスが1つだけの1次元ネットワークとともに、多次元
またはパラレルなネットワークにも適用される。
【0032】
【課題を解決するための手段】この発明は、固定したバ
ンド幅を予約する必要なく、要求に応じてデータ転送機
構からバンド幅を奪うことによって従来の技術を改良す
るものである。バンド幅は、小量のデータの転送におい
て制御情報を転送するのに用いられる。
ンド幅を予約する必要なく、要求に応じてデータ転送機
構からバンド幅を奪うことによって従来の技術を改良す
るものである。バンド幅は、小量のデータの転送におい
て制御情報を転送するのに用いられる。
【0033】この発明は、マルチノード・システムのノ
ード相互間で、メッセージ情報のほかに制御情報の転送
を容易にするものである。これはバンド幅を予約せずに
、またネットワークを送られる他のメッセージに影響を
与えずに行われる。
ード相互間で、メッセージ情報のほかに制御情報の転送
を容易にするものである。これはバンド幅を予約せずに
、またネットワークを送られる他のメッセージに影響を
与えずに行われる。
【0034】マルチノードのコンピュータ・システムは
、複数のノードの間のメッセージをつなぐ高速ノード・
リンクを使用する。各ノード及びそのノード・リンクは
、ネットワークのメッセージ転送に影響を与えずにノー
ド相互間の制御情報をルーティングする通信転送手段を
備える。
、複数のノードの間のメッセージをつなぐ高速ノード・
リンクを使用する。各ノード及びそのノード・リンクは
、ネットワークのメッセージ転送に影響を与えずにノー
ド相互間の制御情報をルーティングする通信転送手段を
備える。
【0035】各ノード・リンクは全2重通信リンクであ
る。したがって、メッセージが1方向に転送され、対応
する入力信号が存在しないときは、制御情報を反対方向
へ転送するのにリンクのバンド幅全体を使用でき、通信
システムの性能は影響を受けない。この発明は、ノード
相互間で交換される情報に伴う制御情報のこの転送能力
を利用するものである。
る。したがって、メッセージが1方向に転送され、対応
する入力信号が存在しないときは、制御情報を反対方向
へ転送するのにリンクのバンド幅全体を使用でき、通信
システムの性能は影響を受けない。この発明は、ノード
相互間で交換される情報に伴う制御情報のこの転送能力
を利用するものである。
【0036】制御情報を送るときに、データ・メッセー
ジの転送が両方向でアクティブになることがある。その
場合、データ・メッセージは、制御情報が転送されてい
る間にバッファに格納される。あるノードに入るメッセ
ージが多すぎ、バッファ手段が全メッセージを格納する
には不充分な場合は、データ・メッセージを送信するノ
ードに制御ブロックが返送され、ノードへのメッセージ
転送が一時的にブロックされる。
ジの転送が両方向でアクティブになることがある。その
場合、データ・メッセージは、制御情報が転送されてい
る間にバッファに格納される。あるノードに入るメッセ
ージが多すぎ、バッファ手段が全メッセージを格納する
には不充分な場合は、データ・メッセージを送信するノ
ードに制御ブロックが返送され、ノードへのメッセージ
転送が一時的にブロックされる。
【0037】
【実施例】図1に示した簡単な分散データ処理システム
と通信ネットワークを考える。
と通信ネットワークを考える。
【0038】分散データ処理システムは、ノードという
複数の同種または異種のデータ処理サイトから成る。例
えば、図1ではボックス1ないし7がノードを表わす。 各ノードは、小型ストレージ・デバイス(ディスク、メ
モリなど)のように簡単なものから、多重処理コンピュ
ータ・システム(パーソナル・コンピュータ)のように
複雑なものまである。ただしここでは、各ノードがデー
タ・ブロックを他のノードとの間で送受信できるものと
する。
複数の同種または異種のデータ処理サイトから成る。例
えば、図1ではボックス1ないし7がノードを表わす。 各ノードは、小型ストレージ・デバイス(ディスク、メ
モリなど)のように簡単なものから、多重処理コンピュ
ータ・システム(パーソナル・コンピュータ)のように
複雑なものまである。ただしここでは、各ノードがデー
タ・ブロックを他のノードとの間で送受信できるものと
する。
【0039】分散データ処理システムには、ノード相互
間でデータ・ブロックを送信するための通信ネットワー
クも含まれる。よく見られる通信ネットワークには、ノ
ードを規則的パターンまたは不規則なパターンで相互に
接続する、リンクという複数のポイント・ツー・ポイン
ト転送システムから成るものがある。例えば、図1では
ライン12、14、23、25、35、45、56、及
び67がリンクを表わす。
間でデータ・ブロックを送信するための通信ネットワー
クも含まれる。よく見られる通信ネットワークには、ノ
ードを規則的パターンまたは不規則なパターンで相互に
接続する、リンクという複数のポイント・ツー・ポイン
ト転送システムから成るものがある。例えば、図1では
ライン12、14、23、25、35、45、56、及
び67がリンクを表わす。
【0040】この発明は、同じキャビネット内の2つの
ノードをつなぐリンク、別の都市にある2つのノードを
つなぐリンクなど、任意の距離の通信リンクに適用でき
る。転送機構の種類も、各リンクが全2重転送(データ
が両方向同時に転送される)をサポートする限り重要で
はない。
ノードをつなぐリンク、別の都市にある2つのノードを
つなぐリンクなど、任意の距離の通信リンクに適用でき
る。転送機構の種類も、各リンクが全2重転送(データ
が両方向同時に転送される)をサポートする限り重要で
はない。
【0041】簡単のため、ここではリンクで接続された
2つのノード間を送られるデータがそのリンクを通して
送信されるとする。例えば、図1ではノード1からノー
ド2へ送信されるデータは、リンク12を送られる。デ
ータが、直結はしていない2つのノード間を送られると
きはマルチリンクが用いられる。たとえば、ノード1か
らノード6へ送られるデータは、リンク12、25、及
び56を使うことになる。この発明は、ネットワークの
パスを見つけるためのメカニズム、及びデータ・ブロッ
クの転送時に用いられるソース、デスティネーション、
または中間のノード(先の例ではノード2、5)内のデ
ータを処理するためのメカニズムとは無関係に適用でき
る。
2つのノード間を送られるデータがそのリンクを通して
送信されるとする。例えば、図1ではノード1からノー
ド2へ送信されるデータは、リンク12を送られる。デ
ータが、直結はしていない2つのノード間を送られると
きはマルチリンクが用いられる。たとえば、ノード1か
らノード6へ送られるデータは、リンク12、25、及
び56を使うことになる。この発明は、ネットワークの
パスを見つけるためのメカニズム、及びデータ・ブロッ
クの転送時に用いられるソース、デスティネーション、
または中間のノード(先の例ではノード2、5)内のデ
ータを処理するためのメカニズムとは無関係に適用でき
る。
【0042】この発明は、リンクを送られるデータのタ
イプまたはフォーマットとは無関係に利用できる。特に
、データを、個別にルーティングされたパケット(サイ
ズが固定されたデータ・ブロック)に分ける必要がなく
、送られるデータ・ブロックのサイズを制限する必要も
ない。メッセージという言葉は、ここではノード相互間
を送られているデータ・ブロックの意味で用いる。
イプまたはフォーマットとは無関係に利用できる。特に
、データを、個別にルーティングされたパケット(サイ
ズが固定されたデータ・ブロック)に分ける必要がなく
、送られるデータ・ブロックのサイズを制限する必要も
ない。メッセージという言葉は、ここではノード相互間
を送られているデータ・ブロックの意味で用いる。
【0043】図1により、ノード1からノード6へのメ
ッセージの転送を考える。データが、あるノードから別
のノードへ送られているときには、データの転送を完了
または制御するために、受信側のノードが送信側のノー
ドに情報を返送しなければならないことがある。以下に
、例として、送信される制御情報のタイプを示す。
ッセージの転送を考える。データが、あるノードから別
のノードへ送られているときには、データの転送を完了
または制御するために、受信側のノードが送信側のノー
ドに情報を返送しなければならないことがある。以下に
、例として、送信される制御情報のタイプを示す。
【0044】1.メッセージがデスティネーション・ノ
ード(ノード6)に届いたとき、正常に受信されなかっ
た場合には、メッセージの再送を求める情報をソース・
ノード(ノード1)に返送することができる。
ード(ノード6)に届いたとき、正常に受信されなかっ
た場合には、メッセージの再送を求める情報をソース・
ノード(ノード1)に返送することができる。
【0045】2.メッセージ転送時に用いられるリンク
に障害が発生した場合は、メッセージの終わりを待たず
にメッセージ転送をアボート(abort) する、す
なわち打切る情報を返送することができる。
に障害が発生した場合は、メッセージの終わりを待たず
にメッセージ転送をアボート(abort) する、す
なわち打切る情報を返送することができる。
【0046】3.デスティネーション・ノードまたは中
間ノード(ノード2、5)が、データを、送信されたと
きに一時格納していて、そのバッファが一杯になった場
合は、バッファのオーバフローが解消されるまでデータ
転送を一時停止するための情報を送信側ノードに返送す
ることができる。このとき、メッセージを再スタートさ
せるために別の制御情報を返送することができる。
間ノード(ノード2、5)が、データを、送信されたと
きに一時格納していて、そのバッファが一杯になった場
合は、バッファのオーバフローが解消されるまでデータ
転送を一時停止するための情報を送信側ノードに返送す
ることができる。このとき、メッセージを再スタートさ
せるために別の制御情報を返送することができる。
【0047】4.メッセージに用いられるリンクの選択
が、メッセージ転送の初めに動的に決定される場合は、
リンクがメッセージの転送に使用できるかどうかを示す
情報を、当該リンクによって返送することができる。
が、メッセージ転送の初めに動的に決定される場合は、
リンクがメッセージの転送に使用できるかどうかを示す
情報を、当該リンクによって返送することができる。
【0048】あるリンク(たとえばリンク12)が1方
向にのみ(ノード1からノード2へ)メッセージを送っ
ているときは、各リンクを全2重にする必要があれば、
通常は反対方向へ(ノード2からノード1へ)メッセー
ジを送信するために予約されるアイドル転送機能を使っ
て制御情報を返送することができる。
向にのみ(ノード1からノード2へ)メッセージを送っ
ているときは、各リンクを全2重にする必要があれば、
通常は反対方向へ(ノード2からノード1へ)メッセー
ジを送信するために予約されるアイドル転送機能を使っ
て制御情報を返送することができる。
【0049】しかしこのような簡単な手法は、リンクが
両方向にメッセージを送信するので手一杯の場合は役に
立たない。先の例では、あるメッセージがノード1から
ノード2へ送られ、別のメッセージがノード2からノー
ド1へ同時に送られている場合、いずれかのメッセージ
に関連した制御情報をリンク12を通して返送する明ら
かな方法はない。
両方向にメッセージを送信するので手一杯の場合は役に
立たない。先の例では、あるメッセージがノード1から
ノード2へ送られ、別のメッセージがノード2からノー
ド1へ同時に送られている場合、いずれかのメッセージ
に関連した制御情報をリンク12を通して返送する明ら
かな方法はない。
【0050】この発明は、通信ネットワークのリンクが
、関連のないメッセージを送信するので手一杯になって
いると考えられるときに、そのリンクを通して制御情報
を返送する方法の問題を解決するものである。この発明
では、この発明を利用するシステムの特性を基にして、
次の要件を満足しながらこの問題を解決する必要がある
。
、関連のないメッセージを送信するので手一杯になって
いると考えられるときに、そのリンクを通して制御情報
を返送する方法の問題を解決するものである。この発明
では、この発明を利用するシステムの特性を基にして、
次の要件を満足しながらこの問題を解決する必要がある
。
【0051】1.システムにおいて制御情報を送る必要
があっても、ネットワーク内で送信できるメッセージの
長さが制限されないようにする。つまりメッセージ長は
可変である。
があっても、ネットワーク内で送信できるメッセージの
長さが制限されないようにする。つまりメッセージ長は
可変である。
【0052】2.制御情報は、それが生成されてからで
きるだけ速やかに送信する。特に制御情報の送信は、他
のメッセージが終わるまで遅らせることはできない(制
御情報の転送がブロックされる恐れがある)。メッセー
ジが任意の長さであり(要件1参照)、メッセージ終了
待ち時間が不定で、非常に長くなる可能性があるからで
ある。
きるだけ速やかに送信する。特に制御情報の送信は、他
のメッセージが終わるまで遅らせることはできない(制
御情報の転送がブロックされる恐れがある)。メッセー
ジが任意の長さであり(要件1参照)、メッセージ終了
待ち時間が不定で、非常に長くなる可能性があるからで
ある。
【0053】3.メッセージがマルチホップを送られる
ときは、中間ノードで意味のあるメモリ量(数バイト以
上)については条件を課さない。これは特に、メッセー
ジが任意の長さにでき、中間ノードに最大長のメッセー
ジを格納するためのメモリ量がかなり多くなるので重要
である。この要件では、ネットワークは、各中間ノード
が各メッセージをローカル・メモリに格納してから、デ
スティネーション・ノードにつながる次のリンクに送り
出す蓄積交換方式を用いないことになる。
ときは、中間ノードで意味のあるメモリ量(数バイト以
上)については条件を課さない。これは特に、メッセー
ジが任意の長さにでき、中間ノードに最大長のメッセー
ジを格納するためのメモリ量がかなり多くなるので重要
である。この要件では、ネットワークは、各中間ノード
が各メッセージをローカル・メモリに格納してから、デ
スティネーション・ノードにつながる次のリンクに送り
出す蓄積交換方式を用いないことになる。
【0054】4.リンクを通して制御情報を送信する必
要がある場合は、制御情報を容れる余地を残すために速
度を落とすことを、そのメッセージを送信している他の
リンクまたはそのメッセージを生成するソース・ノード
に明示的に指示する必要はない。
要がある場合は、制御情報を容れる余地を残すために速
度を落とすことを、そのメッセージを送信している他の
リンクまたはそのメッセージを生成するソース・ノード
に明示的に指示する必要はない。
【0055】これは、メッセージの速度を落とすために
送信する必要のある制御情報自体が、別のメッセージの
速度を、リンクを通して返送されたときに遅くすること
を求めるからである。その場合、“雪崩効果”が生じて
、ネットワークが速度低下の要求で一杯になる。
送信する必要のある制御情報自体が、別のメッセージの
速度を、リンクを通して返送されたときに遅くすること
を求めるからである。その場合、“雪崩効果”が生じて
、ネットワークが速度低下の要求で一杯になる。
【0056】5.メッセージの送信で手一杯のリンクを
通して制御情報が送信される場合は、制御情報がメッセ
ージからバンド幅を奪う。ただし、制御情報がなければ
、そのメッセージはリンクのバンド幅全体を使用する。 つまり、利用できるリンクのバンド幅は、送信されない
かもしれない制御情報には予約されない。
通して制御情報が送信される場合は、制御情報がメッセ
ージからバンド幅を奪う。ただし、制御情報がなければ
、そのメッセージはリンクのバンド幅全体を使用する。 つまり、利用できるリンクのバンド幅は、送信されない
かもしれない制御情報には予約されない。
【0057】6.要件1から、あるメッセージについて
返送される制御情報の量には制限がないと仮定すること
もできるが、リンクを送られるメッセージとそのリンク
を共有する制御情報との間には関係がない。
返送される制御情報の量には制限がないと仮定すること
もできるが、リンクを送られるメッセージとそのリンク
を共有する制御情報との間には関係がない。
【0058】言い替えると、あるリンクでは、1つの長
いメッセージが左から右へ流れ、たくさんの短いメッセ
ージが右から左へ流れているかもしれない。短いメッセ
ージに関連する制御情報は反対方向へ流れるので、制御
情報は、左から右へ流れるメッセージが終わる前に、リ
ンクを左から右へ送信する必要がある。
いメッセージが左から右へ流れ、たくさんの短いメッセ
ージが右から左へ流れているかもしれない。短いメッセ
ージに関連する制御情報は反対方向へ流れるので、制御
情報は、左から右へ流れるメッセージが終わる前に、リ
ンクを左から右へ送信する必要がある。
【0059】7.制御情報が、メッセージの送信で手一
杯のリンクを送られる場合は、メッセージ転送はローカ
ルに中断できるが、そのメッセージのデータは、データ
が失われず、メッセージの終了が早すぎることのないよ
うに保持しなければならない。
杯のリンクを送られる場合は、メッセージ転送はローカ
ルに中断できるが、そのメッセージのデータは、データ
が失われず、メッセージの終了が早すぎることのないよ
うに保持しなければならない。
【0060】簡単なため、ここではネットワークのリン
クがすべて同じバンド幅であり、メッセージの送信時に
各リンクのバンド幅全体が用いられるとする。つまり、
直結はしていない2つのノード間でメッセージが(たと
えばノード1からノード6へ)送信される場合は、メッ
セージはパスの各中間リンク(例ではリンク12、25
、56)の全バンド幅を使用する。
クがすべて同じバンド幅であり、メッセージの送信時に
各リンクのバンド幅全体が用いられるとする。つまり、
直結はしていない2つのノード間でメッセージが(たと
えばノード1からノード6へ)送信される場合は、メッ
セージはパスの各中間リンク(例ではリンク12、25
、56)の全バンド幅を使用する。
【0061】この前提が、中間リンク(第1リンクを除
く)のバンド幅が第1リンクよりも大きくなるように緩
和された場合は、メッセージがそのパスを送られたとき
、そのメッセージは、高速な中間ノードの各々に使用で
きるバンド幅の一部しか使用しない。これらの中間ノー
ドで余ったバンド幅は制御情報の送信に使用できる。 その場合、完全に占有されたネットワーク内の低速リン
クに対するこの発明の適用可能性が少なくなる。
く)のバンド幅が第1リンクよりも大きくなるように緩
和された場合は、メッセージがそのパスを送られたとき
、そのメッセージは、高速な中間ノードの各々に使用で
きるバンド幅の一部しか使用しない。これらの中間ノー
ドで余ったバンド幅は制御情報の送信に使用できる。 その場合、完全に占有されたネットワーク内の低速リン
クに対するこの発明の適用可能性が少なくなる。
【0062】この状況は、もしマルチリンク・パスにお
ける第1リンクのバンド幅が他のリンクよりも大きい場
合には多少複雑になる。その場合、メッセージは、他の
リンクの過負荷を避けるために第1リンクのバンド幅の
一部しか使用せずに送出するか、あるいは第1リンクの
全バンド幅を使用して、中間ノードの1つが送信できる
よりも多くのデータを受信するかのいずれかである。後
者の場合、中間ノードは、余剰データが失われないよう
に、それを一時格納する必要がある。そうすると中間ノ
ードは、要件3に反して、かなりの量のバッファ・メモ
リを備えなければならない。
ける第1リンクのバンド幅が他のリンクよりも大きい場
合には多少複雑になる。その場合、メッセージは、他の
リンクの過負荷を避けるために第1リンクのバンド幅の
一部しか使用せずに送出するか、あるいは第1リンクの
全バンド幅を使用して、中間ノードの1つが送信できる
よりも多くのデータを受信するかのいずれかである。後
者の場合、中間ノードは、余剰データが失われないよう
に、それを一時格納する必要がある。そうすると中間ノ
ードは、要件3に反して、かなりの量のバッファ・メモ
リを備えなければならない。
【0063】この発明は全バンド幅を使用するシステム
内の各リンクに適用されるので、ここでは、本発明を説
明する便宜上、各リンクが、リンクの全バンド幅に等し
い同一速度で動作するものとする。この発明は、(リン
ク速度が変わるネットワークでもこの発明を適用できる
が)全バンド幅が用いられるリンクに限られる。
内の各リンクに適用されるので、ここでは、本発明を説
明する便宜上、各リンクが、リンクの全バンド幅に等し
い同一速度で動作するものとする。この発明は、(リン
ク速度が変わるネットワークでもこの発明を適用できる
が)全バンド幅が用いられるリンクに限られる。
【0064】ロジックこの発明は、制御情報を追加でき
るようにメッセージを遅らせる、簡素かつ効果的な手段
と、メッセージを遅らせる制御情報の量を制限するため
に、アイドル・リンクが、あたかも占有されているかの
ようにブロックされる(BLOCKED)手法を用いて
、小量のバッファ・メモリで充分であることを保証する
メカニズムを提供することによって、従来の技術を改良
するものである。
るようにメッセージを遅らせる、簡素かつ効果的な手段
と、メッセージを遅らせる制御情報の量を制限するため
に、アイドル・リンクが、あたかも占有されているかの
ようにブロックされる(BLOCKED)手法を用いて
、小量のバッファ・メモリで充分であることを保証する
メカニズムを提供することによって、従来の技術を改良
するものである。
【0065】図2のように、通信ネットワークの2つの
ノード1、2間に1つの全2重リンク12を考える。ノ
ード1からノード2に送信されるメッセージは、ノード
1で生成され、ロジック・ブロック90に供給されてリ
ンク12に送り出される。同様に、ノード2からノード
1へ送信されるメッセージは、ノード1内で、ロジック
・ブロック91によってリンク12から抽出され、ノー
ド1に供給されて処理されるか、または他のリンクを通
して転送される。ノード1からノード2へ流れるメッセ
ージに関連する制御情報は、ノード2の出力リンク・ロ
ジック93により、ノード2からノード1へ流れるメッ
セージ・ストリームに追加することによって、ノード2
からノード1へ返送される。次に制御情報は、ノード1
の入力リンク・ロジック91によってそのメッセージ・
ストリームから分離される。
ノード1、2間に1つの全2重リンク12を考える。ノ
ード1からノード2に送信されるメッセージは、ノード
1で生成され、ロジック・ブロック90に供給されてリ
ンク12に送り出される。同様に、ノード2からノード
1へ送信されるメッセージは、ノード1内で、ロジック
・ブロック91によってリンク12から抽出され、ノー
ド1に供給されて処理されるか、または他のリンクを通
して転送される。ノード1からノード2へ流れるメッセ
ージに関連する制御情報は、ノード2の出力リンク・ロ
ジック93により、ノード2からノード1へ流れるメッ
セージ・ストリームに追加することによって、ノード2
からノード1へ返送される。次に制御情報は、ノード1
の入力リンク・ロジック91によってそのメッセージ・
ストリームから分離される。
【0066】リンク相互間でメッセージを送受信しルー
ティングするノード内のロジックは、制御情報を処理す
るロジックとともに、この発明の対象外である。この発
明で説明するのは、ノード内のルーティング・ロジック
と、リンク・レベルのドライバ及びレシーバとの間のメ
ッセージと制御情報の処理である。このロジック(図2
のブロック90、91)の詳細を図3に示す。
ティングするノード内のロジックは、制御情報を処理す
るロジックとともに、この発明の対象外である。この発
明で説明するのは、ノード内のルーティング・ロジック
と、リンク・レベルのドライバ及びレシーバとの間のメ
ッセージと制御情報の処理である。このロジック(図2
のブロック90、91)の詳細を図3に示す。
【0067】順方向に流れるメッセージは論理的にパケ
ットに分けられる。各パケットは、最も小さい制御情報
と同じサイズである。したがってパケットは普通1ない
し4バイトである。ノードからのパケット・ストリーム
は、FIFO(ファーストイン・ファーストアウト・バ
ッファ)100に送り込まれる。FIFOの出力は、マ
ルチプレクサ(MUX)101に供給され、ここでメッ
セージ・データ、反対方向の制御情報、または特別なM
SG−BLOCKキャラクタもしくはBLANKキャラ
クタが選択される。マルチプレクサの出力は図3に示す
ようにリンク・ドライバ102(DRVR)に供給され
る。
ットに分けられる。各パケットは、最も小さい制御情報
と同じサイズである。したがってパケットは普通1ない
し4バイトである。ノードからのパケット・ストリーム
は、FIFO(ファーストイン・ファーストアウト・バ
ッファ)100に送り込まれる。FIFOの出力は、マ
ルチプレクサ(MUX)101に供給され、ここでメッ
セージ・データ、反対方向の制御情報、または特別なM
SG−BLOCKキャラクタもしくはBLANKキャラ
クタが選択される。マルチプレクサの出力は図3に示す
ようにリンク・ドライバ102(DRVR)に供給され
る。
【0068】図4のフローチャートに示すように(ステ
ップ404で)反対方向の制御情報がない場合、メッセ
ージ・データは、FIFOに一時格納されずにそれを通
過し、マルチプレクサを経て、最小の遅れでリンクを送
られる(ステップ407、409)。リンクのバンド幅
は、ノードから入るメッセージ・データの速度と一致す
るようにする必要がある。
ップ404で)反対方向の制御情報がない場合、メッセ
ージ・データは、FIFOに一時格納されずにそれを通
過し、マルチプレクサを経て、最小の遅れでリンクを送
られる(ステップ407、409)。リンクのバンド幅
は、ノードから入るメッセージ・データの速度と一致す
るようにする必要がある。
【0069】(ステップ404で)反対方向の制御情報
があってリンクを送られる場合は、出力制御ロジック1
03により、制御情報がリンクにアクセスできるように
マルチプレクサ101が切り替えられる(ステップ40
5)。その間、メッセージは、FIFOでパケットがバ
ックアップされることによって遅れる。制御情報が送信
された後、マルチプレクサは元に戻り、メッセージは停
止したところから再スタートする。
があってリンクを送られる場合は、出力制御ロジック1
03により、制御情報がリンクにアクセスできるように
マルチプレクサ101が切り替えられる(ステップ40
5)。その間、メッセージは、FIFOでパケットがバ
ックアップされることによって遅れる。制御情報が送信
された後、マルチプレクサは元に戻り、メッセージは停
止したところから再スタートする。
【0070】メッセージ・データも反対方向の制御キャ
ラクタもリンクを送られない場合は、出力制御ロジック
103がマルチプレクサを自分の出力に切り替えて、特
別なBLANK制御パケットをリンクに送り、メッセー
ジにギャップがあることを示す(ステップ408)。
ラクタもリンクを送られない場合は、出力制御ロジック
103がマルチプレクサを自分の出力に切り替えて、特
別なBLANK制御パケットをリンクに送り、メッセー
ジにギャップがあることを示す(ステップ408)。
【0071】ドライバはすべて別のノードのレシーバに
接続される。このノードのレシーバ(リンクのもう一端
でドライバにつながる)を図3の104に示す。レシー
バからのデータは、デマルチプレクサ(DEMUX)1
05に供給され、ここでメッセージ・データが制御情報
から分離される。
接続される。このノードのレシーバ(リンクのもう一端
でドライバにつながる)を図3の104に示す。レシー
バからのデータは、デマルチプレクサ(DEMUX)1
05に供給され、ここでメッセージ・データが制御情報
から分離される。
【0072】図5のフローチャートに示すように(ステ
ップ502で)受信されたBLANKパケット、MSG
−BLOCKパケットはいずれも、入力制御ロジック1
06によって入力データ・ストリームから除外される(
図5、ステップ503、504、505、506、50
7、508)。この2つのキャラクタは反対方向の制御
キャラクタと似ているが、ノードではなく出力制御ロジ
ックによって生成される点が異なる。BLANKとMS
G−BLOCKを除くすべてのデータと制御キャラクタ
はノードに送られて処理される(図5、ステップ509
、510、511)。
ップ502で)受信されたBLANKパケット、MSG
−BLOCKパケットはいずれも、入力制御ロジック1
06によって入力データ・ストリームから除外される(
図5、ステップ503、504、505、506、50
7、508)。この2つのキャラクタは反対方向の制御
キャラクタと似ているが、ノードではなく出力制御ロジ
ックによって生成される点が異なる。BLANKとMS
G−BLOCKを除くすべてのデータと制御キャラクタ
はノードに送られて処理される(図5、ステップ509
、510、511)。
【0073】メッセージ・データと制御情報を区別する
方法は、使用リンクのタイプによって異なり、この発明
の対象外である。あるシステムでは、制御情報の先頭の
マークとしてエスケープ・キャラクタが用いられる。リ
ンクを送信できる一意のパケット(キャラクタ)セット
が、メッセージ・データに必要なセットよりも大きいシ
ステムもある。メッセージ・データに使用されないパケ
ット・タイプは制御情報に使用できる。
方法は、使用リンクのタイプによって異なり、この発明
の対象外である。あるシステムでは、制御情報の先頭の
マークとしてエスケープ・キャラクタが用いられる。リ
ンクを送信できる一意のパケット(キャラクタ)セット
が、メッセージ・データに必要なセットよりも大きいシ
ステムもある。メッセージ・データに使用されないパケ
ット・タイプは制御情報に使用できる。
【0074】FIFOの幅は普通、パケット・サイズに
合わせられる。制御情報を追加するためにメッセージを
遅らせる場合、パケットを保持するメモリのように動作
するのはFIFOである。したがって、FIFOの深さ
によって、パケットを取りこぼすことなく送信できる制
御情報の量が決まる。
合わせられる。制御情報を追加するためにメッセージを
遅らせる場合、パケットを保持するメモリのように動作
するのはFIFOである。したがって、FIFOの深さ
によって、パケットを取りこぼすことなく送信できる制
御情報の量が決まる。
【0075】FIFOは、パケット転送時間に関係する
フォール・スルー時間を比較的短くする必要がある。フ
ォール・スルー時間は、データがFIFOに入ってから
FIFOから読み出されるまでの時間である。フォール
・スルー時間が比較的短ければ、FIFOからデータが
使用できないときには、FIFOがほぼ空であるとみな
すことができる。
フォール・スルー時間を比較的短くする必要がある。フ
ォール・スルー時間は、データがFIFOに入ってから
FIFOから読み出されるまでの時間である。フォール
・スルー時間が比較的短ければ、FIFOからデータが
使用できないときには、FIFOがほぼ空であるとみな
すことができる。
【0076】FIFOのオーバフローを避けるために、
出力制御ロジック(図3の103)が、FIFOの余地
をモニタする(図4のステップ402)。FIFOがほ
ぼ一杯(後述)であれば、出力制御ロジックはメッセー
ジを中断して自分の制御情報(MSG−BLOCKとい
われる)を送信する(ステップ403)。
出力制御ロジック(図3の103)が、FIFOの余地
をモニタする(図4のステップ402)。FIFOがほ
ぼ一杯(後述)であれば、出力制御ロジックはメッセー
ジを中断して自分の制御情報(MSG−BLOCKとい
われる)を送信する(ステップ403)。
【0077】MSG−BLOCKはリンクを通して、ノ
ードのもう一端にあるレシーバへ送られる。この制御情
報はそのノードの入力制御ロジック106によってデー
タ・ストリームから取り除かれる(図5のステップ50
4)。MSG−BLOCKが受信されると、受信側のノ
ードの入力制御ロジックは、BLOCKEDという制御
ラインをセットする(ステップ505)。制御ラインは
そのノードによってモニタされる。BLOCKED信号
は、ノードを通して送信されているメッセージには影響
を与えないが、現在のメッセージが終了すると、そのリ
ンクでは、BLOCKED信号がクリアされるまでは新
しいメッセージは受理されない。
ードのもう一端にあるレシーバへ送られる。この制御情
報はそのノードの入力制御ロジック106によってデー
タ・ストリームから取り除かれる(図5のステップ50
4)。MSG−BLOCKが受信されると、受信側のノ
ードの入力制御ロジックは、BLOCKEDという制御
ラインをセットする(ステップ505)。制御ラインは
そのノードによってモニタされる。BLOCKED信号
は、ノードを通して送信されているメッセージには影響
を与えないが、現在のメッセージが終了すると、そのリ
ンクでは、BLOCKED信号がクリアされるまでは新
しいメッセージは受理されない。
【0078】MSG−BLOCKが入力制御ロジック1
06によって検出されると、その制御ロジックはBLA
NK制御パケットを探し始める(図5のステップ506
)。BLANKが検出されると、入力制御ロジックは、
リンクのもう一端のFIFOがほぼ空であるとみなすこ
とができる。ここでBLOCKED信号をリセットする
ことができる(図5のステップ508)。これは普通、
メッセージの終わりで生じるが、メッセージがリンクの
バンド幅よりも低速で転送されている場合は、メッセー
ジの中間でブレークが可能である。
06によって検出されると、その制御ロジックはBLA
NK制御パケットを探し始める(図5のステップ506
)。BLANKが検出されると、入力制御ロジックは、
リンクのもう一端のFIFOがほぼ空であるとみなすこ
とができる。ここでBLOCKED信号をリセットする
ことができる(図5のステップ508)。これは普通、
メッセージの終わりで生じるが、メッセージがリンクの
バンド幅よりも低速で転送されている場合は、メッセー
ジの中間でブレークが可能である。
【0079】この発明の機能を充分に理解するには、反
対方向の制御パケット数についてどのような仮定が可能
かを調べる必要がある。
対方向の制御パケット数についてどのような仮定が可能
かを調べる必要がある。
【0080】図1により、メッセージAがリンク12、
25、56でノード1からノード6へ送信されていると
する。同時にメッセージBがリンク12、14でノード
2からノード4へ送信されているとする。リンク12で
は2つのメッセージが各方向に通過する。
25、56でノード1からノード6へ送信されていると
する。同時にメッセージBがリンク12、14でノード
2からノード4へ送信されているとする。リンク12で
は2つのメッセージが各方向に通過する。
【0081】各メッセージによって反対方向の制御情報
がいくらか生成され得る。ここでMを、あるメッセージ
に応答して生成された最大制御情報量に等しいとする。 Mは、あるメッセージを中断させる制御情報の量とは関
係のないことに注意されたい。例で、9個の短いメッセ
ージ(B1ないしB9)がノード2からノード4へ送信
されると同時に、1つの長いメッセージAがノード1か
らノード6へ送信される場合、メッセージAがリンク1
2を通してノード1からノード2へ送信されるときに、
最大9*M個の制御情報をメッセージAに追加するケー
スが考えられる。
がいくらか生成され得る。ここでMを、あるメッセージ
に応答して生成された最大制御情報量に等しいとする。 Mは、あるメッセージを中断させる制御情報の量とは関
係のないことに注意されたい。例で、9個の短いメッセ
ージ(B1ないしB9)がノード2からノード4へ送信
されると同時に、1つの長いメッセージAがノード1か
らノード6へ送信される場合、メッセージAがリンク1
2を通してノード1からノード2へ送信されるときに、
最大9*M個の制御情報をメッセージAに追加するケー
スが考えられる。
【0082】ノード1のFIFOに3*M個のパケット
分の余地があるとする。もし、メッセージAの転送中に
、3*M個を超える制御情報がリンク12を送られると
、メッセージAのパケットのいくつかは失われる。メッ
セージAの一部の損失を避けるには、反対方向に流れる
メッセージ(B1ないしB9)の個数を制限することに
よって、生成される制御情報の量を制限する必要がある
。
分の余地があるとする。もし、メッセージAの転送中に
、3*M個を超える制御情報がリンク12を送られると
、メッセージAのパケットのいくつかは失われる。メッ
セージAの一部の損失を避けるには、反対方向に流れる
メッセージ(B1ないしB9)の個数を制限することに
よって、生成される制御情報の量を制限する必要がある
。
【0083】図2により、メッセージAはノード1から
ブロック90を通ってリンク12を通過し、ブロック9
2を通ってノード2に至る。メッセージは、ノード2に
入ると、リンク25(図示なし)を送られる。メッセー
ジBはノード2からブロック93を通ってリンク12を
通過し、ブロック91を通ってノード1に至り、ノード
4に送られる。
ブロック90を通ってリンク12を通過し、ブロック9
2を通ってノード2に至る。メッセージは、ノード2に
入ると、リンク25(図示なし)を送られる。メッセー
ジBはノード2からブロック93を通ってリンク12を
通過し、ブロック91を通ってノード1に至り、ノード
4に送られる。
【0084】ノード2からノード4へ流れるメッセージ
Bは各々ノード4からノード2へ流れる制御情報を生成
する。制御情報はノード1に送られ、ブロック90を通
ってリンク12を通過し、ブロック92を通ってノード
2に入る。ここで同じリンク12を使うメッセージAか
らバンド幅を奪う。制御情報がリンク12を送られるご
とに、メッセージAの別のパケットが遅れ、ブロック9
0内のFIFO100(図3)の占有率が少し大きくな
る。
Bは各々ノード4からノード2へ流れる制御情報を生成
する。制御情報はノード1に送られ、ブロック90を通
ってリンク12を通過し、ブロック92を通ってノード
2に入る。ここで同じリンク12を使うメッセージAか
らバンド幅を奪う。制御情報がリンク12を送られるご
とに、メッセージAの別のパケットが遅れ、ブロック9
0内のFIFO100(図3)の占有率が少し大きくな
る。
【0085】ブロック90内のFIFO100に残って
いる空きステージの個数が2+Mに等しくなると、ブロ
ック90内の出力制御ロジック103により、MSG−
BLOCKがリンク12を通してノード2へ送られる。 MSG−BLOCKの転送によってメッセージAがまた
少し遅れ、FIFOの空きステージがまた1つ占有され
る。
いる空きステージの個数が2+Mに等しくなると、ブロ
ック90内の出力制御ロジック103により、MSG−
BLOCKがリンク12を通してノード2へ送られる。 MSG−BLOCKの転送によってメッセージAがまた
少し遅れ、FIFOの空きステージがまた1つ占有され
る。
【0086】MSG−BLOCKキャラクタは、ブロッ
ク92内の入力制御ロジック106によってリンクから
除外される。この制御ロジックは次に、リンク12がブ
ロックされた(BLOCKED)ことをノード2に伝え
る。ここでBLOCKED信号がセットされたときにメ
ッセージB3がノード2からノード1へ送信されている
とする。BLOCKED状態はメッセージB3に影響を
与えない。このメッセージはすでに進行中であるためで
ある。またメッセージB3は、この段階ではFIFOに
M+1の空きステージがあるので、最大M個の制御情報
をリンク12に送る余裕がある。
ク92内の入力制御ロジック106によってリンクから
除外される。この制御ロジックは次に、リンク12がブ
ロックされた(BLOCKED)ことをノード2に伝え
る。ここでBLOCKED信号がセットされたときにメ
ッセージB3がノード2からノード1へ送信されている
とする。BLOCKED状態はメッセージB3に影響を
与えない。このメッセージはすでに進行中であるためで
ある。またメッセージB3は、この段階ではFIFOに
M+1の空きステージがあるので、最大M個の制御情報
をリンク12に送る余裕がある。
【0087】メッセージB3が終了した後、リンク12
がBLOCKEDを示している限りは、新しいメッセー
ジB4をスタートさせてリンク12に送ることはできな
い。適応型ルーティング・システムの場合、ノード2内
のルーティング・ロジックは、可能ならメッセージのた
めの別のパスを自由に選択できる。でなければ、ノード
2からノード4へ流れるメッセージは、BLOCKED
状態がクリアされるまでは、あたかもリンクが別のメッ
セージで手一杯であるかのように、遅れるかまたは拒否
される。
がBLOCKEDを示している限りは、新しいメッセー
ジB4をスタートさせてリンク12に送ることはできな
い。適応型ルーティング・システムの場合、ノード2内
のルーティング・ロジックは、可能ならメッセージのた
めの別のパスを自由に選択できる。でなければ、ノード
2からノード4へ流れるメッセージは、BLOCKED
状態がクリアされるまでは、あたかもリンクが別のメッ
セージで手一杯であるかのように、遅れるかまたは拒否
される。
【0088】一方、ブロック92の入力制御ロジック1
06は、リンク12を通してノード1から入ってくるメ
ッセージAのデータをモニタしている。BLANK制御
パケットが検出されると、これはブロック90内のFI
FO100が空であるかほとんど空であることを意味す
る。これが生じると、入力制御ロジックはBLOCKE
D状態をリセットし、ここでメッセージBのトラフィッ
クが再びノード2からノード1へ流れることができる。
06は、リンク12を通してノード1から入ってくるメ
ッセージAのデータをモニタしている。BLANK制御
パケットが検出されると、これはブロック90内のFI
FO100が空であるかほとんど空であることを意味す
る。これが生じると、入力制御ロジックはBLOCKE
D状態をリセットし、ここでメッセージBのトラフィッ
クが再びノード2からノード1へ流れることができる。
【0089】ロジック解析この発明は、制御情報を送る
ためにメッセージ・トラフィックからバンド幅を奪うこ
とによって機能する。その結果、最終的には、バンド幅
が奪われる各メッセージが、送信時間が長くなるように
引き伸ばされる。この発明は、メッセージ相互間に、引
き伸ばされたメッセージを拡張できるアイドル期間があ
る場合にのみ機能する。
ためにメッセージ・トラフィックからバンド幅を奪うこ
とによって機能する。その結果、最終的には、バンド幅
が奪われる各メッセージが、送信時間が長くなるように
引き伸ばされる。この発明は、メッセージ相互間に、引
き伸ばされたメッセージを拡張できるアイドル期間があ
る場合にのみ機能する。
【0090】この発明では、明示的なフロー制御情報は
必要ないので、各メッセージのソース・ノードは、制御
情報の追加による影響を受けない。ただしデスティネー
ション・ノードは、送信時よりも低速で届いた制御情報
によって中断されているメッセージを認識する。この場
合、各メッセージが、別のメッセージが送信される前に
(制御情報をソース・ノードに返送することによって)
肯定応答を受けるシステムでは、最終的には、ソース・
ノードに対する肯定応答が遅れることになる。一方、肯
定応答の遅れは、メッセージが遅れた程度に比例し、従
来のように、メッセージ相互間のアイドル時間を保証す
るフロー制御メカニズムとなる。
必要ないので、各メッセージのソース・ノードは、制御
情報の追加による影響を受けない。ただしデスティネー
ション・ノードは、送信時よりも低速で届いた制御情報
によって中断されているメッセージを認識する。この場
合、各メッセージが、別のメッセージが送信される前に
(制御情報をソース・ノードに返送することによって)
肯定応答を受けるシステムでは、最終的には、ソース・
ノードに対する肯定応答が遅れることになる。一方、肯
定応答の遅れは、メッセージが遅れた程度に比例し、従
来のように、メッセージ相互間のアイドル時間を保証す
るフロー制御メカニズムとなる。
【0091】各FIFOのサイズはメッセージ・サイズ
に比べてかなり小さいので、いくつかのリンクはBLO
CKEDを受ける場合がある。ある時間にBLOCKE
Dを受けるリンクの割合は、各FIFOのサイズととも
に、メッセージ・トラフィックのタイプと量にも関係す
る。したがって、各FIFOのサイズは、リンクのBL
OCKED状態によるネットワーク・バンド幅の損失を
、FIFOメモリに使える各ノードの実状態とトレード
オフするように決定する必要がある。
に比べてかなり小さいので、いくつかのリンクはBLO
CKEDを受ける場合がある。ある時間にBLOCKE
Dを受けるリンクの割合は、各FIFOのサイズととも
に、メッセージ・トラフィックのタイプと量にも関係す
る。したがって、各FIFOのサイズは、リンクのBL
OCKED状態によるネットワーク・バンド幅の損失を
、FIFOメモリに使える各ノードの実状態とトレード
オフするように決定する必要がある。
【0092】FIFOの最小サイズは3+Mパケットで
ある(Mは、あるメッセージに応答して生成できる反対
方向の制御キャラクタの最大数)。実際には、3+3*
MのオーダのFIFOサイズで良好な性能の得られるこ
とが確認されている(メッセージ・トラフィックのピー
ク時にBLOCKEDを受けるリンクが1%に達しない
)。
ある(Mは、あるメッセージに応答して生成できる反対
方向の制御キャラクタの最大数)。実際には、3+3*
MのオーダのFIFOサイズで良好な性能の得られるこ
とが確認されている(メッセージ・トラフィックのピー
ク時にBLOCKEDを受けるリンクが1%に達しない
)。
【0093】この発明で重要なことは、複数のホップを
送られる長いメッセージによって、ルート全体が輻輳す
ることはないという点である。これは、メッセージが送
られるリンクの本数とは関係なく、メッセージによって
BLOCKEDを受けるリンク数を制限するのに役立つ
。
送られる長いメッセージによって、ルート全体が輻輳す
ることはないという点である。これは、メッセージが送
られるリンクの本数とは関係なく、メッセージによって
BLOCKEDを受けるリンク数を制限するのに役立つ
。
【0094】この点を理解するために、メッセージAが
リンク12、25、56を通してノード1からノード6
へ送られる場合を考えてみる。反対方向の制御情報がリ
ンク12をノード1からノード2へ送られる場合、メッ
セージAはノード1内のFIFOで遅れる。またノード
2を流れるメッセージAのパケット・ストリームには、
制御情報が除外されることによってギャップができる。 このギャップによって、下流のFIFO(ノード2また
はノード5)に少し空きができる。したがって、制御情
報をメッセージに早めに追加すれば、後のメッセージの
バックアップ負担が軽減され、他のリンクがブロックさ
れる可能性は少なくなる。
リンク12、25、56を通してノード1からノード6
へ送られる場合を考えてみる。反対方向の制御情報がリ
ンク12をノード1からノード2へ送られる場合、メッ
セージAはノード1内のFIFOで遅れる。またノード
2を流れるメッセージAのパケット・ストリームには、
制御情報が除外されることによってギャップができる。 このギャップによって、下流のFIFO(ノード2また
はノード5)に少し空きができる。したがって、制御情
報をメッセージに早めに追加すれば、後のメッセージの
バックアップ負担が軽減され、他のリンクがブロックさ
れる可能性は少なくなる。
【0095】応用
この発明は、ノード相互間のメッセージに加えて、制御
情報の転送を最適化するときに、多次元ノード・システ
ムのルーティング・システムに用いられる。ノードは、
対になったシリアル・リンク(各々1方向)で接続され
る。リンクは1フィート(30.48cm)ないし20
フィート(609.6cm)の範囲である。各リンクは
268個の一意のキャラクタ(10ビットでコード化)
をサポートし、このうち256個はメッセージ・データ
に、残り12個は制御情報に用いられる。したがって、
パケット・サイズとこれに対応する各FIFOの幅は1
キャラクタ(10ビット)にセットされる。
情報の転送を最適化するときに、多次元ノード・システ
ムのルーティング・システムに用いられる。ノードは、
対になったシリアル・リンク(各々1方向)で接続され
る。リンクは1フィート(30.48cm)ないし20
フィート(609.6cm)の範囲である。各リンクは
268個の一意のキャラクタ(10ビットでコード化)
をサポートし、このうち256個はメッセージ・データ
に、残り12個は制御情報に用いられる。したがって、
パケット・サイズとこれに対応する各FIFOの幅は1
キャラクタ(10ビット)にセットされる。
【0096】ノードは、4次元のトーラス・ネットワー
クで相互に接続され、各ノードにI/O用のリンクが追
加される。各ノードのリンクは9本で、各々、FIFO
と出力/入力制御ロジックを含む(図3)。FIFOサ
イズは、ここでは16パケットにセットされている。こ
れは各メッセージが最大4つの反対方向の制御パケット
を生成するからである。
クで相互に接続され、各ノードにI/O用のリンクが追
加される。各ノードのリンクは9本で、各々、FIFO
と出力/入力制御ロジックを含む(図3)。FIFOサ
イズは、ここでは16パケットにセットされている。こ
れは各メッセージが最大4つの反対方向の制御パケット
を生成するからである。
【0097】ノード内では、1989年7月27日付米
国特許出願第386521号(日本特願平02−190
891号)で開示された“Adaptive Rout
ing in a ParallelComputer
System”によって、データがリンク相互間を送
られる。適応型ルーティング・システムは、BLOCK
ED状態を、あたかもリンクが別のメッセージで手一杯
であるかのように扱い、一般的には、BLOCKEDラ
インにルーティングする上で問題はない。ルーティング
に関し、この出願の明細書で述べている反対方向の制御
情報はLINK−CLOSEコマンドとACKNOWL
EDGEコマンドに相当する。
国特許出願第386521号(日本特願平02−190
891号)で開示された“Adaptive Rout
ing in a ParallelComputer
System”によって、データがリンク相互間を送
られる。適応型ルーティング・システムは、BLOCK
ED状態を、あたかもリンクが別のメッセージで手一杯
であるかのように扱い、一般的には、BLOCKEDラ
インにルーティングする上で問題はない。ルーティング
に関し、この出願の明細書で述べている反対方向の制御
情報はLINK−CLOSEコマンドとACKNOWL
EDGEコマンドに相当する。
【0098】
【発明の効果】この発明によれば、多次元コンピュータ
・ネットワークにおいて制御情報を転送する問題を解決
することができる。
・ネットワークにおいて制御情報を転送する問題を解決
することができる。
【図1】この発明に従ったマルチノード・システムのブ
ロック図である。
ロック図である。
【図2】この発明に従ったノード・リンク・アーキテク
チャのブロック図である。
チャのブロック図である。
【図3】この発明に従った入出力制御ロジックのブロッ
ク図である。
ク図である。
【図4】この発明に従った出力制御ロジックのフローチ
ャートである。
ャートである。
【図5】この発明に従った入力制御ロジックのブロック
図である。
図である。
Claims (28)
- 【請求項1】制御情報とメッセージのパケットをノード
間で転送するための全2重通信リンクを有する伝送手段
と、上記制御情報もしくはメッセージの一部を格納する
ためのバッファ手段とを備え、ネットワークのメッセー
ジ転送に影響を与えずに、複数のノード間で制御情報を
転送することを特徴とするネットワーク・メッセージン
グ装置。 - 【請求項2】可変長の制御情報とメッセージを転送する
手段を含む、請求項1のネットワーク・メッセージング
装置。 - 【請求項3】上記制御情報が、情報の再送又はアボート
を要求する情報を含む、請求項1のネットワーク・メッ
セージング装置。 - 【請求項4】制御情報が、情報転送の一時停止又は再開
を要求する情報を含む、請求項1のネットワーク・メッ
セージング装置。 - 【請求項5】制御情報が、ノード相互間の転送に関する
状態情報を含む、請求項1のネットワーク・メッセージ
ング装置。 - 【請求項6】複数のノードのいくつかに可変速の転送手
段を備える、請求項1のネットワーク・メッセージング
装置。 - 【請求項7】選択された制御情報とメッセージ・データ
を、ネットワークのメッセージ転送に影響を与えること
なく複数のノード間で転送するためのノード間通信装置
であって、 (a)制御情報もしくはメッセージ・データを受信する
通信手段と、 (b)上記制御情報もしくはメッセージ・データの各部
を格納するメモリ手段と、 (c)上記メモリ手段に格納された制御情報から適当な
制御情報を選択して、現在の通信状態を基に転送するプ
ロセサ手段と、 (d)上記選択された制御情報またはメッセージ・デー
タを、次のノードに転送するために上記通信手段に転送
するマルチプレクサ手段とを含む、ノード間通信装置。 - 【請求項8】全2重通信を行う伝送手段を含む、請求項
7のノード間通信装置。 - 【請求項9】上記制御情報とメッセージのパケットを転
送する手段を含む、請求項7のノード間通信装置。 - 【請求項10】上記制御情報が、情報の再送もしくはア
ボートを要求する情報を含む、請求項7のノード間通信
装置。 - 【請求項11】上記制御情報が、情報転送の一時停止も
しくは再開を要求する情報を含む、請求項7のノード間
通信装置。 - 【請求項12】上記制御情報が、ノード間転送について
の状態情報を含む、請求項7のノード間通信装置。 - 【請求項13】あるノードの過渡的な情報を一時格納す
るために最小限のストレージを要する、請求項7のノー
ド間通信装置。 - 【請求項14】複数のノード間で、ネットワークのメッ
セージ転送に影響を与えずに制御情報を転送するネット
ワーク・メッセージング方法であって、全2重通信リン
クを介して、上記制御情報とメッセージのパケットを転
送するステップと、メッセージの各部を格納するステッ
プとを含む、ネットワーク・メッセージング方法。 - 【請求項15】上記制御方法が、情報の再送もしくはア
ボートを要求する情報を含む、請求項14のネットワー
ク・メッセージング方法。 - 【請求項16】上記制御情報が、情報転送の一時停止も
しくは再開を要求する情報を含む、請求項14のネット
ワーク・メッセージング方法。 - 【請求項17】上記制御情報が、ノード間転送について
の状態情報を含む、請求項14のネットワーク・メッセ
ージング方法。 - 【請求項18】プロセサ手段、制御情報及びメッセージ
・データを格納するメモリ手段、マルチプレクサ手段、
及び選択された制御情報とメッセージ・データを、ネッ
トワークのメッセージ転送に影響を与えずにノード相互
間で転送するための通信手段より成る複数の該ノード間
の通信方法であって、 (a)上記通信手段により上記制御情報もしくはメッセ
ージ・データを受信するステップと、 (b)上記制御方法もしくはメッセージ・データの一部
を上記メモリ手段に格納するステップと、(c)上記メ
モリ手段の上記制御情報から適当な制御情報を選択して
、現在の通信状態を基に転送するステップと、 (d)選択された制御情報またはメッセージ・データを
、次のノードへ転送するために、上記マルチプレクサ手
段を介して通信手段へ転送するステップとを含む、ノー
ド間通信方法。 - 【請求項19】情報のパケットを転送するステップを含
む、請求項18のノード間通信方法。 - 【請求項20】上記制御情報とメッセージを同期させて
送受信するステップを含む、請求項18のノード間通信
方法。 - 【請求項21】ノードとノードを接続するステップを含
む、請求項18のノード間通信方法。 - 【請求項22】可変長の情報を転送するステップを含む
、請求項18のノード間通信方法。 - 【請求項23】上記制御情報が、情報の再送もしくはア
ボートを要求する情報を含む、請求項18のノード間通
信方法。 - 【請求項24】上記制御情報が、情報転送の一時停止も
しくは再開を要求する情報を含む、請求項18のノード
間通信方法。 - 【請求項25】上記制御情報が、ノード間転送について
の状態情報を含む、請求項18のノード間通信方法。 - 【請求項26】あるノードの過渡的な情報を一時格納す
るために最小限のストレージを要する、請求項18のノ
ード間通信方法。 - 【請求項27】上記制御情報とメッセージを転送するス
テップが一定である、請求項18のノード間通信方法。 - 【請求項28】上記制御情報とメッセージを、上記複数
のノードのいくつかにおいて可変速で転送するステップ
を含む、請求項18のノード間通信方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US593824 | 1990-10-05 | ||
US07/593,824 US5293377A (en) | 1990-10-05 | 1990-10-05 | Network control information without reserved bandwidth |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH04227155A true JPH04227155A (ja) | 1992-08-17 |
JP2553260B2 JP2553260B2 (ja) | 1996-11-13 |
Family
ID=24376339
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP16752891A Expired - Lifetime JP2553260B2 (ja) | 1990-10-05 | 1991-06-13 | ネットワーク情報転送方法及び装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US5293377A (ja) |
EP (1) | EP0479520A3 (ja) |
JP (1) | JP2553260B2 (ja) |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0752437B2 (ja) * | 1991-08-07 | 1995-06-05 | インターナショナル・ビジネス・マシーンズ・コーポレイション | メッセージの進行を追跡する複数ノード・ネットワーク |
US5922063A (en) * | 1992-09-17 | 1999-07-13 | International Business Machines Corporation | Automatic hardware message header generator |
US5726976A (en) * | 1993-04-06 | 1998-03-10 | Bay Networks Group, Inc. | Congestion sense controlled access for a star configured network |
US5440542A (en) * | 1993-10-14 | 1995-08-08 | Motorola, Inc. | Method and apparatus for multiplexing control information into a user signal stream of a CDMA cellular system |
JP3247571B2 (ja) * | 1994-06-09 | 2002-01-15 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 送信されたデータフレームの連続性を保持する方法、通信ノード内のアダプタ装置及びデータフレーム連続性保持装置 |
EP0687986A3 (en) * | 1994-06-17 | 1996-02-14 | Ibm | Method and apparatus for transmitting digital data in massively parallel systems |
US5717862A (en) * | 1995-04-27 | 1998-02-10 | International Business Machines Corporation | Method and system for message status reporting in a multi-node network |
JP3365705B2 (ja) * | 1995-05-24 | 2003-01-14 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 分散型データ処理システム |
US5627971A (en) * | 1995-06-01 | 1997-05-06 | Northern Telecom Limited | Machine method for determining the eligibility of links in a network |
US6055618A (en) * | 1995-10-31 | 2000-04-25 | Cray Research, Inc. | Virtual maintenance network in multiprocessing system having a non-flow controlled virtual maintenance channel |
US5864738A (en) * | 1996-03-13 | 1999-01-26 | Cray Research, Inc. | Massively parallel processing system using two data paths: one connecting router circuit to the interconnect network and the other connecting router circuit to I/O controller |
JPH10257005A (ja) * | 1997-03-12 | 1998-09-25 | Sony Corp | 通信方法及び送信装置並びに受信装置 |
US6314446B1 (en) | 1997-03-31 | 2001-11-06 | Stiles Inventions | Method and system for monitoring tasks in a computer system |
US6011560A (en) * | 1997-03-31 | 2000-01-04 | Stiles; Ian James | Method and system for communicating the status of a process in a computer system |
US6230252B1 (en) | 1997-11-17 | 2001-05-08 | Silicon Graphics, Inc. | Hybrid hypercube/torus architecture |
US6101181A (en) * | 1997-11-17 | 2000-08-08 | Cray Research Inc. | Virtual channel assignment in large torus systems |
US5970232A (en) * | 1997-11-17 | 1999-10-19 | Cray Research, Inc. | Router table lookup mechanism |
US6216174B1 (en) | 1998-09-29 | 2001-04-10 | Silicon Graphics, Inc. | System and method for fast barrier synchronization |
US6674720B1 (en) | 1999-09-29 | 2004-01-06 | Silicon Graphics, Inc. | Age-based network arbitration system and method |
US8363593B2 (en) * | 2002-11-06 | 2013-01-29 | Alcatel Lucent | Method for carrying downlink control information for an enhanced uplink dedicated channel |
US7379424B1 (en) | 2003-08-18 | 2008-05-27 | Cray Inc. | Systems and methods for routing packets in multiprocessor computer systems |
US9285865B2 (en) * | 2012-06-29 | 2016-03-15 | Oracle International Corporation | Dynamic link scaling based on bandwidth utilization |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6285532A (ja) * | 1985-10-11 | 1987-04-20 | Nec Corp | パケツト交換システム |
JPH0247943A (ja) * | 1988-08-09 | 1990-02-16 | Matsushita Electric Ind Co Ltd | ローカルエリアネットワーク間の通信方法 |
JPH02202250A (ja) * | 1988-12-06 | 1990-08-10 | American Teleph & Telegr Co <Att> | 統合音声及びデータ網に対するバンド幅割当て及び渋滞コントロールスキーム |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3445822A (en) * | 1967-07-14 | 1969-05-20 | Ibm | Communication arrangement in data processing system |
US3593300A (en) * | 1967-11-13 | 1971-07-13 | Ibm | Arrangement for automatically selecting units for task executions in data processing systems |
US3566363A (en) * | 1968-07-11 | 1971-02-23 | Ibm | Processor to processor communication in a multiprocessor computer system |
IT1055645B (it) * | 1975-10-24 | 1982-01-11 | Elsag | Multielaboratore elettronico associativo per elabobazioni multiple contemporanee di dati in tempo reale |
US4228496A (en) * | 1976-09-07 | 1980-10-14 | Tandem Computers Incorporated | Multiprocessor system |
US4346440A (en) * | 1978-06-30 | 1982-08-24 | Motorola, Inc. | Advanced data link controller |
US4330858A (en) * | 1979-06-29 | 1982-05-18 | International Business Machines Corporation | Time domain supervisory channel for data terminal equipments |
FR2574203B1 (fr) * | 1984-11-30 | 1987-04-24 | Cit Alcatel | Procede de telesignalisation pour une liaison de transmission numerique et dispositif pour sa mise en oeuvre |
US4730308A (en) * | 1985-10-04 | 1988-03-08 | International Business Machines Corporation | Interface between a computer bus and a serial packet link |
US4701907C1 (en) * | 1986-02-03 | 2002-08-27 | Collins Mary | Dynamically reconfigurable time-space-time digital switch and network |
US4897831A (en) * | 1987-03-02 | 1990-01-30 | Canon Kabushiki Kaisha | Data transmission/reception apparatus |
US5008901A (en) * | 1987-10-29 | 1991-04-16 | U.S. Robotics, Inc. | Asymmetrical duplex error-controlled modem |
US5125096A (en) * | 1988-10-31 | 1992-06-23 | International Business Machines Corporation | System for implementing to a packet switch protocol for a multinode data communications network utilizing separate data and control paths |
FR2645380B1 (fr) * | 1989-03-30 | 1991-05-24 | Cit Alcatel | Dispositif de traitement de messages de signalisation dans un reseau de telecommunication en technique temporelle asynchrone |
US5042062A (en) * | 1989-10-23 | 1991-08-20 | At&T Bell Laboratories | Method and apparatus for providing real-time switching of high bandwidth transmission channels |
-
1990
- 1990-10-05 US US07/593,824 patent/US5293377A/en not_active Expired - Fee Related
-
1991
- 1991-06-13 JP JP16752891A patent/JP2553260B2/ja not_active Expired - Lifetime
- 1991-09-30 EP EP91308919A patent/EP0479520A3/en not_active Ceased
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6285532A (ja) * | 1985-10-11 | 1987-04-20 | Nec Corp | パケツト交換システム |
JPH0247943A (ja) * | 1988-08-09 | 1990-02-16 | Matsushita Electric Ind Co Ltd | ローカルエリアネットワーク間の通信方法 |
JPH02202250A (ja) * | 1988-12-06 | 1990-08-10 | American Teleph & Telegr Co <Att> | 統合音声及びデータ網に対するバンド幅割当て及び渋滞コントロールスキーム |
Also Published As
Publication number | Publication date |
---|---|
US5293377A (en) | 1994-03-08 |
EP0479520A3 (en) | 1996-10-16 |
JP2553260B2 (ja) | 1996-11-13 |
EP0479520A2 (en) | 1992-04-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2553260B2 (ja) | ネットワーク情報転送方法及び装置 | |
US7643477B2 (en) | Buffering data packets according to multiple flow control schemes | |
US6044418A (en) | Method and apparatus for dynamically resizing queues utilizing programmable partition pointers | |
US4663706A (en) | Multiprocessor multisystem communications network | |
US5218676A (en) | Dynamic routing system for a multinode communications network | |
US6628615B1 (en) | Two level virtual channels | |
JP5335892B2 (ja) | パケット交換オンチップ相互接続ネットワークの高速仮想チャネル | |
US5253342A (en) | Intermachine communication services | |
US4032899A (en) | Apparatus and method for switching of data | |
US7706275B2 (en) | Method and apparatus for routing data in an inter-nodal communications lattice of a massively parallel computer system by employing bandwidth shells at areas of overutilization | |
US6490630B1 (en) | System and method for avoiding deadlock in multi-node network | |
JPH0619785A (ja) | 分散共有仮想メモリーとその構成方法 | |
JPH0222580B2 (ja) | ||
JP2505050B2 (ja) | 複数プロセツサ間で通信するためのシステム | |
WO2001076140A2 (en) | Data network with independent transmission channels | |
May et al. | Transputer and Routers: components for concurrent machines | |
US6975626B1 (en) | Switched network for low latency communication | |
US7065580B1 (en) | Method and apparatus for a pipelined network | |
JP3105760B2 (ja) | マルチセグメント・ネットワークの通信方法および装置 | |
US7564860B2 (en) | Apparatus and method for workflow-based routing in a distributed architecture router | |
JP2005518578A (ja) | コンピュータ・システムの入出力ノードにおけるタグ付けおよび調停メカニズム | |
JP4391819B2 (ja) | コンピュータ・システムの入出力ノード | |
EP1038375B1 (en) | Message buffering for a computer-based network | |
US5878226A (en) | System for processing early arrival messages within a multinode asynchronous data communications system | |
JPH02118760A (ja) | マルチプロセッサシステム及びその利用方法 |