JPH0652126A - 相互接続ノード・ネットワークのメッセージ通過装置及びそのコンピュータ・システム - Google Patents

相互接続ノード・ネットワークのメッセージ通過装置及びそのコンピュータ・システム

Info

Publication number
JPH0652126A
JPH0652126A JP5119335A JP11933593A JPH0652126A JP H0652126 A JPH0652126 A JP H0652126A JP 5119335 A JP5119335 A JP 5119335A JP 11933593 A JP11933593 A JP 11933593A JP H0652126 A JPH0652126 A JP H0652126A
Authority
JP
Japan
Prior art keywords
data
node
message
pme
memory
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
JP5119335A
Other languages
English (en)
Inventor
Norman Barker Thomas
トーマス・ノーマン・バーカー
Charles Dap Michael
ミッチェル・チャールス・ダップ
Walren Difenderfer James
ジェイムス・ワーレン・ディフェンダファ
Mitchell Resmeesta Donald
ドナルド・ミッチェル・レスミースタ
Richard Edward Nier
リチャード・エドワード・ニーア
Eugene Letter Eric
エリック・ユージーン・レター
List Richardson Robert
ロバート・リースト・リチャードソン
John Smooral Vincent
ビンセント・ジョーン・スモーラル
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 JPH0652126A publication Critical patent/JPH0652126A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Multi Processors (AREA)

Abstract

(57)【要約】 【目的】 大規模並列コンピュータ・システムの相互接
続処理要素間を通るI/Oメッセージを急速に送信する
こと。 【構成】 I/O構成の設定処理及び主メモリー帯域幅
の使用を除き、ノードの処理資産を使用せずにノードの
主メモリーからの出力メッセージを記憶し通過する機構
を有し、入−出力データ経路を動的に接続する制御及び
通信経路が与えられ、処理、メモリー帯域幅、又はノー
ドの記憶資産を使用せずに動的に接続した入−出力経路
を使用してメッセージにノードを通過させ、ノード20
はメモリー及び入力データの要求がない場合メッセージ
を動的に接続した入−出力経路を通過させると共に、ノ
ードのフル・メモリー帯域幅を使用してメモリーと入力
データとを同時に処理する機能を提供する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は多重又はマルチ・プロセ
ッサ並列計算システムに関し、特に密並列プロセッサ及
び処理要素間でI/Oメッセージを急速転送する能力を
有するアーキテクチャに関する。本発明は単一命令複数
データ(SIMD)及び複数命令複数データ(MIM
D)のオペレーション・モード間を動的に切替える能力
を有する。
【0002】
【従来の技術】相互参照特許出願 本願は下記の関連特許出願の部分継続出願であり、その
優先権を要求する。“並列連想プロセッサ・システム”
と称するジェイ・ディーフェンダーファほかにより19
90年11月13日に提出の米国特許出願611,59
4号。“動的複数モード並列プロセッサ・アレイ・アー
キテクチャ”と称するピー・エム・コージにより199
1年11月27日に提出の米国特許出願798,788
号。
【0003】更に、本願は本願と同時出願の下記特許出
願と関連がある。“SIMD処理要素内の命令”と称す
るピー・エイ・ウイルキンソンほかにより1992年5
月22日に提出の米国特許出願。“SIMD機における
浮動小数点の実現”と称するピー・エイ・ウイルキンソ
ンほかにより1992年5月22日に提出の米国特許出
願。“SIMDピケットのグループ化”と称するピー・
エイ・ウイルキンソンほかにより1992年5月22日
に提出の米国特許出願。“アレイ・プロセッサ用スライ
ド・ネットワーク”と称するピー・エイ・ウイルキンソ
ンほかにより1992年5月22日に提出の米国特許出
願。“SIMD機におけるピケットの自律化”と称する
ピー・エイ・ウイルキンソンほかにより1992年5月
22日に提出の米国特許出願。“H−DOTSに基づく
アレイ・プロセッサ通信ネットワーク”と称するピー・
エイ・ウイルキンソンほかにより1992年5月22日
に提出の米国特許出願。“SIMD/MIMD機用制御
機能”と称するアール・アール・リチャードソンほかに
より1992年5月22日に提出の米国特許出願。
【0004】更に、本願は下記特許出願に関連がある。
“拡張並列アレイ・プロセッサ”と称するティー・バー
カほかにより1992年5月22日に提出の米国特許出
願。“SIMD/MIMD処理メモリー要素”と称する
ティー・バーカほかにより1992年5月22日に提出
の米国特許出願。“PME記憶及び転送/回路切替モー
ド”と称するティー・バーカほかにより1992年5月
22日に提出の米国特許出願。“完全分散処理メモリー
要素”と称するティー・バーカほかにより1992年5
月22日に提出の米国特許出願。“N次元修正ハイパー
コード”と称するティー・バーカほかにより1992年
5月22日に提出の米国特許出願。
【0005】“拡張並列プロセッサ・アレイ・ディレク
タ”と称するエム・ダップほかにより1992年5月2
2日に提出の米国特許出願。“APAP機械的パッケー
ジ”と称するエム・ダップほかにより1992年5月2
2日に提出の米国特許出願。“APAP I/O プロ
グラマブル・ルータ”と称するエム・ダップほかにより
1992年5月22日に提出の米国特許出願。“APA
P I/O ジッパ接続”と称するティー・バーカほか
により1992年3月に提出の米国特許出願。
【0006】本願及び上記出願中の特許出願はニューヨ
ーク州アーモンクのインターナショナル・ビジネス・マ
シーンズ・コーポレイションに譲渡され所有されてい
る。上記出願中の特許出願の記載は参照事項により本願
に編入される。
【0007】他の相互参照特許出願 本願と同一譲受人に譲渡され、本願出願時に所有した相
互参照特許出願は下記のものを含む。1988年9月2
7日に提出され、現在は“SIMDアレイ・プロセッ
サ”と称するジェイムス・エル・テイラにより1990
年5月4日に提出されたその継続出願第07/519,
332号の利益となるように放棄された米国特許出願第
07/250,595号(1989年5月3日にEPO
出願第88307855/88−Aとして最初開示され
た)。
【0008】“ポリモルフィック・メッシュに任意なグ
ラフを実現する回路及び方法”と称するエイチ・リーに
より1988年5月13日に提出の米国特許出願第07
/193,990号。“大容量並列SIMDコンピュー
タ用2次元入出力方式”と称するアール・ジャフェほか
により1989年10月24日に提出の米国特許出願第
07/426,140号。“並列プロセッサ・システム
におけるメモリー保護操作実行装置及び方法”と称する
ダヴリュー・シー・ディートリック,ジュニアほかによ
り1989年11月21日に提出の米国特許出願第07
/439,758号。
【0009】“相互接続処理要素システム及び相互接続
方法”と称するダヴィド・ビー・ロルフにより1991
年5月13日に提出の米国特許出願第07/698,8
66号。出願中の上記参照全特許出願は本願と同一譲受
人であるインターナショナル・ビジネス・マシーンズ・
コーポレイションに譲渡され所有されている。上記特許
出願の記載は参照事項により本願に編入される。
【0010】使用用語集 ・ALU プロセッサの演算論理装置である。 ・アレイ 1次元以上の構成要素又は要素の配列を示す。アレイは
ホートランのような言語において単一名で識別される順
序付きデータ項目(アレイ要素)群を含む。他の言語に
おいては、かかる順序付きデータ項目群の名称は全べて
同一属性を有するデータ要素群又は順序付き集合を示
す。
【0011】プログラム・アレイは一般に数又は次元属
性によって指定された次元を有する。又、アレイの宣言
子はある言語のアレイの各次元のサイズを指定すること
ができる。ある言語において、アレイはテーブルの要素
の配列である。ハードウェアを意味する場合、アレイは
大規模並列アーキテクチャの全体的に同一な構造(機能
要素)の集合である。データ並列演算におけるアレイ要
素は、並列が各独立であり、要求されたオペレーション
を並列に実行することができるときに、そのオペレーシ
ョンを割当てることができる要素である。一般に、アレ
イは処理要素の格子とみなすことができる。アレイの各
部には、部分データが正規の格子パターンの周囲を移動
することができるように、その部分データを割当てるこ
とができる。しかし、データはアレイの任意な位置に割
振り、又は割当てることができる。
【0012】・アレイ・ディレクタ アレイに対する制御装置としてプログラムされた装置で
ある。アレイ・ディレクタはアレイに配列された機能要
素のグループ化に対するマスタ・コントローラ(又は制
御装置)の機能を実行する。
【0013】・アレイ・プロセッサ 2つの主なタイプのアレイ・プロセッサがある。その1
つは複数命令複数データ(MIMD)アレイ・プロセッ
サであり、他方は単一命令複数データ(SIMD)アレ
イ・プロセッサである。MIMDアレイ・プロセッサに
おいては、アレイの処理要素は共通の命令ストリームを
経由する同一命令に制限されるが、各処理要素に関連す
るデータは個有である。本発明の好ましいアレイ・プロ
セッサは他の特性を有する。それは拡張アレイ・プロセ
ッサと呼称され、頭字語APAPを使用する。
【0014】・非同期 正規の時間関係がないことである。一方の機能の遂行に
より他方の機能の遂行を予想することができないという
ことである。すなわち、他方の機能の遂行との関係にお
いて規則的な又は予想可能な時間関係を持たずに発生す
るものである。制御状況下において、データが遊休要素
をアドレスするのを待ち状態にあるとき、コントローラ
は制御を引渡す位置を指定する。これによりオペレーシ
ョンの順次は維持されるが、他の事象の発生時刻と一致
しない。
【0015】・BOPS/GOPS BOPS又はGOPSは秒当り大量(数10億)のオペ
レーションと同じ意味を有する頭字語である。GOPS
参照。
【0016】・回路切替/記憶転送 これらの用語はノード・ネットワークを通してデータ・
パケットを移動する2つの機構を示す。記憶転送は各中
間ノードがデータ・パケットを受信し、そのメモリーに
記憶し、そしてその受信先の方に転送する。回路切替は
データ・パケットを中間ノード・メモリーに入力せず
に、そのノードを通して受信先の方に直接データ・パケ
ットを通過するよう、中間ノードの入力ポートを出力ポ
ートに論理的に接続することを指令する機構である。
【0017】・クラスタ クラスタは制御装置(クラスタ・コントローラ)及びそ
れに接続されたハードウェア(ターミナル機能装置、又
は仮想構成要素でよい)とから成るステーション(又は
端末、機能装置)である。本願のクラスタはノード・ア
レイとも称するPMEのアレイを含む。通常、クラスタ
は512PMEを持つ。本願の全PMEノード・アレイ
は、各々がクラスタ・コントローラ(CC)によって支
援されるクラスタ群から成る。
【0018】・クラスタ・コントローラ クラスタ・コントローラは1以上の装置又はそれに接続
されている機能装置に対する入出力(I/O)オペレー
ションを制御する装置である。クラスタ・コントローラ
は通常、それがIBM3601金融機関通信制御装置に
存在する場合には、装置に記憶されそこで遂行されるプ
ログラムによって制御されるが、それがIBM3272
制御装置に存在する場合には、ハードウェアにより全体
的に制御されうるものである。
【0019】・クラスタ・シンクロナイザ クラスタ・シンクロナイザは構成要素の同期オペレーシ
ョンを維持するため、クラスタの一部又は全部のオペレ
ーションを管理する機能装置である。この機能装置はプ
ログラムの遂行と特定の時間関係を維持する。
【0020】・コントローラ コントローラは相互接続ネットワークのリンクを経由し
てデータ及び命令の送信を制御する装置である。そのオ
ペレーションはコントローラが接続されているプロセッ
サで遂行されるプログラムにより、又は装置内で遂行さ
れるプログラムによって制御される。
【0021】・CMOS CMOSは相補型金属酸化物半導体技術に対する頭字語
である。それは通常動的ランダム・アクセス・メモリー
(DRAM)の製造に使用される。NMOSはDRAM
の製造に使用される他の技術である。CMOSが好まし
いが、APAPの製造に使用する技術は現に使用されて
いる半導体技術の範囲に制限されるべきものではない。
【0022】・ドッティング(Dotting) ドッティングは3以上のリードを物理的に共に接続する
ことにより結合することを示す。ほとんどのバックパネ
ル・バスはこの接続方式を共用する。この用語は経過時
間のオア・ドット(OR DOT)も表わすが、ここでは非常
に簡単なプロトコルによりバスに組合わせることができ
る複数のデータ源の識別に使用される。
【0023】本発明におけるI/Oジッパ(Zipper、後
述する)の概念は、ノードに入るポートがノードから出
るポートによって駆動され、又はシステム・バスからく
るデータによって駆動することができる概念の実現に使
用することができる。逆に、ノードから出るデータは他
のノードに対する入力と、システム・バスに対する入力
の両方に使用可能である。システム・バス及び他のノー
ドの両方に対するデータ出力は同時には行われず、サイ
クルが別である。
【0024】ドッティングは、2ポートPE或はPME
又はピケットがドッティングを利用することによって各
種編成のアレイに使用することができる場合におけるH
−DOTの検討で使用される。2D及び3Dメッシュ、
基数2N−立方(又は3次元)、疎基数4N−立方、及
び疎基数8N−立方等を含み、数個のトポロジが検討さ
れる。
【0025】・DRAM DRAMは動的ランダム・アクセス・メモリーの頭字語
であり、コンピュータの主メモリー用の記憶装置として
一般に使用される。用語DRAMはキャッシュとして、
又は主メモリーではないメモリーとしての使用にも適用
される。
【0026】・浮動小数点(FLOATING-POINT) 浮動小数点の数は2つの部分で表わされる。それらは、
固定小数点又は小数部と、ある想定の基数又はベース
(radix 、base)に対する指数部とである。指数は10
進小数点の実際の配置を示す。典型的な浮動小数点の表
現として、例えば、実数0.0001234は0.12
34−3として表わされる。その場合、0.1234は
固定小数点部であり、−3は指数である。
【0027】この例において、浮動小数点の基数又はベ
ース(radix 、base)は10である。この10は単位よ
り大きく、浮動小数点表示の指数により明示的に表わさ
れるか、浮動小数点表示の特性によって表示される冪で
累乗されてから、固定小数点部に乗算することにより実
数の表示を決定するようにした暗黙固定の正の整数の基
数を表わす。数字リテラルは実数同様浮動小数点の表記
法で表わすことができる。
【0028】・FLOPS この用語は秒当りの浮動小数点命令数を示す。浮動小数
点の計算は加算(ADD)、減算(SUB)、乗算(M
PY)、割算(DIV)及び他の多くのものを含む。秒
当りの浮動小数点命令のパラメータは屡加算又は乗算命
令を使用して計算され、一般に50/50比の混合を有
するものと推定することができる。この計算は指数、小
数、及び全べての必要な小数正規化の生成を含む。本実
施例においては、32ビット又は48ビット浮動小数点
ホーマットをアドレスすることができる(本実施例にお
いて、混合の場合、それを計数しなかったがより長くす
ることができる)。浮動小数点の計算は、固定小数点命
令によって行う場合、乗算命令を必要とする。あるもの
は結果を数字表示する場合10対1比を使用するが、あ
る特定の研究においてはより適切な使用として6.25
比を示した。各種アーキテクチャは異なる比率を有す
る。
【0029】・機能装置 機能装置は目的を達成することができるハードウェア、
ソフトウェア、又は両方の実体又はエンティティであ
る。
【0030】・Gバイト Gバイト(Gbytes)は10億(109 )バイトを示す。
Gbytes/sは秒当り10億バイトを表わす。
【0031】・GIGAFLOPS この用語は秒当り(10)**9浮動小数点命令を意味す
る。
【0032】・GOPS及びPETAOPS GOPS及びBOPSは意味が同一であり、秒当り10
9 オペレーションを意味する。PETAOPS は秒当り1012
オペレーションという現行機械の能力を意味する。本実
施例によるAPAP機のそれは、正に秒当り109 命令
を意味するBIP/GIPと同一である。ある機械にお
いて、その命令は2以上のオペレーション(すなわち、
加算及び乗算)を発生するかもしれないが、本発明はそ
のようなことはしない。その代り、1オペレーションを
実行するに多くの命令を使用するかもしれない。例え
ば、本発明は、64ビット演算を実行するに複数の命令
を使用する。しかし、本発明におけるオペレーションの
計数の際、ログ・オペレーションの計数を選択しなかっ
た。GOPSは、成果又はパホーマンスの表示に使用す
るに好ましいものであるかもしれないが、表示した使用
法に一貫性がない。あるものはMIPS/MOPSに遭
遇し、次にBIPS/BOPS、及びMega(メガ)
FLOPS /Giga(ギガ)FLOPS /Tera(テラ)FL
OPS /Teta(テタ)FLOPS に遭遇する。
【0033】・ISA ISAは命令セット・アーキテクチャを意味する。
【0034】・リンク リンクは物理的又は論理(ロジック)的であり、要素又
は構成要素である。物理的リンクは構成要素又は装置を
接続する物理的接続であるが、コンピュータのプログラ
ミングにおいて、リンクはプログラムの離れた部所間に
おいて制御及びパラメータを通過させる命令又はアドレ
スである。多重システムにおいて、リンクは実アドレス
又は仮想アドレスによって識別することができるリンク
識別用プログラム・コードによって指定することができ
る2システム間の接続である。かくして、一般に、リン
クは、論理的及び物理的両方において、物理的媒体及び
全プロトコルと、関連装置及びプログラミングとを含
む。
【0035】・MFLOPS この用語は秒当り(10)**6浮動小数点命令を意味す
る。
【0036】・MIMD MIMDはプロセッサ・アレイ・アーキテクチャを示す
ことに使用される。そこで、アレイの各プロセッサはそ
れ自体の命令ストリーム、すなわち複数の命令ストリー
ムを有し、各処理要素当り1つ配置された複数データ・
ストリームを遂行する。
【0037】・モジュール モジュールは他の構成要素と共に使用するよう設計され
たハードウェアの個別的且つ識別可能なプログラム装置
又は単位、又は機能装置又は単位である。又、単一電子
チップに含まれているPEの集合もモジュールと呼ばれ
る。
【0038】・ノード 一般にノードはリンクの接合又は接合点である。一般的
PEアレイの1PEはノードであることができる。ノー
ドは、又モジュールと称するPEの集合を含むことがで
きる。本実施例において、ノードはPMEのアレイを構
成し、PMEの集合をノードと称する。ノードは8PE
Mであることが好ましい。
【0039】・ノード・アレイ PMEから成るモジュールの集合は屡ノード・アレイと
称し、それは、モジュールから成るノードのアレイであ
る。ノード・アレイは通常数個のPMEより多いが、ノ
ード・アレイの用語は複数を包含する。
【0040】・PDE PDEは、部分微分方程式を示す。
【0041】・PDE緩和解答法 PDE緩和解答法はPDE(部分微分方程式)を解答す
るための方法である。PDE解答は公知汎用のほとんど
のスーパ・コンピュータ能力を使用するので、緩和法
(relaxation process)のよい例であるかもしれない。
PDE方程式を解く方法は多数有り、1より多い数値法
は緩和法を含む。例えば、有限構成要素法によりPDE
を解く場合、緩和法は大量のコンピュータ時間を消費す
る。
【0042】今、熱伝導の世界における例を考える。煙
突内部に熱いガスがあり、外には冷い風が吹いている場
合、煙突レンガ内の温度勾配はどのように形成されるだ
ろうか。各レンガを小さなセグメントと仮定し、各セグ
メント間における熱の流れ方を温度差の関数として方程
式を表わすことにより、熱伝導PDEは、有限要素問題
に変換することができる。そこで、内部及び外部を除く
全べての要素が室温であるのに対し、その境界セグメン
トが熱ガス温度及び冷風温度であったとして、緩和の開
始を決定しなければならない。
【0043】コンピュータ・プログラムはそのセグメン
トに流入する又は流出する熱の量に基づく各セグメント
の温度変数を更新することにより時間をモデル化する。
その場合、煙突を横切る温度変数群を緩和して、物理的
煙突において発生する実際の温度分布を与えるようにす
るまで、モデルの全セグメントを処理するに多数のサイ
クルを必要とする。
【0044】目的が煙突のガス冷却をモデル化すること
である場合、構成要素はガス方程式にまで拡張しなけれ
ばならず、煙突内部の境界の状態は他の有限リンク・モ
デルに連結され、処理又はプロセスを続行する。熱の流
れはセグメントとその隣接間温度差によって異なること
に注意する。温度変数を分布させるため、PE間通信経
路を使用する。それはこの隣接通信パターン、又はPD
E関係を並列演算に大いに適用可能にする特性である。
【0045】・ピケット(PICKET) ピケットはアレイ・プロセッサを構成する構成要素のア
レイの要素である。それはデータ・フロー(ALU R
EGS)、メモリー、制御、要素に関連する通信マトリ
ックスの部分である。その装置はそれらの制御及びアレ
イ相互通信機構部分を有する並列プロセッサ及びメモリ
ー要素から成る第1/第nのアレイ・プロセッサを示
す。ピケットはプロセッサ・メモリー要素又はPMEの
形態である。本発明によるPMEチップ設計プロセッサ
・ロジックは関連出願のピケット・ロジックを実現する
ことができ、ノードとして形成されたプロセッサ・アレ
イに対するロジックを有する。
【0046】用語ピケットは一般に使用の処理要素用の
アレイ用語PEに類似し、1クロック・サイクルでビッ
ト並列情報バイトを処理する、好ましくは処理要素と局
所メモリーとの組合せからなる処理アレイの構成要素で
ある。バイト幅データ・フロー・プロセッサと32kバ
イト以上のメモリーとから成るこの好ましい実施例は、
本質的に他のピケットに対する通信を制御し、接続す
る。
【0047】用語ピケットは機能的には軍によるピケ・
ラインの類推が相当ぴったりに適合するものと思われる
が、その語源はトム・ソイヤ(Tom Sawyer)及び彼の白
柵からとったものである。
【0048】・ピケット・チップ ピケット・チップは単一シリコン・チップ上に複数のピ
ケットを含む。
【0049】・ピケット・プロセッサ・システム(又は
サブシステム) ピケット・プロセッサはピケットのアレイ、通信ネット
ワーク、入出力(I/O)システム、及びマイクロプロ
セッサ、走査ルーチン・プロセッサ、及びアレイを走行
するマイクロ−コントローラから成るSIMDコントロ
ーラで構成される。
【0050】・ピケット・アーキテクチャ ピケット・アーキテクチャは下記のような問題を含む数
々の異なる種類の問題に適応する機能を有するSIMD
アーキテクチャに対する好ましい実施例である。 −集合連想処理 −並列数値的集中処理 −イメージに類似の物理的アレイ処理
【0051】・ピケット・アレイ ピケット・アレイは幾何学的順序で配列されたピケット
の集合、正規のアレイである。
【0052】・PME又はプロセッサ・メモリー要素 PMEはプロセッサ・メモリー要素に対して使用され
る。用語PMEは単一プロセッサ、メモリー、及び入出
力(I/O)可能システム要素又は本発明による並列ア
レイ・プロセッサの1つを形成する装置を示す。プロセ
ッサ・メモリー要素はピケットを包含する用語である。
プロセッサ・メモリー要素はプロセッサと、その関連メ
モリーと、制御インターフェースと、アレイ通信ネット
ワーク機構の部分とから成る第1/第nのプロセッサ・
アレイである。この要素はピケット・プロセッサ内又は
サブアレイの一部にあるような、又ここで説明する多重
プロセッサ・メモリー要素ノードにあるような正規のア
レイの接続機能を有するプロセッサ・メモリー要素を持
つことができる。
【0053】・経路指定 経路指定はメッセージを受信先に到達させるまでの物理
的経路の指定である。経路指定はソース又は発信元と受
信先とを有する。これら要素又はアドレスは一時的関係
又は類縁性を有する。メッセージの経路指定は屡指定表
を参照して得られるキーに基づき行われる。ネットワー
クにおいて、受信先はリンクを識別する経路制御アドレ
スに従い送信される情報の受信先としてアドレスされた
如何なる端末、ステーション、又はネットワーク・アド
レス可能な装置でよい。受信先フィールドはメッセージ
・ヘッダに置かれ、その受信先コードによって受信先が
識別される。
【0054】・SIMD SIMDはアレイの全プロセッサが単一の命令ストリー
ムから指令されて、処理要素当り1つ配置されている複
数データ・ストリームを遂行するようにしたプロセッサ
・アレイ・アーキテクチャである。
【0055】 ・SIMDMIMD又はSIMD/MIMD この用語はある複雑な命令を処理する期間、MIMDか
らSIMDに切換えることができる二重機能を有する。
すなわち、2モードを有する機械を示す用語である。シ
ンキング・マシーンズ社の接続機型式CM−2は、MI
MD機の前端又は後端として置かれた場合、オペレーシ
ョンが異なる問題部分を遂行するため異なるモードを実
行すること(屡々二重モードという)を可能とする。
【0056】これらの機械はイリアク(Illiac)以来存
在し、マスタCPUと他のプロセッサとを相互接続する
バスを使用した。マスタ制御プロセッサは他のCPUの
処理の割込能力を有する。他のCPUは独立のプログラ
ム・コードを走行することができる。割込み中チェック
ポイント機能(制御されるプロセッサの現行状況の閉鎖
及び保管)に寄与する機能がなければならない。
【0057】・SIMIMD この用語はアレイの全プロセッサが単一の命令ストリー
ムから指令されて、処理要素当り1つ配置されている複
数データ・ストリームを遂行するようにしたプロセッサ
・アレイ・アーキテクチャである。この構造内で、命令
遂行を指定する各ピケット内のデータ従属オペレーショ
ンはSIMD命令ストリームによって制御される。
【0058】これはSIMD命令ストリームを使用して
複数データ・ストリーム(ピケット当り1つ)を操作す
る複数命令ストリーム(ピケット当り1つ)の逐次能力
を有する単一命令ストリーム機である。
【0059】・SISD SISDは単一命令単一データの頭字語である。
【0060】・スワッピング スワッピングとは、ある記憶区域のデータ内容を他の記
憶区域のデータ内容と交換することである。
【0061】・同期オペレーション MIMD機の同期オペレーションは、各活動が事象(通
常クロック)に関連する動作モードである。それはプロ
グラム・シーケンスで正規に発生する指定事象であるこ
とができる。オペレーションは独立して機能を実行する
よう多数のPEにディスパッチされる。制御はオペレー
ションが終了するまでコントローラに戻されない。機能
装置のアレイにオペレーション命令があった場合、その
要求は、制御がコントローラに戻されるまで、それらオ
ペレーションを終了しなければならない各アレイの要素
に対しコントローラから発生する。
【0062】・TERAFLOPS この用語はTERA(テラ)とFLOPS (前述)との結合
語であり、秒当り(10)**12浮動小数点メモリーを
意味する。
【0063】・VLSI VLSIは集積回路に対して使用された場合における超
大規模集積の頭字語である。
【0064】・ジッパ(Zipper) ジッパは新たに与えられた機能である。それはアレイ構
造の正規な相互接続の外部にある装置から接続されるべ
きリンクを考慮するものである。使用用語集(追加) 回路切替: アレイのPME間のデータ転送方法。
そこで、中間PMEは中間PMEにおいて処理を加える
ことなく、中間PMEを通してメッセージを最終受信先
の方へ通過させるよう、入力ポートを出力ポートに論理
的に接続する。
【0065】記憶及び転送: アレイのPME間のデー
タ転送方法。そこで、中間PMEは各メッセージを受信
して、そのメッセージを最終受信先の方へ再送信しなけ
ればならない。
【0066】入力転送終了割込: I/Oメッセージ・
ワードを転送終了タグと共に受信したときに発生するP
MEプログラム・コンテキスト切替要求。
【0067】直接メモリー・アクセス(DMA): I
/Oポートをコンピュータ・メモリー・システム及び自
己管理データ転送 に直接接続するようにした機構。
【0068】ブレーク・イン: プロセッサを透過コン
テキスト切替にし、プロセッサを自己管理データ転送機
能に対するデータ・フロー及び制御経路指定に使用する
ようにした機構。
【0069】実行時間ソフトウェア: 処理要素で遂行
するソフトウェア。それは、オペレーティング・システ
ム、遂行プログラム、アプリケーション・プログラム、
サービス・プログラム等を含む。
【0070】メモリー・リフレッショ: 現行情報が再
書込みされている間、メモリーの使用を中断するように
した動的RAM(DRAM)技術の必須機能。
【0071】ウエイポイントPME: メッセージの発
信元でも受信先でもないPMEのネットワークを通るメ
ッセージ経路におけるPME。
【0072】背景技術 より高速なコンピュータに対する終りなき探求におい
て、今日の機械を困惑させる複雑な問題を克服するた
め、分割して数百及び数千のロー・コスト・マイクロプ
ロセッサを並列に連結することによりスーパ・スーパコ
ンピュータを作成するようにしてきた。かかる機械は大
規模並列と呼ばれる。大規模並列システムを作成するた
め、本発明者は新たな方法を作成した。本発明者が行っ
た多くの改良に対しては他の多くの業績の背景が考慮さ
れなければならない。
【0073】技術分野の要約において他の出願に対し参
照が行われた。その点については、本発明者による並列
連想プロセッサ・システム(米国特許出願第601,5
94号)と、拡張並列アレイ・プロセッサ(APAP)
に対する関連出願を参照するとよい。特定のアプリケー
ションに最もよく適合するアーキテクチャを選出するた
めにシステム交換が要求されるが、一つの解決法も満足
するものはなかった。そして、本発明者の思想は解決を
与えることを容易にした。
【0074】
【発明が解決しようとする課題】以上記述した従来技術
においては、データ経路の中間ノードを透過する使用は
提案されておらず、又その接続構造は非常に複雑である
ばかりでなく、各ノードにおいて処理と通信とを分離し
て行う必要があった。
【0075】従って、本発明の目的は、大規模並列アプ
リケーションに使用することができるコンピュータ・シ
ステムの相互接続ノード・ネットワークを通してメッセ
ージを通過させる能力を有する大規模並列コンピュータ
・システムを提供することである。
【0076】
【課題を解決するための手段】本発明者は新規な概念に
より設計されたシステム及び新たな“チップ”を作成す
ることにより大規模並列プロセッサ及び他のコンピュー
タ・システムを作成する新たな方法を創作した。本出願
はかかるシステムに向けられる。本願及び関連出願にお
いて、開示されるべき各種概念はそれら出願において見
ることができる。各出願に記述されている構成要素はこ
のシステムに組合わされて新たなシステムとすることが
できる。それらは現行技術と組合わせることもできる。
【0077】本願及び関連出願において、拡張並列アレ
イ・プロセッサ(APAP)と称するピケット・プロセ
ッサを考案した。ピケット・プロセッサはPMEを使用
することができるということに注意するべきである。ピ
ケット・プロセッサは、非常にコンパクトなアレイ・プ
ロセッサを希望するような軍の適用に特に有益であるか
もしれない。その点に関し、このピケット・プロセッサ
は、幾分、本願の拡張並列アレイ・プロセッサ(APA
P)に対する好ましい本実施例とは異なるかもしれな
い。しかし、共通性は在り、本実施例のある面及び機能
は、異なる機械に適用することができる。
【0078】用語ピケットは、プロセッサ及びメモリー
から成るアレイ・プロセッサの第1/第nの要素と、ア
レイ相互間通信に適用可能な、そこに含まれている通信
要素とを含む。ピケットの概念は、又、第1/第nのA
PAP処理アレイにも適用可能である。
【0079】ピケットの概念は、データ幅、メモリー・
サイズ、及びレジスタの数においてAPAPとは異なり
うるが、ピケットはAPAPの代替である大規模並列実
施例においては、第1/第nの正規のアレイに対し接続
可能に構成されるのに対し、APAPのPMEはサブア
レイの一部であるという点において異なる。両システム
共、SIMIMDを遂行することはできるが、ピケット
・プロセッサは、PEのMIMDを有するSIMD機と
して構成されるので、SIMIMDを直接遂行すること
ができるのに対し、MIMD APAP 構造は、SIMDをシミ
ュレートするよう制御されたMIMD PE を使用することに
よってSIMIMDを遂行する。又、両機械共PMEを
使用する。
【0080】両システム共並列アレイ・プロセッサとし
て構成することができ、アレイ通信ネットワークと相互
接続された“N”要素を有するアレイに対するアレイ処
理装置から成る。その第1/第Nのプロセッサ・アレイ
は処理要素と、その関連メモリーと、制御バス・インタ
ーフェースと、アレイ通信ネットワークの一部とから成
る。
【0081】並列アレイ・プロセッサは2重オペレーシ
ョン・モード機能を持ち、そこで、処理装置はどちらか
のモード又は2つのモードで指令され、SIMDオペレ
ーション及びMIMDオペレーションに対する、これら
2つのモード間を自由に移動することができる。SIM
Dがその組織のモードである場合には、処理装置はSI
MIMDモードで自己の命令を遂行するよう各要素を指
令するべき能力を持ち、MIMDが処理装置の組織に対
する実施モードである場合は、処理装置はMIMDの遂
行をシミュレートするようアレイの選ばれた要素を同期
化するべき能力を持つ(これをMIMD-SIMD と称する)。
【0082】両アレイの並列アレイ・プロセッサはアレ
イの要素間で情報を通過させ、通り抜けさせる経路を持
つアレイ通信ネットワークを提供する。情報の移動は2
つの方法のいずれかによって制御することができる。第
1の方法としては、移動データが受信先を規定せず、全
メッセージを同時且つ同一方向に移動するようアレイ・
コントローラが指示する。第2の方法としては、各メッ
セージがその開始位置に受信先を規定したヘッダを持
ち、自己経路指定するものである。
【0083】複数のアレイ・プロセッサのアレイのセグ
メントは単一半導体チップ上に設けられている処理装置
の複数のコピーを持ち、そのアレイ・セグメントの各コ
ピーは、アレイ通信ネットワークを拡張するため、その
セグメント及びバッファと、ドライバと、マルチプレク
サと、そのアレイ・セグメントがアレイの他のセグメン
トと一体的に接続可能にする制御とに接続されたアレイ
通信ネットワークの一部を含む。コントローラからの制
御バス又は経路は、アレイの各要素及びそれらの活動の
制御機能まで延長するよう各処理装置に配設される。
【0084】並列アレイの各処理要素セグメントはプロ
セッサ・メモリー要素の複数のコピーを含み、それは単
一半導体チップの限界内に含まれ、アレイ・セグメント
は、チップに含まれているアレイ・セグメントに対する
制御機能の通信を支援するため、アレイ制御バス及びレ
ジスタ・バッファの一部を含む。
【0085】両方共メッシュ移動又は経路指定移動を実
現することができる。通常、APAPは、チップ上に一
方法で相互関係する8要素を持ち、チップは他の方法で
相互関係するようにした2重相互接続構造を実現する。
チップのプログラマブル経路指定は、一般に、上記のP
ME間にリンクを設定して行われるが、ノードは他の方
法で接続してもよく、通常他の方法で接続される。チッ
プ上で、正規のAPAP構造は本質的に、2×2メッシ
ュであり、そのノード相互接続は経路指定された疎8進
N−立方(3次元)であることができる。両システム
共、マトリックスを点対点経路で構成可能にするPE
(PME)の間にPE間相互接続経路を有する。
【0086】更に、本発明においては、上記の課題を解
決するため、次に述べるように構成した。本発明による
大規模並列コンピュータ・システムは、大規模並列オペ
レーションにおいて使用することができるコンピュータ
・システムの相互接続ネットワークを通してメッセージ
を通過(又は透過)送信させる能力を有する。
【0087】それは、I/O構造のセットアップ処理及
び主メモリー帯域幅の使用を除き、ノードの資産処理を
使用せずに、各ノードの主メモリーから出力メッセージ
を送信する機構、及びメモリーに対する機構を持つ。そ
して、データ経路は通信経路に設けられ、ノードの入力
データ経路の1つをその出力経路の1つに動的且つ論理
的に接続するよう制御する。システムはノードの記憶資
産、メモリー帯域幅、又は処理を使用せずに、動的且つ
論理的に接続された入力経路及び出力経路を使用して、
ノードを通しメッセージを通過又は透過する。
【0088】ノードはノードのメモリー帯域幅を全部使
用して、メモリーと入力データとを同時に処理する能力
を有するが、メッセージがメモリー又は入力データの処
理が論理的に接続されている経路の使用を要求しない限
り、動的に接続されている入力及び出力経路を通してそ
のメッセージを通過させる。そして本発明は論理的に接
続された入力及び出力経路にあるメッセージの終端を認
識する。経路に沿った将来の入力メッセージはノードの
処理資産及び記憶装置を使用しうるように、接続されて
いる入力経路を出力経路から動的且つ論理的に遮断す
る。
【0089】
【実施例】以下、添付図面に基づき本発明の好ましい実
施例を詳細に説明する。最初、本願に関連する“並列連
想プロセッサ・システム”(米国特許出願第611,5
94号)について説明する。それはコンピュータ・メモ
リーの集積及び単一チップ内の制御ロジックと、チップ
内の組合せの複製と、単一チップの複製から成るプロセ
ッサ・システムの構築との考え方を記述する。この方法
はチップの境界超過及び配線長を減少することによって
実行性能を拡張又は強化するものではあるが、単一チッ
プ・タイプのみの開発及び製造の犠牲により大規模並列
処理能力を提供するシステムに導入される。
【0090】上記米国特許出願第611,594号はチ
ップ内のその構造に対して接続された複数のSIMD処
理メモリー要素(PME)を持つ1次元I/O構造の使
用方法を記述している。本発明は1より大きい次元にそ
の概念を拡張し、データ転送及びプログラム割込みの両
方を持つ完全I/Oシステムを含むよう入念に完成した
ことを特徴とする。
【0091】関連する米国出願は、異なる他の面におい
て、先の発明を拡張し、入念に考案した。以下に記述す
る本発明の実施例はチップ当り8つのSIMD/MIM
DPMEを持つ4次元I/O構造によって説明するが、
その説明より大きい次元及び多いPMEに拡張すること
もできる。
【0092】本発明はプロセッサ間通信から外部入力/
出力機能まで本発明の概念を拡張する上、更に処理アレ
イの制御に必要なインターフェース及び要素を提供す
る。要約すると、それら3つのタイプのI/Oは、
(イ)プロセッサ間、(ロ)外部に対する(又は、から
の)プロセッサ、及び(ハ)同報通信/制御等である。
大規模並列処理システムはこれらすべてのタイプのI/
O帯域幅を要求し、プロセッサ計算能力と平衡すること
を要求する。
【0093】アレイ内におけるこれらの要求は、PME
と称し、非常に高速な割込み状態スワッピング能力によ
り増補された16ビット命令セット・アーキテクチャ・
コンピュータの複製によって充足させることができる。
PMEの特性は他の大規模並列処理機の処理要素には存
在しない。本発明による機械は処理、経路指定、記憶、
及びI/Oオペレーションを完全に分散させることがで
きる。この特性は他の設計のいずれにも存在しない。
【0094】次に、図1に基づき、詳細に説明する。図
1は、特に“拡張並列アレイ・プロセッサ”(APA
P)(上記参照の米国特許出願の1つ)の主な要素及び
ホスト・プロセッサに対するAPAPインターフェース
を示すAPAPのブロック図である。図1において、1
はこのAPAPが付属するホスト・プロセッサであり、
このホスト・プロセッサのプログラム遂行によりデータ
及びコマンドが発行される。3はこれらデータ及びコマ
ンドを受信して解釈するアレイ・ディレクタのアプリケ
ーション・プログラム・インターフェース(API)で
ある。
【0095】APIはクラスタ・シンクロナイザ4及び
クラスタ・コントローラ5を経由してデータ及びコマン
ドをクラスタ6まで通過させる。クラスタはAPAPの
メモリー及び並列処理を提供する。クラスタ・シンクロ
ナイザ及びクラスタ・コントローラから供給される機能
はデータ及びコマンドを適切なクラスタに経路指定し、
クラスタ間に平衡なロードを与えることである。アレイ
・ディレクタに対するより詳細な説明は、“拡張並列プ
ロセッサ・アレイ・ディレクタ”と称する米国特許出願
記述されている。
【0096】クラスタは変更ハイパーキューブとして相
互接続された多数のPMEから成る。ハイパーキューブ
における各セルは、その隣りのどのセルのアドレスもど
の単一ビット位置においても異なるというようにアドレ
スすることができる。リング内のどのセルもそれらのア
ドレスが±1異なる2つの隣り合うセルとしてアドレス
することができる。APAPに対して使用される変更ハ
イパーキューブはリング外にハイパーキューブを構築す
ることによってこれらアプローチを組合わせる。リング
の交点はノードと定義される。
【0097】次に、図2に基づき本発明の好ましい実施
例について詳細に説明する。図2に例示した好ましい実
施例のノードは、“SIMD/MIMD処理メモリー要
素”と称する米国特許出願においては、2nのPME2
0と同報通信及び制御インターフェース(BCI)部2
1とから成る。PMEは2×nアレイとしてノード内で
構成される。アレイを特徴付けるアレイのリング又は次
元数は“n”で表わされ、チップのI/Oポートの数、
従って物理的なチップ・パッケージによって制限される
が、本実施例ではn=4である。チップ技術の改良によ
り、“n”が増加した場合チップ内のアレイの次元を高
くすることができる。
【0098】図6及び図7はPMEからアレイに対する
発展を示す。8つのPMEがノード151を形成するよ
う相互接続される。8個のノード・グループはX次元リ
ング(16PME)で相互接続され、オーバーラップす
る8個のノード・グループはY次元リング152で相互
接続される。これはノードの8×8アレイ(512PM
E)を持つ単一2次元クラスタを形成する。
【0099】クラスタは4次元アレイ要素153を形成
するよう8×8アレイまで組合わされる。アレイ要素を
横切る各8個のノード・グループはW次元及びZ次元の
両方で相互接続される。4次元全べての単一ノードに対
する相互接続経路は154で示す。アレイは規則的な又
は直角のいずれかである必要はないということに注意す
るべきである。特定のアプリケーション又は構成は全べ
て又はどの次元においてもノードの数を再定義すること
ができる。
【0100】各PMEはノードの1リング26のみに存
在する(図2)。それらリングはW,X,Y,及びZで
示す。チップ内のPME20は1つがノードのリングに
沿い、外部で時計方向にデータを移動するように対にさ
れる(すなわち、+W,−W)。その他のものはノード
のリング23,26に沿い、外部で反時計方向にデータ
を移動して、各ノードの外部ポートにPMEを接続す
る。各リングの2つのPMEはそれら外部のI/Oポー
ト(+W,−W,+X,−X,+Y,−Y,+Z,−
Z)によって指定される。ノード内には、又、4+nの
PMEと4−nのPMEとを相互に接続する2つのリン
グ22がある。
【0101】これら内部リングは外部リング間でメッセ
ージを移動する経路を提供する。APAPは4次元直交
アレイ151〜154と考えられるので、内部リングは
全次元のアレイを通してメッセージを移動することがで
きる。これは、どのPMEでも、ノードそれ自体のリン
グのPMEかそのノード内の隣接PMEをアドレスする
ことによりメッセージを目的の方へステップすることが
できる。
【0102】図8は回路切替経路を示す転送インターフ
ェースのブロック図である。図8において、各PMEは
4入力ポート及び4出力ポートを有する(左85,9
2、右86,95、垂直93,94、及び外部80,8
1)。3つの入力ポートと3つの出力ポートはチップの
他のPMEに対し全二重点対点接続を与える。第4のポ
ートはオフチップPMEに対し全二重点対点接続を与え
る。ピン及び電力がこの好ましい実施例の物理的パッケ
ージに制限があるため、実際のI/Oインターフェース
は、図9に例示するように、PME間データ・ワード9
6,100の4ニブルの多重化に使用される4ビット幅
経路97,98,99である。
【0103】各PMEは、その4入力ポート80,8
5,86,93の1つを、PMEの主データ・フロー8
7,88,89にデータを入力することなく、その4出
力ポート81,92,94,95の1つに直接切替える
ことができるI/Oの回路切替モードを有する。回路切
替における発信元162と受信先161(図4)の選択
はPMEのソフトウェアの遂行による制御によって行わ
れる。他の3入力ポートは、第4の入力が出力ポートに
切替えられている間、PMEの主記憶に対するアクセス
が続けられる。
【0104】PME入力ポートのデータは局所PMEに
向けるか、又はリングを更に下がるPMEに向けるか予
め定めておくことができる。リングを更に下がるPME
に対してデータを予め定めておくと、そのデータは局所
PME主メモリーに記憶され、その後目標PME(記憶
及び転送)84,87,88,89,90,91の方に
局所PMEから転送することができる。又は、局所入力
ポートはデータが目標PMEに対する途上の局所PME
84,90を通して“透過的”に通過するように、特定
の局所出力ポート(回路切替)に対し論理的に接続する
ことができる。
【0105】局所PMEソフトウェアは、局所PMEが
4入力及び4出力のいずれかに対し記憶及び転送モード
にするか、又は回路切替モードにするか否かを動的に制
御する(170)。回路切替モードにおいて、PMEは
回路切替に関連する機能を除く全べての機能を同時に処
理する。記憶及び転送モードにおいては、PMEは全べ
て他の処理機能を中断してI/O転送処理を開始する。
【0106】この好ましい実施例において、PME I
/Oの設計は下記の3つのI/Oオペレーティング・モ
ードを提供する。
【0107】1.正規のモード:2つの隣接するPME
間におけるデータ転送に使用される。このデータの転送
はPMEソフトウェアによって開始される。隣接PME
以外のPMEに対して予め定められたデータは隣接PM
Eによって受信されて後、それがその隣接PMEから発
信するかの如くに送信しなければならない。例えば、+
Wで発信され、−Xに向けて予め定められた2進ハイパ
ーキューブ151データは+Wから+Zに転送される。
その後、それは+Zから+Xに転送される。最終的に、
それは+Wから+Zに転送される。この処理は、ノード
内のPMEと、異なるノードのPMEの両方に適用され
る。
【0108】2.回路切替モード:データ及び制御をP
MEを横切り通過させることができる。これは即近でな
いPME間の通信を高速に行うことができる。上記1.
の例において、+Wは−Xに対する回路切替経路を要求
して+Zに対してメッセージを送信する。+Zはそのメ
ッセージを+Xに転送して後、+W入力に接続されてい
る回路スイッチを+X出力にセットする。
【0109】+Xは、+Z入力に接続されている回路切
替経路を−X出力にセットする。そこで、+Wは+Zを
通してデータを直接−Xに転送する。図7はこの状態を
示す。図8において、+X PMEはマルチプレクサ
(MUX)84、MUX90、及びデマルチプレクサ
(DEMUX)91を介して左(LEFT)入力85を垂直
(VERTICAL)出力94に接続する。+Z PMEは左入
力85を右出力95に接続することを除き、上記と類似
の経路を設定する。
【0110】この方法又はプロセスはノード内転送及び
ノード間転送に等しく適用される。ノード間回路の切替
転送は、通過する2つのノードにおける出力バッファ・
レジスタ83と入力バッファ・レジスタ82とに対する
ロードが必要なため、通過する各ノードにおいて追加の
クロック・サイクルが消費されるので、ノード内回路切
替転送よりわずか遅い。しかし、それでもなお、ネット
ワークの直径は各回路切替PMEに対するものより減じ
られる。
【0111】3.ジッパ・モード:このモードはアレイ
・コントローラによりクラスタのノードからデータを読
取り又はロードするために使用されるI/O転送モード
である。ジッパ(Zipper)モードは標準的機能及び回路切
替モードを使用して、クラスタ・カードのPMEのアレ
イに対し及びそこからデータを急速に転送する。本実施
例による好ましいジッパは“APAP I/Oジッパ接
続”と称する米国特許出願に示されているジッパであ
る。
【0112】I/O転送モード、正規のモード、及び回
路切替モードの3基本モードに加え、スプリッタ・サブ
モードが設けられる。正規のデータ転送サブモードにお
いて、データ経路が設定されると、データの全べては発
信元162から単一指定受信先161に転送される(図
4)。スプリッタ・サブモードにおいて、基本161及
び代替167受信先の両方がワード・カウント168と
同様に指定される。メッセージのデータ・ワードはスプ
リッタ・ワード・カウントが0に達するまで基本受信先
に転送される。そこで、スプリッタは代替受信先に切替
え、スプリッタ・ワード・カウントが再び0に達するま
で次のデータ・ワード群を転送し、そして基本受信先に
戻る。このプロセスは全メッセージが送信されるまで続
けられる。
【0113】概念的に、データは発信元PMEの主メモ
リーから受信先PMEの主メモリーに転送される。本実
施例においては、各インターフェースに対するメモリー
の2つの位置に出力データ・ブロック230の開始アド
レスと、ブロック231に含まれているワードの数とを
含むよう割付けられる。その上、PME制御レジスタ1
(図4)はデータ出力のモード及び受信先を制御する。
【0114】PME実行時間ソフトウェアは割付けられ
たメモリー位置をロードして出力データ・ブロックを定
義し、PME制御レジスタ1をロードして、存在する場
合、スプリット・ワード・カウント168と、受信先1
61と、ノード163,165と、代替受信先167と
を定義し、定義したブロックがメッセージを終了したか
否か規定し、その実行時間プログラム165を続行する
前にPMEが終了したデータ・ブロックを転送するか否
かを規定する。出力オペレーションを実行するため、P
ME実行時間ソフトウェアは最初アドレス及びカウント
を指定メモリー位置にロードする。次に、該ソフトウェ
アはPME制御レジスタ1にロードし、最後に該ソフト
ウェアはデータ送信シーケンスを開始する出力命令を遂
行する。
【0115】各データ・ワードを送信するため、送信シ
ーケンスはカウント231を減分し、開始アドレス23
0を増分し、データ・ワードをメモリー41から読取
る。データ・ワードは送信レジスタ47,96にロード
され、選択されたPME97,161に送信される。送
信シーケンスは正規のPME処理に入ってメモリー41
及びALU42に対するアクセスをサイクル・スチール
し、I/Oアドレス及びカウント・フィールドを更新
し、送信レジスタ47,96をロードする。PME制御
レジスタ1のCXビット165はPME処理が送信シー
ケンス中命令をインターリーブし続けるか、又は送信シ
ーケンスが終了するまで遊休か否かを判別する。このシ
ーケンスはカウントが0に達するまで続けられる。
【0116】データ転送インターフェースは4ビット幅
97であるため、各16ビット・データ・ワード220
は4ビット片(ニブル)で送信される。又、タグ・ニブ
ル221及びパリティ・ニブル222はデータと共に送
信される。223に転送ホーマットを示す。
【0117】図11は転送シーケンスのホーマットを示
す。インターフェースの送信PMEは受信PMEに対し
て要求225を発生する。受信確認226を受信したと
き、送信PMEはデータ送信を開始し、次の送信シーケ
ンスを発生させることができる。次の送信シーケンスは
受信確認を受取るまで発行されない。
【0118】PME制御レジスタ1におけるTCタグ・
ビット164がセットされると、TCビット224は転
送される最後のデータ・ワードのタグ・フィールドでセ
ットされる。このビットはデータ転送が終了したという
ことを受信PMEに知らせるビットである。
【0119】正規のモードにおいて、PMEはL85,
V93,R86,及びX80インターフェースからデー
タを受信することができる。PMEがインターフェース
からデータを受信することができるようになるまでに、
そのインターフェースに対するメモリーの入力バッファ
をセットアップしなければならない。メモリーの2つの
記憶位置は各入力データ・バッファ232の開始アドレ
スと、バッファ233に含まれているワードの数とを含
むよう割付けられる。更に、PME制御レジスタ2が入
力インターフェース173を使用可能にすること、及び
I/O割込み172を許容することの両事象を行うよう
にしたマスク・ビットを含む。
【0120】PME実行時間ソフトウェアは割付けられ
たメモリー位置をロードして出力データ・ブロックを定
義し、PME制御レジスタ2をロードして入力データ転
送を使用可能にする。入力バッファが定義され、使用可
能にされると、PME実行時間ソフトウェアは他の処理
タスクを続行し、I/O割込みを待つ。
【0121】インターフェースの1つが要求240を検
出したとき、受信PMEは受信確認241を送出し、デ
ータを入力レジスタ87にロードする。そこで、受信シ
ーケンスは開始され、カウント233をフェッチし、減
分し、入力バッファ・アドレス232をフェッチし、増
分し、PMEメモリー41にデータ・ワードを記憶す
る。受信シーケンスは送信シーケンスと類似である。受
信シーケンスは正規のPME処理に入り、メモリー41
及びALU42に対するアクセスをサイクル・スチール
し、I/Oアドレス及びカウント・フィールドを更新
し、入力データ・ワードをメモリー41にロードする。
【0122】PMEプロセッサはPME制御レジスタ1
のCXビット165の状態に関係なく、受信シーケンス
中、命令をインターリーブし続ける。このシーケンス
は、カウントが0に達するか、TCタグを受信するかの
いずれかとなり、その結果、対応する入力割込レジスタ
のビットが“入力バッファ・フル”又は“転送終了”を
示す割込コード190によりセットされる171まで継
続される。
【0123】PMEは、下記の条件に合致する場合、要
求に応答して受信確認226を発生する。 1.入力レジスタ87,100は自由である。 2.要求は禁止されない174。 3.割込182は要求入力に対して保留ではない。 4.要求入力は回路切替されない。 5.要求入力は現行要求のどれよりも最高優先権を有す
る。
【0124】入力レジスタ87,100は、受信確認2
26が発生したときから受信シーケンスがデータ・ワー
ドをメモリーに記憶するまで使用中とされる。入力レジ
スタが使用中の場合、受信確認は禁止される。使用中状
態においては、受信シーケンスが発生するまで、入力レ
ジスタに対する重ね書きが防がれる(受信シーケンスが
メモリー・リフレッシュ又は他のPMEオペレーション
を遅らせるため)。
【0125】TCタグ・ビット224が送信PMEから
送信された場合、I/O割込ラッチがそのインターフェ
ースのためにセットされる171。そのインターフェー
スに対するそれ以上の受信確認226は、割込ラッチが
PME実行時間ソフトウェアによってリセットされるま
で発生しない。他の全べてのインターフェースは活動状
態に維持される。例えば、TCタグ・ビット224が左
インターフェース85からのデータ転送のためにセット
された場合、左からのそれ以上の要求は、L割込みが取
られ、L割込ラッチがリセットされるまで禁止される。
V93,R86,X80からの要求225は普通にとる
ことができる。
【0126】共通の入力レジスタ87,100に対し単
一の経路84,99があるため、受信確認226優先権
は下記に示すようになる。
【0127】受信PMEが受信確認226を発生する
と、入力マルチプレクサ84,99は正しい入力ソース
にセットされる。ワード転送の終端において、入力レジ
スタ87,100はロックされる。入力レジスタは受信
シーケンスが発生するまでロック状態に維持され、デー
タは正しいメモリー・バッファに転送される。この時間
中、入力レジスタは使用中であるため、全受信確認は禁
止される。
【0128】データ・ワードはTCタグ224ビット集
合と共に転送され、受信PMEが正規のモードにある
と、I/O割込みが関連インターフェースに対して発生
する171。その上、バッファ・カウントは、TCタグ
が送信PMEから送られまで0になり、I/O割込み
は、入力バッファのオーバーフローに反映するよう割込
コード集合と関連するインターフェースに対して生成さ
れる。
【0129】正規のプロセス又は処理は隣り合うPME
間のデータ転送に使用される。PME実行時間ソフトウ
ェア・プロトコルは、それがデータに対する最終受信先
か又は単なる中間地点であるかを受信PMEソフトウェ
アに示す情報をそのメッセージのヘッダに挿入する。そ
れが中間地点であるとPME実行時間ソフトウェアが判
別した場合、データを最終受信先の方へ移動するよう送
信シーケンスを設定しなければならない。
【0130】この処理は記憶及び転送として知られる。
記憶及び転送はデータをその最終受信先の方に移動す
る。しかし、このデータ移動は、PMEメモリー帯域幅
を使用して、中間地点ごとにI/Oバッファ区域をロー
ドし、アンロードする両方でI/Oオーバーヘッドを発
生し、ヘッダ情報を処理し、PMEを通過する各メッセ
ージに対する送信シーケンスを初期化するためのCPU
処理オーバーヘッドを増加する。
【0131】回路切替モードにおいては、発信元PME
実行時間ソフトウェアと最終受信先PME実行時間ソフ
トウェアが正規のプロセス又は処理を使用する。回路切
替機構は、発信元PMEから各中間地点PMEを通して
最終受信先PMEに送信された(正規のモードで)ソフ
トウェア・プロトコル・メッセージに応答して、中間地
点PME実行時間ソフトウェアによって呼出される。
【0132】中間地点PMEは回路切替モードを呼出す
ことはできないが、中間地点はプロトコル・メッセージ
及びデータ・メッセージを記憶し、及び転送する。記憶
及び転送する中間地点PMEの受信側に残る中間地点P
MEは、ソフトウェア・プロトコル・メッセージを受信
するときに回路切替モードを呼出す。
【0133】回路切替経路は局所PME実行時間ソフト
ウェアによって動的に制御される。実行時間PMEソフ
トウェアは、PMEが回路切替191を既に実行し、図
4に示すPME制御レジスタ1をロードしているか否か
を判別する。この回路切替はCS170で可能とされ、
入力ソースはRA162で選択され、出力受信先はTA
161で選択される。その上、ソフトウェアはスプリッ
タ・サブモード166を使用可能にし、代替受信先を選
択し167、スプリッタ・ワード・カウント168を使
用することができる。
【0134】回路切替経路は、介入するPME処理又は
主記憶資産87,88,89を通さずに、PME入力経
路82,85,86,93を直接出力経路83,92,
94,95に接続する。この回路切替はタグ221、デ
ータ220、及びタグ222を通過する。中間地点PM
Eは制御タグTC224に対するタグを監視する。
【0135】PMEが制御タグTCを検出したとき、そ
れは適当な割込要求171をセットする。実行時間PM
Eソフトウェアが割込みをかけたとき、それは回路切替
170及びスプリット166をリセットするような要求
ソフトウェア・プロトコルを処理し、代替受信先経路1
67に対しメッセージを送信して、他の中間地点PME
に対する回路切替を終了する。
【0136】PMEが回路切替モードにある間、それ
は、出力マルチプレクサMUX90が回路切替経路内に
あるので、データ転送を開始することはできない。しか
し、回路切替入力99を除くいかなる入力からでもデー
タを受信することができ、又メモリー41、ALU4
0、又は他の処理機能88のどれも回路切替経路を使用
しないので、即時データ出力を要求しない処理全べてを
実行することができる。
【0137】例えば、L85入力が4出力81,92,
94,95の1つに回路切替された場合、入力データの
転送はV93,R86,又はX80入力から受信するこ
とができる。これら入力データの転送は受信シーケンサ
からPMEメモリーに対して入力データをロードするシ
ーケンスを発生させる。その上、PME内の計算処理は
回路切替モードが使用可能である間続けられる。
【0138】発信元及び受信先PMEに対する回路切替
の利点は、データ・メッセージを記憶し、処理し、再送
信する中間地点PMEに関連する遅延時間を除去するこ
とができるということである。これは、回路切替モード
で動作する各中間地点PMEに対する遅延時間の除去に
よってアレイの通信直径を有効に減じることができるか
らである。
【0139】中間地点PMEに対する回路切替の利点
は、中間地点PMEを通して通過するデータを記憶し、
再送信するため、中間地点PMEのI/Oがメモリー帯
域幅を使用しないということである。又、中間地点PM
E実行時間ソフトウェアはデータ・メッセージの再送信
に要求されるオーバーヘッドを持たない。回路切替の本
質的効果は中間地点PMEに対するより高い処理帯域幅
と、発信元及び受信先PMEに対するより短い通信直径
とにある。
【0140】以上、本発明の好ましい実施例を詳細に説
明したが、本発明はそれのみでなく、現在及び将来、本
発明の範囲において、更に改良、変更、及び拡張しうる
ことは明らかである。
【0141】
【発明の効果】本発明は以上説明したように構成し、メ
モリー及び入力データが要求しない限り、メッセージを
動的に接続して入力経路及び出力経路を通過させると共
に、ノードのフル・メモリー帯域幅を使用してメモリー
と入力データとを同時に処理する機能を提供したことに
より、並列プロセッサ及び処理要素間でI/Oメッセー
ジを急速転送させることができるマルチ・プロセッサ並
列コンピュータ・システムを提供することができる。
【図面の簡単な説明】
【図1】特に、拡張並列アレイ・プロセッサAPAPの
主要素及びホスト・プロセッサに対するAPAPインタ
ーフェースを示す典型的なAPAPの機能ブロック図
【図2】本発明による処理メモリー要素ノードの実施例
であって、特にかかるノードを構成する各種要素の相互
接続を示す機能ブロック図
【図3】処理メモリー要素(PME)の実施例によるデ
ータ・フローを示し、データ・フローの基本部には主記
憶、汎用レジスタ、ALU及びレジスタ、及び相互接続
メッシュの一部を含むブロック図
【図4】割込み及び相互接続ネットワークの実現を支援
するPME制御レジスタを例示する構成図
【図5】PME状況レジスタ及び割込レベル優先権割当
を示す構成図
【図6】変更2進ハイパーキューブを例示する構成図
【図7】変更2進ハイパーキューブを例示する構成図
【図8】回路切替経路を示す転送インターフェースのデ
ータ・フロー図
【図9】PE I/Oデータ・フロー及び相互接続ネッ
トワークに対する抱き合せを例示するその構成図
【図10】タグ、パリティ、及びPME I/O間で転
送されるデータ・ワードを例示するその構成図
【図11】PME I/O間で順序付けされる出力イン
ターフェースを例示するその構成図
【図12】PME I/O間で順序付けされる入力イン
ターフェースを例示するその構成図
【図13】割込み及びI/O処理に対する予約記憶位置
を示すその構成図
【符号の説明】
1 ホスト・プロセッサ 2 ホスト・メモリー 3 アプリケーション・プロセッサ・インターフェース 4 クラスタ・シンクロナイザ 5 クラスタ・コントローラ 6 クラスタ 20 処理メモリー要素(PME) 21 同報通信及び制御インターフェース(BCI) 41 主メモリー 42 ALU 47 送信レジスタ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ミッチェル・チャールス・ダップ アメリカ合衆国13760、ニューヨーク州、 エンドウェル、イボン・アベニュー、1130 番地 (72)発明者 ジェイムス・ワーレン・ディフェンダファ アメリカ合衆国13827、ニューヨーク州、 オウゴ、フロント・ストリート、396番地 (72)発明者 ドナルド・ミッチェル・レスミースタ アメリカ合衆国13850、ニューヨーク州、 ベスタル、コリンズ・ヒル・ロード、108 エイ番地 (72)発明者 リチャード・エドワード・ニーア アメリカ合衆国13732、ニューヨーク州、 アパラチン、ホーレスト・ヒル・ロード、 109番地 (72)発明者 エリック・ユージーン・レター アメリカ合衆国18851、ペンシルバニア州、 ワレン・センタ、ボックス29ビー、エイチ シーアール 34番地 (72)発明者 ロバート・リースト・リチャードソン アメリカ合衆国13850、ニューヨーク州、 ベスタル、ボックス81、マーソン・ロー ド、アール.ディー.#2(番地なし) (72)発明者 ビンセント・ジョーン・スモーラル アメリカ合衆国13760、ニューヨーク州、 エンドウェル、スキーレイン・テラス、 812番地

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】 相互に接続されたノードを含むネットワ
    ークを介しメッセージを通すメッセージ通過装置であっ
    て、 各ノードの主メモリーに入力メッセージを記憶し、I/
    O構造のセットアップ処理及び主メモリーの帯域幅の使
    用を除き、ノードの処理資産を使用することなく、各ノ
    ードの主メモリーからの出力メッセージを送信する手段
    と、 ノードの入力データ経路の1つをその出力経路の1つに
    動的且つ論理的に接続する手段と、 ノードの処理、メモリー帯域幅、又は記憶資産を使用せ
    ず、動的且つ論理的に接続された入力及び出力経路を使
    用して、ノードを通しメッセージを通過させる手段と、 メモリー又は入力データが論理的に接続された経路の使
    用を要求していない処理である限り、前記動的に接続さ
    れた入力及び出力経路を介してメッセージが通過してい
    る間に、完全なノードのメモリー帯域幅を使用してメモ
    リー及び入力データをノードが同時に処理する手段と、 論理的に接続された入力及び出力経路にメッセージの終
    端を認識させる手段と、 前記経路に沿い将来入力メッセージがノードの記憶装置
    及び処理資産を使用するよう、接続された入力経路を出
    力経路から動的且つ論理的に切断する手段とを含むこと
    を特徴とするメッセージ通過装置。
  2. 【請求項2】 前記出力経路に対する前記入力経路の論
    理的接続は、かかる構成の各ノードに対するネットワー
    ク通信直径を1減じることを特徴とする請求項1記載の
    メッセージ通過装置。
  3. 【請求項3】 前記メッセージ通過装置は、更に、最初
    のnワード・メッセージがRに通り、次のnワードがS
    に通り、次のnワードがTに通り、次のnワードがUに
    通り、次のnワードがRに通るようにした前記R、S、
    T、Uの如き複数の最隣接経路間で出力経路を代替する
    手段を含む請求項1記載のメッセージ通過装置。
  4. 【請求項4】 前記ノードは処理メモリー要素(PM
    E)であることを特徴とする請求項1記載のメッセージ
    通過装置。
  5. 【請求項5】 内部データ・フロー及び制御用手段と、 データ及び制御通信用手段と、 有意な量の局所記憶と、 回路切替モード及び記憶及び転送モードとから成る複数
    の複数処理メモリー要素(PME)を含み、 前記PME対PME通信ネットワークがデータを通過さ
    せ、前記複数処理メモリー要素間に制御を配分するよう
    にしたことを特徴とするコンピュータ・システム。
  6. 【請求項6】 前記コンピュータ・システムは、更に、
    前記処理メモリー要素内において、 メッセージ及びデータの転送を可能にする記憶及び転送
    /回路切替機能に対するSIMD及びMIMDオペレー
    ション・モード間を動的に切替える手段を含むことを特
    徴とする請求項5記載のコンピュータ・システム。
  7. 【請求項7】 各前記処理メモリー要素のメモリーは、
    ブロック化が生じていないとき、回路切替モードを提供
    して、前記処理メモリー要素において目標としたメッセ
    ージか又は記憶及び転送モードにおいて移動したメッセ
    ージのいずれかと、特定の処理メモリー要素が要求出力
    ポートに直接送信されるよう目標を設定しないメッセー
    ジとに対するデータ受信先を供給することを特徴とする
    請求項5記載のコンピュータ・システム。
  8. 【請求項8】 各前記処理メモリー要素のメモリーは、
    ブロック化が生じていないとき、回路切替モードを提供
    して、前記処理メモリー要素において目標としたメッセ
    ージか又は記憶及び転送モードにおいて移動したメッセ
    ージのいずれかと、特定の処理メモリー要素が要求出力
    ポートに直接送信されるよう目標を設定しないメッセー
    ジとに対するデータ受信先を供給し、前記処理メモリー
    要素のソフトウェア制御は回路切替モードと記憶及び転
    送モードとを動的に選択することにより選択された送信
    モードの経路指定及び判別の実行を制御するようにした
    ことを特徴とする請求項5記載のコンピュータ・システ
    ム。
  9. 【請求項9】 前記処理メモリー要素は直接メモリー・
    アドレス指定と、回路切替モードと記憶及び転送モード
    との間の動的選択の通信とを支援し、内部出力ポートに
    切替えられた回路に存在するデータは単一サイクルのデ
    ータ転送を可能にするクロックによらずにチップ内で転
    送され、チップ交差の発生を検出するようにしたことを
    特徴とする請求項5記載のコンピュータ・システム。
  10. 【請求項10】 前記処理メモリー要素は直接メモリー
    ・アドレス指定と、回路切替モードと記憶及び転送モー
    ドとの間の動的選択の通信とを支援し、データ転送は透
    過モードで動作し、直接メモリー・アドレス指定及びチ
    ップ外転送を実行する処理メモリー要素からの受信確認
    を検出するべく数段を通して調査する手段を供給する全
    べてに対し、前方向データ経路及び後方向データ経路を
    使用するようにしたことを特徴とする請求項5記載のコ
    ンピュータ・システム。
JP5119335A 1992-05-22 1993-04-23 相互接続ノード・ネットワークのメッセージ通過装置及びそのコンピュータ・システム Pending JPH0652126A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US88726292A 1992-05-22 1992-05-22
US887262 1992-05-22

Publications (1)

Publication Number Publication Date
JPH0652126A true JPH0652126A (ja) 1994-02-25

Family

ID=25390784

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5119335A Pending JPH0652126A (ja) 1992-05-22 1993-04-23 相互接続ノード・ネットワークのメッセージ通過装置及びそのコンピュータ・システム

Country Status (1)

Country Link
JP (1) JPH0652126A (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5916071A (ja) * 1982-07-19 1984-01-27 Toshiba Corp 並列処理システム
JPS63163547A (ja) * 1986-12-16 1988-07-07 ホランドセ シグナールアパラーテン ベスローテン フェンノートシャップ データベースシステム
JPH01226067A (ja) * 1988-03-04 1989-09-08 Fujitsu Ltd 階層型マルチプロセッサのデータ転送方式

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5916071A (ja) * 1982-07-19 1984-01-27 Toshiba Corp 並列処理システム
JPS63163547A (ja) * 1986-12-16 1988-07-07 ホランドセ シグナールアパラーテン ベスローテン フェンノートシャップ データベースシステム
JPH01226067A (ja) * 1988-03-04 1989-09-08 Fujitsu Ltd 階層型マルチプロセッサのデータ転送方式

Similar Documents

Publication Publication Date Title
US5617577A (en) Advanced parallel array processor I/O connection
US5594918A (en) Parallel computer system providing multi-ported intelligent memory
JP2642039B2 (ja) アレイ・プロセッサ
US5630162A (en) Array processor dotted communication network based on H-DOTs
US5625831A (en) Extendible clock mechanism
US5754871A (en) Parallel processing system having asynchronous SIMD processing
US5963745A (en) APAP I/O programmable router
US5710935A (en) Advanced parallel array processor (APAP)
US5713037A (en) Slide bus communication functions for SIMD/MIMD array processor
US5963746A (en) Fully distributed processing memory element
US5588152A (en) Advanced parallel processor including advanced support hardware
US5966528A (en) SIMD/MIMD array processor with vector processing
US5734921A (en) Advanced parallel array processor computer package
JPH0241553A (ja) データ処理システム及び同期方法
US5765015A (en) Slide network for an array processor
JP2525117B2 (ja) アレイ・プロセッサ
JP2549241B2 (ja) コンピュータ・システム
JPH0799515B2 (ja) 命令フロ−コンピュ−タ
JPH0652126A (ja) 相互接続ノード・ネットワークのメッセージ通過装置及びそのコンピュータ・システム
JPH0652125A (ja) コンピュータ・システム
JP2625628B2 (ja) 浮動小数点コンピュータ・システム
JPH0635876A (ja) コンピュータ・パッケージ
JPH0628325A (ja) アレイプロセッサ通信ネットワーク
JPH0635875A (ja) コンピュータ・システム
JP2561800B2 (ja) コンピュータシステム装置