JPH02128268A - ネツトワークでのメツセージのコンバイニング及びデコンバイニング方法 - Google Patents

ネツトワークでのメツセージのコンバイニング及びデコンバイニング方法

Info

Publication number
JPH02128268A
JPH02128268A JP18488189A JP18488189A JPH02128268A JP H02128268 A JPH02128268 A JP H02128268A JP 18488189 A JP18488189 A JP 18488189A JP 18488189 A JP18488189 A JP 18488189A JP H02128268 A JPH02128268 A JP H02128268A
Authority
JP
Japan
Prior art keywords
switch
message
network
combining
stage
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP18488189A
Other languages
English (en)
Inventor
Bharat Deep Rathi
バラツト・デイープ・ラーシイ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH02128268A publication Critical patent/JPH02128268A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations 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/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17356Indirect interconnection networks
    • G06F15/17368Indirect interconnection networks non hierarchical topologies
    • G06F15/17393Indirect interconnection networks non hierarchical topologies having multistage networks, e.g. broadcasting scattering, gathering, hot spot contention, combining/decombining

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Hardware Redundancy (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 A、産業上の利用分野 本発明はデータ・プロセッサ、ストレージ・システムに
関し、詳しくは複数のプロセッサ及び複数の個々のメモ
リ・モジュールを有する大型マルチプロセッサ・コンピ
ュータ・システムで用いるそのようなストレージ・シス
テムの制御に関する。
さらに詳しくは、そのようなシステムにおける個々のプ
ロセッサとメモリ・モジュールの間のデータ・フローを
インプリメントし制御するインターコネクション(相互
接続)・ネットワークのアーキテクチャに関する。
B、従来技術及びその問題点 B1.概要 最近の研究(下記文献1.4)によれば、大規模並列コ
ンピュータはパフォーマンス・クリップリング(cri
ppling)という欠陥に直面しがちであることがわ
かった。メモリ参照のかなりの部分が1つのメモリ・ア
ドレスにアドレスされるなら。
全システムのパフォーマンスはその1つのメモリのキャ
パシティによって制限される。そのメモリに対するアク
セスが後で第2図に即して詳しく説明するマルチステー
ジ・インターコネクション・ネットワーク(M I N
)を介して行われるなら、ツリー・プロッヶージ(tr
ee blockage)として知られる現象が競合に
拍車をかけ、当該システムのすべてのユーザにとって相
当な遅延をもたらすことになる。
この問題の解決策の1つがコンバイニング(併合操作実
行。以下単に併合とも言う)MINである。コンバイニ
ング・ネットワークはメモリの″ホット・スポット″′
1の参照を、メモリへ至る途中で併合し、もってホット
・スポットへの競合を削減する。コンバイニング(併合
)とデコンバイニング(併合解除。単に分離とも言う)
のグラフィカルな例が第6図に示されている。このコン
バイニングはネットワークのどのステージのどのスイッ
チでも実行され得る0分割を、正確に行うために、メモ
リからの返答は、メツセージの併合が行われたスイッチ
に行われなければならない。メツセージの分割がその他
のスイッチで行われようとする場合には、エラーのレポ
ートが行われるべきである。システムの適切なパフォー
マンスのためには、誤った分割を避けなければならない
。後でわかるように、併合したパケットをさらに併合す
ることも可能である。実際、併合ネットワークスイッチ
が同一アドレスについての3つ以上のパケットを併合で
きるように設計することができる。
ホット・スポットに起因するパフォーマンスの低下を避
けるために、併合ネットワークが提唱され、RP3実験
コンピュータ用に設計されている(下記文献1)RP3
併合ネットワークのデザインにおいては、“コンバイン
された”メツセージの各々に対して、それがコンバイン
されたステージの番号のタグが付される。このようなタ
ギング(tagging)は、コンバイニングを行うス
イッチによって行われる。メモリからの返答メツセージ
にもまたこのステージ番号(つまり、リクエスト・メツ
セージ中のステージ番号)のタグが付される。
これはメモリによって実行される。メツセージを正しい
ステージで分割するために、各スイッチは、まず自身の
ステージ番号を返答メツセージのタグと比較する。両者
がマツチするならば、当該スイッチはメツセージを分割
し、そうでなければ当該メツセージを行のステージヘル
ートするだけである。当該ネットワークの用いるルーテ
ィング(経路指定)方法により、(当該ネットワークが
フォールト・フリーであるならば、)メモリ行き、及び
メモリ発のメツセージが該ネットワークの同じスイッチ
を通過することが保証されるものとする。
RP3の用いるルーティング、スキームはこのことを保
証する。
例えば、第6図では、2つのメツセージがステージ2の
スイッチ609で併合される。したがって、スイッチ6
09は、生まれた併合済メツセージに“TAG=2”な
るタグを付する。メモリ613はこのタグを返答メツセ
ージに付する。この返答メツセージはネットワークのス
テージ3,2.1にあルスイッチ611.609.60
6、及び605をそれぞれ通過する。しかし、ステージ
2にあるスイッチ609だけがメツセージをデコンバイ
ンする。なぜなら、そのステージ番号が返答メツセージ
のタグ(つまりTAG=2)とマツチするからである。
したがって、デコンバイニングはコンバイニングを行っ
たスイッチによってなされなければらならい。
このスキームは、コンバイニング・ネットワークに障害
(フォールト)が存在しないときはうまく働く。しかし
、この方法は、次のような障害の生じる可能性があると
きにはうまく作用しない。
(1)メツセージがデコンバインされる前に、コンバイ
ンされたメツセージまたは返答メツセージのタグ・フィ
ールドが改ざんされる。
(2)メツセージがデコンバインされる前に、ネットワ
ークの何れかのステージで、メツセージが誤ってルート
される(振り向けられる)。
第1のケースでは、改ざん後のタグとマツチするステー
ジでメツセージがデコンバインされるので、誤ったデコ
ンバイニングが生じる。このステージはメツセージがコ
ンバインされたステージではないのである。
第2のケースでは、正しいステージにあるけれどもメツ
セージのコンバイニングは行わなかったスイッチにおい
て、誤ったデコンバイニングが行われる。
例えば、第6図では、エラーによりスイッチ611が返
答メツセージをスイッチ615にルートすると、スイッ
チ615は誤ってこのメツセージをデコンバインするこ
とがある。結果生じたメツセージは、スイッチ618と
619、そしてそれにつながるPE622と623に誤
ってルートされる。
エラー検出コード及び回路を用いるならば、改ざんによ
るエラーは検出可能である。例えば、コンバイニング・
ネットワークにおいて、1バイトのメツセージ中に1個
(または奇数個)のビット・エラーがあり得るだけなら
、バイトごとのパリティを用いることができる(例えば
、RP3コンバイニング・ネットワーク)、エラーを検
出するために、このネットワークのスイッチにはパリテ
ィ生成及びチエツク・ロジックが必要となる。ここで唯
一注意すべきことは、メツセージがネットワークの中を
ルートされていくときに、スイッチのパリティ生成回路
はエラーをマスクしてはならないことである。すなわち
、1バイトを誤った状態で受は取ったなら、当該スイッ
チはエラーを表わすパリティ・セットとともにそのバイ
トを送信しなければならない、これをしないと、エラー
のマスキングが誤ったデコンバイニングを引き起こすこ
とがある、不正確なルーティングゆえのエラーは、ルー
ティング・タグが誤っている場合、またはスイッチの制
御回路が故障している場合に起こり得る。ルーティング
・タグ・エラーに起因するルーティング・エラーは、エ
ラー検出コードを用いるならば、やはりそれによって検
出可能である。
しかし、制御回路エラーに起因する不正確ルーティング
・エラーは、エラー検出コードによっては検出できない
、なぜなら、該コードはスイッチの制御回路中のエラー
を検出するものではないからである。該コードはデータ
中のエラーを検出するだけである。それゆえ、−時的で
あれ永続的であれスイッチのルーティング制御回路が故
障すると、メツセージはそのデータ・ワードが無傷のま
ま誤ってルートされることがある。そのような場合、エ
ラーがネットワークによって検出されることはなく、メ
ツセージは誤ってデコンバインされることになる。以上
及び以下の本発明の説明において、エラー検出コードは
すべての起り得るルーティング・タグ・エラーを検出で
きると仮定する。もしそうでないなら、不正確なルーテ
ィングは時々生じ得る0例えば、RP3コンバイニング
・ネットワークでは、メツセージの1バイトに対して1
ビツトの奇数パリティが割り当てられる。したがって、
メツセージ中のすべての単一(または奇数)ビット・エ
ラーは検出可能である。しかし、ダブルの(または偶数
)ビット・エラーは検出できない、ルーティング・タグ
にダブルの(または偶数)ビット・エラーがあれば、メ
ツセージが不正確にルートされしかもそのエラーがスイ
ッチによって検出されないという事態が起こり得る。
したがって、RP3コンバイニング・ネットワーク・ス
イッチ・デザインでは、メツセージの不正確なルーティ
ングゆえの誤ったデコンバイニングを検出し回避できる
とは限らないことは明らかである。かかるエラーは不正
確な計算の原因となるので、検出し回避することが重要
である。さらに、ユーザー・アプリケーションとオペレ
ーティング・システムの両方についてコンバイニング・
ネットワーク(例えばRP3)の使用が期待されるので
、かかるエラーの検出・回避は重要である。
誤ったデコンバイニングは、オペレーティング・システ
ムとマルチ・ユーザー並列プロセッサ・システムに対し
てクリップリング効果を及ぼしかねない。
B2.文献 以下の4つの文文献は、先に触れた大規模な共用メモリ
を持つRP3として知られる実験的な高速マルチプロセ
ッサの属性を概説している。これらはすべてProce
edings of 1985 Internatio
nalConference on Parallel
 Processing、 1985年8月20日〜2
3日にて発表された論文である。
1 、 Pfister、G、F、;Brantley
、W、c、;George、D、A、。
;)larvey 、s 、 L、 ;Kleinfe
lder 、 W 、J 、 ;McAuliffe、
 K 、P、 ;Melton、E、A、;Norto
n、V、A、;and Weiss、J、 ”The 
IBM Re5earch Parallel Pro
cessor Prototype(PH1):Int
roduction and Architectur
e;” pp、764−771゜この論文は教育的なも
のであり、本発明が特に有用なマルチプロセッサ・シス
テムの全体を記述している。
2 、Norton、V、A、And Pfister
、G、F、”A Methodology for P
redicting Multiprocessor 
Performance、′″pp、772−781 
、この論文もまた教育的なものであり、所与のマルチプ
ロセッサ・パフォーマンスの予測を試みる方法を記述す
るとともに、全体的なシステム・パフォーマンスを大き
く低下させがねない様々なタイプのメモリ・プロッケー
ジ等を予測する際のいくつかの考慮すべき事柄を指摘し
ている。評価及びモニタについての一般的な概念は、本
発明の必要性を認識するのに助けとなることに注意され
たい。
3 、 McAuliffe、に、P、;Brantl
ey、v、c、;and Weiss。
J、”The  RP3  Processor/Me
mory  Element、”pp、782−789
、この論文は、かかるシステムのメモリ・エレメントを
記載しており、全体的なメモリ・パフォーマンスに影響
するメモリ・デザインの考慮すベキ事柄のいくつかを概
説している。大型マルチプロセッサ・システムのメモリ
・デザインの背景情報をなすという点で、本発明に関連
する。
4 、 Pfister、G、F、and Norto
n、V、A、”Hot−3pot Contentio
n  and  Combining  in  Mu
ltistage  Interconnection
 Networks、”pp、790−797.この論
文は、RP3のような大型マルチプロセッサ・システム
の相互接続ネットワーク及び問題を論するとともに、少
なくともホット・スポット問題が緩和されるようにメモ
リ参照を選択的に送ることのできる。
2つの別個の相互接続ネットワークを使用することを提
唱している。
以下の4つの論文はパブリック・ドメインのものであり
、コンバイニング・ネットワーク及びコンバイニング・
ネットワーク・スイッチのデザインについて論じている
。本発明との関連性については、大まかなことを以下で
述べるとともに、詳しいことについては本明細書本文の
関連箇所で述べることにする。
5  、  Gottlsib、、4.、at  al
、”丁he  NYU Ultracomputer 
−−Designing a MIMD、5hared
 Memory Parallel Machine”
、IEEE TC,1983年2月、 175−189
ページ、この論文は、NYUウルトラ・コンピュータに
ついての高水準の記述である。また、そのようなマルチ
プロセッサ・システムにおけるコンバイニング・ネット
ワークの用途についても概説している。
6 、5usan Dickey、Richard K
enner、Mare 5nirand John S
olworth、“A VLSI Combining
 Networkfor the NYU Ultra
computer”、Proceedings of 
tha International Confere
nce on Computer Design、19
85.この論文は、(第5図のような)コンバイニング
・ネットワークのためのル−ティング・スキーム及びリ
ンク・プロトコールを論じている。
また、コンバイニング・スイッチのVLSIインプリメ
ンテーションも述べている。このVLSIインプリメン
テーションの記述は、スイッチとともに維持されねばな
らないタイプの情報及びフォワード・パス(path)
スイッチ、リバース・パス・スイッチ間で交換する情報
についても触れている。
7 、5usan Dickey and Richa
rd Kenner、”5pecification 
for a Combining−3witch”、N
ew York University、Note o
f Novembar 18,1986.これは、NY
Uウルトラ・コンピュータ・プロジェクトから入手でき
るノートである。この論文は、コンバイニング・スイッ
チのデザインのためのメツセージ・フォーマット、サポ
ートされるコンバイン可能(併合可能)オペレーション
(操作)、及びデコンバイニング・スイッチを示すため
のパケット・フォーマットにおけるスイッチ・レベルの
使用について詳述している。本発明の実施例では、この
スイッチ・レベルのことをステージ番号と呼んでいる。
コンバインされたメツセージをデコンバインすべきスイ
ッチを表わすのにステージ番号(スイッチ・レベル)の
みを用いるこの文献のスキームに比べて、本発明は大き
く改善されている。
8 、 Yarsun Hsu2wally Klei
nfelder and C,J、Tan、”Desi
gn of a CoIlbining Networ
k for the RP3 Project”、19
87 International Symposiu
m on VLSI Technology、(Sys
te+*s and Applications)。
1987年5月13日〜15日。この論文は、コンバイ
ニング・ネットワーク・スイッチのためのデザインを論
じている。また、フォワード・パス及びリバース・パス
のコンバイニング・スイッチの構成、ネットワークで使
うルーティング・スキーム、(第5図のような)メツセ
ージ・フォーマットのフォーワード・パス・パケット及
びリバース・パス・パケット、並びにコンバイン可能オ
ペレーションについて述べている。
次に、技術内容が本発明に比較的近いと思われる米国特
許明細書を4件取り上げる。もっとも、これらが本発明
に過度に関連するものではないことは、後に続く説明か
ら明らかであろう。
まず、USP4081612は、デジタル・テレコミュ
ニケーション・ネットワークのスイッチング・ノードに
関連するルーティング・ワードから・なる、ルーティン
グ・アドレスのビルディング・アップ方法に関する。こ
の方法は、アドレス・フィールドをルーティング・パス
の各セグメントのアドレスと複合することによりルーテ
ィング・アドレスを生成することを提唱する。
この方法と本発見の大きな違いは次の2点である6(1
)本発明の適用領域はテレコミュニケーションではなく
て並列処理システム(計算システム)である、(2)本
発明はルーティング・アドレスの生成に向けられたもの
ではなくて、情報/計算システムにおいて使用できるコ
ンバイニング・ネットワークでの誤ったデコンバイニン
グを避ける方法に向けられたものである。
次に、USP4569041は、複合パケットを組み立
てルートすることのできる1回路/バケット8換ループ
・ネットワーク構築用のネットワークを開示する。本発
明はマルチステージ・インターコネクション・ネットワ
ークで用いる技術に関するものなので、このUSPとは
大きく異なる。
また、本発明は回路交換式環境におけるパケットのルー
ティングを考慮するものでもない。
USP4577311は、各パケットがパケット・セン
ダー(送信者)・ステーションからパケット・レシーバ
−・ステーションへ至るルートに含まれる相次ぐスイッ
チング・ネットワークに割り当てられた一連のアドレス
をアドレス・フィールドに挿入されて具備するような、
パケット・ペースのテレコミュニケーション・システム
に関連する。このUSPの技術内容と本発明の大きな違
いは次の2点である。(1)本発明の適用領域はテレコ
ミュニケーションではなくて並列処理システム(計算シ
ステム)である、(2)本発明はルーティング・アドレ
スの生成に向けられたものではなくて、情報/計算シス
テムにおいて使用できるコンバイニング・ネットワーク
での誤ったデコンバイニングを避ける方法に向けられた
ものである。
最後に、USP4168400は、誤ったアドレス及び
データ・フィールドを持つパケットを削除するための、
チエツク用デバイス及び削除・スイッチング用デバイス
を開示する。この特許発明は、パケットのアドレス・フ
ィールド中のエラーを検出するためのエラー検出コード
とデータ・フィールド中のエラーを検出するための別の
エラー検出コードを使用する。これらのエラー検出コー
ドは、パケットがネットワークのノードからノードへと
転送される際に導入されやすいエラーを検出するのに役
立つ。ところで、本発明はパケットの転送中に導入され
たかもしれないこれらのフィールドのエラー中のエラー
を検出するにあたって、かかるエラー検出コードの使用
を妨げるものではない。しかし、これらのコードはデー
タ・バス回路(つまり、アドレス、データ、及びこれら
のエラー・コード・フィールドのビットを転送するのに
使われる回路及び回線)によって導入されるエラーの検
出にしか役立たないことに注意されたい。
上記コードは、ノードの制御回路によって生成されるエ
ラー(例えば、ノードがエラーなしでパケットを受信し
たにもかかわらず不正確にルーティングすること)を検
出することができない0本発明は、コンバイニング・ネ
ットワークにおけるこのような制御回路エラーの検出方
法を開示する。
かかる制御回路エラーの検出は、コンバイニング・ネッ
トワークを用いる計算システムの正確なオペレーション
にとって重要であり、従来のエラー検出/訂正を超越す
るものである。
参考までに、本発明の背景情報をなすその他のUSPを
指摘しておく。
USP4413318、同4207609、同4352
63、同4153932 B3.関連出願 1988年4月26日に出願された、”A Hardw
are Mechanis+++ For Autoa
+atically Detecting 11at−
5pot Reference And Divert
ing Same From Memory  Tra
ffic  In  A  Multiprocess
  or  Computer  System”とい
うタイトルの米国特許出願シリアル・ナンバー07/1
86,327号明細書では、メモリ・プロッケージの削
減に役立つ代替法が開示されている。本発明におけるよ
うに単一のマルチステージ・インターコネクション・ネ
ットワークにおいてメツセージのコンバイニング及びデ
コンバイニングを行う代りに、上記特許出願では2つの
別々のネットワークを使用し、一方を少待ち時間(lo
w 1atency)用にするとともに、他方をハイ・
コンテンション・トラフィック処理用にし7、”ホット
・スポット”を検出されたメツセージを後者のネットワ
ークに転向するようにしている。
また、該システムは、メツセージ・ルーティング機能を
効率よく制御するために、ホット・スボットを動的に検
出し除去する手段を提供する。
B4.本発明の目的 本発明の主要な目的は、大規模共用メモリ・マルチプロ
セッシング・システムで使用する、改善されたマルチス
テージ・インターコネクション・ネットワーク・アーキ
テクチャを提供することにある。
本発明の別の目的は、“プロッケージ″を減らすことに
よりネットワーク効率を改善するアーキテクチャを提供
することにある。
本発明のさらに別の目的は、メツセージのコンバイン及
びデコンバイン能力を持つネットワークのリライアビリ
ティを改善するアーキテクチャを提供することにある。
本発明のさらに別の目的は、コンバイニング/デコンバ
イニング・フィーチャーと協同して、メツセージの誤っ
た“デコンバイン”を検出し回避するインターコネクシ
ョン・ネットワークを提供することにある。
本発明のさらに別の目的は、ネットワーク中のエラー検
出回路とともにメツセージ・ヘッダー中の付加データを
利用して、スイッチング・ネットワークでの誤ったメツ
セージ・デコンバイニング(併合解除。分解とも呼ぶ)
を検出・回避するネットワーク・アーキテクチャを提供
することにある。
C0問題点を解決するための手段 上記目的は、マルチステージ・インターコネクション・
ネットワークでのメツセージ・コンバイニング/デコン
バイニング処理のための改善された方法において、ネッ
トワーク内の各スイッチに対してユニーク識別番号(I
 D)を割り当て、特定のスイッチ・ノードでメツセー
ジのコンバイニングが必要となる度に当該コンバイニン
グ・スイッチ・ノードのユニークなIDをメツセージ・
ヘッダーに附することによって達成される。メモリ等の
宛先ソースがこのメツセージへの応答を生成するとき、
メモリはこのIDを応答メツセージのヘッダーにコピー
する。該メツセージがメモリ・エレメントによってイン
ターコネクション・ネットワークへとデコンバイニング
の可能性を持って戻されると、ヘッダー中のIDと各受
信スイッチ・ノードのIDとの比較が行われる。IDが
一致するなら、当該スイッチにてデコンバイニングが実
行される。IDが一致しないときは、当該スイッチによ
りデコンバイニングは実行されない。このようにして、
誤ったデコンバイニングは回避される。プロセッサがコ
ンバイニング・ネットワークから受は取るメツセージの
中に非ゼロID(つまり、非NOCID)が見つかると
、エラーが検出される。あるプロセッサに非ゼロよりが
届くということは、デコンバイニングが実行されなかっ
たことを表わす、これはエラーである。
本発明の第1の側面によれば、システムにおいてシング
ルのユニークなIDが用いられて、誤ったデコンバイニ
ングの試行を明瞭に指摘する。本発明のより具体的な実
施例では、ヘッダーにおいて個々のスイッチのIDがス
イッチ・レベルのIDと連結され、エラー検出時にシス
テムに対してより多くの情報を提供するという意味にお
いて、後でシステム・コントロールが診断のために使え
るより精緻な形でエラー検出を行う。この第2の例では
、コンバイニング・スイッチがエラーを検出して回復策
(remedial action)を講じることが可
能になる。これに対し、第1の例では、プロセッサだけ
がエラーを検出して適当な行動をとることができる。
D、実施例 Di、概要 本発明の教示にしたがって誤ったデコンバイニングを防
止するための、2つの密接に関連した方法が開示される
。まずいくつかの全体的な仮定及び本発明の高水準の概
略について述べ、続いて上記2つの方法の具体的な説明
を行うことにする。
ここでは、コンバイニング・ネットワークのスイッチが
メツセージをデコンバインしつつ、エラーが検出された
ことをホスト・システムに知らせることのできる方法が
存在すると仮定する。用いられる正確な方法は本発明の
要旨に関係しない。
1つのやり方は、エラー表示ビット/フィールドがある
と仮定して、そのようなビット/フィールドをセットし
ておくことである。そうしておくと、プロセッサは、受
信したデコンバインされたすべてのメツセージの該ビッ
ト/フィールドをテストすることができる。もし当該ビ
ット/フィールドがセットされているなら、プロセッサ
は必要な行動(リトライ、割込など)を開始することが
できる。なお、メツセージ・ワード中のエラーを検出す
めためにエラー検出コード及び適当なエラー検出ハード
ウェアが使われるものと仮定する。
第1の方法によれば、コンバイニング・ネットワークの
各スイッチに対してユニークな識別番号(ID)が割り
当てられる。このIDは、ネットワークのその他のスイ
ッチに対してユニークなものである0例えば、コンバイ
ニング・ネットワークに12個のスイッチがある場合、
これらのスイッチに1から2までの番号を割り当てるこ
とができる(第11図参照)0番号Oは、コンバイニン
グが起こらなかったことを表わすために取っておくこと
ができる。もちろん、ネットワーク初期設定時に各スイ
ッチに対してIDを知らせる必要がある。スイッチがメ
ツセージをコンバインする度に、生じたコンバイン後の
メツセージには当該スイッチのIDのタグが付される。
もちろんコンバインされたメツセージには、このIDを
書き込むことのできるフィールドが与えられていなけれ
ばならない、メモリは、コンバインされたメツセージに
サービスするとき、返答メツセージにこれと同一のID
のタグを付する。この返答メツセージがルート・バック
されるとき、各々のスイッチは自分のIDをメツセージ
中のIDと比較する。これらのIDが一致する場合にの
み、スイッチはメツセージをデコンバインする。一致し
ない場合、メツセージは後続のステージへとルート・バ
ックされる。このように、各スイッチがユニークなID
を持つが故に、誤ったデコンバインが生じ得ないことは
明らかである。
上述の方法は誤ったデコンバインの発生を回避するだけ
である。エラーの検出は行わない。なぜなら、この方法
では、メツセージが当該スイッチに着く前に他のスイッ
チでデコンバインされるべきであったか否かを当該スイ
ッチが伝えることができないからである。このようなエ
ラーを検出するためには、第2の方法が使える。
第2の方法では、スイッチのIDは、2つのフィールド
1213.1214を連結することにより形成されてい
る(第12図参照)、第1フイールド1213は当該ス
イッチの存するステージを表わす一方、第2フィールド
1214は当該ステージ内での当該スイッチのユニーク
な番号(つまり、行番号)を与える。例えば、ネットワ
ーク内にスイッチのステージが“L”個あり、そして1
ステージにつき“N”個のスイッチがあるとする。
このとき、各ステージに対して1から“L”までのユニ
ークな番号を割り当てるとともに、1つのステージの各
スイッチに対して1から“N”までのユニークな番号を
割り当てることができる。ステージ番号Oとスイッチ番
号Oは、メツセージがコンバインされなかったこと(N
OC)を表わすために使うことができる。スイッチID
は、これら2つの番号のビット表現を連結することによ
って形成される。
第2の方法を用いる場合、スイッチのIDとメツセージ
のIDが一致するときにのみ、当該スイッチはメツセー
ジをデコンバインする。すなわち。
両方のIDの両方のフィールドが一致しなければならな
い、もしどちらかのフィールドが一致しないならば、メ
ツセージはデコンバインされずに後続のステージへとル
ートされる。しかし、ステージ番号フィールドは一致す
るのにスイッチ番号フィールドは一致しないなら、エラ
ーのフラグが立てられる。なぜなら、このような不一致
は、返答メツセージが正しいステージにはあるものの誤
ったスイッチにあることを表わすからである。こういっ
たコンバイニング・ネットワークでは1つのステージの
スイッチ同士の間のインターコネクションを持たないの
で、当該メツセージはデコンバインされ得ない、したが
って、不正確ルーティング・エラーが生じたことになる
。このように、このIDナンバリング・スキームによれ
ば、誤ったスイッチでのデコンバイニングが避けられる
だけでなく、当該スイッチにてそのエラーが検出される
ことがわかるであろう。
ここで、上記指針に従う限り、デザイナ−はスイッチへ
のID割当を自由に選択できることに注意されたい。ま
た、先に述べたように、このようなIDフィールド中の
エラーを検出するのにエラー検出コードを用いることが
できる。
D2.具体例 本発明の理解を容易にするために、並列プロセッサ・シ
ステムが3つの異なったエレメントを持つとする。プロ
セッサ・エレメント(PE)101、メモリ・エレメン
ト(ME)102、相互接続ネットワーク103がそれ
らである(第1図参照)6並列プロセッサ・システムは
、相互接続ネットワークによって相互に接続されたいく
つかのプロセッサとメモリ・エレメントからなる。かか
る相互接続のために1以上のネットワークを用いること
ができる。ネットワークを介して通信するために、PE
l0Iはケーブル104を通じてネットワーク103ヘ
メツセージを送る。ネットワークはこのメツセージが所
望のMEに至る経路を指定する。ME102はこのメツ
セージをケーブル105から受は取って処理し、ケーブ
ル106を通じて返答メツセージを要求ネットワーク1
03へ送る。ネットワークはこのメツセージを所望のP
Eへと経路指定(ルーティング)する。PEはこのメツ
セージをケーブル107から受は取って処理する。ネッ
トワークはPE間での通信にも使えることに注意された
い。
PE及びMEの詳細は本発明に関係しないので、ここで
は詳しい説明を省くことにする。かかるマルチ・プロセ
ッサ・システムの一般特性のより完全な説明を求めるな
らば、上記文献1.3を参照されたい。マルチステージ
・インターコネクション(相互接続)・ネットワーク(
MIN)は並列処理システムにおいてきわめて頻繁に用
いられる。
MINの概容の1例が、第2図に示されている。
第2図は、8×8サイズのMINであり、8個のPEを
8個のMEに接続する。異なるサイズのMINをデザイ
ンすることは容易である。MINはいくつかの段階(ス
テージ)のスイッチ203を用いる。それらのスイッチ
は、指定された順に、204や205等のリンクによっ
て相互に接続されている。PE及びMEとMINとの間
のインター 7 x−スl:! 201.202.20
6.207等のリンクである。
MINのリンク201.202.204.205.20
6.207は、メツセージの通信に使われるバスである
。MINのインプリメンテーションに応じて、これらの
リンクは1方向であることもあるし、双方向であること
もある。リンク及びリンクを介しての通信に用いられる
プロトコールの詳細は当業者に周知なので、ここでは述
べない。
リンク・プロトコールの1例は、上記文献6に記されて
いる。
MINのスイッチ203の基本的な責任は、入力リンク
201.202を介して受は取るメツセージを出力リン
ク204.205へ経路指定することである。第3図の
例では、PE4からMEOへ進むメツセージのとる経路
(パス)が示されている。PE4はリンク301を通じ
てメツセージをスイッチ302へ送る。スイッチ302
はこのメツセージをルートし、その出力リンク303を
通じてスイッチ304へ送る。スイッチ304はこのメ
ツセージをその出力リンク305を通じてスイッチ30
6へルートする。スイッチ306はこのメツセージをリ
ンク307を通じてMEOヘルートする。返答MEOか
らPE4へ向けるために、同様の通信経路が作られる。
周知のことであるが、これらの通信経路はスイッチによ
ってメツセージごとに動的に作られることに注意された
い。
なお、各メツセージがスイッチを通じて送られた後、ス
イッチは経路を切断し、次のメツセージがもしあればそ
の処理にとりかかる。MINは多くのメツセージの経路
を同時に指定することができる。第2図の例のMINで
は、2X2のサイズのスイッチ、つまり入力リンクと出
力リンクを2つずつ持つスイッチが使われている。MI
Hのために異なるサイズのスイッチを使うことも周知で
ある、スイッチの詳細は本発明と関係がない、適当なス
イッチの例は上記文献6.7.8を参照されたい。
リンク(201,202,204〜207)がリンクの
スイッチをつなぐやり方は、MINのトポロジーと呼ば
れる。第2図はかかるトポロジーの1つを示す。その他
のトポロジーも使うことができる。MINの特定のトポ
ロジーの詳細もまた発明とは関係がない。
メツセージのルーティングの他のメツセージ処理ができ
るようにMINのスイッチを設計することができる。そ
のような設計可能な処理機能の1つはコンバイニング(
併合)と呼ばれる。コンバイニングをサポートするMI
Nネットワークはコンバイニング・ネットワークと呼ば
れる。以下でコンバイニング・ネットワークの1例を説
明する。
まず、コンバイニング機能の1例及びコンバイニング・
ネットワークでのコンバイニングの1例について説明す
る。次に、かかるネットワークの編成について説明する
。その後、コンバイニング・ネットワーク・スイッチの
編成について説明する。
コンバイニングを行う大きな理由は、上記文献1.4で
述べられているような、MEが遭遇するメツセージ・ト
ラフィックを減らすことにある。
このメツセージ・トラフィックの削減は、MEの同じア
ドレスへの同様のリクエストのグループについて1つの
リクエストを生成することによって達成される。例えば
、並列処理システムの複数のPEによってMEの同じア
ドレスについての2つのロード(LD)操作(オペレー
ション)がリクエストされる場合に、コンバイニング機
能を使ってシステムはMEホスティング・アドレスAへ
のLDリクエストを1つだけ送る。(この結果、メモリ
に対する2つのLDリクエストが1つのLDリクエスト
に削減され、したがってこの場合にはMEへのトラフィ
ックが50%削減されることに注意されたい。)MEは
このリクエストを実行して返答メツセージを生成する。
この返答メツセージはシステムによってデコンバイン(
併合解除、分割)され、元来は複数PEによってリクエ
ストされた2つのLDリクエストに対する返答メツセー
ジが生じる。生じた返答メツセージは複数PHに送られ
る。この例ではコンバイニングを説明するのにロード・
メモリ・オペレージ1ンを用いたけれども、コンバイニ
ングは他の多くのタイプのメモリ・オペレーションにつ
いても実行できる。
いくつかのコンバイン(併合)可能なオペレーションが
、上記文献3.4,8にて提唱されている。
コンバイニング・ネットワークでは、かかるコンバイニ
ング・オペレーションがネットワークのスイッチによっ
て行われる。第6図は、どのようにして上述のコンバイ
ニング例がコンバイニング−ネットワークによって実行
されるかを示している。
第2図に示されるような2×2スイツチを使う8X8M
INがかかるネットワークの例として使われている。コ
ンバイニングは他のサイズのスイッチを俺ってインプリ
メントされる他のサイズのMINネットワークにおいて
もサポート可能である。
ここで説明するコンバイニング・ネットワーク例では、
PEからMEへの通信バス(path)をフォワード・
バスと呼び、MEからPEへの通信バスをリバース・バ
スと呼ぶ、第6図の例では、PE601.602がLD
リクエスト(<LDA>)を生成し、それらをリンク6
03.604を通じてスイッチ605,606にそれぞ
れ送る。この例では、スイッチ605.606によって
コンバイン可能メツセージは検出されなかった。それ故
、スイッチ605,606はこれらのLDリクエスト・
メツセージをそれぞれリンク607,608を介してス
テージ2の所望(required)スイッチ609へ
振り向けるだけである。ここで、これらのLDメツセー
ジは時間的にコンバインされるのに都合よくスイッチ6
09に到着すると仮定しよう、コンバインされるために
メツセージが同時に到着する必要はない。スイッチ60
9がこれらのメツセージが併合可能と検知するのでそれ
らを結合する。生じた単一のリクエスト、LDメツセー
ジ(<LDA))は、リンク610を介して次のステー
ジのスイッチ611へ送られる。スイッチ611によっ
て併合可能なメツセージは検出されないので、スイッチ
611はLDメツセージをリンク612を通じて所望M
E613へ振り向ける。
ME613はそのメモリ中のロケーションAからのLD
オペレーションを実行する。このメモリ・ロケーション
には値5がストアされているので、この値が読み取られ
る。ME613は返答メツセージ(<REPLY  5
>)を生成し、これをJノンクロ12を通じてスイッチ
611へ送る。
このシステムでエラーが生じなかったと仮定しよう。ス
イッチ611は、この返答メツセージについて自身がリ
クエスト・メツセージを結合したか否かをチエツクする
。スイッチ611はそのようなことをしていないので、
スイッチ611は返答メツセージの経路指定を行い、リ
ンク610を経てスイッチ609へ送るだけである。ス
イッチ609は自身が2つのメツセージを1つに結合し
たこと、及び受信した返答メツセージがその結果生じた
メツセージのためのものであることを認識する。したが
って、スイッチ609は返答メツセージを分割(デコン
バイン)する。すなわち、自身が結合したLDメツセー
ジに対する所望の返答メツセージを生成し、これら2つ
の返答メツセージをリンク607.608を介して送信
する6該メツセージはスイッチ605,606によって
それぞれ受信される。スイッチ605,606はこれら
の返答メツセージに関してリクエスト・メッセ二ジの結
合を行わなかったので、メツセージをそれぞれリンク6
03.604を通じて所望のPE601.602に振り
向けるだけである。
かかるシステムでエラーが起こってメツセージのルーテ
ィングに影響を与えることはあり得ることである。時に
はエラーによって誤った分割が行われる。例えば、第6
図において、スイッチ611が返答メツセージのルーテ
ィングを行っているときにそのルーティング・ロジック
にエラーが生じたと仮定する。その場合、スイッチが誤
ってリンク610ではなくてリンク614を介して返答
メツセージをルートする可能性がある。(このことは破
線で図示されている)。このとき、返答メツセージはス
イッチ609ではなくてスイッチ615によって受信さ
れる。公知の従来技術におけるのと同様に、スイッチが
返答メツセージを分割する必要の有無を識別するために
ステージ・ナンバーだけが使われるならば、スイッチ6
15はこのメツセージを分割してしまう。なぜなら、フ
ォワード・パスにてメツセージを併合したのはスイッチ
609であり、そしてこのスイッチはステージ2にある
ので、併合されて生じたリクエスト・メツセージにはネ
ットワークの第2ステージで併合されたというタグがつ
けられているからである。
リバース・パスにおいてスイッチ609,615は両方
ともステージ2にあるので、誤って導がれたメツセージ
はスイッチ615によって誤って分割され得る。その結
果生じた返答メツセージはそれぞれリンク616.61
7を経てスイッチ618.619へ送られる。スイッチ
618,619は、これらの返答メツセージを、それぞ
れリンク620.221を介してPE622.623へ
向ける。
併合(コンバイニング)ネットワークは第4図に示され
るようにして論理的に編成されるMINネットワークで
ある。それは2つのMIN、つまりフォワード・ネット
ワーク402とリバース・ネットワーク405から成る
。PEはネットワークの入力リンク401を通じてリク
エスト・メツセージをフォワード・ネットワーク402
へ送る。
フォワード・ネットワークは必要に応じてリクエスト・
メツセージを併合し、出力リンク403を通じてMEへ
と振り向ける。MEは1′リクエスト1′メツセージに
よってリクエストされたオペレーションを実行し、“返
答(リプライ)”メツセージを生成する。しかる後、返
答はリバース・ネットワーク405ヘネツトワークの入
力リンク404を通じて送られる。リクエスト・メツセ
ージがフォワード・ネットワーク402によって併合さ
れていたならば、もちろん返答メツセージはリバース・
ネットワーク405によって分割されなければならない
。分割されてできたメツセージ、また(分割されなかっ
た場合の)単独返答メツセージはリバース・ネットワー
ク405の出力リンク4O6を通じて所望のPEへ届け
られる。
このような併合ネットワークの物理的編成は、インプリ
メンテーションに依存する。つまり、フォワード・ネッ
トワークとリバース・ネットワークを2つの別個のMI
Nとして設計することが可能である。また、物理的に1
つのMINとして設計することも可能である。その場合
、ネットワークのスイッチはフォワード・ネットワーク
・オペレーションとリバース・ネットワーク・オペレー
ションをサポートし、リンクは双方向の通信をサポーと
する。どちらのインプリメンテーションでも、併合操作
(コンバイニング・オペレーション)のためには、リバ
ース・ネットワーク中のコンパニオン・スイッチと通信
するフォワード・ネットワーク中のスイッチが必要であ
る。同様に、リバース・ネットワークとフォワード・ネ
ットワークの間での通信も必要とされる。この通信はネ
ットワーク間リンク・セット407を介して行われる。
このフォワード・ネットワーク・スイッチとリバース・
ネットワーク・スイッチの間での通信は、必要な分割情
報をこれらのスイッチの間で通信するのに必要とされる
(上記文献6.7.8を参照)。
併合ネットワークでは、併合されたリクエスト・メツセ
ージ及びその返答メツセージがフォワード・ネットワー
ク及びリバース・ネットワーク中の同じ通信バスを通っ
て導かれることが必要となることに注意されたい、すな
わち、併合されたリクエスト・メツセージの返答メツセ
ージは、該リクエスト・メツセージが通ったフォワード
・ネットワーク中のスイッチのコンパニオンであるとこ
ろのリバース・ネットワークのスイッチを通って導かれ
なければならない。
併合ネットワーク・スイッチは論理的にフォワード・ス
イッチ504とコンパニオンのリバース・スイッチ50
9からなる(第5図参照)。かかるスイッチング・ネッ
トワーク及びスイッチの一般的な説明は、上記文献6.
7.8にて行われている。フォワード・ネットワーク・
スイッチ504はPEによって生成されたリクエスト・
メツセージをその入力リンク501,502を通じて受
は取る。フォワード・スイッチ504は、メツセージが
併合可能か否かの判断とメツセージの併合を行う。メツ
セージが併合されたなら、フォワード・スイッチは分割
情報をそのコンパニオンのリバース・スイッチ509に
対してリンク513を通じて送る。コンパニオン・リバ
ース・スイッチ509がフォワード・スイッチ504に
対してフロー制御またはその他の制御情報を送ることも
可能である。この情報はリンク514を介して交換され
る。(リンク513.514は第4図のネットワーク間
リンク・セット407を構成することに注意されたい。
)併合が行われると、単一のリクエスト・メツセージが
フォワード・スイッチ504によって生成される。この
リクエスト・メツセージにはフォワード・スイッチのI
D503が添えられ(taHHed) 、このメツセー
ジがどこで併合されたかを表示する。フォワード・スイ
ッチのID503は、リバース・スイッチのID510
と同じであることに注意されたい、フォワードスイッチ
504は、生じたリクエスト・メツセージを、次のステ
ージのスイッチへ、あるいはスイッチ504が最終スイ
ッチ・レベルにある(つまり、メモリに最も近い)なら
ばMEへ、その出力リンク505または506の1つを
介して振り向ける。
併合が行われないなら、フォワード・スイッチ504は
、リクエスト・メツセージにタグを付けない、フォワー
ド・スイッチ504は、リクエスト・メツセージを、次
のステージのスイッチまたはMEへ、その出力リンク5
05または506の1つを通じて振り向けるだけである
リバース・ネットワーク・スイッチ5−09は、MEに
よって生成された返答メツセージをその入力リンク50
7,508を通じて受は取る。リバース・スイッチ50
9は、メツセージを分割すべきか否かの判断を行う、メ
ツセージのIDがリバース・スイッチのID510とマ
ツチするなら、メツセージは分割される。返答メツセー
ジが分割されると、リバース・スイッチ509は要求さ
れる返答メツセージ(複数)を生成し、それらを所望の
リンク511または512を通じて送信する。
返答メツセージが分割されないなら、リバース・スイッ
チは受は取った返答メツセージを所望の出力リンク51
1または512を通じて送信する。
併合スイッチの物理的な編成はインプリメンテーション
に依存する。つまり、フォワード・スイッチ504とリ
バース・スイッチ509は別々のモジュール(チップま
たはカード)として設計してもよいし、1つのモジュー
ルとなるように設計してもよい。このようなスイッチの
これ以上の詳細は本発明に無関係であり、当業者にとっ
ては自明のことである(上記文献6.7.8)。
MINによって振り向けられるメツセージは、第7図に
示されるようにして編成されている61つ1つのメツセ
ージは、論理的にヘッダ一部701と情報部702とに
分けることができる。各部分のサイズやメツセージ自体
は本発明の要旨とは無関係である。このようなメツセー
ジの使用及び内容は周知のものである。
併合ネットワークのメツセージの構造が第7図に示され
る。このメツセージのヘッダ一部は以下のようなフィー
ルドに分かれる(第8図参照)。
ルーティング・フィールド 801 :このフィールド
は、フォワード・ネットワーク及びリバース・ネットワ
ークがリクエスト・メツセージ及び結果の返答メツセー
ジを振り向けるのに必要とされる情報をストアする。
IDフィールド 802 :メッセージが併合されると
、リクエスト・メツセージ中のこのフィールドは、フォ
ワード・スイッチ504(第5図参照)によってそのI
D503に初期設定される。
エラー・フィールド 803 :このフィールドは、フ
ォワード・スイッチ504、ME、及びリバース・スイ
ッチ509によって、それらがメツセージを受は取った
り処理したりする際に、いつでもエラーが検出されると
セットされる。
その のフィールド 804 :このフィールドは、使
用する併合ネットワークの設計によって必要とされ得る
その他の情報をストアするのに用いられる。このフィー
ルドの詳細及び使用は、本発明の要旨と関係しない。併
合ネットワークのフォワードスイッチ504(第5図)
のオペレーションの概要が第9図に示されている0本発
明に関係する制御情報だけが同図に示されていることに
注意されたい、リクエスト・メツセージはフォワード・
スイッチ504によって受信される(ブロック901)
、受信したリクエスト・メツセージについて、他のメツ
セージとの併合可能性がチエツクされる(ブロック90
2)。他のメツセージは、スイッチ504の中でバッフ
ァされているものでもよいし、他の入力リンクで受信し
たものであってもよい、メツセージが併合可能ならば(
903)、併合が実行される(ブロック905)。
メツセージが併合可能でないならば(904)、メツセ
ージを通すスイッチの出力リンクが決定される(ブロッ
ク907)、メツセージがブロック905で併合される
と、メツセージのIDフィールド802(第8図)は、
フォワード・スイッチ504のID503に初期設定さ
れる(ブロック906)。リクエスト・メツセージを向
ける(ルートする)ために、メツセージが向けられるべ
き。
必要な出力リンクが、メツセージ・ヘッダー(第8図)
のルーティング・フィールドを使って決定される(ブロ
ック907)、次に、決定された出力リンクについて、
それがフリーか否かのチエツクが行われる(ブロック9
08)。当該出力リンクがフリーならば(909)、つ
まり、それが他のメツセージを送るのに使われていない
ならば、当該メツセージは当該出力リンクを介して送信
される。もし当該出力リンクがビジーであって他のメツ
セージを送るのに使用中だと表示されているならば(9
10)、当該メツセージは送信されない。この場合、ス
イッチは次のスイッチ・サイクル(つまり、メツセージ
転送時間)を待って(ブロック911)、当該メツセー
ジの送信を再度試みる(ブロック908)。
当業者なら理解できることだが、かかる併合ネットワー
クは、各併合されたメツセージについての多量の内部情
報を各スイッチにてストアしなければならない。したが
って、スイッチで併合されたメツセージのセットごとに
、そこにデータ・セットをストアしなければならないこ
とになる。通常このようなデータは少なくとも併合され
たパケットのルーティング情報を含む、その結果、併合
されたメツセージがメモリから戻ったときに分割するこ
とが可能になり、各部分は適当なパスを通って起点プロ
セッサへと至る。このデータ及びその他のデータは、ス
イッチにて併合がなされる度にそこにストアされる。該
データは、プロセッサから新しいメツセージを受は取っ
て併合するとき、及びメモリからデータが返されて分割
が必要となるときに、入力され、変更され、あるいは削
除されなければならない。ブロック905.1005に
“′内部情報の更新″と記されているのは、スイッチで
該データの更新等が行われることを意味している。(上
記文献6.7.8は、かかる内部情報の使用法及び機能
について多くを述べている。)併合ネットワークのリバ
ース・スイッチ509(第5図)のオペレーションの概
要が第10図に示されている1本発明に関係する制御情
報だけが同図に示されていることに注意されたい、ブロ
ック1001にて受は取られたメツセージのIDフィー
ルド802(第8図参照)は、スイッチ509のIDフ
ィールド510と比較される(ブロック1002)、−
4することがわかったなら、ライン1003がアクティ
ブになり、返答メツセージは分割され、必要とされる返
答メツセージが生成される(ブロック1005)、次に
生じた返答メツセージのルーティングが行われる(ブロ
ック1006)、IDが一致しない場合は(1004)
、受信した返答メツセージについてエラーの有無がチエ
ツクされる(1011.1012)。
エラーが検知されると(1013)、返答メツセージの
エラー・フィールド(803)がセットされ(1015
)、該メツセージがルート・バックされる(1006)
、エラーが何も検出されなかったときは(1014)、
エラー・フィールド803はセットされない、返答メツ
セージをルートするために、メツセージをルートすべく
必要になる出力リンクが決定される(ブロック1006
)。
次に、当該出力リンクについて、それがフリーか否かの
チエツクが行われる(ブロック1007)。
当該出力リンクがフリーならば(1008)、つまり、
それが他のメツセージを送るのに使われていないならば
、当該メツセージは当該出力リンクを介して送信される
。もし当該出力リンクがビジーである(1009)、つ
まり他のメツセージを送信するのに使用中であるならば
、当該メツセージは送信されない。この場合(1009
)、スイッチは次のスイッチ・サイクル(つまり、メツ
セージ転送時間)を待って(ブロック1010)。
当該メツセージの送信を再度試みる(ブロック1007
)、本発明の第1方法によれば、併合スイッチの各々に
ユニークなID1113が割り当てられる(第11図)
、第5図のフォワード・スイッチ504のID503と
リバース・スイッチ50のID509のID510の両
方には、このユニークなID1113が割り当てられる
。すなわち、フォワード・スイッチ504とリバース・
スイッチ509には同じIDが割り当てられる。このス
キームによれば、メツセージがどのスイッチによっても
併合されないことを表示するために、1つのユニークな
ID“NOC”を取っておく必要がある。PEは自分の
リクエスト・メツセージのIDフィールドをNOCにセ
ットする。フォワード・スイッチがそれらのメツセージ
を併合する場合だけ、このID(つまりN0C)を改め
る。
リバース・スイッチはこのID(つまりN0C)を手掛
りにして、返答メツセージが併合されなかったリクエス
ト・メツセージに対するものであることを知る。
第11図は、このようなIDの割当の1例を示す、簡単
のために、第11図にはスイッチ1101〜1112の
みが示されている。これらのスイッチ1101〜111
2にはそれぞれユニークなID1215が割り当てられ
る。この例では、NOCのID値には0が選ばれる。
本発明の第2方法によれば、併合スイッチの各々にユニ
ークなID1215が割り当てられる。
第5図のフォワード・スイッチ504のID503とリ
バース・スイッチ509のID510の両方に対してこ
のユニークなID1215が割り当てられる。すなわち
、フォワード・スイッチ504とリバース・スイッチ5
09には同じIDが割り振られる。このスキームによれ
ば、メツセージがどのスイッチによっても併合されてい
ないことを表示するために、1つのユニークなID”N
OCI+を取っておく必要がある。PEは自分のリクエ
スト・メツセージのIDフィールドをNOCにセットす
る。フォワード・スイッチがそれらのメツセージを併合
する場合だけ、このID(つまりN0C)を改める。リ
バース・スイッチはこのID(つまりN0C)を手掛り
にして、返答メツセージが併合されなかったリクエスト
・メツセージに対するものであることを知る。
第12図に示されるように、このスキームが割り当てる
IDのそれぞれは、2つのフィールド1213と121
4を連結することによって構成される。第1のフィール
ド1213はスイッチのステージ番号である。例えば、
このフィールド1213はスイッチ1201については
1にセットされ、スイッチ1202については2にセッ
トされる。第2のフィールド1214はそのステージの
中で当該スイッチにユニークな番号である。例えば、こ
のフィールド1214はスイッチ1201については1
にセットされ、スイッチ1204については2にセット
される。
第12図は、このようなIDの割当の1例を示す。簡単
のために、第12図にはスイッチ1201〜1212の
みが示されている。これらのスイッチ1201〜121
2にはそれぞれユニークなIDII、21.31.12
.22.32.13゜23.33.14.24.34が
割り当てられる。
この例では、NOCのID値には00が選ばれる。
D3.結び あるスイッチ・ノードが受は取った2つのメツセージが
併合可能かどうかを識別するのに必要なハードウェアは
すべてよく知られており、上記文献6,7.8にも記載
されている。メツセージ・ヘッダーに所与のレベルまた
はスイッチ・ノードIDを置くのに必要なハードウェア
は、メツセージの帰還時に所与のスイッチ・ノードにお
けるローカルのIDフィールドとメツセージ・ヘッダー
の上記フィールドとの比較を行う手段と同様、当業者に
とっては自明なものであろう。かかる自明のファンクシ
ョンを実行するのに使うハードウェアや編成の仕様は様
々な形態を採り得るであろうし、回路設計分野の当業者
にとっては自明のことと言えよう。かかる回路のハード
ウェアの細部を示すことは1本発明の理解を混乱させる
だけなので、本明細書では取り上げない、したがって本
発明のポイントは、第9図及び第10図で説明したアー
キテクチャの仕様及び手続(プロシージャ)にある。そ
れらは、フォワード・ネットワーク・スイッチとリバー
ス・ネットワーク・スイッチを含む併合/分割(操作実
行)ネットワークの各スイッチ・ノードにてインプリメ
ントされる。したがって、フォワード方向のメツセージ
・ヘッダー中にアディショナルなスイッチ/レベルID
情報を少量付加するとともに、リバース・ネットワーク
にアディショナルなハードウェアを少量付加し、関連す
るヘッダー・フィールドを修正して何らかのエラー・チ
エツク・オペレーションを行うようにすれば、相互接続
ネットワーク・アーキテクチャはさらに大きく改善され
よう。
さて、本発明の良好な実施例を第9図〜第12図に基づ
いて説明した。そこでは、メツセージの併合は1つのス
イッチ・ノード及びレベルでのみ可能であった。しかし
ながら1次のようなシステムの変形例も考えられる。
1)n方向スイッチを使い、所与のスイッチにて3つ以
上のメツセージを併合できるようにする。
2)ネットワークのどのレベルでも、併合基卆に合致す
るならば、メツセージを併合できるようにする。
明らかに、これらのためのテストと併合を行うには適当
なハードウェアが必要になるであろうし。
必要となるID、エラー・コード等を保持するのに適当
なヘッダーを付けなければならないであろう、また、メ
ツセージを分割しその分割したメツセージをそれが他の
先行スイッチ・ノードであれ起点プロセッサであれ適切
なソースにルートするのに必要なルーティング情報及び
すべてのデータを保持するために、各スイッチにおいて
適当なロジックとストレージが必要になるであろう。し
かしながら、こういったものは上記文献6.7,8に見
られるように周知である。
E、効果 本発明によれば、コンバイニング及びデコンバイニング
を実行するマルチステージ・インターコネクション・ネ
ットワークにおいて、デコンバインされるべきメツセー
ジが誤ってルートされたことに起因して誤ったスイッチ
にてデコンバインされるのを防止することができる。
【図面の簡単な説明】
第1図は、大規模並列プロセッサ・システムの典型的な
編成を示す高水準の機能ブロック図である。 第2図は、第1図の並列プロセッサ・システムで使われ
るようなマルチステージ・インターコネクション(相互
接続)・ネットワーク(MIN)の典型例を示す機能ブ
ロック図である。 第3図は、並列プロセッサ・システムでのプロセッサ・
エレメントとメモリ・エレメントの通信パスの1例を示
すブロック図である。 第4図は、併合ネットワークの全体的編成及びフロー・
バスを示す高水準機能ブロック図である。 第5図は、第4図の併合ネットワークで用いられるよう
なスイッチの1例を示す機能ブロック図である。 第6図は、第4図のMINで行われるメツセージ併合、
それに続くメツセージ分解、及び誤ったメツセージ分解
操作の例を示すブロック図である。 第7図は、ネットワーク・メツセージの全体構造及び内
容を示す説明図である。 第8図は、第7図のメツセージのヘッダー・フィールド
の構造及び内容を示す説明図である。 第9図は、本発明に従って、併合ネットワークの各スイ
ッチ・ノードにてフォワード方向のメツセージについて
行われる操作に流れ図である。 第10図は、本発明に従って、併合ネットワークの各ス
イッチ・ノードにてリバース方向のメツセージについて
行われる操作の流れ図である。 第11図は、本発明の目的達成のための第1のタグ添付
方法を示す説明図である。 第12図は、本発明の目的達成のための第2のタグ添付
方法を示す説明図である。 出願人  インターナショナル・ビジネス・マシーンズ
・コーポレーション 代理人  弁理士  頓  宮  孝  −(外1名) FIG、1 FIG。 FIG。 FIG、7 FIG、8 ステージ1 ステージ ステージ3 ステージ1 ステーブ2 ステージ゛3

Claims (5)

    【特許請求の範囲】
  1. (1)マルチステージ・インターコネクション・ネット
    ワークにおいてメッセージのコンバイニング及びデコン
    バイニングを実行するための方法であって、 (a)ネットワーク内の各スイッチに対して当該スイッ
    チの識別番号を割り当て、 (b)上記スイッチの各々で、当該スイッチをプロセッ
    サ側からメモリ側へ至るフオワード方向に通るメッセー
    ジの各々について、当該メッセージが発信プロセッサを
    異にする他のフォワード方向のメッセージとコンバイン
    することができるか否かを判断し、判断結果が肯定的で
    あるならば当該スイッチにてコンバイニングを実行し、 (c)メッセージのヘッダーにコンバイニングを実行し
    たスイッチの識別番号を付加し、 (d)修正されたメッセージをネットワークの中でフォ
    ワード方向に進め、該メッセージがメモリ内の宛先に到
    達するまで上記ステップ(a)〜(c)を繰り返し、 (e)メモリに到達したメッセージに応答して、該メッ
    セージに含まれているスイッチ識別番号をヘッダーに付
    加した返答メッセージを生成し、返答メッセージを上記
    ネットワークの中でメモリ側からプロセッサ側へ至るリ
    バース方向に進めていき、その際に、 (e1)上記スイッチの各々で、当該スイッチを通るリ
    バース方向のメッセージの各々について、当該スイッチ
    の識別番号と当該メッセージのヘッダーに含まれている
    スイッチ識別番号との比較を行い、 (e2)識別番号の一致が検出された場合には、当該メ
    ッセージのデコンバイニングを当該スイッチにて実行し
    、 (e3)デコンバイニングの結果生じた複数のメッセー
    ジを上記ネットワークの中でリバース方向に進める ことを特徴とする、ネットワークでのメッセージのコン
    バイニング及びデコンバイニング方法。
  2. (2)スイッチに割り当てられる識別番号はステージ番
    号と当該ステージ内で当該スイッチにユニークな番号の
    組合せである 特許請求の範囲第1項記載の方法。
  3. (3)上記ステップ(e1)において、 ステージ番号の一致が検出され、かつ当該ステージ内で
    のスイッチ番号の不一致が検出された場合には、エラー
    が発生したと判断し、当該スイッチをしてエラー対策の
    動作を行わせる 特許請求の範囲第2項記載の方法。
  4. (4)上記マルチステージ・インターコネクション・ネ
    ットワークは1つのネットワークからなり、該ネットワ
    ークがメッセージをフォワード方向にもリバース方向に
    も伝える 特許請求の範囲第1項、第2項または第3項記載の方法
  5. (5)上記マルチステージ・インターコネクション・ネ
    ットワークは、メッセージをフォワード方向に進める第
    1のネットワークとメッセージをリバース方向に進める
    第2のネットワークからなり、第1のネットワークのス
    イッチと第2のネットワークのスイッチは一対一に対応
    しており、第1のネットワークのスイッチと対応する第
    2のネットワークのスイッチには該第1のネットワーク
    のスイッチと同じ識別番号が割り当てられている 特許請求の範囲第1項、第2項または第3項記載の方法
JP18488189A 1988-10-28 1989-07-19 ネツトワークでのメツセージのコンバイニング及びデコンバイニング方法 Pending JPH02128268A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US26446188A 1988-10-28 1988-10-28
US264461 1988-10-28

Publications (1)

Publication Number Publication Date
JPH02128268A true JPH02128268A (ja) 1990-05-16

Family

ID=23006170

Family Applications (1)

Application Number Title Priority Date Filing Date
JP18488189A Pending JPH02128268A (ja) 1988-10-28 1989-07-19 ネツトワークでのメツセージのコンバイニング及びデコンバイニング方法

Country Status (2)

Country Link
EP (1) EP0365745A3 (ja)
JP (1) JPH02128268A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011512598A (ja) * 2008-02-19 2011-04-21 マイクロン テクノロジー, インク. チップ上にネットワークを有するメモリ・デバイスの方法、装置、及びシステム

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5321813A (en) * 1991-05-01 1994-06-14 Teradata Corporation Reconfigurable, fault tolerant, multistage interconnect network and protocol
JPH06314264A (ja) * 1993-05-06 1994-11-08 Nec Corp セルフ・ルーティング・クロスバー・スイッチ
US5781787A (en) * 1995-04-21 1998-07-14 Lockheed Martin Corporation Parallel program execution time with message consolidation
US6108689A (en) * 1996-10-11 2000-08-22 International Business Machines Corporation Method and system for processing messages in a distributed computing environment

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011512598A (ja) * 2008-02-19 2011-04-21 マイクロン テクノロジー, インク. チップ上にネットワークを有するメモリ・デバイスの方法、装置、及びシステム

Also Published As

Publication number Publication date
EP0365745A2 (en) 1990-05-02
EP0365745A3 (en) 1990-12-27

Similar Documents

Publication Publication Date Title
US5161156A (en) Multiprocessing packet switching connection system having provision for error correction and recovery
US4814980A (en) Concurrent hypercube system with improved message passing
EP0325384B1 (en) Data processing and communication
US7644254B2 (en) Routing data packets with hint bit for each six orthogonal directions in three dimensional torus computer system set to avoid nodes in problem list
US6970972B2 (en) High-availability disk control device and failure processing method thereof and high-availability disk subsystem
CN1108571C (zh) 带宽可扩展的互连网络以及在其中传送数据的方法
US7145837B2 (en) Global recovery for time of day synchronization
JP3365705B2 (ja) 分散型データ処理システム
Chow et al. Hyperswitch network for the hypercube computer
US7765385B2 (en) Fault recovery on a parallel computer system with a torus network
US20050201272A1 (en) System and multi-thread method to manage a fault tolerant computer switching cluster using a spanning tree
US20050091383A1 (en) Efficient zero copy transfer of messages between nodes in a data processing system
JP2010508591A (ja) 並列コンピューティング・システムに使用されるネットワーク・インターフェース・カード
US20050080869A1 (en) Transferring message packets from a first node to a plurality of nodes in broadcast fashion via direct memory to memory transfer
US20050080920A1 (en) Interpartition control facility for processing commands that effectuate direct memory to memory information transfer
Tien et al. Algorithms and bounds for shortest paths and diameter in faulty hypercubes
JPH02128268A (ja) ネツトワークでのメツセージのコンバイニング及びデコンバイニング方法
Rau et al. Destination tag routing techniques based on a state model for the IADM network
JP3526031B2 (ja) データ転送装置
Lan Adaptive fault-tolerant multicast in hypercube multicomputers
Sadawarti et al. Fault-tolerant routing in unique-path multistage interconnection networks
Haynes et al. The g-network and its inherent fault tolerant properties
Lu et al. A fault-tolerant multistage combining network
JPS63104166A (ja) 並列プロセッサのプロセッサ間データ転送装置
KR930007017B1 (ko) 인터커넥션 네트워크 스위칭소자