JPH0635874A - 並列プロセッサ - Google Patents

並列プロセッサ

Info

Publication number
JPH0635874A
JPH0635874A JP3352657A JP35265791A JPH0635874A JP H0635874 A JPH0635874 A JP H0635874A JP 3352657 A JP3352657 A JP 3352657A JP 35265791 A JP35265791 A JP 35265791A JP H0635874 A JPH0635874 A JP H0635874A
Authority
JP
Japan
Prior art keywords
packet
subset
processing
message
bus
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
JP3352657A
Other languages
English (en)
Inventor
Thomas Kelly
ケリー・トーマス
Maclean Mackenzie Louis
ルイス・マクリーン・マッケンジー
John Sutherland Robert
ロバート・ジョン・サザーランド
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.)
Motorola Solutions UK Ltd
Original Assignee
Motorola Ltd
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 Motorola Ltd filed Critical Motorola Ltd
Publication of JPH0635874A publication Critical patent/JPH0635874A/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
    • 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/17381Two dimensional, e.g. mesh, torus

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)

Abstract

(57)【要約】 【目的】 多数の中央処理装置(CPU)を用いて高出
力処理を達成する並列アーキテクチャを有するプロセッ
サに関し、優れた接続性、高い帯域性、低い待ち時間を
有する一般化された超立方体トポロジを提供する。 【構成】 プロセッサは次元Dに配列されかつサブセッ
ト(11)に分割された複数のプロセッシングエレメン
トを備え、サブセット内でのプロセッシングエレメント
はすべてバス(13)を有しこれらの間で通信可能であ
る。各プロセッシングエレメントは各次元における1つ
のサブセットの1つのメンバである。1つのサブセット
の各プロセッシングエレメントは出力手段によってその
サブセット内で接続され、当該サブセットにおける他の
プロセッシングエレメントにメッセージを送信し、ま
た、そのサブセット内の他の各プロセッシングエレメン
トに対して別個の入力手段を有し、これらの入力段上の
他の各プロセッシングエレメントからのメッセージを受
信する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は多数の中央処理装置(C
PU)を用いて高出力処理を達成する並列アーキテクチ
ャを有するプロセッサに関する。
【0002】
【従来の技術】可能な限り数段にした多段CPUの使用
により処理性能を増大させることは近年広く議論されて
いる。この要求は、現在、学問的分野及び商業的分野に
も拡大し、小規模でシステムレベルでVLSIマイクロ
プロセッサに適用されつつある。しかしながら、広く受
け入れる点及び大規模にするという点では少なくとも2
つの重大な障害がある。
【0003】第1に高並列汎用コンピュータによって要
求される多機能かつ強力な通信を設計して構築すること
は非常に難かしい。第2に、一度構築されたそのような
コンピュータをいかにプログラムすべきが全く明白でな
い。非常に重要な研究が既に機能的オブジェクト指向モ
デル及びデータフローモデルを基礎とするような新しい
プログラミングパラダイムにおいて実行されている(参
照:Bronnenberg WJHJ,Nijman
L, Odjik,EAM,van Twist R
AH:“Doom; a decentralised
object−oriented machine”
IEEE Micro Vol 7 No 5(Oct
1987)pp 547−553、Watson,
I,etal:“Flagship:aparalle
l architecturefor declara
tive programming”in Proce
ssings of 15th Annual Sym
posium on Computer Archit
ecture IEEE Comp Soc Pres
s(1988)pp 124−130、Veen A
H、“Dataflow machin archit
ecture”ACM ComputingSurve
ys,Vol 18 No 4(Dec 1986)
pp 365−396)。
【0004】サブネットの目的は、ホストエレメント
(プロセッシングノード及び適当なメモリ)に通信接続
を形成できることである。理想的には、これらの通信接
続は次の性質を有すべきである。 a)高帯域性。これは要求されるときにはいつでも大量
のデータをホストエレメント間で転送できるようにす
る。 b)低い待ち時間。これはメッセージを送出し応答を要
求するいかなる処理も過剰な期間待たなくてもよいこと
を保証する。
【0005】特に交渉すべきスイッチングレベルが多く
ある場合には、サブネットは低い待ち時間に最も寄与す
ることができる。
【0006】さらに、通信者の相対的物理的位置(メト
リック対称)及びネットワークの他の場所での活動に関
係なく、サブネットは接続を帯域性及び回転待ち時間を
均一な許容値に保持できなければならない。最後に、内
部接続トポロジが中型及び大型マイチコンピュータにお
いて機能しなければ、可能なネットワークサイズの広い
範囲に亘って好ましいアーキテクチャ性質(待ち時間、
帯域性、対称性、独立性)を保持することが要求され
る。
【0007】並列プロセッサの従来のアーキテクチャ
は、Larry D Wittie:“Communi
cation Structures for Lar
geNetworks of Microcomput
ers,IEEE,1981に記載されている。
【0008】
【発明が解決しようとする課題】2進超立方体(hyp
ercube)は、あるプロセッサがある点から他の点
へ到達するのに多大な時間を要するために、低いメトリ
ック対称性を有する。また、待ち時間は固有的には大き
く変化する。さらに。超立方体は帯域性としては良い
が、プロセッサの数を倍にすると、直径が1だけ増大
し、より大きなアセンブリにおいて最悪の遅延を生じせ
しめることになる。
【0009】この分野での一般的な目的は、ノード間の
高い内部接続性を有するアーキテクチャを達成し、メッ
セージが最小の数のノードを介して目的場所まで到達さ
れるようにすることである。内部接続の究極の制限は物
理的に支持できる配線密度もしくはノード間での他の通
信手段(たとえば光学的バス、自由耐久光注入器(fr
ee−standing optical trans
fuser)もしくは他の手段)の制限である。
【0010】
【課題を解決するための手段及び作用】本発明によれ
ば、次元Dで配置され複数のサブセットに分割された複
数のプロセッシングエレメントを具備し、1つのサブセ
ットにおけるすべてのプロセッシングエレメントはこれ
らの間の通信のための1つのバスを有し、前記各プロセ
ッシングエレメントは各次元における1つのサブセット
のメンバであるプロセッサにおいて、1つのサブセット
の各プロセッシングエレメントは出力手段によって当該
サブセットのバスに接続され、当該サブセットの他の複
数のプロセッシングエレメントにメッセージを送信し、
別個の入力手段は、当該サブセットの各他のプロセッシ
ングエレメントに対応し、各対応の入力手段上の前記他
のプロセッシングエレメントからのメッセージを受信す
ることを特徴とする並列プロセッサが提供される。
【0011】プロセッシングエレメントはメッセージを
他の多数のエレメントに同時に送出することができない
が、これがすべてのエレメントと他のすべてのエレメン
トとの間における入力ライン/出力ライン上のトータル
の内部接続の理論的最適化構成から性能を低下させない
ことが分った。従って、性能は理論的最適性能とほぼ同
一であるが、内部配線密度は実質的に低下する。
【0012】好ましい実施例においては、1つのサブセ
ットにおけるプロセッシングエレメントは1ラインに配
列され、該ラインの終端間に位置するプロセッシングエ
レメントは、該ラインに沿って一方側の他のプロセッシ
ングエレメントにメッセージを送出する1つの出力手段
と、該ラインに沿って他方側の他のプロセッシングエレ
メントにメッセージを送出する別個の出力手段とを有す
る。これはラインの終端間に位置するプロセッシングエ
レメントはラインに沿って左右両方向に同時にメッセー
ジを送出できることを意味するが、臨界配線密度は増加
しない。つまり、配線密度はあるラインのバスと直交す
るラインのバスとの間のクロスオーバ点で最も大きくな
るからである(いかなる場合も、1つのプロセッシング
エレメントはそのサブセット内の他のエレメント及び他
のサブセット(上記プロセッシングエレメントはそのメ
ンバである)の他のエレメントに同時にメッセージを送
出できる)。
【0013】最も簡単な構成においては、プロセッサは
プロセッシングエレメントの2次元アレイを具備し、そ
の各行がサブセットを形成し、また、各列がサブセット
を形成する。行と列との交差する点におけるプロセッシ
ングエレメントは2つのサブセット間での通信のタスク
を実行する。以後、サブセットに対しては表現“クラス
タ”を用いる。
【0014】本発明による利点は、基本的に測定可能か
つモジュール化され、高度に接続され、対称的な低い待
ち時間のネットワークによってリンクされたプロセッシ
ングエレメント(PE)をその数に制限なくサポートで
き、2進超立方体を同等のコストパフォーマンスを有す
るアーキテクチャである。
【0015】メトリック非対称性の度合いはプロセッシ
ングエレメント(PE)を強固に接続されたグルーダ内
でクラスタ化し、これらのグループを高帯域性リンク及
び処理を繰返すという選択をも用いて連結することによ
って受容される。
【0016】
【実施例】図1を参照すると、各クラスタは最大wの複
数のノードを含む。この値wつまりネット幅は装置の固
定特性である(但し、アーキテクチャ内では、可変であ
る)。各ノードは唯一の自分自身の非方向性バスを有
し、このバスは各ノードを同一のクラスタ内の選択され
た他のエレメントに接続する。この他のエレメントはw
−1個の同一の入力するリンクから選択できることを意
味できる。各ラインは唯一つの出力装置によって電気的
に駆動され、これにより共有に伴なう制限現象、速度を
制限するいわゆるワイヤードオアの突然の故障(gli
tch)(Gustavason D B,Theus
J:“Wire−Or logicon trans
mission lines”IEEE Micro
Vol3 NO.3(June 1983),pp
1−55)を防止することができる。ここで、この突然
の故障によりバスの所有権もしくは信号の方向性さえ変
更されてしまう。データ転送は個々の受信部で行われ、
または全体通信もしくはクラスト毎の通信を介して行わ
れる。アーキテクチャは厳密にはクラスタ内部接続方法
に依存する。全体システムはクラスタグラフトポロジの
D番目の直積をとることによって形成されるD次元の格
子である。これは各次元においてクラスタ構成つまり一
般化された超立方体として知られる反復的に形成された
構成を課す効果を有する。図1は2D超平面を形成する
2次元の例を示し、各ノードは2つの独立の直交するク
ラスタに属する。このアプローチはより高い次元に拡張
できる。つまり、各ノードが等しくN個のクラスタより
なるN次元超立方体はw(N−1)個のクラスタリンク
によって接続されたw個のN−1次元の超平面により構
成される。この直交するクラスタを重ね合わす構成は全
体のメッセージ通過のための必須の高い帯域内部接続を
提供する。
【0017】単純な2進超立方体システムと異なり、D
は大きな装置であっても低い値のみ(たとえば2もしく
は3)を採用することになる。たとえば、w=32につ
いては、達成される数字である3次元構造は32Kのプ
ロセッシングエレメント(PE)を含むことになる。
【0018】接続の低い待ち時間のために、ハードウエ
アはメッセージの通過と共に共有メモリを備えることが
できる。共有位置をアクセスしようとするプロセッサは
短かい要求メッセージをその位置を有するノードに送出
し、この要求が処理されると応答(要求が読出であれば
データを含む)を受信する。待ち時間を最小にするため
に、遠隔メモリ管理ハードウエアはプロセッサに関係な
く全体のメモリに読出し及び書込みを行うことができ
る。多くの場合、このようなメモリへの競合しないアク
セスに対する制裁はローカルRAMの場合の2倍よりも
っと大きくなる。
【0019】図1には、6×6個のプロセッシングエレ
メント10のアレイを備えたプロセッサが示されてお
り、各エレメントはアレイのノードを構成している。エ
レメントの各行はクラスタ11を構成し、エレメントの
各列はクラスタ12を構成している。アレイは3次元以
上の次元に拡張できる。3次元の場合、アレイは6層に
構築され、この各層は図1に示されると同一であり、各
列がクラスタを構成する。対称性の同一原理はシステム
の拡張次元に適用される。たとえば、第4次元は各エレ
メントを6個のエレメントよりなるクラスタで置換する
ことにより発生することができる。
【0020】クラスタの6個のエレメントはバス13に
よって接続されているが、これについては、図3を参照
して後述する。
【0021】図2にはエレメント10の構成が示されて
いる。このエレメントは、1つ以上のマイクロプロセッ
サ21たとえばモトローラM8800マイクロプロセッ
サよりなるホストエレメント20を備えている。また、
ホストエレメントはメモリ22及び通信エレメント23
を含んでいる。ホストエレメント20には、ネットワー
クエレメント24が付随しており、このネットワークエ
レメント24はノードのインターフェイスをとるための
次元毎のクラスタインターフェイスユニット(CIU)
25を備えている。ただし、図2においては、26,2
7,28として3つのCIUが図示されている。唯一の
ホストインターフェイスユニット(HIU)29はホス
トエレメント20との情報交換のために設けられてい
る。ネットワークエレメント24はネットワークエレメ
ント管理ユニット30を含んでいる。
【0022】図3を参照すると、4つのエレメント10
よりなるクラスタが図示されており、各エレメントには
10a,10b,10c,10dの参照番号が与えられ
ている。これらのエレメントはバス13に接続されてい
るが、このバス13はさらに各々が16個のラインより
なる4つのバスよりなっている。1つのバスは出力のた
めに各ネットワークエレメントから接続されている。1
つのネットワークからの出力はクラスタ内の他の各ネッ
トワークの入力に接続されている。従って、各ネットワ
ークは1つの出力及び3つの入力を有することになる。
各ホストエレメントは、アレイの他の次元に対応して、
さらに1つの出力及び該出力に接続された各他のバスの
ための入力を有することになる。このように、幅w=4
の3次元アレイは各ネットワークエレメント毎に3つの
出力及び12個の入力を有することになる。バス13の
各ラインは唯一の出力装置によって電気的に駆動され、
ワイヤードオアによる突然の故障を防止する。このよう
な構成は、ホストエレメントが1つのメッセージのみを
そのクラスタ内での他のエレメントに一時に送出するこ
とができるという欠点を有する。しかしながら、これは
大きな欠点ではない。なぜなら、ホストエレメントはい
かなる場合でもシリアル装置(もしくはある限られた数
のシリアル装置)であり、また、いかなる場合には直交
するクラスタ内での他のエレメントに同時にメッセージ
を送出できるからである。
【0023】上述の1つのアレイの密度及び内部接続に
おける制限要因の1つは配線密度である。配線密度制限
には、バス13がハードワイヤ、マイクロ波リンク、光
リンク、無線リンク等か否かに依存して、複数の形式を
とる。配線最大密度の領域は直交バス間のクロスオーバ
点である。図4にはクロスオーバ点における配線密度を
上げることなくクラスタ内のエレメントの内部接続性を
増大する構成が示されている。この構成においては、バ
スの両端間の各エレメント10b,10cは左側に延び
る出力及び右側へ延びる出力の2つの出力を有する。各
エレメントはバスに沿って左側及び右側へメッセージを
同時に送出することができる。配線密度の唯一の増加
は、ネットワークエレメントの出力部に見られる。これ
は重要な領域でない。
【0024】装置の動作は次のごとくである。1つのネ
ットワークエレメントが他のネットワークエレメントに
データもしくはコマンドを送出するとき、データもしく
はコマンドは受信元エレメントをアドレスする通信エレ
メント23においてパケットを構成する。このパケット
はホストインターフェイスユニット29を介し、さらに
受信元エレメントに対応する適当なクラスタインターフ
ェイスユニット26,27もしくは28を介して送出さ
れる。受信元エレメントもちろん発信元エレメントと同
一のクラスタ内でないこともあり、発信元クラスタと受
信元クラスタとの交差に位置するノードに送出する必要
がある。また、さらに、中間的なステップもあることが
ある。D次元のアレイについては、ステップの最大数は
Dとなる。ネットワークエレメント管理ユニット30は
パケットが受信先に送出されるルートを決定する。たと
えば、制限的なルーティングにおいては、南西方向に送
る必要があるメッセージはまず西へ送られ、次に南に送
られ、これにより、南西方向から到達するメッセージと
の衝突を避ける。なお、後者のメッセージはまず東へ送
られ、次に北へ送られる。他のルーティングのプロトコ
ルも考えることができる。メッセージが受信元クラスタ
のバス13に到達すると、メッセージは受信元エレメン
トのアドレスによって認識され、その受信元エレメント
のクラスタインターフェイスユニットに受信される。
【0025】パケットが受信されると、パケットはネッ
トワークエレメント24のバッファメモリにバッファリ
ングされる。ネットワークエレメント24は同時に複数
のパケットを受信でき、これをそのホストエレメントで
処理しもしくは直交クラスタに送出する。クラスタイン
ターフェイスユニット26,27,28には調停回路が
設けられ、同時に到着するパケットをバッファリングし
て時間的に効率よく処理する。パケットがエレメント自
身を受信元としている場合には、このパケットはHIU
29を介して通信エレメント23に送られ、プロセッシ
ングエレメント21によって処理されもしくはメモリエ
レメント22に格納される。
【0026】例を上げると、動作(a+b)×(c+
d)は以下のごとく並列処理によって実行することがで
きる。すべてのパラメータが可変とすれば、動作a+b
がアレイの第1のエレメントにおいて実行され、動作c
+dが第2のエレメントにおいて実行される。第1、第
2のエレメントはこれらの演算の結果を含むパケットを
第3のエレメントに送出し、第3のエレメントはこれら
の演算の結果に乗算演算を実行する。
【0027】ネットワークについて メッセージの好ましいルーティング方法はウォームホー
ル(worm hole)ルーティングの変形である
(Dally W J,Seitz C L:Mult
icomputers:message−passin
g concurrent computers”,I
EEE Computer,Vol 21,No.8
(Aug 1988),pp 9−23)。各ウォーム
は1つのヘッドのみよりなり、これを以後パケットとす
る。
【0028】上述のプロセッシングエレメントは各可変
次元における幅wのクラスタの中に接続されている。プ
ロセッシングエレメントが属するクラスタにおいては、
ノードは非方向性ラインを有することによりパケットを
当該クラスタを含む他の(w−1)個のノードの1つに
送出でき、あるいは同時にこのパケットをこれらのサブ
グループに通信できる。ノードに到達するパケットは次
の2つの基本形がある。 a)クラスタ内:これらの行程の最後のリンク(できれ
ば1つのリンク)上の巡回は局所的に伝達される。 b)クラスタ間:現在のノードによって受信された後に
直交するクラスタに進む。
【0029】到着するパケットはバッファリングされ、
そして、CIUによる選択を待つ。CIUは高速ラウン
ドロビンアルゴリズムを用いてその(w−1)個の発信
元から選択する。選択されたパケットはこれらの形式に
依存して異なって扱われる。クラスタ間パケットはHI
Uを介してホストエレメントに進み、最終的にはローカ
ルバッファメモリの予め定められた領域に直接書込まれ
る。クラスタ内パケットはこれらのルート上の次の直交
するクラスタのCIUに直接進む。パケットは欠陥があ
る場合を除き最小距離パスに従って受信元へ進む。大き
なシステム(>10個ノード)でさえせいぜい直径3
を有するので、ルーティングは実現可能サイズの全スペ
クトルに亘って基本的に無視できる。デッドロックはル
ーティングを制限することによりもしくは構築されたバ
ッファ管理を導入することにより容易に避けることがで
きる。直径を小さくすることによりこれらの戦略の性能
の欠点を最小にできる。
【0030】データを有するパケットに加えて、ネット
ワーク層はネットワーク制御パケット(NCパケット)
と呼ばれる特殊なパケットを認識してネットワークエレ
メント間制御情報を通過させる。この制御情報はバッフ
ァ管理としてのタスクのためのハウスキーピング(ho
usekeeping)情報、CIUによって実行され
る自動機能を含むことができる。しかしながら、制御パ
ケットはネットワークエレメント管理ユニットによって
用いられ、このネットワーク管理ユニットは、ネットワ
ーク活動、負荷分散(適当であれば)及び戦略的幅輳制
御を管理する。
【0031】リンクについて クラスタ内のネットワークエレメント間通信は高帯域リ
ンクによる。リンクの分離及びネットワーク機能に大き
な利点がある。特に、リンク装置技術に大きく依存する
特徴を分離することすができる。実際に、クラスタリン
クは幾つか方法で認識できる。たとえば、インターフェ
イス面を装着した短かいブロードアクティブ背面(sh
ort broad active backplan
e)、デマルチプレクスドポイント−ポイントリンク、
多段光スター構成、あるいはULSI装置のセットとし
て認識できる。1G Byte/sまでの転送速度はア
クティブ背面もしくはデマルチプレクスドスター分配器
を用いて達成できる。異なるリンクプロトコルはこれら
の異なる技法に対して適切である。たとえば、並列バス
装置上に用いられるプロトコルはシリアル光ケーブルに
よって要求されるものと異なる。
【0032】16ビットの非方向性バス装置は付随する
並列バスリンクプロトコルと共に採用されている。代表
的なLANもしくはWANプロトコルと異なり、リンク
層はエラー制御もしくはフロー制御(共にネットワーク
層によって実行される)の提供を意図しておらず、物理
的なリンク上のパケットの境界、透明性の保存、及びマ
ルチドロップアドレス指定のためのものである。
【0033】グローバルメモリ パケット構造は共有アクセスグローバルメモリをサポー
トするように設計されている。システムの可能なサイズ
のために、32ビットアドレス指定はグローバルアドレ
ス空間全体の均一にアクセスすることができないことが
明らかである。基本的な処理は32ビット仮想アドレス
を用い、これをローカルMMUによって32ビット物理
アドレスに変換する。グローバルメモリは論理アドレス
指定ユニットつまりスーパページにおいて構築されてい
る。各スーパページは次元H(≦D)の超平面に亘って
インターリーブされている。このようにして、2次元シ
ステムにおいては、グローバルメモリ全体はすべてのホ
ストエレメント(H=2)に亘り完全にインターリーブ
でき、あるいは局所的クラスタ(H=1)にのみインタ
ーリーブでき、あるいは異なる共同で作動する処理によ
って用いられた両者の共通領域に分けることができる。
これにより、広範囲の共有メモリ応用に亘り多くのフレ
キシビリティが生じる。
【0034】グローバルメモリへの短かいアクセスは唯
一のCLP優先でもって転送され、支障のないパケット
のごとく取扱われて、待ち時間を最小にする。
【0035】ホストエレメント ホストエレメント構成は図5に示されている。このアー
キテクチャはデータフローのようなパラダイムのために
設計された特殊のノードの使用を排除するものでない。
グローバルメモリへの要求及びグローバルメモリからの
応答はメモリエレメント(ME)22が直接行う。ま
た、通信エレメント(CE)23はプロセッシングエレ
メント(PE)21のローカルメモリ51に対して直接
データの転送を行うダイレクトメモリアクセス制御回路
(DMAC)50をも内蔵している。このDMAC50
は使用中のソフトウエアパラダイムに対するメッセージ
転送を最適化でき、また、転送すべきメッセージのメモ
リ上の長さ及び位置を示すメッセージ記述子を維持す
る。
【0036】共有メモリエレメント(ME)22の機能
はグローバルメモリ制御回路(GMC)と呼ばれる内蔵
ハードウエアモジュールによって調整される。GMCは
次の2つのサブモジュールよりなる。 a)グローバルメモリ管理ユニット(GMMU)54。
これは、カーナル制御のもとで、ある範囲の物理アドレ
スをトラップし、特殊グローバルメモリ保証器(qua
lifier)でパケットを発生する。GMMUはアク
ティブ処理に発生したアドレス上で現に使用中のインタ
ーリーブ形式を解釈できる。 b)グローバルメモリアクセスユニット(GMAU)5
5。これは通信エレメント(CE)によって通過してき
たメモリアクセスパケットを受ける。またGMAU55
はシングルもしくはブロックDMAアクセスをグローバ
ルメモリセグメントに発生することができる。さらに、
GMAU55は、同期、リストの取扱、ゴミ集めを含む
より高いレべルの動作を実行するのに用いることができ
る。
【0037】共有メモリアクセスはシステムレベルもし
くはユーザレベルで発生できる。前者の場合、ユーザ処
理は、必ずしも直接アドレス指定(RAMディスクの)
ではなく、共有構造としてのグローバルメモリを観察す
る。アクセスが必要とされるとき、ブロッキングもしく
はノンブロッキングシステム呼を発生し、これを受けて
ローカルカーナルはGMMUに要求を通知する。この手
法は実際に必要とされる前にデータをプリフェッチする
処理によって用いることができる。真のユーザレベルア
クセスはユーザ処理によって直接発生され、ローカルメ
モリ管理ユニット(MMU)によって翻訳され、GMM
Uによってトラップされる。アクセス処理は待ち時間が
十分短かければ遅延でき、もしくは必要なら一時停止で
きる。
【0038】ネットワークエレメント 図6に示すごとく、各CIUは3つの明瞭な機能ユニッ
トよりなる(なお、これらの機能分割はネットワークエ
レメントのVLSIにおけるパッケージ位置上で制限さ
れるものと解釈すべきでない)。 a)送信ユニット60。これは共通クラスタ内でメッセ
ージを他のノードへ送信するものである。 b)受信ユニット61。これは共通クラスタ内での他の
ノードから到着するメッセージを適当な調停機構を用い
て選択し、局所的に転送もしくは他のCIUへルーティ
ングするものである。 c)CIU制御ユニット60。これはNCパケットを必
要に応じて対応するCIU制御ユニットと交換する有力
な各受信元のバッファの使用状態を監視するものであ
る。
【0039】送信ユニット60はリンク制御ユニットと
呼ばれる積分オートマトン(つまり、有限状態マシン)
を用いてクラスタリンク上にパケットを転送するもので
ある。このようなパケットは、局所的に発生するものも
しくはNE受信ユニットのいずれかから直接発生するも
の(クラスタ内メッセージ)であれば、HIUから発生
することができる。
【0040】受信ユニット61は幾つかのバッファ付入
力マルチプレクサよりなり、各マルチプレクサは発信元
選択のためのラウンドロビン調停回路を有する。異なる
形式のパケットがローカルもしくはノンローカル転送の
ためであれば、パケットは別個にバッファリングされ
る。しかしながら、いかなるカテゴリが与えられても、
各マルチプレクサ入力においては1つのパケットに対し
てのみ空間であり、従って、トータルのバッファ要求は
適切となる。受信バッファの空間はCIU制御ユニット
により監視され、つまり、現に転送中のデータに関係な
く、CIU制御ユニットはNCパケットを発生し、この
パケットはローカル送信ユニットに直接転送されて制御
フレームとしてただちに供される。パケットが1つの入
力に到着すると、この入力に伴う調停回路は次のノード
への転送が可能である限り送信要求を受信する。調停回
路によって選択されたパケットはただちにこれらの受信
元へ送られる。主として次の4つの場合がある。 a)パケットはHIU、CEを介してPEに送られ、受
信元の処理に伴うバッファメモリに直接書込まれる。 b)パケットは他のCIUにおける送信ユニットに送ら
れる(クラスタ内トラフィック)。 c)パケットはHIUを介してグローバルメモリアクセ
スユニットに送られる。グローバルメモリ要求パケット
はGMAUに送られ、CMAUはこれに付随するグロー
バルメモリモジュールに対してDMAを発生する。 d)パケットは再びHIUを介してグローバルメモリ管
理ユニットに送られる。たとえば読出しデータを有する
グローバルメモリ要求パケットはGMMUに送られ、そ
こで未決定の要求とマッチングされる。
【0041】信号定義は、手法によって適当に変更され
るので、アーキテクチャの標準化さされたアクロス処理
系(across implentations)でな
い。これらの物理的な定義はアーキテクチャのより高い
層から切り離され、送信ユニット及び受信ユニット以外
のモジュールの設計に影響を与えることなく変更でき
る。
【0042】要求バスラインは次のものである。 a)D15−D0:データ用 b)DELIM(ウォームデリミッタ):ウォームが開
始もしくは終了していることを示す(フレームフラグは
透明性の複雑化を避けるために用いない)。 c)CS(制御ストローブ):制御フレームを示す。 d)DS(データストローブ):リンク上の有効データ
ワードの存在を示す。
【0043】制御フームは送信ユニットと受信ユニット
との間の通信レベルを制御するのに用いる。制御フレー
ムはたとえば1ワード長もしくは2ワード長であり、受
信バッファ状態としての情報を有する。パケットの第1
のワードは受信NCによりルーティング情報を解釈でき
情報と共にクラスタアドレス指定情報を含む。受信ユニ
ットにおいては、このワードは除去されて無視され、つ
まり、新しいルーティング情報がパケットの前に存在す
ることになる。
【0044】HIUはCIUから直接ローカル転送のた
めのパケットを受信し、これをCIUから直接送り、機
能を反転し、HEからのパケットを適当なCIUにデマ
ルチプレクスする。管理ユニット/HIUアセンブリ内
にはシステムタイムを維持するシステムクロックレジス
タ(図示せず)がある。スキューを慎重に最小化するこ
とによってシステム全体に唯一のグローバルロック信号
を分配することができる。グローバル時間は、適切であ
れば、HE動作を同期化させるためと共にパケットをス
タンプするのに用いることができる。
【0045】マルチコンピュータ設計において最も難し
い問題の1つは内部接続戦略の選択の問題であり、この
内部接続戦略は、多数の強力な処理エレメントに基づく
マシンにおける並列応用に対する真に一般的なサポート
を提供できるように十分融通制を有さねばならない。
【0046】
【発明の効果】本発明によれば、優れた接続性、高い帯
域性、低い待ち時間を有する一般化された超立方体トポ
ロジを提供できる。重要なことは、このアーキテクチャ
は非常に多くのプロセッサに対して可能であり、微細及
び粗野なプログラミング手法の両方に適する10〜1
のプロセッシングエレメントを有するMIMDマシ
ンの構成を可能にする。
【図面の簡単な説明】
【図1】本発明に係わる2次元並列プロセッサを示すブ
ロック回路図である。
【図2】図1のノードの構成を示すブロック回路図であ
る。
【図3】図1のクラスタの内部構成を示すブロック回路
図である。
【図4】図3の変更例を示すブロック回路図である。
【図5】図1のホストエレメントの詳細を示すブロック
回路図である。
【図6】図1のCIUの詳細を示すブロック回路図であ
る。
【符号の説明】
10 プロキッシングエレメント(PE) 11,12 クラスタ(サブセット) 13 バス 20 ホストエレメント(HE) 21 プロキッシングエレメント 22 メモリエレメント 23 通信エレメント 24 ネットワークエレメント(NE) 25,26,27,28 クラスタインターフェイスエ
レメント(CIU) 29 ホストインターフェイスユニット(HIU) 30 ネットワークエレメント管理ユニット 54 グローバルメモリ管理ユニット(GMMU) 55 グローバルメモリアクセスユニット(GMAU) 61 受信ユニット 62 CIU制御ユニット 63 送信ユニット
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ルイス・マクリーン・マッケンジー イギリス国、グラスゴウ、モンテン・スト リート 18 ジー4 9エイチエックス (72)発明者 ロバート・ジョン・サザーランド イギリス国、グラスゴウ、ランキャスタ ー・テラス 2 ジー12 0ユーティ

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】 次元Dで配置され複数のサブセットに分
    割された複数のプロセッシングエレメント(10)を具
    備し、1つのサブセットにおけるすべてのプロセッシン
    グエレメントはこれらの間の通信のため1つのバス(1
    3)を有し、前記各プロセッシングエレメントは各次元
    における1つのサブセットのメンバであるプロセッサに
    おいて、 1つのサブセットの各プロセッシングエレメントは出力
    手段によって当該サブセットのバスに接続され、当該サ
    ブセットの他の複数のプロセッシングエレメントにメッ
    セージを送信し、 別個の入力手段は、当該サブセットの各他のプロセッシ
    ングエレメントに対応し、各対応の入力手段上の前記他
    のプロセッシングエレメントからのメッセージを受信す
    ることを特徴とする並列プロセッサ。
  2. 【請求項2】 1つのサブセットにおけるプロセッシン
    グエレメントは1ラインに配列され、 該ラインの終端間に位置するプロセッシングエレメント
    は、該ラインに沿って一方側の他のプロセッシングエレ
    メントにメッセージを送出する1つの出力手段と、該ラ
    インに沿って他方側の他のプロセッシングエレメントに
    メッセージを送出する別個の出力手段とを有する請求項
    1に記載のプロセッサ。
  3. 【請求項3】 前記各プロセッシングエレメントは、メ
    ッセージパケットを発生し他のエレメントに送出する通
    信手段を具備し、該通信手段はパケットの受信元が同一
    のサブセットか他のサブセットかを示すアドレスを発生
    する手段を具備する請求項1もしくは2に記載のプロセ
    ッサ。
  4. 【請求項4】 前記各プロセッシングエレメントは、1
    つのバス上のクラスタにおける他のエレメントからメッ
    セージパケットを受信する手段と、パケットの送信元が
    同一クラスタか異なる直交クラスタかを認識する手段
    と、パケットの送信元が同一のクラスタのときに該パケ
    ットを該エレメント内のメモリ内に書込み、前記パケッ
    トの送信元が異なるクラスタのときに前記パケットを異
    なる直交バスへ再送信する手段と、を具備する請求項3
    に記載のプロセッサ。
  5. 【請求項5】 さらに、前記各プロセッシングエレメン
    トは、メッセージパケットを受信する手段と、該メッセ
    ージパケット内のアドレスを変更する手段と、該メッセ
    ージパケットを再送信する手段とを具備する請求項1か
    ら4のいずれか1つに記載のプロセッサ。
  6. 【請求項6】 さらに、前記プロセッシングエレメント
    はメッセージパケットを発生し他のエレメントに送出す
    る手段を具備し、該各メッセージパケットは、唯一のア
    ドレス部と、少なくとも唯一の命令部及び唯一のデータ
    部の1つとを含む請求項1から5のいずれか1つに記載
    のプロセッサ。
  7. 【請求項7】 1つのサブセットのバスは該サブセット
    に接続された1つのエレメントのみの出力装置によって
    電気的に駆動される請求項1から6のいずれか1つに記
    載のプロセッサ。
  8. 【請求項8】 2次元と3次元との間にある請求項1か
    ら7のいずれか1つに記載のプロセッサ。
JP3352657A 1990-12-20 1991-12-16 並列プロセッサ Pending JPH0635874A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB9027633.8 1990-12-20
GB9027633A GB2251320A (en) 1990-12-20 1990-12-20 Parallel processor

Publications (1)

Publication Number Publication Date
JPH0635874A true JPH0635874A (ja) 1994-02-10

Family

ID=10687320

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3352657A Pending JPH0635874A (ja) 1990-12-20 1991-12-16 並列プロセッサ

Country Status (4)

Country Link
EP (1) EP0492174B1 (ja)
JP (1) JPH0635874A (ja)
DE (1) DE69130857D1 (ja)
GB (1) GB2251320A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012528416A (ja) * 2009-06-19 2012-11-12 ボード オブ レジェンツ,ユニヴァーシティ オブ テキサス システム 拡張可能なバスに基づくオンチップ相互接続ネットワーク
JP2015060565A (ja) * 2013-09-20 2015-03-30 富士通株式会社 情報処理装置、通信方法及び通信プログラム
KR20170093698A (ko) * 2016-02-05 2017-08-16 구글 인코포레이티드 매트릭스 처리 장치

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2287111B (en) * 1994-03-01 1998-08-05 Intel Corp Method for pipeline processing of instructions by controlling access to a reorder buffer using a register file outside the reorder buffer
US5564056A (en) * 1994-03-01 1996-10-08 Intel Corporation Method and apparatus for zero extension and bit shifting to preserve register parameters in a microprocessor utilizing register renaming
GB2293468B (en) * 1994-09-21 1999-09-29 Sony Uk Ltd Data processing systems
GB2370380B (en) 2000-12-19 2003-12-31 Picochip Designs Ltd Processor architecture
GB2470037B (en) 2009-05-07 2013-07-10 Picochip Designs Ltd Methods and devices for reducing interference in an uplink
GB2470891B (en) 2009-06-05 2013-11-27 Picochip Designs Ltd A method and device in a communication network
GB2470771B (en) 2009-06-05 2012-07-18 Picochip Designs Ltd A method and device in a communication network
GB2482869B (en) 2010-08-16 2013-11-06 Picochip Designs Ltd Femtocell access control
GB2489919B (en) 2011-04-05 2018-02-14 Intel Corp Filter
GB2489716B (en) 2011-04-05 2015-06-24 Intel Corp Multimode base system

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4153932A (en) * 1974-03-29 1979-05-08 Massachusetts Institute Of Technology Data processing apparatus for highly parallel execution of stored programs
US4814973A (en) * 1983-05-31 1989-03-21 Hillis W Daniel Parallel processor
US4805091A (en) * 1985-06-04 1989-02-14 Thinking Machines Corporation Method and apparatus for interconnecting processors in a hyper-dimensional array
IT1184015B (it) * 1985-12-13 1987-10-22 Elsag Sistema multiprocessore a piu livelli gerarchici
US4933836A (en) * 1986-10-29 1990-06-12 United Technologies Corporation n-Dimensional modular multiprocessor lattice architecture
JP2509947B2 (ja) * 1987-08-19 1996-06-26 富士通株式会社 ネットワ−ク制御方式
US4942517A (en) * 1987-10-08 1990-07-17 Eastman Kodak Company Enhanced input/output architecture for toroidally-connected distributed-memory parallel computers

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012528416A (ja) * 2009-06-19 2012-11-12 ボード オブ レジェンツ,ユニヴァーシティ オブ テキサス システム 拡張可能なバスに基づくオンチップ相互接続ネットワーク
JP2015060565A (ja) * 2013-09-20 2015-03-30 富士通株式会社 情報処理装置、通信方法及び通信プログラム
KR20170093698A (ko) * 2016-02-05 2017-08-16 구글 인코포레이티드 매트릭스 처리 장치
KR20190054052A (ko) * 2016-02-05 2019-05-21 구글 엘엘씨 매트릭스 처리 장치
US10417303B2 (en) 2016-02-05 2019-09-17 Google Llc Matrix processing apparatus
KR20200053461A (ko) * 2016-02-05 2020-05-18 구글 엘엘씨 매트릭스 처리 장치
US10719575B2 (en) 2016-02-05 2020-07-21 Google Llc Matrix processing apparatus
US11366877B2 (en) 2016-02-05 2022-06-21 Google Llc Matrix processing apparatus
KR20230002254A (ko) * 2016-02-05 2023-01-05 구글 엘엘씨 매트릭스 처리 장치

Also Published As

Publication number Publication date
EP0492174A3 (en) 1993-11-10
EP0492174B1 (en) 1999-02-03
DE69130857D1 (de) 1999-03-18
EP0492174A2 (en) 1992-07-01
GB9027633D0 (en) 1991-02-13
GB2251320A (en) 1992-07-01

Similar Documents

Publication Publication Date Title
US5379440A (en) Parallel processor with array of clustered processing elements having inputs seperate from outputs and outputs limited to a maximum of two per dimension
US4630258A (en) Packet switched multiport memory NXM switch node and processing method
US4623996A (en) Packet switched multiple queue NXM switch node and processing method
KR0150072B1 (ko) 병렬처리 컴퓨터 시스템에서의 메모리 데이타 경로 제어장치
US6557069B1 (en) Processor-memory bus architecture for supporting multiple processors
CN100595720C (zh) 用于基于集线器的存储系统中直接存储器访问的设备和方法
US5581767A (en) Bus structure for multiprocessor system having separated processor section and control/memory section
JP2781623B2 (ja) メモリアクセススイッチネットワーク
KR100259276B1 (ko) 대역폭확장이 가능한 상호연결망
EP1028380A2 (en) Memory interface unit, shared memory switch system and associated method
AU7600094A (en) Multiple-port shared memory interface and associated method
JPH0635874A (ja) 並列プロセッサ
IE49451B1 (en) Digital communication networks employing speed independent switches
JPS6360579B2 (ja)
JPH02228762A (ja) 並列処理コンピュータシステム
JPH05241947A (ja) 分散クロスバー・スイッチ・アーキテクチャにおける交換接続の配列。
JP2731742B2 (ja) クラスタ構成の並列計算機
JP2004520671A (ja) 複合コンテントアドレッサブルメモリ
EP1588276B1 (en) Processor array
EP0322116B1 (en) Interconnect system for multiprocessor structure
CN1125406C (zh) 支持计算机机群并行计算的并行通信处理器
CN117176674B (zh) 片上网络及数据传输方法、芯片、设备
US20230280907A1 (en) Computer System Having Multiple Computer Devices Each with Routing Logic and Memory Controller and Multiple Computer Devices Each with Processing Circuitry
JP2000172655A (ja) データ処理装置およびデータ処理方法
SU734697A1 (ru) Коммутационное устройство дл мультипроцессорной системы