JPH0635874A - Parallel processor - Google Patents

Parallel processor

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
Japanese (ja)
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/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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

PURPOSE: To provide a generalized and hypercube topology having superior connectivity, a high band performance and a low waiting time on a processor having parallel architectures realizing a high output processing through the use of multiple central processing units CPU. CONSTITUTION: The processor is provided with plural processing elements arranged D-dimensionally and divided into sub-sets 11. Each processing element in the sub-set has a bus 13 and it can communicate with one another. Each processing element is the member of one sub-set 11 in the respective dimensions. The respective processing elements in one sub-set 11 are connected in the sub-set by an output means. They transmit messages to the other processing elements in the pertinent sub-set. They have individual input means for the respective processing elements in the sub-set and they receive the messages from the other processing elements on the input stages.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は多数の中央処理装置(C
PU)を用いて高出力処理を達成する並列アーキテクチ
ャを有するプロセッサに関する。
BACKGROUND OF THE INVENTION The present invention relates to a number of central processing units (C
PU) to achieve high power processing with a parallel architecture.

【0002】[0002]

【従来の技術】可能な限り数段にした多段CPUの使用
により処理性能を増大させることは近年広く議論されて
いる。この要求は、現在、学問的分野及び商業的分野に
も拡大し、小規模でシステムレベルでVLSIマイクロ
プロセッサに適用されつつある。しかしながら、広く受
け入れる点及び大規模にするという点では少なくとも2
つの重大な障害がある。
2. Description of the Related Art Increasing the processing performance by using a multi-stage CPU in which the number of stages is as many as possible has been widely discussed in recent years. This requirement is now expanding into the academic and commercial fields and is being applied to VLSI microprocessors at the system level on a small scale. However, at least 2 in terms of wide acceptance and large scale
There are two major obstacles.

【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)。
First, it is very difficult to design and build the multifunctional and powerful communication required by a highly parallel general-purpose computer. Second, it is not entirely clear how to program such a computer once built. Very important work has already been carried out in a new programming paradigm based on functional object-oriented models and dataflow models (see: Bronnenberg WJHJ, Nijman).
L, Odjik, EAM, van Twist R
AH: “Doom; a decentralized”
object-oriented machine "
IEEE Micro Vol 7 No 5 (Oct
1987) pp 547-553, Watson,
I, et al: “Flagship: aparale”
l architecturefor declara
"Tive programming" in Proce
sings of 15th Annual Sym
Posium on Computer Archit
ecture IEEE Comp Soc Pres
s (1988) pp 124-130, Veen A
H, "Dataflow machine archit
electure "ACM ComputingSurve
ys, Vol 18 No 4 (Dec 1986)
pp 365-396).

【0004】サブネットの目的は、ホストエレメント
(プロセッシングノード及び適当なメモリ)に通信接続
を形成できることである。理想的には、これらの通信接
続は次の性質を有すべきである。 a)高帯域性。これは要求されるときにはいつでも大量
のデータをホストエレメント間で転送できるようにす
る。 b)低い待ち時間。これはメッセージを送出し応答を要
求するいかなる処理も過剰な期間待たなくてもよいこと
を保証する。
The purpose of a subnet is to be able to make communication connections to host elements (processing nodes and suitable memory). Ideally, these communication connections should have the following properties: a) High bandwidth. This allows large amounts of data to be transferred between host elements whenever required. b) Low latency. This ensures that any process sending a message and requesting a reply does not have to wait an excessive period of time.

【0005】特に交渉すべきスイッチングレベルが多く
ある場合には、サブネットは低い待ち時間に最も寄与す
ることができる。
Subnets can contribute most to low latency, especially when there are many switching levels to negotiate.

【0006】さらに、通信者の相対的物理的位置(メト
リック対称)及びネットワークの他の場所での活動に関
係なく、サブネットは接続を帯域性及び回転待ち時間を
均一な許容値に保持できなければならない。最後に、内
部接続トポロジが中型及び大型マイチコンピュータにお
いて機能しなければ、可能なネットワークサイズの広い
範囲に亘って好ましいアーキテクチャ性質(待ち時間、
帯域性、対称性、独立性)を保持することが要求され
る。
Moreover, regardless of the relative physical location of the correspondent (metric symmetry) and activity elsewhere in the network, the subnet must maintain the connection to a uniform tolerance of bandwidth and rotational latency. I won't. Finally, if the interconnect topology does not work on medium and large Mighty computers, it has favorable architectural properties (latency, latency, etc.) over a wide range of possible network sizes.
Bandwidth, symmetry, independence) is required.

【0007】並列プロセッサの従来のアーキテクチャ
は、Larry D Wittie:“Communi
cation Structures for Lar
geNetworks of Microcomput
ers,IEEE,1981に記載されている。
A conventional architecture for parallel processors is Larry D Wittie: "Communi".
Cation Structures for Lar
geNetworks of Microcomput
ers, IEEE, 1981.

【0008】[0008]

【発明が解決しようとする課題】2進超立方体(hyp
ercube)は、あるプロセッサがある点から他の点
へ到達するのに多大な時間を要するために、低いメトリ
ック対称性を有する。また、待ち時間は固有的には大き
く変化する。さらに。超立方体は帯域性としては良い
が、プロセッサの数を倍にすると、直径が1だけ増大
し、より大きなアセンブリにおいて最悪の遅延を生じせ
しめることになる。
Problem to be Solved by the Invention Binary hypercube (hyp
ercube) has low metric symmetry because one processor takes a significant amount of time to reach from one point to another. Also, the waiting time inherently varies greatly. further. Although the hypercube is good in bandwidth, doubling the number of processors increases the diameter by one, causing the worst delay in larger assemblies.

【0009】この分野での一般的な目的は、ノード間の
高い内部接続性を有するアーキテクチャを達成し、メッ
セージが最小の数のノードを介して目的場所まで到達さ
れるようにすることである。内部接続の究極の制限は物
理的に支持できる配線密度もしくはノード間での他の通
信手段(たとえば光学的バス、自由耐久光注入器(fr
ee−standing optical trans
fuser)もしくは他の手段)の制限である。
A general purpose in this area is to achieve an architecture with high inter-node connectivity, so that messages can reach their destination via a minimum number of nodes. The ultimate limitation of interconnects is the physically supportable wiring density or other means of communication between nodes (eg, optical bus, free endurance injector (fr).
ee-standing optical trans
fuser) or other means).

【0010】[0010]

【課題を解決するための手段及び作用】本発明によれ
ば、次元Dで配置され複数のサブセットに分割された複
数のプロセッシングエレメントを具備し、1つのサブセ
ットにおけるすべてのプロセッシングエレメントはこれ
らの間の通信のための1つのバスを有し、前記各プロセ
ッシングエレメントは各次元における1つのサブセット
のメンバであるプロセッサにおいて、1つのサブセット
の各プロセッシングエレメントは出力手段によって当該
サブセットのバスに接続され、当該サブセットの他の複
数のプロセッシングエレメントにメッセージを送信し、
別個の入力手段は、当該サブセットの各他のプロセッシ
ングエレメントに対応し、各対応の入力手段上の前記他
のプロセッシングエレメントからのメッセージを受信す
ることを特徴とする並列プロセッサが提供される。
According to the present invention, there are provided a plurality of processing elements arranged in dimension D and divided into a plurality of subsets, all processing elements in a subset being in between. In a processor having one bus for communication, each said processing element being a member of one subset in each dimension, each processing element of one subset is connected by output means to the bus of that subset, Send messages to multiple other processing elements in
A parallel processor is provided, characterized in that a separate input means corresponds to each other processing element of the subset and receives messages from said other processing element on each corresponding input means.

【0011】プロセッシングエレメントはメッセージを
他の多数のエレメントに同時に送出することができない
が、これがすべてのエレメントと他のすべてのエレメン
トとの間における入力ライン/出力ライン上のトータル
の内部接続の理論的最適化構成から性能を低下させない
ことが分った。従って、性能は理論的最適性能とほぼ同
一であるが、内部配線密度は実質的に低下する。
A processing element cannot send a message to a number of other elements at the same time, but this is the theoretical total interconnect on the input / output lines between every element and every other element. It has been found that the optimized configuration does not degrade performance. Therefore, the performance is almost the same as the theoretical optimum performance, but the internal wiring density is substantially reduced.

【0012】好ましい実施例においては、1つのサブセ
ットにおけるプロセッシングエレメントは1ラインに配
列され、該ラインの終端間に位置するプロセッシングエ
レメントは、該ラインに沿って一方側の他のプロセッシ
ングエレメントにメッセージを送出する1つの出力手段
と、該ラインに沿って他方側の他のプロセッシングエレ
メントにメッセージを送出する別個の出力手段とを有す
る。これはラインの終端間に位置するプロセッシングエ
レメントはラインに沿って左右両方向に同時にメッセー
ジを送出できることを意味するが、臨界配線密度は増加
しない。つまり、配線密度はあるラインのバスと直交す
るラインのバスとの間のクロスオーバ点で最も大きくな
るからである(いかなる場合も、1つのプロセッシング
エレメントはそのサブセット内の他のエレメント及び他
のサブセット(上記プロセッシングエレメントはそのメ
ンバである)の他のエレメントに同時にメッセージを送
出できる)。
In the preferred embodiment, the processing elements in a subset are arranged in a line, the processing elements located between the ends of the line sending messages along the line to other processing elements on one side. And one separate output means for sending a message along the line to the other processing element on the other side. This means that the processing elements located between the ends of the line can simultaneously send messages to the left and right along the line, but the critical wire density does not increase. That is, the wiring density is greatest at the crossover point between the bus of one line and the bus of an orthogonal line (in any case, one processing element may be the other element within that subset and another subset). Messages can be sent simultaneously to other elements (the processing elements being members of which).

【0013】最も簡単な構成においては、プロセッサは
プロセッシングエレメントの2次元アレイを具備し、そ
の各行がサブセットを形成し、また、各列がサブセット
を形成する。行と列との交差する点におけるプロセッシ
ングエレメントは2つのサブセット間での通信のタスク
を実行する。以後、サブセットに対しては表現“クラス
タ”を用いる。
In the simplest configuration, the processor comprises a two-dimensional array of processing elements, each row of which forms a subset and each column of which forms a subset. The processing elements at the intersections of rows and columns perform the task of communicating between the two subsets. Hereinafter, the expression "cluster" will be used for subsets.

【0014】本発明による利点は、基本的に測定可能か
つモジュール化され、高度に接続され、対称的な低い待
ち時間のネットワークによってリンクされたプロセッシ
ングエレメント(PE)をその数に制限なくサポートで
き、2進超立方体を同等のコストパフォーマンスを有す
るアーキテクチャである。
The advantages according to the invention are essentially measurable, modular, highly connected, capable of supporting an unlimited number of processing elements (PEs) linked by a symmetrical low latency network, It is an architecture that has the same cost performance as a binary hypercube.

【0015】メトリック非対称性の度合いはプロセッシ
ングエレメント(PE)を強固に接続されたグルーダ内
でクラスタ化し、これらのグループを高帯域性リンク及
び処理を繰返すという選択をも用いて連結することによ
って受容される。
The degree of metric asymmetry is accepted by clustering the processing elements (PEs) in tightly connected gluers and concatenating these groups also using high bandwidth links and the option of repeating the process. It

【0016】[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次元の超平面により構
成される。この直交するクラスタを重ね合わす構成は全
体のメッセージ通過のための必須の高い帯域内部接続を
提供する。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT Referring to FIG. 1, each cluster contains a maximum of w multiple nodes. This value w, that is, the net width, is a fixed characteristic of the device (however, it is variable within the architecture). Each node has its own non-directional bus, which connects each node to other selected elements in the same cluster. Other elements are w
It can mean that one can select from one and the same input link. Each line is electrically driven by only one output device, which causes a limiting phenomenon associated with sharing, a so-called wired-OR sudden failure that limits speed.
tch) (Gustavason D B, Theus
J: "Wire-Or logic trans
"Mission lines" IEEE Micro
Vol3 NO. 3 (June 1983), pp 5
1-55) can be prevented. Here, this sudden breakdown changes the ownership of the bus or even the directionality of the signals. Data transfer is done by individual receivers,
Alternatively, the communication is carried out through whole communication or communication for each crust. The architecture strictly depends on the cluster interconnection method. The entire system is a D-dimensional lattice formed by taking the Dth Cartesian product of the cluster graph topology. This has the effect of imposing a cluster configuration in each dimension, an iteratively formed configuration known as a generalized hypercube. FIG. 1 shows a two-dimensional example forming a 2D hyperplane, where each node belongs to two independent orthogonal clusters. This approach can be extended to higher dimensions. That is, an N-dimensional hypercube in which each node is equally composed of N clusters is composed of w N-1 dimensional hyperplanes connected by w (N-1) cluster links. This configuration of overlapping orthogonal clusters provides the requisite high-band interconnect for the entire message passage.

【0017】単純な2進超立方体システムと異なり、D
は大きな装置であっても低い値のみ(たとえば2もしく
は3)を採用することになる。たとえば、w=32につ
いては、達成される数字である3次元構造は32Kのプ
ロセッシングエレメント(PE)を含むことになる。
Unlike a simple binary hypercube system, D
Will only use low values (eg 2 or 3) even for large devices. For example, for w = 32, the number achieved, the three-dimensional structure, would include 32K processing elements (PEs).

【0018】接続の低い待ち時間のために、ハードウエ
アはメッセージの通過と共に共有メモリを備えることが
できる。共有位置をアクセスしようとするプロセッサは
短かい要求メッセージをその位置を有するノードに送出
し、この要求が処理されると応答(要求が読出であれば
データを含む)を受信する。待ち時間を最小にするため
に、遠隔メモリ管理ハードウエアはプロセッサに関係な
く全体のメモリに読出し及び書込みを行うことができ
る。多くの場合、このようなメモリへの競合しないアク
セスに対する制裁はローカルRAMの場合の2倍よりも
っと大きくなる。
Due to the low latency of the connection, the hardware can provide shared memory with the passage of messages. A processor attempting to access a shared location sends a short request message to the node having that location and receives a response (containing data if the request was a read) when the request was processed. To minimize latency, remote memory management hardware can read and write the entire memory independent of the processor. In many cases, the sanctions for such contention-free access to memory will be more than double that for local RAM.

【0019】図1には、6×6個のプロセッシングエレ
メント10のアレイを備えたプロセッサが示されてお
り、各エレメントはアレイのノードを構成している。エ
レメントの各行はクラスタ11を構成し、エレメントの
各列はクラスタ12を構成している。アレイは3次元以
上の次元に拡張できる。3次元の場合、アレイは6層に
構築され、この各層は図1に示されると同一であり、各
列がクラスタを構成する。対称性の同一原理はシステム
の拡張次元に適用される。たとえば、第4次元は各エレ
メントを6個のエレメントよりなるクラスタで置換する
ことにより発生することができる。
FIG. 1 shows a processor with an array of 6 × 6 processing elements 10, each element forming a node of the array. Each row of elements constitutes a cluster 11, and each column of elements constitutes a cluster 12. Arrays can be extended to more than two dimensions. In the three-dimensional case, the array is built in 6 layers, each layer being identical to that shown in FIG. 1, with each column forming a cluster. The same principle of symmetry applies to the extended dimension of the system. For example, the fourth dimension can be generated by replacing each element with a cluster of 6 elements.

【0020】クラスタの6個のエレメントはバス13に
よって接続されているが、これについては、図3を参照
して後述する。
The six elements of the cluster are connected by a bus 13, which will be described later with reference to FIG.

【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を含んでいる。
FIG. 2 shows the structure of the element 10. This element comprises a host element 20 which comprises one or more microprocessors 21, for example Motorola M8800 microprocessors. Also,
The host element is the memory 22 and the communication element 23.
Is included. A network element 24 is attached to the host element 20, and the network element 24 is a cluster interface unit (CIU) for each dimension for interfacing a node.
25 are provided. However, in FIG.
Three CIUs are shown as 7,28. A unique host interface unit (HIU) 29 is provided for exchanging information with the host element 20. The network element 24 includes a network element management unit 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つのメッセージのみを
そのクラスタ内での他のエレメントに一時に送出するこ
とができるという欠点を有する。しかしながら、これは
大きな欠点ではない。なぜなら、ホストエレメントはい
かなる場合でもシリアル装置(もしくはある限られた数
のシリアル装置)であり、また、いかなる場合には直交
するクラスタ内での他のエレメントに同時にメッセージ
を送出できるからである。
Referring to FIG. 3, four elements 10
Clusters of elements are shown, each element being given the reference numeral 10a, 10b, 10c, 10d. These elements are connected to a bus 13, which is in turn made up of four buses, each consisting of 16 lines. One bus is connected from each network element for output. 1
The output from one network is connected to the input of each other network in the cluster. Therefore, each network will have one output and three inputs.
Each host element corresponds to another dimension of the array,
It will also have an output and an input for each other bus connected to it. Thus, width w = 4
3D array will have 3 outputs and 12 inputs for each network element. Each line of the bus 13 is electrically driven by a unique output device,
Prevents sudden failure due to wired OR. Such an arrangement has the disadvantage that the host element can send only one message at a time to other elements in its cluster. However, this is not a major drawback. This is because the host element is in any case a serial device (or some limited number of serial devices), and in any case it can simultaneously send messages to other elements in orthogonal clusters.

【0023】上述の1つのアレイの密度及び内部接続に
おける制限要因の1つは配線密度である。配線密度制限
には、バス13がハードワイヤ、マイクロ波リンク、光
リンク、無線リンク等か否かに依存して、複数の形式を
とる。配線最大密度の領域は直交バス間のクロスオーバ
点である。図4にはクロスオーバ点における配線密度を
上げることなくクラスタ内のエレメントの内部接続性を
増大する構成が示されている。この構成においては、バ
スの両端間の各エレメント10b,10cは左側に延び
る出力及び右側へ延びる出力の2つの出力を有する。各
エレメントはバスに沿って左側及び右側へメッセージを
同時に送出することができる。配線密度の唯一の増加
は、ネットワークエレメントの出力部に見られる。これ
は重要な領域でない。
One of the limiting factors in the density and interconnection of one array described above is the wiring density. The wiring density limitation takes a plurality of forms depending on whether the bus 13 is a hard wire, a microwave link, an optical link, a wireless link, or the like. The area of maximum wiring density is the crossover point between orthogonal buses. FIG. 4 shows a configuration in which the internal connectivity of the elements in the cluster is increased without increasing the wiring density at the crossover point. In this configuration, each element 10b, 10c across the bus has two outputs, an output extending to the left and an output extending to the right. Each element can simultaneously send messages to the left and right sides along the bus. The only increase in wiring density is found at the output of the network element. This is not an important area.

【0024】装置の動作は次のごとくである。1つのネ
ットワークエレメントが他のネットワークエレメントに
データもしくはコマンドを送出するとき、データもしく
はコマンドは受信元エレメントをアドレスする通信エレ
メント23においてパケットを構成する。このパケット
はホストインターフェイスユニット29を介し、さらに
受信元エレメントに対応する適当なクラスタインターフ
ェイスユニット26,27もしくは28を介して送出さ
れる。受信元エレメントもちろん発信元エレメントと同
一のクラスタ内でないこともあり、発信元クラスタと受
信元クラスタとの交差に位置するノードに送出する必要
がある。また、さらに、中間的なステップもあることが
ある。D次元のアレイについては、ステップの最大数は
Dとなる。ネットワークエレメント管理ユニット30は
パケットが受信先に送出されるルートを決定する。たと
えば、制限的なルーティングにおいては、南西方向に送
る必要があるメッセージはまず西へ送られ、次に南に送
られ、これにより、南西方向から到達するメッセージと
の衝突を避ける。なお、後者のメッセージはまず東へ送
られ、次に北へ送られる。他のルーティングのプロトコ
ルも考えることができる。メッセージが受信元クラスタ
のバス13に到達すると、メッセージは受信元エレメン
トのアドレスによって認識され、その受信元エレメント
のクラスタインターフェイスユニットに受信される。
The operation of the device is as follows. When one network element sends data or a command to another network element, the data or command constitutes a packet in the communication element 23 which addresses the receiving element. This packet is sent out via the host interface unit 29 and further through the appropriate cluster interface unit 26, 27 or 28 corresponding to the receiving element. Receiving element Of course, it may not be in the same cluster as the originating element, so it must be sent to the node located at the intersection of the originating cluster and the receiving cluster. There may also be intermediate steps. For a D-dimensional array, the maximum number of steps will be D. The network element management unit 30 determines the route by which the packet is sent to the destination. For example, in restrictive routing, messages that need to be sent in the southwest direction are sent west and then south, thereby avoiding collisions with messages arriving from the southwest direction. The latter message is sent east and then north. Other routing protocols can be considered. When the message reaches the bus 13 of the receiving cluster, the message is recognized by the address of the receiving element and is received by the cluster interface unit of the receiving element.

【0025】パケットが受信されると、パケットはネッ
トワークエレメント24のバッファメモリにバッファリ
ングされる。ネットワークエレメント24は同時に複数
のパケットを受信でき、これをそのホストエレメントで
処理しもしくは直交クラスタに送出する。クラスタイン
ターフェイスユニット26,27,28には調停回路が
設けられ、同時に到着するパケットをバッファリングし
て時間的に効率よく処理する。パケットがエレメント自
身を受信元としている場合には、このパケットはHIU
29を介して通信エレメント23に送られ、プロセッシ
ングエレメント21によって処理されもしくはメモリエ
レメント22に格納される。
When the packet is received, the packet is buffered in the buffer memory of the network element 24. The network element 24 can receive multiple packets at the same time and either process it on its host element or send it to the orthogonal cluster. An arbitration circuit is provided in each of the cluster interface units 26, 27, 28 to buffer packets that arrive at the same time and process them efficiently in time. If the packet is sourced by the element itself, this packet is a HIU
It is sent to the communication element 23 via 29 and processed by the processing element 21 or stored in the memory element 22.

【0026】例を上げると、動作(a+b)×(c+
d)は以下のごとく並列処理によって実行することがで
きる。すべてのパラメータが可変とすれば、動作a+b
がアレイの第1のエレメントにおいて実行され、動作c
+dが第2のエレメントにおいて実行される。第1、第
2のエレメントはこれらの演算の結果を含むパケットを
第3のエレメントに送出し、第3のエレメントはこれら
の演算の結果に乗算演算を実行する。
As an example, the operation (a + b) × (c +
d) can be executed by parallel processing as follows. If all parameters are variable, operation a + b
Is performed on the first element of the array, and operation c
+ D is executed in the second element. The first and second elements send a packet containing the results of these operations to the third element, and the third element performs the multiplication operation on the results of these operations.

【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つのヘッドのみよりなり、これを以後パケットとす
る。
The preferred method of routing messages for a network is a variation of warm hole routing (Daily W J, Seitz CL: Multi).
icons: message-passin
g current computers ", I
EEE Computer, Vol 21, No. 8
(Aug 1988), pp 9-23). Each worm consists of only one head, which will be referred to as a packet hereinafter.

【0028】上述のプロセッシングエレメントは各可変
次元における幅wのクラスタの中に接続されている。プ
ロセッシングエレメントが属するクラスタにおいては、
ノードは非方向性ラインを有することによりパケットを
当該クラスタを含む他の(w−1)個のノードの1つに
送出でき、あるいは同時にこのパケットをこれらのサブ
グループに通信できる。ノードに到達するパケットは次
の2つの基本形がある。 a)クラスタ内:これらの行程の最後のリンク(できれ
ば1つのリンク)上の巡回は局所的に伝達される。 b)クラスタ間:現在のノードによって受信された後に
直交するクラスタに進む。
The processing elements described above are connected in clusters of width w in each variable dimension. In the cluster to which the processing element belongs,
A node can send a packet to one of the other (w-1) nodes containing the cluster by having a non-directional line, or at the same time communicate the packet to these subgroups. A packet that reaches a node has two basic forms. a) Intra-cluster: The tours on the last link (preferably one link) of these journeys are propagated locally. b) Inter-cluster: Go to the orthogonal cluster after being received by the current node.

【0029】到着するパケットはバッファリングされ、
そして、CIUによる選択を待つ。CIUは高速ラウン
ドロビンアルゴリズムを用いてその(w−1)個の発信
元から選択する。選択されたパケットはこれらの形式に
依存して異なって扱われる。クラスタ間パケットはHI
Uを介してホストエレメントに進み、最終的にはローカ
ルバッファメモリの予め定められた領域に直接書込まれ
る。クラスタ内パケットはこれらのルート上の次の直交
するクラスタのCIUに直接進む。パケットは欠陥があ
る場合を除き最小距離パスに従って受信元へ進む。大き
なシステム(>10個ノード)でさえせいぜい直径3
を有するので、ルーティングは実現可能サイズの全スペ
クトルに亘って基本的に無視できる。デッドロックはル
ーティングを制限することによりもしくは構築されたバ
ッファ管理を導入することにより容易に避けることがで
きる。直径を小さくすることによりこれらの戦略の性能
の欠点を最小にできる。
Packets arriving are buffered,
Then, it waits for selection by the CIU. The CIU selects from its (w-1) sources using a fast round robin algorithm. The selected packet is treated differently depending on these formats. Intercluster packets are HI
Proceed to the host element via U and finally written directly to a predetermined area of the local buffer memory. Intra-cluster packets go directly to the CIU of the next orthogonal cluster on these routes. The packet follows the minimum distance path to the receiver unless it is defective. Even large systems (> 10 4 nodes) have a diameter of at most 3
, The routing is essentially negligible over the entire feasible size spectrum. Deadlocks can be easily avoided by limiting routing or by introducing built-in buffer management. By reducing the diameter, the performance drawbacks of these strategies can be minimized.

【0030】データを有するパケットに加えて、ネット
ワーク層はネットワーク制御パケット(NCパケット)
と呼ばれる特殊なパケットを認識してネットワークエレ
メント間制御情報を通過させる。この制御情報はバッフ
ァ管理としてのタスクのためのハウスキーピング(ho
usekeeping)情報、CIUによって実行され
る自動機能を含むことができる。しかしながら、制御パ
ケットはネットワークエレメント管理ユニットによって
用いられ、このネットワーク管理ユニットは、ネットワ
ーク活動、負荷分散(適当であれば)及び戦略的幅輳制
御を管理する。
In addition to packets with data, the network layer is network control packets (NC packets).
It recognizes a special packet called "." And passes the control information between network elements. This control information is used for housekeeping (ho
information, automatic functions performed by the CIU. However, control packets are used by the network element management unit, which manages network activity, load balancing (if applicable) and strategic congestion control.

【0031】リンクについて クラスタ内のネットワークエレメント間通信は高帯域リ
ンクによる。リンクの分離及びネットワーク機能に大き
な利点がある。特に、リンク装置技術に大きく依存する
特徴を分離することすができる。実際に、クラスタリン
クは幾つか方法で認識できる。たとえば、インターフェ
イス面を装着した短かいブロードアクティブ背面(sh
ort broad active backplan
e)、デマルチプレクスドポイント−ポイントリンク、
多段光スター構成、あるいはULSI装置のセットとし
て認識できる。1G Byte/sまでの転送速度はア
クティブ背面もしくはデマルチプレクスドスター分配器
を用いて達成できる。異なるリンクプロトコルはこれら
の異なる技法に対して適切である。たとえば、並列バス
装置上に用いられるプロトコルはシリアル光ケーブルに
よって要求されるものと異なる。
About Links Communication between network elements within a cluster is by high bandwidth links. There are great advantages in link separation and network functionality. In particular, features that are highly dependent on link device technology can be isolated. In fact, cluster links can be recognized in several ways. For example, a short broad active back (sh
ort broad active backplan
e), demultiplexed points-point links,
It can be recognized as a multi-stage optical star configuration or a set of ULSI devices. Transfer rates up to 1 G Byte / s can be achieved with active backplanes or demultiplexed star distributors. Different link protocols are suitable for these different techniques. For example, the protocol used on parallel bus devices differs from that required by serial optical cables.

【0032】16ビットの非方向性バス装置は付随する
並列バスリンクプロトコルと共に採用されている。代表
的なLANもしくはWANプロトコルと異なり、リンク
層はエラー制御もしくはフロー制御(共にネットワーク
層によって実行される)の提供を意図しておらず、物理
的なリンク上のパケットの境界、透明性の保存、及びマ
ルチドロップアドレス指定のためのものである。
A 16-bit non-directional bus device has been adopted with an accompanying parallel bus link protocol. Unlike typical LAN or WAN protocols, the link layer is not intended to provide error control or flow control (both performed by the network layer), preserving packet boundaries, transparency on the physical link. , And for multi-drop addressing.

【0033】グローバルメモリ パケット構造は共有アクセスグローバルメモリをサポー
トするように設計されている。システムの可能なサイズ
のために、32ビットアドレス指定はグローバルアドレ
ス空間全体の均一にアクセスすることができないことが
明らかである。基本的な処理は32ビット仮想アドレス
を用い、これをローカルMMUによって32ビット物理
アドレスに変換する。グローバルメモリは論理アドレス
指定ユニットつまりスーパページにおいて構築されてい
る。各スーパページは次元H(≦D)の超平面に亘って
インターリーブされている。このようにして、2次元シ
ステムにおいては、グローバルメモリ全体はすべてのホ
ストエレメント(H=2)に亘り完全にインターリーブ
でき、あるいは局所的クラスタ(H=1)にのみインタ
ーリーブでき、あるいは異なる共同で作動する処理によ
って用いられた両者の共通領域に分けることができる。
これにより、広範囲の共有メモリ応用に亘り多くのフレ
キシビリティが生じる。
The global memory packet structure is designed to support shared access global memory. Obviously, due to the possible size of the system, 32-bit addressing does not allow uniform access across the global address space. The basic process uses a 32-bit virtual address, which is translated into a 32-bit physical address by the local MMU. Global memory is organized in logical addressing units or superpages. Each superpage is interleaved across hyperplanes of dimension H (≤D). Thus, in a two-dimensional system, the entire global memory can be fully interleaved across all host elements (H = 2), or only local clusters (H = 1), or work together in different ways. Can be divided into common areas used by the processing.
This provides a great deal of flexibility over a wide range of shared memory applications.

【0034】グローバルメモリへの短かいアクセスは唯
一のCLP優先でもって転送され、支障のないパケット
のごとく取扱われて、待ち時間を最小にする。
Short accesses to global memory are forwarded with unique CLP priority and are treated like unhindered packets to minimize latency.

【0035】ホストエレメント ホストエレメント構成は図5に示されている。このアー
キテクチャはデータフローのようなパラダイムのために
設計された特殊のノードの使用を排除するものでない。
グローバルメモリへの要求及びグローバルメモリからの
応答はメモリエレメント(ME)22が直接行う。ま
た、通信エレメント(CE)23はプロセッシングエレ
メント(PE)21のローカルメモリ51に対して直接
データの転送を行うダイレクトメモリアクセス制御回路
(DMAC)50をも内蔵している。このDMAC50
は使用中のソフトウエアパラダイムに対するメッセージ
転送を最適化でき、また、転送すべきメッセージのメモ
リ上の長さ及び位置を示すメッセージ記述子を維持す
る。
Host Element The host element configuration is shown in FIG. This architecture does not preclude the use of specialized nodes designed for paradigms such as data flow.
The memory element (ME) 22 directly makes a request to and a response from the global memory. The communication element (CE) 23 also includes a direct memory access control circuit (DMAC) 50 that directly transfers data to the local memory 51 of the processing element (PE) 21. This DMAC50
Can optimize message transfer for the software paradigm in use, and also maintains a message descriptor that indicates the memory length and location of the message to be transferred.

【0036】共有メモリエレメント(ME)22の機能
はグローバルメモリ制御回路(GMC)と呼ばれる内蔵
ハードウエアモジュールによって調整される。GMCは
次の2つのサブモジュールよりなる。 a)グローバルメモリ管理ユニット(GMMU)54。
これは、カーナル制御のもとで、ある範囲の物理アドレ
スをトラップし、特殊グローバルメモリ保証器(qua
lifier)でパケットを発生する。GMMUはアク
ティブ処理に発生したアドレス上で現に使用中のインタ
ーリーブ形式を解釈できる。 b)グローバルメモリアクセスユニット(GMAU)5
5。これは通信エレメント(CE)によって通過してき
たメモリアクセスパケットを受ける。またGMAU55
はシングルもしくはブロックDMAアクセスをグローバ
ルメモリセグメントに発生することができる。さらに、
GMAU55は、同期、リストの取扱、ゴミ集めを含む
より高いレべルの動作を実行するのに用いることができ
る。
The function of the shared memory element (ME) 22 is coordinated by a built-in hardware module called a global memory control circuit (GMC). GMC consists of the following two sub-modules. a) Global memory management unit (GMMU) 54.
It traps a range of physical addresses under the control of karnal and uses a special global memory guarantor (qua).
A packet is generated in the (lifer). The GMMU can interpret the interleaved format currently in use on the address generated for active processing. b) Global memory access unit (GMAU) 5
5. It receives the memory access packets passed by the communication element (CE). See also GMAU55
Can generate single or block DMA access to the global memory segment. further,
The GMAU 55 can be used to perform higher level operations including synchronization, list handling, garbage collection.

【0037】共有メモリアクセスはシステムレベルもし
くはユーザレベルで発生できる。前者の場合、ユーザ処
理は、必ずしも直接アドレス指定(RAMディスクの)
ではなく、共有構造としてのグローバルメモリを観察す
る。アクセスが必要とされるとき、ブロッキングもしく
はノンブロッキングシステム呼を発生し、これを受けて
ローカルカーナルはGMMUに要求を通知する。この手
法は実際に必要とされる前にデータをプリフェッチする
処理によって用いることができる。真のユーザレベルア
クセスはユーザ処理によって直接発生され、ローカルメ
モリ管理ユニット(MMU)によって翻訳され、GMM
Uによってトラップされる。アクセス処理は待ち時間が
十分短かければ遅延でき、もしくは必要なら一時停止で
きる。
Shared memory access can occur at the system level or the user level. In the former case, the user process is not always directly addressed (on the RAM disk)
Instead, look at global memory as a shared structure. When access is required, a blocking or non-blocking system call is initiated, in response to which the local kernel notifies the GMMU of the request. This approach can be used by the process of prefetching data before it is actually needed. True user level access is generated directly by the user process, translated by the local memory management unit (MMU), GMM
Trapped by U. The access process can be delayed if the waiting time is short enough, or can be suspended if necessary.

【0038】ネットワークエレメント 図6に示すごとく、各CIUは3つの明瞭な機能ユニッ
トよりなる(なお、これらの機能分割はネットワークエ
レメントのVLSIにおけるパッケージ位置上で制限さ
れるものと解釈すべきでない)。 a)送信ユニット60。これは共通クラスタ内でメッセ
ージを他のノードへ送信するものである。 b)受信ユニット61。これは共通クラスタ内での他の
ノードから到着するメッセージを適当な調停機構を用い
て選択し、局所的に転送もしくは他のCIUへルーティ
ングするものである。 c)CIU制御ユニット60。これはNCパケットを必
要に応じて対応するCIU制御ユニットと交換する有力
な各受信元のバッファの使用状態を監視するものであ
る。
Network Element As shown in FIG. 6, each CIU consists of three distinct functional units (note that these functional divisions should not be construed as limited by the package location in the VLSI of the network element). a) Transmission unit 60. It sends messages to other nodes within a common cluster. b) Receiving unit 61. This is to select a message arriving from another node in the common cluster by using an appropriate arbitration mechanism and locally transfer or route it to another CIU. c) CIU control unit 60. This is to monitor the use status of the buffer of each of the possible receiving sources that exchanges NC packets with the corresponding CIU control units as needed.

【0039】送信ユニット60はリンク制御ユニットと
呼ばれる積分オートマトン(つまり、有限状態マシン)
を用いてクラスタリンク上にパケットを転送するもので
ある。このようなパケットは、局所的に発生するものも
しくはNE受信ユニットのいずれかから直接発生するも
の(クラスタ内メッセージ)であれば、HIUから発生
することができる。
The transmitting unit 60 is an integral automaton (that is, a finite state machine) called a link control unit.
Is used to transfer packets on the cluster link. Such packets can originate from the HIU if they originate locally or if they originate directly from any of the NE receiving units (intra-cluster messages).

【0040】受信ユニット61は幾つかのバッファ付入
力マルチプレクサよりなり、各マルチプレクサは発信元
選択のためのラウンドロビン調停回路を有する。異なる
形式のパケットがローカルもしくはノンローカル転送の
ためであれば、パケットは別個にバッファリングされ
る。しかしながら、いかなるカテゴリが与えられても、
各マルチプレクサ入力においては1つのパケットに対し
てのみ空間であり、従って、トータルのバッファ要求は
適切となる。受信バッファの空間はCIU制御ユニット
により監視され、つまり、現に転送中のデータに関係な
く、CIU制御ユニットはNCパケットを発生し、この
パケットはローカル送信ユニットに直接転送されて制御
フレームとしてただちに供される。パケットが1つの入
力に到着すると、この入力に伴う調停回路は次のノード
への転送が可能である限り送信要求を受信する。調停回
路によって選択されたパケットはただちにこれらの受信
元へ送られる。主として次の4つの場合がある。 a)パケットはHIU、CEを介してPEに送られ、受
信元の処理に伴うバッファメモリに直接書込まれる。 b)パケットは他のCIUにおける送信ユニットに送ら
れる(クラスタ内トラフィック)。 c)パケットはHIUを介してグローバルメモリアクセ
スユニットに送られる。グローバルメモリ要求パケット
はGMAUに送られ、CMAUはこれに付随するグロー
バルメモリモジュールに対してDMAを発生する。 d)パケットは再びHIUを介してグローバルメモリ管
理ユニットに送られる。たとえば読出しデータを有する
グローバルメモリ要求パケットはGMMUに送られ、そ
こで未決定の要求とマッチングされる。
The receiving unit 61 comprises several buffered input multiplexers, each multiplexer having a round robin arbitration circuit for source selection. If the different types of packets are for local or non-local transfer, the packets are buffered separately. However, given any category,
There is space for only one packet at each multiplexer input, so the total buffer requirement is adequate. The receive buffer space is monitored by the CIU control unit, that is, regardless of the data currently being transferred, the CIU control unit generates an NC packet, which is directly transferred to the local transmission unit to serve as a control frame immediately. It When a packet arrives at one input, the arbitration circuit associated with this input will receive the transmission request as long as it can be transferred to the next node. The packet selected by the arbitration circuit is immediately sent to these receivers. There are four main cases: a) The packet is sent to the PE via the HIU and CE, and is directly written in the buffer memory associated with the processing of the receiving side. b) The packet is sent to the sending unit in another CIU (intra-cluster traffic). c) The packet is sent to the global memory access unit via the HIU. The global memory request packet is sent to the GMAU and the CMAU issues a DMA to its associated global memory module. d) The packet is sent again to the global memory management unit via the HIU. For example, a global memory request packet with read data is sent to the GMMU where it is matched with pending requests.

【0041】信号定義は、手法によって適当に変更され
るので、アーキテクチャの標準化さされたアクロス処理
系(across implentations)でな
い。これらの物理的な定義はアーキテクチャのより高い
層から切り離され、送信ユニット及び受信ユニット以外
のモジュールの設計に影響を与えることなく変更でき
る。
Signal definitions are not standardized across the implementations of the architecture, as they are modified appropriately by the technique. These physical definitions are decoupled from the higher layers of the architecture and can be changed without affecting the design of modules other than transmitter and receiver units.

【0042】要求バスラインは次のものである。 a)D15−D0:データ用 b)DELIM(ウォームデリミッタ):ウォームが開
始もしくは終了していることを示す(フレームフラグは
透明性の複雑化を避けるために用いない)。 c)CS(制御ストローブ):制御フレームを示す。 d)DS(データストローブ):リンク上の有効データ
ワードの存在を示す。
The required bus lines are: a) D15-D0: For data b) DELIM (Warm delimiter): Indicates that the worm has started or ended (the frame flag is not used to avoid complication of transparency). c) CS (control strobe): indicates a control frame. d) DS (Data Strobe): indicates the presence of valid data words on the link.

【0043】制御フームは送信ユニットと受信ユニット
との間の通信レベルを制御するのに用いる。制御フレー
ムはたとえば1ワード長もしくは2ワード長であり、受
信バッファ状態としての情報を有する。パケットの第1
のワードは受信NCによりルーティング情報を解釈でき
情報と共にクラスタアドレス指定情報を含む。受信ユニ
ットにおいては、このワードは除去されて無視され、つ
まり、新しいルーティング情報がパケットの前に存在す
ることになる。
The control frame is used to control the communication level between the transmitting unit and the receiving unit. The control frame has, for example, a one-word length or a two-word length, and has information as a reception buffer state. Packet first
Word can interpret the routing information by the receiving NC and includes the cluster addressing information as well as the information. At the receiving unit, this word is removed and ignored, i.e. new routing information will be present before the packet.

【0044】HIUはCIUから直接ローカル転送のた
めのパケットを受信し、これをCIUから直接送り、機
能を反転し、HEからのパケットを適当なCIUにデマ
ルチプレクスする。管理ユニット/HIUアセンブリ内
にはシステムタイムを維持するシステムクロックレジス
タ(図示せず)がある。スキューを慎重に最小化するこ
とによってシステム全体に唯一のグローバルロック信号
を分配することができる。グローバル時間は、適切であ
れば、HE動作を同期化させるためと共にパケットをス
タンプするのに用いることができる。
The HIU receives the packet for local transfer directly from the CIU, sends it directly from the CIU, reverses the function, and demultiplexes the packet from the HE to the appropriate CIU. Within the management unit / HIU assembly is a system clock register (not shown) that maintains system time. By carefully minimizing the skew, only one global lock signal can be distributed throughout the system. Global time, if appropriate, can be used to synchronize HE operations and also to stamp packets.

【0045】マルチコンピュータ設計において最も難し
い問題の1つは内部接続戦略の選択の問題であり、この
内部接続戦略は、多数の強力な処理エレメントに基づく
マシンにおける並列応用に対する真に一般的なサポート
を提供できるように十分融通制を有さねばならない。
One of the most difficult problems in multi-computer design is the choice of interconnect strategy, which provides truly general support for parallel applications in machines based on many powerful processing elements. You must have enough flexibility to provide.

【0046】[0046]

【発明の効果】本発明によれば、優れた接続性、高い帯
域性、低い待ち時間を有する一般化された超立方体トポ
ロジを提供できる。重要なことは、このアーキテクチャ
は非常に多くのプロセッサに対して可能であり、微細及
び粗野なプログラミング手法の両方に適する10〜1
のプロセッシングエレメントを有するMIMDマシ
ンの構成を可能にする。
According to the present invention, it is possible to provide a generalized hypercube topology having excellent connectivity, high bandwidth, and low latency. Importantly, this architecture is possible for a very large number of processors and is suitable for both fine and crude programming techniques 10 3 -1.
Allows the construction of MIMD machines with 0. 5 processing elements.

【図面の簡単な説明】[Brief description of drawings]

【図1】本発明に係わる2次元並列プロセッサを示すブ
ロック回路図である。
FIG. 1 is a block circuit diagram showing a two-dimensional parallel processor according to the present invention.

【図2】図1のノードの構成を示すブロック回路図であ
る。
FIG. 2 is a block circuit diagram showing a configuration of a node in FIG.

【図3】図1のクラスタの内部構成を示すブロック回路
図である。
FIG. 3 is a block circuit diagram showing an internal configuration of the cluster shown in FIG.

【図4】図3の変更例を示すブロック回路図である。FIG. 4 is a block circuit diagram showing a modified example of FIG.

【図5】図1のホストエレメントの詳細を示すブロック
回路図である。
5 is a block circuit diagram showing details of the host element of FIG. 1. FIG.

【図6】図1のCIUの詳細を示すブロック回路図であ
る。
FIG. 6 is a block circuit diagram showing the details of the CIU of FIG.

【符号の説明】[Explanation of symbols]

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 送信ユニット
10 Proxing Element (PE) 11, 12 Cluster (Subset) 13 Bus 20 Host Element (HE) 21 Proxing Element 22 Memory Element 23 Communication Element 24 Network Element (NE) 25, 26, 27, 28 Cluster Interface Element (CIU) ) 29 host interface unit (HIU) 30 network element management unit 54 global memory management unit (GMMU) 55 global memory access unit (GMAU) 61 reception unit 62 CIU control unit 63 transmission unit

───────────────────────────────────────────────────── フロントページの続き (72)発明者 ルイス・マクリーン・マッケンジー イギリス国、グラスゴウ、モンテン・スト リート 18 ジー4 9エイチエックス (72)発明者 ロバート・ジョン・サザーランド イギリス国、グラスゴウ、ランキャスタ ー・テラス 2 ジー12 0ユーティ ─────────────────────────────────────────────────── ───Continued from the front page (72) Inventor Louis McLean McKenzie, Glasgow, Munten Street, England 18 G49 AX (72) Inventor Robert John Sutherland England, Glasgow, Lancaster・ Terrace 2 G 120 U

Claims (8)

【特許請求の範囲】[Claims] 【請求項1】 次元Dで配置され複数のサブセットに分
割された複数のプロセッシングエレメント(10)を具
備し、1つのサブセットにおけるすべてのプロセッシン
グエレメントはこれらの間の通信のため1つのバス(1
3)を有し、前記各プロセッシングエレメントは各次元
における1つのサブセットのメンバであるプロセッサに
おいて、 1つのサブセットの各プロセッシングエレメントは出力
手段によって当該サブセットのバスに接続され、当該サ
ブセットの他の複数のプロセッシングエレメントにメッ
セージを送信し、 別個の入力手段は、当該サブセットの各他のプロセッシ
ングエレメントに対応し、各対応の入力手段上の前記他
のプロセッシングエレメントからのメッセージを受信す
ることを特徴とする並列プロセッサ。
1. Comprising a plurality of processing elements (10) arranged in a dimension D and divided into a plurality of subsets, all processing elements in a subset being one bus (1) for communication between them.
3), wherein each said processing element is a member of one subset in each dimension, each processing element of one subset is connected to the bus of that subset by output means and A parallel arrangement, characterized in that it sends a message to a processing element, a separate input means corresponding to each other processing element of the subset and receiving a message from said other processing element on each corresponding input means. Processor.
【請求項2】 1つのサブセットにおけるプロセッシン
グエレメントは1ラインに配列され、 該ラインの終端間に位置するプロセッシングエレメント
は、該ラインに沿って一方側の他のプロセッシングエレ
メントにメッセージを送出する1つの出力手段と、該ラ
インに沿って他方側の他のプロセッシングエレメントに
メッセージを送出する別個の出力手段とを有する請求項
1に記載のプロセッサ。
2. The processing elements in one subset are arranged in one line, the processing elements located between the ends of the line sending one message along the line to the other processing element on one side. A processor according to claim 1, comprising means and separate output means for sending a message along the line to other processing elements on the other side.
【請求項3】 前記各プロセッシングエレメントは、メ
ッセージパケットを発生し他のエレメントに送出する通
信手段を具備し、該通信手段はパケットの受信元が同一
のサブセットか他のサブセットかを示すアドレスを発生
する手段を具備する請求項1もしくは2に記載のプロセ
ッサ。
3. Each processing element comprises a communication means for generating a message packet and sending it to another element, said communication means generating an address indicating whether the source of the packet is the same subset or another subset. The processor according to claim 1, further comprising:
【請求項4】 前記各プロセッシングエレメントは、1
つのバス上のクラスタにおける他のエレメントからメッ
セージパケットを受信する手段と、パケットの送信元が
同一クラスタか異なる直交クラスタかを認識する手段
と、パケットの送信元が同一のクラスタのときに該パケ
ットを該エレメント内のメモリ内に書込み、前記パケッ
トの送信元が異なるクラスタのときに前記パケットを異
なる直交バスへ再送信する手段と、を具備する請求項3
に記載のプロセッサ。
4. Each processing element comprises one
Means for receiving a message packet from another element in a cluster on one bus, means for recognizing whether a packet source is the same cluster or different orthogonal clusters, and a packet source when the packet source is the same cluster Means for writing in memory within the element and retransmitting the packet to a different orthogonal bus when the sources of the packet are in different clusters.
Processor described in.
【請求項5】 さらに、前記各プロセッシングエレメン
トは、メッセージパケットを受信する手段と、該メッセ
ージパケット内のアドレスを変更する手段と、該メッセ
ージパケットを再送信する手段とを具備する請求項1か
ら4のいずれか1つに記載のプロセッサ。
5. The processing element further comprises means for receiving a message packet, means for changing an address in the message packet, and means for retransmitting the message packet. The processor according to any one of 1.
【請求項6】 さらに、前記プロセッシングエレメント
はメッセージパケットを発生し他のエレメントに送出す
る手段を具備し、該各メッセージパケットは、唯一のア
ドレス部と、少なくとも唯一の命令部及び唯一のデータ
部の1つとを含む請求項1から5のいずれか1つに記載
のプロセッサ。
6. The processing element further comprises means for generating a message packet and sending it to another element, each message packet comprising a unique address part and at least a unique command part and a unique data part. 6. A processor according to any one of claims 1 to 5, including one.
【請求項7】 1つのサブセットのバスは該サブセット
に接続された1つのエレメントのみの出力装置によって
電気的に駆動される請求項1から6のいずれか1つに記
載のプロセッサ。
7. A processor as claimed in any one of the preceding claims, in which a bus of a subset is electrically driven by an output device of only one element connected to the subset.
【請求項8】 2次元と3次元との間にある請求項1か
ら7のいずれか1つに記載のプロセッサ。
8. A processor as claimed in any one of the preceding claims, in between two and three dimensions.
JP3352657A 1990-12-20 1991-12-16 Parallel processor Pending JPH0635874A (en)

Applications Claiming Priority (2)

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

Publications (1)

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

Family

ID=10687320

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3352657A Pending JPH0635874A (en) 1990-12-20 1991-12-16 Parallel processor

Country Status (4)

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

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012528416A (en) * 2009-06-19 2012-11-12 ボード オブ レジェンツ,ユニヴァーシティ オブ テキサス システム On-chip interconnect network based on expandable bus
JP2015060565A (en) * 2013-09-20 2015-03-30 富士通株式会社 Information processing apparatus, communication method, and communication program
KR20170093698A (en) * 2016-02-05 2017-08-16 구글 인코포레이티드 Matrix processing apparatus

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SG47981A1 (en) * 1994-03-01 1998-04-17 Intel Corp Pipeline process of instructions in a computer system
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 (en) * 1985-12-13 1987-10-22 Elsag MULTI-PROCESSOR SYSTEM WITH MULTIPLE HIERARCHICAL LEVELS
US4933836A (en) * 1986-10-29 1990-06-12 United Technologies Corporation n-Dimensional modular multiprocessor lattice architecture
JP2509947B2 (en) * 1987-08-19 1996-06-26 富士通株式会社 Network control system
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 (en) * 2009-06-19 2012-11-12 ボード オブ レジェンツ,ユニヴァーシティ オブ テキサス システム On-chip interconnect network based on expandable bus
JP2015060565A (en) * 2013-09-20 2015-03-30 富士通株式会社 Information processing apparatus, communication method, and communication program
KR20170093698A (en) * 2016-02-05 2017-08-16 구글 인코포레이티드 Matrix processing apparatus
KR20190054052A (en) * 2016-02-05 2019-05-21 구글 엘엘씨 Matrix processing apparatus
US10417303B2 (en) 2016-02-05 2019-09-17 Google Llc Matrix processing apparatus
KR20200053461A (en) * 2016-02-05 2020-05-18 구글 엘엘씨 Matrix processing apparatus
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 (en) * 2016-02-05 2023-01-05 구글 엘엘씨 Matrix processing apparatus

Also Published As

Publication number Publication date
EP0492174B1 (en) 1999-02-03
EP0492174A3 (en) 1993-11-10
DE69130857D1 (en) 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
KR0150072B1 (en) Memory data path controller in parallel processing computer system
US6557069B1 (en) Processor-memory bus architecture for supporting multiple processors
US5581767A (en) Bus structure for multiprocessor system having separated processor section and control/memory section
EP0714534B1 (en) Multiple-port shared memory interface and associated method
JP2781623B2 (en) Memory access switch network
KR100259276B1 (en) Interconnection network having extendable bandwidth
CN101477512B (en) Processor system and its access method
EP1028380A2 (en) Memory interface unit, shared memory switch system and associated method
WO1986002510A1 (en) PACKET SWITCHED MULTIPLE QUEUE NxM SWITCH NODE AND PROCESSING METHOD
US5243704A (en) Optimized interconnect networks
JPH0635874A (en) Parallel processor
JPS6360579B2 (en)
JPH02228762A (en) Parallel processing computer system
JPH05241947A (en) Switching array in distributed cross-bar switch architecture
JP2731742B2 (en) Parallel computer with cluster configuration
JP2004520671A (en) Composite content addressable memory
EP1588276B1 (en) Processor array
EP0322116B1 (en) Interconnect system for multiprocessor structure
US20230280907A1 (en) Computer System Having Multiple Computer Devices Each with Routing Logic and Memory Controller and Multiple Computer Devices Each with Processing Circuitry
CN1125406C (en) Half-line communication processor supporting parallel computation of computer group
US20260093661A1 (en) Memory device providing interconnection between compute units in memory, and operating method thereof
US20030018781A1 (en) Method and system for an interconnection network to support communications among a plurality of heterogeneous processing elements
SU734697A1 (en) Switching device for multiprocessor system