JPH07509085A - 統一されたパラレル処理アーキテクチャのための方法と装置 - Google Patents
統一されたパラレル処理アーキテクチャのための方法と装置Info
- Publication number
- JPH07509085A JPH07509085A JP6503518A JP50351894A JPH07509085A JP H07509085 A JPH07509085 A JP H07509085A JP 6503518 A JP6503518 A JP 6503518A JP 50351894 A JP50351894 A JP 50351894A JP H07509085 A JPH07509085 A JP H07509085A
- Authority
- JP
- Japan
- Prior art keywords
- cluster
- memory
- clusters
- processors
- parallel processing
- 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.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/1652—Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
- G06F13/1657—Access to multiple memories
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/10—Distribution of clock signals, e.g. skew
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/1652—Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
- G06F13/1663—Access to shared memory
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17337—Direct connection machines, e.g. completely connected computers, point to point communication networks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17356—Indirect interconnection networks
- G06F15/17368—Indirect interconnection networks non hierarchical topologies
- G06F15/17381—Two dimensional, e.g. mesh, torus
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Multi Processors (AREA)
- Advance Control (AREA)
- Memory System (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるため要約のデータは記録されません。
Description
【発明の詳細な説明】
統一されたパラレル処理アーキテクチャのための方法と装置本発明は、一般に、
複数命令・複数データ(MIMD)パラレル処理を実行するためのパラレル処理
コンピュータシステムに関する。より詳し《は、本発明は、複数の多重プロセッ
サを、クラスタの幾つかのみが隣接して内部接続されている4個以上の物理的に
分離されたクラスタに組織化し、任意の隣接して内部接続された複数のクラスタ
にわたって画成される浮動分割されたメモリ空間において実行される複数のプロ
グラムを用いて用いられるべき分割されたメモリモデルを提供するとともに、隣
接しないで内部接続された複数のクラスタにわたって実行される任意のプログラ
ムを用いるべき分散型メモリモデルを提供する高性能なMIMD多重プロセッサ
のための統一されたパラレル処理アーキテクチャのための方法と装置に関する。
従来技術
パラレルコンピューティングの分野は、コンピュータの設計者がコンピュータ処
理システムの有効的な処理能力を高めることをめるにつれて、近年注目を受けて
いる。高性能なパラレル処理に関する現在の仕事のほとんどは、複数命令・複数
データ(MIMD)パラレル処理システムに対して関心が向けられてきている。
MIMDパラレル処理システムのための現在のアーキテクチャは、分散型メモリ
対分割されたメモリとの間でパラレルに実行すべき1つのプログラム内でデータ
を分割するために、2つの異なったメモリモデルの1つを用いる。分散型メモリ
モデルにおいては、データは各プロセッサの専用ローカルメモリにおいて記憶さ
れ、幾つかのタイプのメッセージ通過方法によって複数のプロセッサの中で通信
が行われる。分割されたメモリモデルにおいては、データは、パラレル処理シス
テムにおけるすべてのプロセッサに対して等し《アクセスすることが可能な共通
分割メモリにおいて記憶される。現在のMIMDパラレルアーキテクチャの優れ
た要約は、アルマシ(Almasi)とゴットリーブ(Gottlieb)によ
る高性能なパラレルコンピューティング,(1989年)チャブタ10.354
−475ペ一ジにおいて開示されている。
プログラマの視点からは、最も魅力があるパラレル処理システムは、グルーパル
に分割された物理アドレス空間を有する分割されたメモリモデルを使用するもの
である。分割されたアドレス空間は、プログラマに対して、パラレルプログラミ
ングのモデル化の選択の余地を残しており、より柔軟性のある問題の解空間を提
供する。さらに、はとんど現在のソフトウェアプログラムは、分散型又は専用型
メモリモデルに対向する、分割されたメモリモデルのために記述される。現在存
在するソフトウェアプログラムを分割型メモリモデルから専用型メモリモデルに
有効的に移行させるためには、多大な再プログラミングの仕事を必要とする。
分割型メモリモデルをプログラムすることがより容易である主たる理由の1つは
、分散型メモリモデルは、1つのプロセッサの専用型ローカルメモリに適合する
ためにそれぞれが十分に小さく、かつ同時にメツセージの通過環境においてパラ
レルタスクを確立するために必要とされるオーバーヘッドを埋め合わせるために
十分に大きい分離された複数のタスクにパーティションで分割されるパラレルプ
ログラミングの問題を含む、処理やデータを必ず必要とするということである。
分割型メモリモデルにおいては、平行タスクの大きさに関してほとんど制限条件
がな(、パラレルタスクを確立するために必要とされるオーバーヘッドは、分散
型メモリモデルによって必要とされるより複雑なメツセージ通過方法に関係する
オーバーヘッドよりも非常に小さい可能性がある。従って、多数のプロセッサが
すべて共通分割メモリにおける任意の並びにすべてのメモリロケーションに等し
くかつ対称的に調和してアクセスするパラレル処理のための、太き(かつ柔軟性
のある問題解決法を提供することができるパラレル処理システムを備えることが
所望される。
不幸にも、多数のプロセッサを有するパラレル処理システムのためのそのような
真実の分割型メモリモデルを設けるために必要とされるハードウェアは、高価で
あってかつ複雑である。2個、4個、又は8個のプロセッサを有する最小のパラ
レル処理システムにおける分割されたメモリに対して等しくかつ対称的に調和し
てアクセスすることを可能にするために、各プロセッサを直接にメモリの各バン
ク配線することが実際上可能であるとき、プロセッサの数がおよそ8を超えると
きに各プロセッサを直接にパラレル処理システムにおけるメモリの各パンクに配
線することが実際上不可能である。結果として、パラレル処理システムにおける
プロセッサの数がおよそ8を超えるときに、幾つかのタイプの拡張された分割型
メモリシステムが提案されている。
現在、はとんどの拡張された分割型メモリシステムは、各プロセッサと近接に関
係するローカルメモリを、ローカルメモリのすべてが、例えばBBNバタフライ
+、NYUウルトラコンピュータ・アンド・シンキングマシンズ、インコーポレ
イテッド、CM−1のような、システムのグローバルに分割されたアドレス空間
をともに備えたようなすべての他のプロセッサの複数のローカルメモリと接続す
るために、種々のマルチステージ内部接続技術を使用する。幾つかの拡張された
分割型メモリシステムは、各プロセッサのためのローカルメモリを、例えばカー
ネギーーメロンCMのような、キャッシュ・ライトスルー又は重複(デュプリケ
ート)アドレス空間のように動作するグローバルメモリと組み合わせる。また他
のシステムは、例えば、IBM−RP3及び米国特許第5,056,000号の
ように、各プロセッサがローカルで又はグローバルにのいずれかでアクセスする
ことができる1つのメモリを有し、かつローカルメモリとグローバルメモリとの
間の境界は動的に調整することができる、再構成可能なメモリモデルを提供する
。
そのような拡張された分割型メモリシステムにおける問題点は、メモリアクセス
がすべてのプロセッサから拡張された分割メモリにおけるすべてのメモリロケー
ションに対して等しくカリ対称的に調和して行われないということである。代に
おける異なったメモリロケーションに対してアクセスするときに、異なったメモ
リのレイテンシー(待ち時間又は呼び出し時間)に出会うかもしれない。このこ
とは、特に、そのローカルメモリへのプロセッサのアクセスを、遠隔のローカル
メモリ又はグローバルメモリへのそのプロセッサのアクセスと比較するときに真
実となる。本質的には、プロセッサのローカルメモリへのアクセスであるそのア
クセスのみが等しくかつ対称的で調和し、すべての他のメモリアクセスは変化可
能であって、幾つかの場合においては不確定であいまいである。結果として、こ
れらのシステムは、各パラレルタスクによって動作すべき関係するデータに対す
るメモリのほとんどすべての要求が、そのパラレルタスクを実行するプロセッサ
の個々のローカルメモリに対してなされるときに、最良にパラレル処理を実行す
る。1つのパラレルタスクによりて要求される関係するデータに対する小さい割
合の要求が個々のローカルメモリの外側のメモリにアクセスする必要があるとき
、パラレル処理の性能において大きな劣化が生じる。
遠隔的に分割メモリにアクセスするときの異なったレイテンシーの問題によって
影響を受けない拡張された分割メモリの部分を増大させるための方法においては
、少なくとも3個の異なったパラレル処理システムは、1つのグループにおける
すべてのプロセッサがそのグループのための1つの分割メモリに同様にアクセス
するように、ともに複数のプロセッサのための分割されたメモリをグループ分け
するという概念を含んでいる。このとき、これらのグループのプロセッサのすべ
ては、パラレル処理システムのための全体の拡張された分割メモリ空間を提供す
るために互いに接続される。
ケンダル・スクエア・リサーチKSR−1スーパーコンピュータにおいては、プ
ロセッサの1つのグループの複数のローカルメモリは、複数のセグメントの1つ
を形成するために、リングバス内部接続を介してともに接続される。このとき、
種々のセグメントは、先行する低いレベルのセグメントよりも少ないセグメント
を有する各より高いレベルのセグメントを用いて、′より高い”セグメントから
なるピラミッド型ハイアラキ−(階層)によって互いに接続される。複数の領域
の“より高い”セグメントのそれぞれは、分散型ハイアラキ−の基礎においてメ
モリ要求を転送するために、リングバス内部接続の形状にまた配置される複数の
転送装置を使用する。KSR−1スーパーコンピユータにおいては、複数のプロ
セッサのためのそのセグメントにおける他のプロセッサのローカルメモリに対す
る要求の中で、最も均一なレイテンシーとなっているが、ローカルメモリのアク
セスと、そのセグメント内のメモリアクセスと、そのセグメントの外側にあるメ
モリアクセスとの間で、メモリのレイテンシーにおいていまだ大きな差が存在す
る。結果として、KSR−1スーパーコンピユータにおいては、1つのコンピュ
ータプログラムを最も効率的に実行させるために、各パラレルタスクのためのメ
モリ要求の幾つかのメモリハイアラキ−の最適化を提供することがいまだ必要で
ある。
ユニバーシティ・オブ・イリノイのセダール・スーパーコンピュータにおいては
、各クラスタは、8×8クロスバ−スイッチ(交換機)を介して4方向にインタ
ーリーブされたラットパック型キャッシュにリンク接続されかつ、それを介して
1クラスタ当たり32Mバイトを有するローカルクラスタメモリに接続される8
個のプロセッサを有する。このとき8個のクラスタはもう1つの8×8クロスバ
−スイッチを介して1つのプロセッサ当たり8Mバイトを有するグローバルメモ
リにリンク接続される。グローバルメモリからクラスタメモリへの転送は、グロ
ーバルメモリからキャシュを介してかつクラスタメモリへの32バイトブロツク
のブロック転送によって実行される。各プロセッサはまた直接に、バイト毎の転
送に基礎をおいてグローバルメモリの一部分に対してアクセスすることができる
。セダール・スーパーコンピュータにおいては、内部クラスタ通信は、メモリハ
イアラキ−モデルの一部分(役割)であり、両方のクラスタにおける複数のプロ
セッサに対してグローバル分割メモリの共通のセクションに対して書き込ませる
ことによって、もしくは、グローバルメモリを介して他のクラスタが分割された
メモリにクラスタメモリのブロック転送を行うことによって、実行することがで
きる。KSR−1スーパーコンピユータに関しては、使用メモリのハイアラキ−
(階層)の最適化は、上記セダール・スーパーコンピュータにおいて最も効率的
に実行させるようにコンピュータプログラムを成功的にプログラムするために欠
くことができなものである。
米国特許第5,197,130号においては、4個のクラスタを用いたパラレル
処理スーパーコンピュータが開示されている。各クラスタは、唯一のアービトレ
ーションノードネットワークを介して、クラスタ分割メモリを形成するメモリの
1組のインターリ−ブトセクションに接続された4個と256個の高性能なスカ
ラー/ベクトルプロセッサの間に備えられる。各クラスタにおける複数のブロセ
ッサはまた、上記アービトレーションノードネットワークにおいて付加的なボー
トによってすべての3個の他のクラスタのクラスタ化された分割メモリに直接に
接続される。米国特許第5.197,130号のクラスタアーキテクチャを用い
て、1つの共通のアドレス空間は、主としてクラスタを分離する物理的な距離の
原因による異なったメモリのレイテンシー(待ち時間又は読み出し時間)である
クラスタ内(intra−cluster)メモリ要求とクラスタ間(inte
r−cluster)メモリ要求との間のほんの小さい差を有して、すべての4
個のクラスタからなるクラスタメモリにわたって画成される。従って、メモリの
ハイアラキ−の最適化のための必要なしに4個のクラスタの全体のアドレス空間
を通してプログラムのパラレル処理を提供することができる。
これらクラスタタイプのパラレル処理アーキテクチャに伴う問題は、すべてのク
ラスタが同一の1つの分割されたアドレス空間の一部としてともに直接に接続さ
れる必要があることである。不幸にも、直接に内部接続することができるクラス
タの数はそのような内部接続に対して要求されるコストと複雑さによって制限さ
れる。セダール・スーパーコンピュータの場合においては、各プロセッサの付加
に伴うグローバルなメモリに対してより多額お金が必要とされるにつれて、また
、さらにより大きなりロスバスイッチ(クロスバ交換機)が各クラスタをグーパ
ルメモリに直接に接続するために必要になるにつれて、付加的なりラスタを内部
接続するための複雑さとコストは指数関数的に増大する。米国特許第5.19で
グローバルメモリの量をもはや増加させる必要がない。しかしながら、クラスタ
間メモリ要求に対するメモリのレイテンシーを著しく増加させない方法で、各ク
ラスタを他のクラスタ毎に直接に内部接続することによって負わされる物理的な
制限は、多数のクラスタを直接に内部接続する問題を非常に難しくしている。
これらパラレル処理のスーパーコンピュータのいずれかにおいて内部接続するこ
とができるクラスタの数を制限する付加的な物理的制限は、全てのクラスタのた
めのクロック信号が同期化され、もしくは非同期通信の方法に関連する対応する
性能の欠点を有して、これらクラスタタイプのスーパーコンピュータのいずれか
における全てのクラスタが、互いに物理的に近接する必要があるということであ
る。
クラスタタイプのアーキテクチャはメモリのレイテンシーを変動させるという問
題に対する部分的な解を提供するが、クラスタタイプのアーキテクチャ自身は、
パラレル処理システムのための1つの共通アドレス空間を提供するために、全て
のクラスタをともに直接に接続することと関係する物理的な問題によって制限さ
れる。したがって、例えば、米国特許第5,197,130号のようなりラスタ
タイプのパラレル処理アーキテクチャは高性能なパラレルプロセッサの設計とア
ーキテクチャにおいて大きな改善を示すが、ともに内部接続されるべき多重プロ
セッサの有効的に制限されない数のクラスタを可能にするとともに、内部接続し
ているクラスタ化された多重プロセッサに対するこの物理的な制限をなくすこと
ができる、統一されたパラレル処理アーキテクチャを提供することが有効である
本発明は、高性能なパラレル処理コンピュータシステムを形成するために、複数
のプロセッサのための拡張可能な数のクラスタをともに接続するための、統一さ
れたパラレル処理アーキテクチャを提供する。本発明は、複数の多重プロセッサ
を4個又はそれ以上の物理的に分離されたクラスタに組織化し、各クラスタは、
そのクラスタにおいて全てのプロセッサによって対称的にアクセス可能である共
通りラスタ分割メモリを有する。この拡張された分割メモリのクラスタタイプア
ーキテクチャとは異なり、クラスタのただいくつかが本発明において隣接して内
部接続される。分割されたメモリモデルは、1つのクラスタのクラスタ分割メモ
リにおいて、または、隣接して内部接続されたクラスタの任意の組のクラスタ分
割メモリからなる拡張された分割メモリ空間にわたって画成される浮動分割メモ
リにおいて、実行することができるプログラムを用いて使用することができる。
分散型メモリモデルは、隣接しない任意の内部接続されたクラスタのクラスタ分
割メモリにおいて、実行されるべき任意のプログラムを用いて使用することがで
きる。
本発明においては、もし相対的なメモリのレイテンシーと相対的なデータの局所
性(ローカルティー)に関係するあるメモリアクセス条件が有効的な分割メモリ
のパラレルプログラミング環境を形成することができるならば、複数のクラスタ
は、浮動分割メモリを形成するように隣接して内部接続される。これらの条件を
満足することができるこららのクラスタのみをともに隣接して接続することによ
って、本発明によって生成された浮動分割メモリは、全てのブロセ、ツサが浮動
分割メモリの1つの分割アドレス空間をアクセスすることができるある拡張され
た分割メモリモデルによって提供された問題の解の空間の大きさを増大させるた
めに必要な、増加した内部接続に対する性能を犠牲にする必要はない。浮動分割
メモリを有効的に生成するためのプロセッサの複数のクラスタの隣接した内部接
続は、メモリモデルの3つのタイプ全て、すなわち純粋の分割メモリと、拡張さ
れた分割メモリと、分散型分割メモリとを、統一されたパラレル処理アーキテク
チャに結合する。したがって、本発明は、クラスタ内メモリのアクセスの性能が
著しく劣化するポイントにおいて、平衡しているこれら2つの考察方法の間にお
けるトレードオフを伴って、第1には、パラレル処理(平行処理)の性能を提供
し、第2にはプロセッサとメモリとの内部接続の柔軟性を提供する。
4個又はそれ以上のクラスタの多重プロセッサは、種々のハードウェアの内部接
続のトポロジーを用いて隣接して内部接続してもよい。好ましい実施例において
は、クラスタのそれぞれは、2個又はそれ以上のプロセッサと1個又はそれ以上
の入力/出力ポートを含む物理的に分離可能な装置であり、それらの全てはノー
ドスイッチング機構を介して同種のクラスタ分割メモリに、対称的に接続される
。上記クラスタのそれぞれに対する、2個又はそれ以上の外部クラスタ接続は、
2個又はそれ以上の隣接して内部接続されたクラスタのクラスタ分割メモリに、
任意の1個のクラスタにおけるプロセッサを隣接して接続するためのワード毎の
通信パスを提供する。分散型メモリ通信機構はまた、全てのクラスタのクラスタ
分割メモリを含む拡張可能なアドレス空間を画成するように、任意の隣接しない
内部接続されたクラスタの中で、メツセージ通過通信手段を提供するために用い
られる。
本発明の好ましい実施例のパラレル処理の能力をさらに高めるために、各多重プ
ロセッサのクラスタは、複数のクラスタの中でパラレル処理を協働実行させるた
めに、拡張可能なりロック機構と、拡張可能なコントロール機構とを備える。
上記拡張可能なりロック機構は、パラレル処理システムの物理的に分離可能な構
成要素の中で、複数のクロック信号における位相とデユーティサイクルを異なら
せる問題を解決する。上記拡張可能なコントロール機構は、上記コンピュータ処
理システムにおいてパラレルで実行される複数の処理の中で、協働実行し、かつ
通信を実行するために、分散型をベースとするオペレーティングシステムによっ
て使用することができるコントロール機構を提供する。
従って、本発明の第1の目的は、高性能なパラレル処理コンピュータシステムを
生成するために複数のプロセッサの拡張可能な数のクラスタをともに接続するた
めの統一されたパラレル処理アーキテクチャを提供することにある。
本発明のもう1つの目的は、内部接続されているクラスタ化された多重プロセッ
サに対する上記物理的な制限を解消することができる統一されたパラレル処理ア
ーキテクチャを提供することにある。
本発明のまたもう1つの目的は、分割メモリと拡張された分割メモリと分散型メ
モリモデルのために従来のメモリモデルの統一化して結合する、統一されたメモ
リモデルを提供することにある。
本発明の別の目的は、任意の隣接して内部接続されたクラスタにわたって画成さ
れる浮動分割メモリ空間において実行されるプログラムを用いるべき分割メモリ
モデルと、隣接しないで内部接続されたクラスタにわたって実行される任意のプ
ログラムを用いて使用されるべき分散型メモリモデルとを可能にするパラレル処
理コンピュータシステムを提供することにある。
本発明のまたもう1つの目的は、物理的に分離可能な構成要素を有する多重プロ
セッサシステムにおいて同期クロックシステムにおいて必要とされる物理的な問
題を解決することができる、上記物理的に分離可能なりラスタは全て拡張可能な
りロック機構と内部接続されるクラスタ化された多重プロセッサシステムを提供
することにある。
本発明のこれらの目的と他の目的は、図面と好ましい実施例の詳細な説明と、添
付の請求の範囲とを参照することにより明らかになるであろう。
図面の簡単な説明
図1aと図1bはそれぞれ、従来技術におけるパラレル処理システムのための2
つの異なった基本的な、メモリモデル、すなわち理想的な分散型メモリモデルと
理想的な分割メモリモデルとを示す簡単化されたブロック図である。
図2a−図2eは、従来技術におけるパラレル処理システムのための幾つかの異
なった拡張された分割メモリモデルを示す簡単化されたブロック図である。
図3aと図3bは、それぞれパラレル処理効率の関数として、拡張された分割メ
モリシステムの相対的なメモリのレイテンシーと相対的なデータの局所性を示す
グラフである。
図4は、本発明の統一されたパラレル処理アーキテクチャの好ましい実施例の簡
単化されたブロック図である。
図5a−図5dは、本発明に係る、複数のクラスタをともに隣接して接続するた
めの4つの異なったクラスタ接続のトポロジーを示すブロック図である。
図6は、本発明の好ましい実施例の1次元のリングタイプのクラスタ内部接続の
より詳細なブロック図である。
図7は、拡張可能なりロック機構を備えた回路を含む、本発明の隣接クラスタ接
続機構の好ましい実施例のブロック図である。
好ましい実施例の詳細な説明
本発明がどのように新しい統一されたパラレル処理アーキテクチャを提供するか
をよりよく理解するために、従来技術のパラレル処理システムの種々のアーキテ
クチャについて簡単に説明する。基本的には従来技術のパラレル処理システムの
ためのメモリモデルは、分散型メモリモデル、分割メモリモデルまたは拡張され
た分割メモリモデルのいずれかに分類することができる。これらのモデルのそれ
ぞれは、利点と欠点を有している。
図1aと図1bは、従来技術におけるパラレル処理システムのための2つの基本
的なメモリモデルにおけるプロセッサとメモリとの内部接続を示す簡単化された
ブロック図である。図1aは、複数のプロセッサ12を内部接続するためのメツ
セージ通過接続部10を示し、各プロセッサはローカルメモリ14を有して、理
想的な分散型メモリモデルのパラレル処理システムを形成する。分散型メモリモ
デルのパラレル処理システムの一例は、インテル・コーポレイション製i PS
Cスーパーコンピュータである。分散型メモリモデルは1つのパラレル処理シス
テムの一部分(役割)として指数関数的に制限されない数のプロセッサをともに
接続することができるが、そのような分散型メモリモデルの大きな欠点は、それ
ぞれのプロセッサ12のみがそれ自身のローカルメモリ14におけるアドレス空
間に対するアクセスを有することである。全ての他の内部プロセッサの通信は、
上記メツセージ通過接続部10を介して行う必要がある。図1bは、複数のプロ
セッサ22を共通分割メモリ24に内部接続して、理想的な分割メモリモデルの
パラレル処理システムを形成するための直接接続部20を示す。分割メモリモデ
ルのパラレル処理システムの一例は、クレイ・リサーチ・インコーホレイテッド
製Y/MPスーパーコンピュータである。このタイプのシステムは最も柔軟性の
あるパラレル処理システムを提供するが、一般的には、およそ8個を超えるプロ
セッサ22を1つの共通分割メモリ24に直接に接続することはできない。
従来技術の拡張された分割メモリのパラレル処理システムは、分割メモリモデル
のパラレル処理システムの直接接続の制限の幾つかを解消することができ、より
多(のプロセッサを、パラレル処理システムのための共通アドレス空間を形成す
る全てのメモリ構成要素に接続することを可能にする。本発明の目的のために、
拡張された分割メモリモデルのパラレル処理システムは、全てのプロセッサが全
てのメモリに直接にかつ対称的に接続されないが、全てのメモリが1つの全領域
でアクセス可能なアドレス空間の一部分(役割)を構成する、任意のパラレル処
理システムとして画成される。図2a−図2eは、従来技術における種々の拡張
された分割メモリのパラレル処理システムの幾つかのための、プロセッサとメモ
リとの内部接続を示す簡単化されたブロック図である。
(以下余白)
図2aは、拡張された分割メモリンステムの一例としてシンキング・マシーンズ
・インコーホレイテッド製CM−1スーパーコンピュータを示し、これは、個々
のプロセッサ32を内部接続するためのマルチステージスイッチングネットワー
ク30を使用し、全てのローカルメモリ34がともに内部接続されて拡張された
分割メモリを形成するように、各プロセッサ32はローカルメモリ34を有する
。図2bは、拡張された分割メモリシステムの一例として、ケンダル・スクエア
・リサーチ製KSR−1スーパーコンピュータを示し、これは階層的なリング構
造に従って、全てがともに接続された複数のセグメント40を使用する。各セグ
メント40はともに1組のプロセッサ42のローカルメモリ44をグループ化す
る。セグメント40はそれ自身情報転送プロセッサとしてのみ動作する1つ又は
それ以上のより高い領域46によってともにグループ化される。図20は、再構
成可能なメモリシステムの一例として、IBM製RP3パラレル処理システムを
示し、これはローカルメモリ、グローバルメモリ、又はそれらの幾つかの組み合
わせとして、32個のプロセッサ52のそれぞれのメモリ構成要素54を選択的
に構成するためのコントロールネットワーク50を使用する。図2dは、拡張さ
れた分割メモリシステムの一例としてユニバーシティ・オブ・イリノイのセダー
ル・スーパーコンピュータを示し、それはプロセッサ62の全ての8個のクラス
タ60をともにグローバルメモリ64を介して直接に接続する。各クラスタ60
は、クラスタ分割メモリ66に直接に接続されるとともに、グローバルメモリ6
4に接続される8個のプロセッサ62を備える。最後に図2eは、米国特許第5
.197.130号のスーパーコンピュータを示し、4個の全てのクラスタ70
をともに直接に接続する。各クラスタ70は、唯一のアービトレーションノード
ネットワーク76を介して、クラスタ分割メモリ74に対称的にアクセスする1
6個のプロセッサ72を備える。
異なった拡張された分割メモリのパラレル処理アーキテクチャは異なった種類の
パラレルプログラミング問題に対して良好に働(が、はとんどの種類のパラレル
プログラミングの問題に対する一般的に動作可能な解を提供するものは何もない
。さらに、これらのアーキテクチャのそれぞれは、当該パラレル処理システムに
有効的に付加することができるプロセッサの数において制限される。これらのア
ーキテクチャのいずれもが、理想的な分割メモリモデルに出来る限り近い拡張さ
れた分割メモリモデルを提供するような方法で、拡張可能な量のプロセッサに、
拡張可能な量のメモリを接続することを可能にすることができない。
種々の拡張された分割メモリシステムのために、メモリのレイテンシーとパラレ
ル処理の効率とを解析することによって、本発明者は、拡張された分割メモリモ
デルのための最適なパラレル処理性能は一般的に、あるメモリアクセスの条件の
もとで生じることを発見した。いま図3aと図3bとを参照すれば、2つの最も
重要なこれらの条件、すなわち相対的なメモリのレイテンシーと相対的なデータ
の局所性とが、パラレル処理効率の関数として図示されている。図3aに示すよ
うに、相対的なメモリのレイテンシーの効果は、拡張された分割メモリの種々の
メモリの部分の中でのメモリのレイテンシーにおける差が比較的小さいに違いな
い、すなわち、最も低速の平均的なメモリアクセスは、最も高速のメモリアクセ
スのそれの約5倍から10倍までを越えない必要があるということがわかるであ
ろう。好ましくは、最も低速の平均的なメモリアクセスは、最も高速なメモリア
クセスのそれの約2倍にすぎない。同様に、図3bに図示されるように、相対的
なデータの局所性の効果は、当該システムのより低速のメモリ部分に対するメモ
リアクセスの相対的な数は比較的小さくなり、すなわちクラスタ間メモリアクセ
スの数はクラスタ内メモリアクセスの数の約10−12%よりも小さい必要があ
るということがわかるであろう。このような状況においては、クラスタ間メモリ
アクセスは、平均的なメモリのレイテンシーが1よりも大きいところでのメモリ
アクセスとして定義される。拡張された分割メモリモデルにわたる最適な性能の
ために、クラスタ間メモリアクセスの数は好ましくは、任意の与えられたパラレ
ルプログラミングタスクに対して、メモリアクセスの全体の数の約1−5%にな
る必要がある。
パラレル処理システムのためにより効率的なメモリモデルを提供するために、本
発明は、分散型メモリモデルと分割メモリモデルと拡張された分割メモリモデル
との唯一の組み合わせを利用して統一されたパラレル処理アーキテクチャを形成
する。本発明の統一されたパラレルアーキテクチャの好ましい実施例は、図4を
参照して説明される。4個のクラスタ100a、100b、100c、100d
はともにパラレル処理コンピュータシステムを備える。各クラスタ100aは、
接続ノード106aを介してクラスタ分割メモリ104aに対称的に接続される
2個以上のプロセッサ102aを備える。クラスタ100a、100b、100
C,100dの幾つかであるが、全てではないクラスタは隣接して内部接続され
る。
図4に図示された実施例においては、クラスタ100a、100b、100cは
ともに隣接して接続されて第1の浮動分割メモリ110を形成し、クラスタ10
0b、100c、100dはともに隣接して接続されて第2の浮動分割メモリ1
10°を形成する。第1の浮動分割メモリ110においては、クラスタ100a
における複数のプロセッサ102aは、クラスタ100aのクラスタ分割メモリ
104aを直接にアクセスすることができ、クラスタ100b、100cのクラ
スタ分割メモリ104b、104cを隣接してそれぞれアクセスすることができ
る。同様に、第2の浮動分割メモリ110゛においては、クラスタ100dにお
ける複数のプロセッサ102dは、クラスタ100dのクラスタ分割メモリ10
4dを直接にアクセスすることができ、クラスタ100b、100cのクラスタ
分割メモリ104b、104cを隣接してそれぞれアクセスすることができる。
しかしながら、クラスタ100aの複数のプロセッサ102aはクラスタ100
dのクラスタ分割メモリ10.46を直接に又は隣接にアクセスすることができ
ない。同様に、クラスタ100dのプロセッサ102dは、クラスタ100aの
クラスタ分割メモリ104aを直接にまたは隣接してアクセスすることはできな
い。
クラスタ100aと100dの間のアクセスのただ1つのタイプは、詳細後述す
るように、パラレルプログラミングのために分散型メモリモデルを収容すること
ができる分散型メモリ通信機構の幾つかの形式を取り得る。
従来技術のパラレル処理システムとは異なり、本発明は、3つのタイプのメモリ
モデルを全て結合する。共通分割メモリ104aに対する対称的なアクセスを有
する真の分割メモリモデルは、クラスタ100aにおける全てのプロセッサ10
2aに対して提供される。拡張された分割メモリモデルは、例えば、浮動分割メ
モリ110におけるクラスタ分割メモリ104a、104b、104cを隣接し
てアクセスする全てのプロセッサ102a、102b、102cの全てに対して
提供される。最後に、分散型分割メモリモデルは、例えば、隣接しないで接続さ
れたクラスタ100dのクラスタ分割メモリ104dをアクセスする必要がある
全てのプロセッサ102aに対して提供される。本発明の統一されたメモリモデ
ルに対するただ1つの制限は、メモリが好ましくは、クラスタ内メモリアクセス
とクラスタ間メモリアクセスの両方に対して同質(同様)である必要がある。
本発明の目的のために、同質のメモリは記憶フォーマットとアクセスフォーマッ
トとが同一であるメモリである。隣接クラスタの内部接続の一部分(役割)とし
てクラスタ間メモリのフォーマット変換機構を提供することができるが、そのよ
うなフォーマット変換を備えるために必要な時間と処理能力は、相対的なメモリ
のレイテンシーにおいて、本発明の隣接の内部接続アーキテクチャを著しく制限
するであろう。
本発明の好ましい実施例において、種々のメモリとプロセッサの構成要素は、高
性能なパラレル処理コンピュータシステムを提供するように選択される。プロセ
ッサ102a、102b、102c、102dはそれぞれ複数のメモリポートを
有する高性能なスカラー/ベクトルプロセッサからなり、クラスタ分割メモリ1
04a、104b、104c、104dは、高性能な複数のセクシ=ンであり、
このタイプの1つのセクションメモリ当たりの複数のバンクは米国特許第5,1
97.130号において図示されかつ記述されている。
しかしながら、本発明の統一されたパラレル処理アーキテクチャを備えたプロセ
ッサの多くの異なったタイプが有効的に利用することができることが認識される
であろう。たとえば、商業的に利用可能なメモリチップと同様に、商業的に1チ
ツプのマイクロプロセッサを利用する本発明にかかるパラレル処理コンピュータ
システムを構築することができるであろう。取って代わって、分割メモリと拡張
された分割メモリの多重プロセッサシステムを用いることは、本発明の統一され
たパラレル処理アーキテクチャの利点を失うことになるであろう。最後に、本発
明を同様の種類のプロセッサのみをともに接続することに制限することは何もな
いということが理解されるであろう。例えば、1つのクラスタを1つの種類の汎
用プロセッサとともに位置させることは可能であり、第2のクラスタを、例えば
信号処理を実行するためにより適している異なった種類の専用のブロモ・ソサと
ともに位置させることは可能である。同様に、2つの異なった種類のプロセッサ
は、1つのクラスタの一部号(役割)として統合することができ、1つのクラス
タは本発明にかかるパラレル処理コンピュータシステムに接続される。
好ましい実施例においては、接続ノード106a、106b、106c、106
dは好ましくは前述の係属中の出願に図示されかつ記述された唯一のアービトレ
ーションノードタイプにてなる。上記唯一のアービトレーションノードは、1つ
のクラスタ100aにおけるクラスタ分割メモリ104aに対して、全てのプロ
セッサ102aによって直接的にかつ対称的にアクセスすることを可能にさせる
。しかしながら、直接接続のネットワーク又は均一のマルチステージ接続ネット
ワーク等の他のタイプの接続ノードは本発明とともに同様に、等しく用いること
ができることが認識されるであろう。本発明の接続ノード106に対するただ1
つの制限は、それらが、そのクラスタ100a内で全てのプロセッサ102aに
よって、クラスタ分割メモリ104aに直接かつ対称的なアクセスを本質的に提
供することである。言い換えれば、接続ノード106aを介して、クラスタ分割
メモリ104aにプロセッサ102aによる任意のクラスタ内メモリアクセスは
それぞれほぼ1である相対的なメモリのレイテンシーと、相対的なメモリの局所
性を有するであろう。
いま図5a−図5dを参照すれば、本発明にかかる複数のクラスタをともに隣接
して接続するための4つの異なったクラスタ接続のトポロジーが図示されている
。図5aにおいては、1次元のリングタイプ接続が図示され、ここで、6個のク
ラスタ100(クラスタA−E)のそれぞれが他の2つのクラスタに隣接して接
続され、これによって、4個の浮動分割メモリ110 (FSMI−FSM4)
を形成し、各浮動分割メモリは、3個のクラスタ分割メモリの全体のメモリ空間
を有する。図5bにおいては、2次元のマトリックスタイプの接続が図示され、
ここで、12個のクラスタ100 (A−L)のそれぞれが4個の他のクラスタ
と隣接して接続され、これによって12個の浮動分割メモリ110を形成する。
図示の簡単化のために、それらの1つはそれぞれ、陰がつけられた領域B、E、
F。
G、Jとして図示されている。この実施例においては、各浮動分割メモリ110
は5個のクラスタ分割メモリの全体のメモリ空間を有する。図50においては、
3次元の立方体タイプの接続が図示され、ここで、27個のクラスタ100(A
−I、 A’ −1’ 、 A”−■”)のそれぞれは他の6個のクラスタに隣
接して接続される(図示の簡単化のために、例えば、クラスタAとA”との間の
接続は図示せず。)。この配置において、27個の浮動分割メモリ110が存在
する。再び、図示の簡単化のために、それらの1つはそれぞれ、陰がつけられた
領域E。
B’ 、 D’ 、E’ 、F’ 、 H’ 、E”として図示される。この実
施例においては、各浮動分割メモリ110は7個のクラスタ分割メモリの全体の
メモリ空間を有する。最後に、図5dにおいては、4個のクラスタ100′に対
する1次元のリングタイプ接続の対を有するとともに、他の6個のクラスタ10
0”に対する2次元のマトリックスタイプの接続を有する、不均一なりラスタ接
続が図示されている。4隅のクラスタAの1つに中心を有する第1の浮動分割メ
モリ110は、陰がつけられた領域A、B、C,D、 G、B’ 、C’ とし
て図示され、第2の異なった大きさの浮動分割メモリ110゛は陰がつけられた
領域A”、B”、C”として図示されている。
均−及び不均一の接続の両方を含む本発明のクラスタ100が、隣接して内部接
続されることが可能である多くの方法があることがわかるであろう。その特徴は
、相対的なメモリのレイテンシーと相対的なデータの局所性に関する拡張された
分割メモリの原理が特定の隣接のクラスタ内部接続のトポロジーによって実現さ
れる時のみに、上記隣接の内部接続を形成することができるということである。
本発明の好ましい実施例は高性能なパラレル処理コンピュータシステムを提供す
るように設計されるが、本発明の統一されたパラレル処理アーキテクチャは、そ
のようなシステムを構成する個々のプロセッサやメモリの構成要素の性能レベル
にかかわらず、任意のタイプのパラレル処理コンピュータシステムに等しく適用
することができるということがまた理解される。
本発明の目的は、当該システムのパラレル処理効率を最適化するために用いるこ
とができる統一されたメモリモデルを提供する方法で、パラレル処理コンピュー
タシステムのプロセッサとメモリ構成要素とを組織化することにある。これに関
しては、平均的なパラレル処理タスクに対する相対的なメモリのレイテンシーと
相対的なデータの局所性を示すグラフは、そのようなシステムを構築する個々の
プロセッサとメモリ構成要素をいかに最良に組織化するかを決定するときに有用
であるということを示す。共通分割メモリを提供するために、4個以上のグルー
プのプロセッサが存在する必要があり、各グループは、そのグループのプロセッ
サと関係する共通分割メモリに対して直接的かつ対称的にメモリアクセスする少
な(とも2個以上のプロセッサを有する。拡張された分割メモリは、本発明によ
って教授された制限条件内での相対的なメモリのレイテンシーと相対的なデータ
の局所性とを有する浮動分割メモリを画成するように、隣接して内部接続される
少な(とも3つのグループのプロセッサによって提供される。最後に、分散型メ
モリは、隣接しないで内部接続された少なくとも2つのグループのプロセッサに
よって提供される。分散型メモリ通信機構は、相対的なメモリのレイテンシーと
相対的なデータの局所性に関して性能を犠牲にすることなしに、多重プロセッサ
の内部接続を提供するように、任意の隣接しないグループにおけるプロセッサを
接続するために用いることができる。
本発明の教えに従えば、もう1つのクラスタのクラスタ分割メモリに対する1つ
のクラスタにおけるプロセッサによるクラスタ間メモリアクセスの平均的なメモ
リのレイテンシーは、そのクラスタ内でのクラスタ分割メモリに対する1つのプ
ロセッサによるクラスタ内メモリアクセスの平均的なメモリのレイテンシーより
も大きくかつその約10倍よりも小さいときに、任意の2つのグループ又はクラ
スタの多重プロセッサは隣接して内部接続されることが可能である。さらに、ク
ラスタ間メモリアクセスが平均のパラレルタスクに対するクラスタ内メモリアク
セスの約10%よりも小さいときにのみ、複数のクラスタは隣接して内部接続さ
れることが好ましい。より最適な性能のために、もしクラスタ間メモリアクセス
の平均的なメモリのレイテンシーがクラスタ内メモリアクセスの平均的なメモリ
のレイテンシーよりも大きくかつその5倍よりも小さく、かつクラスタ間メモリ
アクセスの数の平均値がある平均的なパラレルタスクに対してクラスタ内メモリ
アクセスの数の5%よりも小さいときのみ、複数のクラスタは隣接して内部接続
される。最良のパラレル処理効率は、クラスタ間アクセスの平均的なメモリのレ
イテンシーがクラスタ内アクセスの平均的なメモリのレイテンシーよりも大きく
かつその2倍よりも小さくかつ、クラスタ間メモリアクセスの数の平均値がある
平均的なパラレルタスクに対するクラスタ内メモリアクセスの数の1%よりも小
さいときにのみ、複数のクラスタが隣接して内部接続されるときに達成されるで
あろう。
いま図6を参照して、接続ノード106の好ましい実施例について説明する。
概念的なレベルでは、接続ノード106は、複数のプロセッサ102と1個又は
それ以上の入力/出力ポート108とを同一のクラスタ100aにおけるクラス
タ分割メモリ104に対称的に内部接続する複数のクロスバ−スイッチ機構を備
える。典型的には、全体のクロスバ−スイッチは、リクエスタとリソースとが同
一の数だけ存在する場合に、各リクエスタを各リソースに接続することを可能に
する。好ましい実施例においては、接続ノード106は、リソースの数よりもリ
クエスタの数が多い状態において、全体のクロスバ−スイッチと同様の結果を達
成することができる。クラスタ分割メモリ104に対するプロセッサ102の直
接的かつ対称的なアクセスを提供する接続ノード106内で、複数のアービトレ
ーションノード120が存在する。
好ましい実施例においては、最大32個のプロセッサ102と最大28個の入力
/出力ポート108とを、分割クラスタメモリ104に内部接続することができ
る各クラスタ100のための16個のアービトレーションノード120が存在す
る。各アービトレーションノード120は、8対の1方向のパラレルバス105
によって分割クラスタメモリ104に接続される。1方向のバス107の1つの
パラレル対は、各アービトレーションノード120を分割コントロール機構12
2に接続し、当該分割コントロール機構122は、このクラスタ100に対して
、複数のグローバルレジスタ(図示せず。)と割り込み機構(また図示せず。)
との1組を含む。バス105と107のそれぞれは、エラー訂正コードと、パリ
ティビットを有するコントロール信号とアドレス信号とを用いて、フエチデータ
バスと、ストアデータバスとを含む。バス105と107のすべては、各クロッ
クサイクル毎に1データワードのレートで転送を要求することができる。好まし
い実施例においては、すべてのバス105,107は、情報の各ビットに対する
差動信号をサポートすることができる2つの電気的な接続からなる。アービトレ
ーションノード120の特別な動作は、米国特許第5.197.130号におい
てより詳細に記述される。
各クラスタを他のすべてのクラスタに直接に接続するために、アービトレーショ
ンノード120から分離された唯一の遠隔のクラスタアクセス機構を用いた米国
特許第5.197.130号におけるクラスタアーキテクチャとは異なり、アー
ビトレーションノード120の幾つかはまた、隣接のクラスタ接続を実行するた
めに用いられるクラスタ接続機構130を提供する。好ましい実施例においては
、クラスタ100aのプロセッサ102aは、接続ノード106aにおける2つ
の分離したクラスタ接続出力ポート132aを介してクラスタ分割メモリ104
b。
104Cに隣接して接続される。クラスタ100bにおいては、クラスタ間メモ
リアクセスは、隣接して接続されたクラスタ100aから接続ノード106bに
接続されたクラスタ接続入力ポート134bを介して受信される。従って、クラ
スタ100の任意の隣接する対の間のクラスタ接続機構120の好ましい実施例
は、クラスタ接続ポート132と134の2つの分離された対を備え、1つの対
は各方向で内部クラスタのメモリアクセスのために備えられることが分かる。
クラスタ間の相対的なメモリのレイテンシーと相対的なデータの局所性に対する
パラメータに応答して、クラスタ接続ポート132.134の対のそれぞれは、
クラスタ間メモリアクセスをできるかぎり高速で実行することが可能にする1方
向のワード毎の通信バスである。クラスタ接続ポート132と134を介して隣
接するクラスタに対する任意のクラスタ間メモリアクセスは、クラスタ100a
におけるプロセッサ102aを、例えば、浮動分割メモリ110によって生成さ
れた拡張された分割メモリモデルによって形成された1つのアドレス空間の一部
分(役割)として、クラスタ分割メモリ104b、104cにおいて記憶された
データに対して直接に動作させることを可能にする。
好ましい実施例においては、クラスタにおけるプロセッサ102aの任意のもの
からのクラスタ間メモリアクセスは、アービトレーションノード120aによっ
て、接続ノード106aの論理的なパートである共通りラスタ間ディスバッチ回
路(図示せず。)に自動的にルート指定(ルーチング)される。そこから、クラ
スタ間メモリアクセスは、クラスタ間メモリアクセスと関係するメモリアドレス
に依存して、適当なりラスタの接続比カポ−)432aにルート指定(ルーチン
グ)される。クラスタ間メモリアクセスが隣接するクラスタ100bにおけるク
ラスタの接続入力ポート134bによって受信されるときに、それは、対応する
アービトレーションノード120bを介してクラスタ化された分割メモリ104
bにルート指定(ルーチング)される。クラスタ間メモリアクセスがいったんク
ラスタ分割メモリ104bにおける適当なメモリバンクによってサービスされた
ならば、それは、接続ノード106b内の共通りラスタ間ディスパッチ回路に戻
される。そこから、クラスタ間メモリアクセスの結果は、適当なりラスタ接続出
力ポート132bにルート指定(ルーチング)され、このとき、このクラスタ間
メモリアクセスと関係する特定のクラスタ100を識別するメモリアクセスと関
係するタグを用いる。クラスタ接続入力ポート134aを介してクラスタ間メモ
リアクセスの結果を受信するときには、共通りラスタ間ディスバッチ回路は、ど
のアービトレーションノード120が特定の内部クラスタのメモリアクセスを発
行しそこからその結果をそのメモリポートに戻されるときの、どのメモリポート
であるかを決定する。好ましい実施例においては、共通りラスタ間ディスバッチ
回路はまた詳細後述するようにクラスタ分割コントロール機構122の一部分で
ある。共通りラスタ間ディスパッチ回路によるクラスタ間メモリアクセスをルー
ト指定するための1つの方法のより詳細な説明のために、米国特許第5. 19
7゜130号が参照される。
高性能なパラレル処理コンピュータシステムのための好ましい実施例においては
、プロセッサ102のクロック速度とクラスタ100の物理的な配置は、クラス
タ間メモリアクセスが、クロックサイクル毎にクラスタ内メモリアクセスをサー
ビスすることに比較して、他のクロックサイクル毎にサービスされることができ
るように設定される。このことは、クラスタ間通信バス140にわたる転送にお
いてより長いセットアツプ時間及びラッチ時間を可能にするために実行される。
クラスタ内パス105と107に関して、複数の差動信号はまた、好ましい実施
例における高速のクロック速度とこれらのパスの物理的な近接によって生じる電
気的な雑音と、過渡現象と、干渉とを減少させるために、クラスタ間通信パス1
40に対して用いられる。他のクロックサイクル毎にクラスタ間メモリアクセス
を提供することによって、好ましい実施例におけるクラスタ間メモリアクセスに
対する相対的なメモリのレイテンシーは、各クラスタにおけるシステムのアクテ
ィビティのレベルに依存して、約0.1と約0.5との間である。
好ましい実施例においては、それぞれ1クロツクサイクル当たり1つのメモリア
クセスを実行することができるプロセッサ102当たりの8個の分離されたメモ
リポート(図示せず。)が存在するが、1つの接続ノード106当たりただ2つ
のクラスタ接続出力ポート132が存在する。従って、好ましい実施例における
任意の与えられたプロセッサ102に対するクラスタ間メモリアクセスのための
相対的なデータの局所性は、システムのアクティビティのレベルと、クラスタ間
メモリアクセスの性質に依存して、約0.02と約0.25との間である。クラ
スタ間メモリアクセスに対する相対的なデータの局所性が他の1つのクラスタに
関してのみ測定されるとき、そのときの相対的なデータの局所性は、再び、シス
テムのアクティビティのレベルと、クラスタ間メモリアクセスの性質に依存して
、約0.01と約0.125との間である。
いま、表■、表II及び表IIIを参照すれば、好ましい実施例のクラスタ間メ
モリアクセスの特定のステージとフェーズとが詳細説明される。好ましい実施例
においては、1つのクラスタ間アクセスに対して3個のステージが存在する。ス
テージ■は、メモリアクセスがプロセッサ102によって発行又は実行されたと
きから、メモリ要求が、表1に示すように、それが方向づけられた隣接するクラ
スタ100のクラスタ接続入力ポート134に到達するまでの時間周期をカバー
している。ステージIIは、メモリアクセスがクラスタ接続入力ポート134で
受信されたときから、当該メモリアクセスに対する応答が、表IIに示すように
、クラスタ接続出力ポート132で存在するまでの隣接するクラスタ100にお
ける時間周期をカバーする。ステージIIは本質的には、クラスタ内メモリアク
セスに対する相対的なメモリのレイテンシーと同様であると認識されるであろう
。最後に、ステージIIIは、メモリアクセスがクラスタ接続入力ポート134
で受信されたときから、それが、表IIIに示すように、プロセッサ102に戻
されるときまでの、発行又は実行しているクラスタ100への戻りにおける時間
周期のカバーする。好ましい実施例においては、クラスタ間メモリアクセスの各
ステージは、複数のフェーズからなるであろう。各フェーズは成功時に終了され
る必要がある。
任意の与えられたフェーズにおけるコンフリクト(conflicts)は、ク
ラスタ間メモリアクセスが任意の前のフェーズにおいてすべてのコンフリクトを
通過するまで評価されない。
表Iを参照すれば、フェーズI−1は、アービトレーションノードに対するプロ
セッサ102における1つのボートによるメモリ参照の発行又は実行である。
N1個のクロックサイクルの一定のパイプラインのレイテンシーは、このフェー
ズに関係する。■1個のクロックサイクルの可変の遅延はまた、このフェーズに
関係する。vlは、同時セクションコンフリクト(S S C)とキャッチキュ
ーフル(CQF)コンフリクトの関数として決定される。SSCは、同一のアー
ビトレーションノードを分割する2個以上のボートが同一のクロックサイクルに
対してクラスタ間メモリアクセスを要求するときに生じる。CQFは、ある与え
られたアービトレーションノードからの実行中のクラスタ間メモリアクセスの数
が、クラスタ間メモリアクセスに含まれるパイプラインステージの予め決められ
た最大数を超えたときに生じる。
フェーズI−2は、アービトレーションノードから共通ディスパッチ回路へのク
ラスタ間メモリアクセスの発行又は実行である。N2個のクロックサイクルの一
定のパイプラインのレイテンシーと、■2個のクロックサイクルの可変の遅延と
は、このフェーズに関係する。■2は、同時バンクコンフリクト(S B C)
と、バンクビジーコンフリクト(B B C)と、ホールドキューフル(HCQ
)コンフリクトとの関数である。SBCコンフリクトは、異なった複数のアービ
トレーションノードからの2個又はそれ以上のクラスタ間メモリアクセスが同一
のクロックサイクルに対して同一の隣接するクラスタにアクセスしようとすると
きに生じる。
これは、1サイクルのコンフリクトであり、当該コンフリクトはBBCコンフリ
クトに変わる。BBCコンフリクトは、1つのメモリ参照が前の参照によって現
在ビジーである隣接するクラスタに対してアドレス指定したときに生じる。HQ
Fコンフリクトは、ある与えられたアービトレーションノードから任意の与えら
れた隣接するクラスタに対する実行中のメモリ参照の数が、クラスタ間メモリア
クセスに含まれるパイプラインステージの予め決められた最大数を超えたときに
生じる。
クラスタ間メモルアクセスのフェーズI−3は、共通ディスバッチ回路から適当
なりラスタ出力ポート132に対するメモリアクセスのプログレス(進行)であ
る。N3個のクロックサイクルの一定のパイプラインのレイテンシーは、このフ
ェーズに関係する。最後に、フェーズI−4は、クラスタ接続出力ポート132
からケーブルにわたるメモリアクセスのプログレスである。N4個のクロックサ
イクルの一定のケーブル遅延は、このフェーズに関係する。
いま、表IIを参照して、隣接するクラスタ100を介するクラスタ間メモリア
クセスのプログレスについて説明する。フェーズll−1は、クラスタ接続入カ
ポ−H34によるクラスタ間メモリアクセスの受信と、隣接するクラスタにおけ
るある1つのアービトレーションノードをアクセスする複数のポートの1つとし
てのそのメモリアクセスのアービトレーションである。M1個のクロックサイク
ルの一定のパイプラインのレイテンシーは、このフェーズに関係する。Wl個の
クロックサイクルの可変の遅延はまたこのフェーズに関係する。Wlは、同時セ
クションコンフリクト(S S C)と、キャシュキューフル(CQF)コンフ
リクトとの関数として決定される。SSCは、同一のアービトレーションノード
を分割する2個又はそれ以上のポートが同一のクロックサイクル上で隣接するク
ラスタのクラスタ化された分割メモリ104の同一のメモリセクションを要求し
たときに生じる。CQFは、ある与えられたアービトレーションノードからクラ
スタ分割メモリのある与えられたサブセクションに対する実行中のメモリアクセ
スの数が、当該メモリアクセスによってアドレス指定されたメモリバンクの入力
側上でこれらのメモリアクセスを待ち行列するために用いられるキャッシュキュ
ーにおけるパイプラインステージの最大数を超えるときに生じる。
フェーズll−2は、クラスタ間メモリアクセスの発行又は実行が隣接するクラ
スタにおけるクラスタ分割メモリ104のバンクレベルにあるときである。M2
個のクロックサイクルの一定のパイプラインのレイテンシーと、W2個のクロッ
クサイクルの可変の遅延とは、このフェーズに関係する。W2は、バンクアービ
トレーションネットワーク(図示せず。)によって決定され、同時バンクコンフ
リクト(S B C)と、バンクビジーコンフリクト(BBC)と、ホールドキ
ューフル(HCQ)コンフリクトとの関数である。SBCコンフリクトは、異な
った複数のアービトレーションノードからの2個以上のメモリアクセスが同一の
クロックサイクル上で同一のバンクに対してアクセスしようとするときに生じる
。このことは、1つのサイクルコンフリクトであり、当該コンフリクトはBBC
コンフリクトに変わる。BBCコンフリクトは、メモリ参照が、前の参照によっ
て現在ビジーでありかつ好ましい実施例においてメモリバンクにおいて用いられ
るSRAM技術の機能であるバンク208をアドレス指定するときに生じる。H
QFコンフリクトは、ある与えられたアービトレーションノードから任意の与え
られたサブセクションに対する実行中のメモリの参照の数が、隣接するクラスタ
のクラスタ分割メモリ104のメモリバンクの出力側上で複数のアクセスに対す
る応答を待つ行列するためのホールドキューにおけるパイプラインステージの最
大数を超えるときに生じる。
メモリ参照のフェーズll−3は、メモリバンクを介するメモリ参照のプログレ
スである。クラスタ分割メモリ104のメモリバンクの好ましい実施例における
SRAMのアクセス時間に対応するM3個のクロックサイクルの一定の遅延は、
このフェーズに関係する。
フェーズll−4は、隣接するクラスタにおける要求しているアービトレーショ
ンノードに戻るロードリターンデータの発行又は実行である。M4個のクロック
の一定のパイプライン遅延と、W4個のクロックの可変の遅延はこのフェーズに
関係する。W4は、同時リターンコンフリクト(SRC)とデータキューフル(
DQF)コンフリクトとの関数として当該メモリによって決定される。SRCコ
ンフリクトは、ある与えられたアービトレーションノードからの2個以上のメモ
リアクセスが同一のメモリセクションに対して送られるが、異なった複数のサブ
セクションが同一のクロッフサ・(クル上でワードを戻そうとするときに生じる
。このコンフリクトは、メモリアクセスのバンクコンフリクトとそれに続(スキ
ュー(ゆがみ又は曲がり)のために生じ、応答アービトレーションネットワーク
(図示せず。)によって解決される。このコンフリクトはまた、もしこれらのメ
モリアクセスが異なったサイクル上でそれらの各バンクで発行又は実行されたと
きに生じ、DQFコンフリクトによる遅延は、メモリ参照が同一のクロックサイ
クル上で同一のロードデータリターンバスを使用しようとするような時間再編成
を生じさせる。DQFコンフリクトは、ある与えられたアービトレーションノー
ドがら、ある与えられたメモリセクションに対する実行中のメモリアクセスの数
が、当該アービトレーションノードでこれら戻ろうとする参照を待ち行列させる
ためのデータ待ち行列におけるバイブラインステージの最大数を超えたときに生
じる。
メモリ参照のフェーズll−5は、アービトレーションノード44において要求
しているポートに対するデータのワードのリターン(戻り)である。M5個のク
ロックサイクルの一定の遅延と、W5個のクロックサイクルの可変の遅延とは、
このフェーズに関係する。W5は、任意のボートビジーコンフリクト(P B
C)コンフリクトの関数として、応答アービトレーションネットワークによって
決定される。PBCコンフリクトは、異なったメモリセクションからの2個以上
のメモリ参照が同一のクロックサイクル上で同一のポートに戻ろうとするときに
生じる。このポイントにおいて、クラスタ間メモリアクセスに対する応答はいま
、隣接するクラスタ100のクラスタ接続出力ポート134にあり、要求してい
るクラスタへのリターンのレディ状態(すなわち準備完了状態)となっている。
いま、表IIIを参照すれば、クラスタ間メモリアクセスのプログレスが要求し
ているクラスタ100に戻され、最後には要求しているプロセッサ102に戻る
プログレスについて説明する。フェーズlll−1は、隣接するクラスタ100
のクラスタ接続出力ポート132からケーブルに戻るメモリアクセスのプログレ
スである。N4個のクロックサイクルの一定のケーブル遅延はこのフェーズに関
係する。クラスタ間メモリアクセスのフェーズlll−2は、要求しているクラ
スタ100のクラスタ接続入力ポート132から共通ディスパッチ回路へのメモ
リアクセスのプログレスである。N3個のクロックサイクルの一定のバイブライ
ンのレイテンシーは、このフェーズに関係している。
フェーズlll−3は、共通ディスパッチ回路から要求しているアービトレーシ
ョンノードへの戻るロードデータリターンの発行又は実行である。N5個のクロ
ックの一定のパイプライン遅延と、■5個のクロックの可変の遅延はこのフェー
ズに関係している。V5は、同時リターンコンフリクト(SRC)とデータキュ
ーフル(DQF)コンフリクトの関数としてメモリによって決定される。SRC
コンフリクトは、ある与えられたアービトレーションノードからの2個又はそれ
以上のクラスタ間メモリアクセスが同一の隣接するクラスタに送られたときに生
じる。このコンフリクトは、隣接するクラスタのクラスタ分割メモリにおけるセ
クションとバンクコンフリクトと、それに続くクラスタ間メモリアクセスのスキ
ューのために生じ、応答アービトレーションネットワークによって解決される。
このコンフリクトはまた、もしこれらのクラスタ間メモリアクセスが異なったサ
イクル上でそれらの各隣接するクラスタで発行するならば生じ、DQFコンフリ
クトによる遅延は、クラスタ間メモリアクセスが同一のクロックサイクル上で同
一のロードデータリターンバスを使用しようとするように時間再編成を生じさせ
る。
DQFコンフリクトは、ある与えられたアービトレーションノードからある与え
られた隣接するクラスタに対する実行中のクラスタ間メモリアクセスの数がある
クラスタ間アクセスに含まれるパイプラインステージの最大数を超えたときに生
じる。
最後に、メモリ参照・のフェーズlll−4は、上記アービトレーションノード
におけるプロセッサ102の要求しているポートへのデータのワードのリターン
(戻り)である。N6個のクロックサイクルの一定の遅延と、76個のクロ・ツ
クサイクルの可変の遅延は、このフェーズに関係する。V6は、任意のポートビ
ジーコンフリクト(P B C)コンフリクトの関数として応答アービトレーシ
ョンネツトワークによって決定される。PBCコンフリクトは、異なった隣接す
るクラスタからの2個又はそれ以上のクラスタ間メモリアクセスが同一のクロッ
クサイクル上で同一のポートに戻ろうとするときに生じる。
(以下余白)
表エ
メモリアクセスが送られるときの要求しているクラスタ内でのクラスタ間メモリ
アクセスのメモリのレイテンシー
フェーズ フェーズI−1フェーズI−2フェーズI−3フェーズI−4タイプ
アービトレーシ ディスパッチ 出力への 入力へのヨンノードへの 回路へ
の ディスパッチ 出力ポート アービトレー 回路
ジョンノード
遅延量 N1+VI N2+V2 N3 N4コンフリクトSSCSBCなし
なし
QC
フェーズ 7エーズll−17エースll−27エーズll−37エースll−
47エーズll−5タイプ アービトレー バンクへの メモリ アービトレー
ポートへのジョンノード アービトレー ジョンノード アービトレへのポー
ト ジョンノード へのバンク イションノード
遅延量 M1+WI M2+W2 M3 M4+W4 M5+W5コンフリクト
SSCSBCなし SRCPBCCQF BBCDQF
QC
(以下余白)
表III
フェーズ フェーズlll−17エーズlll−27エーズlll−37エーズ
lll−4タイプ 入力への ディスパッチ アービトレー ボートへの出力
回路への入力 ジョンノード アービトレー回路
遅延量 N4 N3 N5+V5 N6+V6コン7リクト SSCSBCなし
なしCQF BBC
QC
図6を参照すれば、好ましい実施例においては、2個のクラスタ接続ポート13
2.134は、1対の入力/出力ポート108の代わりにアービトレーションノ
ード120に有効的に接続されることに注意されるであろう。この方法で、入力
/出力ポート108又はクラスタ接続機構130のいずれかは、アービトレーシ
ョンノード120に、交換可能に接続されることが可能である。従って、入力/
出力ポート108の対とクラスタ接続機構130の全体の数は1つのクラスタ当
たり16で固定されるが、クラスタ接続機構130に対する入力/出力ポート1
08の対の数の比は変更可能である。この構成変更ができることは、当該パラレ
ル処理コンピュータシステムによって実行されるこのタイプのパラレルプログラ
ミングタスクと同様に、特定のユーザの環境に対して最良に適した方法である、
パラレル処理コンピュータシステムを構成することができる。パラレル処理の一
部分として含まれる拡張的な入力/出力動作が存在する状況のために、より多く
の入力/出力ポート108が所望されるかもしれない。従って、コンピュータプ
ログラムのための問題空間の大きさが一般的に1つのクラスタ分割メモリ104
の大きさよりも大きい場合においては、クラスタ接続機構130の数を増大させ
ることが所望されるかもしれない。
隣接して接続されるクラスタ100の1対の間で通信を行う接続機構130の数
において2つの重複又は3つの重複でさえも防止するものは、本発明において何
もないということがさらに認識されるであろう。例えば、入力/出力ポート13
0の付加的な対を置き換えることによって、第2のクラスタ接続機構130がク
ラスタ100aと100bとの間に設けることができ、これによって、これら2
つのクラスタの間の有効的なメモリアクセスのバンド幅を重複させる。1個を超
えるクラスタ接続機構130を隣接するクラスタ間で使用するならば、パラレル
処理コンピュータシステムは、すべてのクラスタ間メモリアクセスをシリーズに
する(シリアルに処理する)ことができるように、もしくは、例えば米国特許第
5,208.914号によって教授された方法で、シーケンシャルでないメモリ
アクセスを許容するかのいずれかを必要とする。
また図6を参照して、本発明の好ましい実施例の拡張可能なコントロール機構に
ついて以下に説明する。本発明の好ましい実施例においては、共通分割コントロ
ール機構122は各クラスタ100の一部分(役割)である。分割コントロール
ミl構122は、パラレル処理コンピュータシステムにおいてパラレルで実行す
る複数の処理の中で協働処理を実行しかつ通信を行うための分散型をベースとす
るオペレーティングシステムによって利用される、複数のグローバルレジスタと
、割り込み機構とを備える。
好ましい実施例のオペレーティングシステムは、多くの分割されたリソースが分
割コントロール機構122のグローバルレジスタにおいて記憶されるオペレーテ
ィングシステムが分割されたリソースの共通の組に対して動作するクラスタ分割
メモリ104に記憶されるオペレーティングシステムの1つのイメージを各プロ
セッサ102がアクセスすることを可能にすることによって、複数の処理と複数
のリソースのスケジューリングのためのアナ−キー(anarchy)をベース
とするスケジューリングモデルを分散的に備える。オペレーティングシステムが
分割されたリソースの一部分を形成するワークリクエストキュー(ワーク要求待
ち行列)は、複数の処理がワークリクエストを延期し、もしくは、他のワークリ
クエストを調べることを可能にし、それら両方は、1つのプロセッサが現在実行
中であるか、又はもう1つの処理イメージにある同一の処理イメージ内にある。
さらに、軽量のユーザとシステムコンテキストスイッチはまた、ユーザアプリケ
ーションプログラムの一部分として統合されたユニークなユーザ側のスケジュー
ラによるものと同様に、オペレーティングシステムプログラムによって効率的に
サポートされる。
クラスタ100の各々において実行しているオペレーティングシステムプログラ
ムに加えて、本発明の好ましい実施例は、コンパイラとイクスキューション(実
行)とデバッガ−サポートとを提供する共通パラレルユーザインターフェースを
備える。好ましい実施例のコンパイラは、任意のレベルでユーザプログラムにお
いて任意のパラレル処理を実行するように、かつユーザプログラムにおいて識別
されたパラレル処理を特定のパラレル処理コンピュータシステムのハードウェア
の能力にマツピングするように動作する。このことは、プログラムのセグメント
のマツピングを組織化するためのコードをパラレル処理コンピュータシステムの
複数のクラスタ分割メモリに挿入することによって、仮想アレーサポートを提供
するために、1つのプロセッサ内の複数の機能的な装置のベクトル化とスケジュ
ーリングから、パラレル処理を有するワークを含むことができる。理想的には、
ユーザプログラムにおける適当なデータパラレルプログラミングの構築と結合す
るコンパイラは、本発明に係る特別な統一されたパラレル処理コンピュータンス
テムのパラレル処理能力に対してユーザプログラムをいかに最良にマツピングす
るかを決定する。
パラレル処理の有効的な制御とデバッキングとを提供するためには、好ましい実
施例の割り込み機構は、境界となる数のクロックサイクル内で割り込み処理され
るべき同一のパラレル処理タスクに対して動作している隣接するクラスタ内で全
てのプロセッサをイネーブルする。このことは、任意の欠陥や例外の時間でのパ
ラレル処理の状態を保持するとともに、そのような任意のエラーのデバッキング
を大きく簡単化する。
分割コントロール機構122の好ましい実施例のより詳細な説明のために、米国
特許第5,165,038号と第5,193,187号とが参照される。好まし
い実施例の分散型をベースとするオペレーティングシステムがどのように、複数
のクラスタにわたる複数の処理のパラレルな実行を制御するための分割コントロ
ール機構を利用するかについてのより詳細な説明のために、米国特許第5.17
9.702号が参照される。
上述の分散型をベースとするオペレーティングシステムプログラムは、1つのク
ラスタ100の分割メモリモデルか、もしくは、浮動分割メモリ110の拡張さ
れた分割メモリモデルのいずれかにおいて、動作することができる。浮動分割メ
モリ110の境界を越えて、パラレル処理プログラムを動作させるために、本発
明は、分散型メモリモデルにおけるパラレル処理の中で協働処理を実行しかつ通
信を行うための分散型通信機構を提供する。好ましい実施例においては、分散型
通信機構は、各クラスタ100において実行しているオペレーティングシステム
プログラムの一部分であり、隣接しないクラスタの中で通信を行うための2つの
異なったクラスタ間通信スキーム(方法又は機構)、すなわちメツセージ通過ス
キーム(方法又は機構)と浮動スキーム(方法又は機構)とを含む。さらに、こ
れらの通信スキームの両方は、例えば、仮想アレイをサポートすることができる
2次メモリ記憶システムのように、隣接から隣接へのクラスタ間転送を用いて、
もしくは、共通人力/出力装置を用いてのいずれかで、設けることができる。
分散型通信機構のためのメツセージ通過スキームは、複数のメツセージがパラレ
ル処理コンピュータシステムにおける全てのクラスタ100における複数のプロ
セッサの中で通過されるように、各クラスタ100の1個又はそれ以上のプロセ
ッサにおいて実行する各オペレーティングシステムプログラムにおいて設けられ
る。もし複数のメツセージが隣接から隣接へのクラスタ間転送を介して通過され
るならば、各クラスタにおけるオペレーティングシステムプログラムは、例えば
、隣接するクラスタの中でクラスタ分割メモリにおいて、もしくは、おそらく隣
接するクラスタのもう1つのグローバルレジスタにおいてでさえ、予め決められ
たフォーマットの1つのメツセージが出発したか否かを決定するために、ある隣
接するクラスタにおけるグローバルレジスタの1つを周期的にモニタすることが
できる。いったん1つのメツセージが検出されたならば、オペレーティングシス
テムプログラムは、当該メツセージを送信するように適当な隣接するクラスタ又
は複数のクラスタのクラスタ分割メモリに対して当該メツセージを転送するため
に当該クラスタにおけるプロセッサの1つにおいて割り込み手続きの実行を初期
化し、もしくは、上記メツセージが当該クラスタ内で実行する1つの処理のため
に意図されたものならば、それに対して動作するであろう。とって代わって、1
つのメツセージが転送のために待機している1つの隣接するクラスタにおけるオ
ペレーティングシステムプログラムに対して警告するために、ある1つの割り込
み信号が、1つのクラスタから1個又はそれ以上の隣接するクラスタに対して送
信されることが可能である。
より大きなメツセージのために、メツセージを共通人力/出力装置に転送した後
、上記共通人力/出力装置におけるあるロケーションで受信するために1つのメ
ツセージが待機している目標クラスタにおけるオペレーティングシステムプログ
ラムに対して警告するための、好ましい実施例のより大きな入力/出力バンド幅
を利用することが有利であるかもしれない。本発明の入力/出力ポートはブロッ
ク毎の転送に対して動作するので、メツセージの大きさは上記人力/出力装置の
より低速の装置速度をカバーするのみならず、上記人力/出力装置に対してブロ
ック転送をセットアツプするために必要なオーバーヘッドをカバーするために十
分である必要があるということが認識されるであろう。グーパルレジスタとクラ
スタ分割メモリとを用いて設けられる同一のタイプのメイルボックスのメツセー
ジリング(メツセージ転送)はまた共通人力/出力装置を用いて備えることがで
きるが、メツセージ通信スキームのこのタイプのための全体のパラレル処理の性
能は、はとんどのパラレル処理タスクに対して極めて低くなるであろうことが、
また理解されるであろう。
分散型通信機構のための第2のオプションは、各クラスタにおける1個又はそれ
以上のプロセッサにおいて実行するオペレーティングシステムプログラムにおい
て備えられる浮動スキーム(方法又は機構)である。浮動スキームを用いて、上
記オペレーティングシステムプログラムは、隣接して内部接続された1組のクラ
スタの浮動分割メモリから、隣接して内部接続されたもう1組のクラスタの浮動
分割メモリに移動させるべきパラレルタスクに対するデータ又は命令の1個又は
それ以上のセグメントを選択するであろう。最も典型的には、当該浮動スキーム
は、オペレーティングシステムプログラムが、このクラスタにおいて実行してい
るパラレル処理タスクが、隣接しないで接続されたクラスタのクラスタ分割メモ
リに対して、もしくは、もし特定のパラレル処理タスクによるクラスタ間メモリ
アクセスの数が本発明の統一されたパラレル処理アーキテクチャの特定の実施例
の相対的なデータの局所性の境界に対して重い負担をかけるならば、隣接して接
続されたクラスタのクラスタ分割メモリに対してでさえ、かなり大きな数のデー
タメモリアクセスを作成することを決定するときに用いられるであろう。この場
合においては、オペレーティングシステムプログラムは、パラレル処理効率を増
加させるために、特定のパラレル処理タスクのための命令が、クラスタ間メモリ
アクセスの大部分が方向づけられたクラスタのクラスタ分割メモリに対して、移
動又は“浮動”すべきであることを決定する。メツセージ通過スキームに関して
、当該浮動スキームは、クラスタからクラスタへのシリアルな転送を用いて、も
しくは、入力/出力転送を介して共通記憶装置へのいずれかで備えることができ
る。
いま図7を参照して、クラスタ接続機構130の詳細な設置について以下に説明
する。クラスタ接続機構130の好ましい実施例は、データやクロック信号をパ
ラレル処理コンピュータシステムの物理的に分離可能な構成要素に転送するとき
に含まれる物理的制限条件を解消するために特に設計されている。この設計は、
従来技術のパラレル処理コンピュータシステムの複数の制限条件を解消するもの
であり、拡張可能な数のクラスタ100を本発明の均一なパラレル処理アーキテ
クチャに従って内部接続することを可能にする。
はとんどの従来技術のパラレル処理コンピュータシステムは、当該コンピュータ
システムにおけるすべての構成要素に対して同期クロック信号を提供するために
、中心に位置するクロック源(クロックソース)を使用する。不幸にも、同期ク
ロック信号を提供することができる物理的に分離可能な構成要素の数に関してき
わめて実際的な物理的な制限が存在する。各物理的に分離可能な構成要素のため
の電源供給においては、ケーブル遮蔽や浮遊EMF信号を含む、ケーブルと、受
信機と、信号伝送媒質の特性における差は、各そのような構成要素で受信される
クロック信号において異なったデユーティ−サイクルとともに、異なったクロ・
ツクの位相を有効的に与えることができる。例えば、もし2つの分離された構成
要素におけるクロック受信機が若干具なったしきい値レベルでトリガするように
設定されるならば、各構成要素において結果として得られるクロ・ツク信号は、
かなり異なったデユーティ−サイクルを有するであろう。
クラスタ100間のクロック信号におけるこれらの“差”は、当該クロ・ツク信
号によってクロック同期された種々の電子回路の許容誤差の性能に対して悪い方
向に影響を与え、これによって、スプリアスな誤差を生じさせるとともに、物理
的に分離可能な構成要素の間で矛盾する結果を生じさせるかもしれない。複数の
クロック信号におけるこれらの”差”は、パラレル処理コンピュータシステムの
ためのクロック速度が早くなるにつれて、より問題が大きくなるようになる。複
数のクラスタ又は他の装置が、1クロツクサイクルよりも長いような(例えば、
タロツク速度が5ナノ秒であって、キャビネット間の距離が20フイートよりも
長いとき)伝送の不確定性を有する通信パスによって分離されている、これらの
パラレル処理コンピュータシステムにおいては、信頼性のある同期装置間通信を
提供することが不可能である。
高性能なパラレル処理コンピュータシステムにおいて複数のクロック信号と装置
間通信を提供することに関係する種々の物理的制限条件を解消するために、本発
明の好ましい実施例は、周波数同期されるが位相同期されないクラスタ100間
の、位相に独立なりロック通信スキームを利用する。図7を参照すれば、各クラ
スタ100は、ローカルタロツク信号142を構築するために用いられる共通の
周波数同期されたただ1つのクロック信号141を受信する。本発明の位相に独
立な通信スキームは、ローカルタロツク信号142をトリガするために、タロツ
ク信号141の立ち上がりエツジのみを使用する。このことは、上述のデユーテ
ィ−サイクルを変化させる問題点を解消する。クラスタ通信入力ポート134の
一部分として各クラスタ100における周波数同期され位相に独立なローカルタ
ロツク142に加えて、パラレルバッファ150は、クラスタ間通信バス140
の伝送特性における任意の不確定性を含むために用いられる。
本発明の拡張可能なりロック機構の好ましい実施例は、位相に独立な通信スキー
ムを提供するために、キャビネット間クロック信号の周波数同期された性質を利
用する。そのような位相に独立な通信スキームにおいては、データは受信機クロ
ックを用いてパラレルバッファ150から読み出されることができる一方、パラ
レルバッファ150は、パラレルバッファ150のオーバーリード又はオーバー
ライド(重ね書き)のリスクなしに、伝送されたクロックを用いて同時に書き込
まれる。従って、拡張可能なりロック機構の好ましい実施例は、そのようなシス
テムに関係するリスクや問題なしに、特に、パラレル処理コンピュータシステム
が1クロツクサイクルよりも長い距離だけ物理的に分離された拡張可能な数のク
ラスタ100を有する状態において、同期化された通信システムの性能の利点を
利用することができる。
クラスタ通信出力ポート132は、送信データラッチ136と、送信クロック1
38との両方を備える。送信されるデータとクロック信号は、両方が送信機で周
波数同期されかつ位相に独立なローカルクロック信号によって発生されるので、
周波数同期されるであろうが、受信されたデータと受信機のタロツク信号との間
の位相の一致性は必ずしも必要がない。位相はずれの状態は、特に、通信バス1
40の長さがパラレルコンピュータ処理システムの1つのクロックサイクルの“
長さ”を超えたときに、クラスタ間クロック分配パス(図示せず。)の伝送長さ
にわたって異なったスキューによる公差誤差により、同一のクラスタ間通信バス
140にわたって受信されたデータと受信機クロック信号との間に生じる可能が
あることが理解されるであろう。クラスタ間通信パス140はクロックサイクル
の倍数の長さを有するときに、クラスタ通信入力ポート134は、N個のクロッ
クサイクル・プラス又はマイナス・M個のクロックサイクルの幾らかの周期の後
に、送信されたデータと送信された複数のクロック信号とを受信し、ここで、N
はクロックサイクルで表した通信パス140の長さであり、Mはまたクロックサ
イクルで表した通信パス140のスキューの長さである。
クラスタ通信入力ボート134は、送信されたデータと複数のクロック信号と、
読み出された複数のクロック信号とを有効的にスキューを解消するために、パラ
レルバッファ150を使用する。受信されたクロックの発生器回路152は、送
信されたクロック信号を捕捉し、この信号を受信ラッチ回路154にクロック同
期して送信されたデータ信号をラッチするために使用する。次いで、このラッチ
されたデータ信号は、受信されたクロックの発生器回路152によってまたクロ
ック同期されたライトポインタ156を用いてパラレルバッファ150に書き込
まれる。次いで、ローカルクロック信号142によってクロック同期された分離
されたリードポインタ158は、バッファ150から送信されたデータを読み出
すために用いられる。パラレルバッファ150の大きさは、当該バッファの最小
の大きさが2N+1となるように、クラスタ間通信パス140における不確定性
Nによって決定される。リードポインタ158とライトポインタ156とはまた
、パラレルバッファ150において少なくともN個のロケーションだけスタート
アップされたシステムに間隔をおいて離れて置かれる。1対のディスエーブルア
ンド回路144は、当該コンピュータシステムが動作中でないとき、クラスタ間
通信パス140上でのスプリアス信号がパラレルバッファ150に記憶されない
ということを保証している。
好ましい実施例の説明がなされているが、本発明の範囲から逸脱することなしに
種々の変更を行うことができると考えられる。従って、本発明の範囲は、好まし
い実施例の説明よりはむしろ、添付された請求の範囲によって表されているとい
うことが意図されている。
請求の範囲は以下の通りである。
Claims (26)
- 1.拡張可能な数のクラスタの複数のプロセッサをともに接続して、パラレル処 理コンピュータシステムを生成するための統一されたパラレル処理アーキテクチ ャであって、上記統一されたパラレル処理アーキテクチャは、4個又はそれ以上 のクラスタの多重プロセッサを備え、各クラスタは、1個又はそれ以上のコンピ ュータプログラムの1個又はそれ以上のパラレルタスクのためのデータと命令と を記憶しかつ検索するためのクラスタ分割メモリ手段と、 上記命令を実行しかつ、上記クラスタ分割メモリ手段に記憶された上記パラレル タスクのためのデータに対して直接に動作するための2個又はそれ以上のプロセ ッサ手段と、 1個又はそれ以上のブロック毎の通信パスを介して上記クラスタ分割メモリ手段 と、1個又はそれ以上の外部データ源との間で上記パラレルタスクのためのデー タと命令とを転送するための1個又はそれ以上の入力/出力ポート手段と、 そのクラスタにおける上記すべてのプロセッサ手段による上記クラスタ分割メモ リ手段に対するアクセスが対称的となるように、上記クラスタ分割メモリ手段を そのクラスタにおける上記すべてのプロセッサ手段に接続するための接続ノード 手段と、 1個又はそれ以上のワード毎の通信パスを介して、上記クラスタの幾つかであっ てすべてではないクラスタを隣接して接続することによって、複数の浮動分割メ モリを提供して、そのクラスタの上記クラスタ分割メモリ手段と、隣接して内部 接続された任意のクラスタの上記クラスタ分割メモリとによって画成され、かつ 1つの分割メモリモデルを用いてプログラムされることが可能な浮動分割メモリ を生成する手段と、 分散型メモリモデルを用いてプログラム可能であるすべてのクラスタの上記クラ スタ分割メモリ手段を含む拡張可能なアドレス空間を画成する隣接しないで内部 接続された任意のクラスタの中で拡張された分散型メモリを提供するための手段 とを備えたパラレル処理アーキテクチャ。
- 2.拡張可能なクロック信号を各クラスタに提供するための手段をさらに備えた 請求項1記載のパラレル処理アーキテクチャ。
- 3.上記コンピュータ処理システムにおいてパラレルに実行する複数の処理の中 で通信と協働処理とを分散的に制御するために、任意のクラスタにおける任意の プロセッサ手段において実行する分散型オペレーティングシステムプログラムに よってアクセス可能な各クラスタのための拡張可能なコントロール機構を提供す るための手段をさらに備えた請求項1記載のパラレル処理アーキテクチャ。
- 4.複数の浮動分割メモリを提供するための手段は、上記プロセッサ手段が、命 令を実行しかつ、上記隣接して接続されたクラスタの任意の賛つかの上記クラス タ分割メモリ手段の幾つかにおいて記憶される上記パラレルタスクのためのデー タに対して直接に動作することができるように、上記クラスタにおけるすべての プロセッサ手段を、1個又はそれ以上のワード毎の通信パスを介して他のクラス タの2個又はそれ以上であるがすべてではないクラスタにおける上記クラスタ分 割メモリ手段に、隣接して接続するための、各クラスタのための2個又はそれ以 上のクラスタ接続手段を備える請求項1記載のパラレル処理アーキテクチャ。
- 5.1個の入力/出力ポート手段、又は1個のクラスタ接続手段のいずれかが、 上記接続ノード手段を介して分割メモリ手段に交換可能に接続されることができ 、入力/出力ポート手段とクラスタ接続手段との全体の数は各クラスタに対して 固定され、入力/出力の比は変更可能である請求項4記載のパラレル処理アーキ テクチャ。
- 6.拡張された分散型メモリを提供するための手段は、メッセージが上記パラレ ル処理コンピュータシステムにおけるすべてのクラスタにおける上記プロセッサ 手段の中で通過されるように、各クラスタの1個又はそれ以上のプロセッサにお いて実行するオペレーティングシステムプログラムにおいて設けられるメッセー ジ通過スキームを備えた請求項1記載のパラレル処理アーキテクチャ。
- 7.拡張された分散型メモリを提供するための手段は、パラレルタスクのための データ又は命令の1個又はそれ以上のセグメントが、隣接して内部接続された1 組のクラスタの上記浮動分割メモリから、隣接して内部接続されたもう1組のク ラスタの上記浮動分割メモリに移動されるように、各クラスタにおける1個又は それ以上のプロセッサ手段において実行するオペレーティングシステムプログラ ムにおいて設けられる浮動スキームを備えた請求項1記載のパラレル処理アーキ テクチャ。
- 8.上記接続ノード手段は、 2個又はそれ以上のアービトレーションノード手段を備え、各アービトレーショ ンノード手段は、上記クラスタ分割メモリ手段と、ユニークな2個又はそれ以上 のプロセッサ手段との間に設けられ、ユニークな2個又はそれ以上のプロセッサ 手段を上記クラスタ分割メモリ手段に対称的に多重化するための、2個又はそれ 以上のユニークな1方向性直接接続パスを有する請求項1記載のパラレル処理ア ーキテクチャ。
- 9.もしもう1つのクラスタのクラスタ分割メモリ手段に対する1つのクラスタ におけるプロセッサ手段によるクラスタ間メモリアクセスの平均的なメモリのレ イチンシーが、当該クラスタ内の上記クラスタ分割メモリ手段に対するプロセッ サ手段によるクラスタ内メモリアクセスの平均的なメモリのレイチンシーよりも 大きくかつその10倍よりも小さく、かつ上記クラスタ間メモリアクセスの数の 平均値が、ある平均的なパラレルタスクに対するクラスタ内メモリアクセスの数 の10%よりも小さいならば、複数のクラスタは隣接して内部接続される請求項 1記載のパラレル処理アーキテクチャ。
- 10.もし1つのクラスタ間メモリアクセスの平均的なメモリのレイチンシーが 、1つのクラスタ内メモリアクセスの平均的なメモリのレイチンシーよりも大き くかつその5倍よりも小さく、かつ上記クラスタ間メモリアクセスの数の平均値 が、平均的なパラレルタスクに対するクラスタ内メモリアクセスの数の5%より も小さいならば、複数のクラスタは隣接して内部接続される請求項9記載のパラ レル処理アーキテクチャ。
- 11.もし1つのクラスタ間メモリアクセスの平均的なメモリのレイチンシーが 、1つのクラスタ内メモリアクセスの平均的なメモリのレイチンシーよりも大き くかつその約2倍よりも小さく、かつ上記クラスタ間メモリアクセスの数の平均 値が、平均的なパラレルタスクに対するクラスタ内メモリアクセスの数の1%よ りも小さいならば、複数のクラスタは隣接して内部接続される請求項9記載のパ ラレル処理アーキテクチャ。
- 12.1個又はそれ以上のコンピュータプログラムをパラレルで処理することが できるパラレル処理コンピュータシステムのための統一されたパラレル処理アー キテクチャを提供するための方法であって、各コンピュータプログラムは予め決 められた大きさの問題空間を有し、上記方法は、 (a)4個又はそれ以上のクラスタの多重プロセッサを提供するステップを含み 、各クラスタは、そのクラスタにおける端プロセッサが、クラスタ分割メモリを アクセスするときに同様の平均的なメモリのレイチンシーを有するように、クラ スタ分割メモリに対称的に接続される2個又はそれ以上のプロセッサを有し、( b)各クラスタを、他のクラスタの幾つかであるがすべてではないクラスタに隣 接して内部接続するステップと、 (c)各クラスタを、そのクラスタが隣接して内部接続されないすべての他のク ラスタに遠隔で内部接続するステップと、(d)分割メモリモデルを用いて、隣 接して内部接続された1組のクラスタの共通のクラスタ分割メモリによって画成 された浮動分割メモリの大きさよりも小さい大きさの問題空間を有する任意のコ ンピュータプログラムをパラレルで処理するステップと、 (e)分散型メモリモデルを用いて、上記浮動分割メモリの大きさよりも大きい 大きさの問題空間を有する任意のコンピュータプログラムをパラレルで処理する ステップとを含む方法。
- 13.もしもう1つのクラスタの上記クラスタ分割メモリに対する1つのクラス タにおけるプロセッサによるクラスタ間メモリアクセスの平均的なメモリのレイ チンシーが、当該クラスタ内の上記クラスタ分割メモリに対するプロセッサによ るクラスタ内メモリアクセスの平均的なメモリのレイチンシーよりも大きくかつ その10倍よりも小さく、かつ上記クラスタ間メモリアクセスの数の平均値が、 ある平均的なパラレルタスクに対するクラスタ内メモリアクセスの数の10%よ りも小さいならば、複数のクラスタは隣接して内部接続される請求項12記載の 方法。
- 14.もし1つのクラスタ間メモリアクセスの平均的なメモリのレイチンシーが 、1つのクラスタ内メモリアクセスの平均的なメモリのレイチンシーよりも大き くかつその5倍よりも小さく、かつ上記クラスタ間メモリアクセスの数の平均値 が、平均的なパラレルタスクに対するクラスタ内メモリアクセスの数の5%より も小さいならぼ、複数のクラスタは隣接して内部接続される請求項13記載の方 法。
- 15.もし1つのクラスタ間メモリアクセスの平均的なメモリのレイチンシーが 、1つのクラスタ内メモリアクセスの平均的なメモリのレイチンシーよりも大き くかつその約2倍よりも小さく、かつ上記クラスタ間メモリアクセスの数の平均 値が、平均的なパラレルタスクに対するクラスタ内メモリアクセスの数の1%よ りも小さいならば、複数のクラスタは隣接して内部接続される請求項13記載の 方法。
- 16.(f)拡張可能なクロック信号を有する各クラスタを提供するステップを さらに含む請求項12記載の方法。
- 17.(f)複数のクラスタの中の任意のクラスタにおけるプロセッサの中での 任意のプロセッサに対して実行する分散型オペレーティングシステムプログラム によってアクセス可能である拡張可能なコントロール機構を有する各クラスタを 提供して、上記コンピュータ処理システムにおいてパラレルで実行する複数の処 理の中で通信と協働処理とを分散的に制御するステップをさらに備えた請求項1 2記載の方法。
- 18.ステップ(e)は、 各クラスタの1個又はそれ以上のプロセッサにおいて実行するオペレーティング システムプログラムに備えられるメッセージ通過スキームを用いて、上記パラレ ル処理コンピュータシステムにおけるすべてのクラスタにおけるプロセッサの中 でメッセージを通過させることを含む請求項12記載の方法。
- 19.ステップ(e)は、 各クラスタにおける1個又はそれ以上のプロセッサ手段において実行するオペレ ーティングシステムプログラムにおいて備えられる浮動スキームを用いて、隣接 して内部接続される1組のクラスタの浮動分割メモリから、隣接して内部接続さ れるもう1組のクラスタの浮動分割メモリに、1つのパラレルタスクに対する1 個又はそれ以上のセグメントを移動させることを含む請求項12記載の方法。
- 20.複数のプロセッサを複数のメモリ構成要素に接続してパラレル処理コンピ ュータシステムを形成するための統一されたパラレル処理アーキテクチャであっ て、上記複数のプロセッサが1つの分割メモリモデルを用いて1個又はそれ以上 のメモリ構成要素に対称的にアクセスすることができるように、複数のプロセッ サを1個又はそれ以上のメモリ構成要素に接続するための4個又はそれ以上のク ラスタ手段と、 1つの浮動分割メモリ手段における複数のプロセッサが、拡張された分割メモリ モデルを用いて上記浮動分割メモリ手段における上記メモリ構成要素の任意の幾 つかをアクセスすることができるように、複数のクラスタ手段の幾つかであるが 、すべてではないクラスタ手段をユニークにかつ隣接して接続するための2個又 はそれ以上の浮動分割メモリ手段と、上記パラレル処理コンピュータシステムに おける複数のプロセッサの任意の幾つかが、分散型メモリモデルを用いて、上記 パラレル処理コンピュータシステムにおける上記メモリ構成要素の任意の幾つか をアクセスすることができるように、浮動分割メモリ手段によって隣接して接続 されない上記クラスタ手段の任意の幾つかの中で通信を提供するための分散型メ モリ通信手段とを備えた統一されたパラレル処理アーキテクチャ。
- 21.パラレル処理コンピュータシステムにおける他の同様なクラスタに接続さ れるように適合された多重プロセッサのクラスタであって、上記多重プロセッサ のクラスタは、 1個又はそれ以上のコンピュータプログラムの1個又はそれ以上のパラレルタス クのためのデータと命令とを記憶しかつ検索するためのクラスタ分割メモリ手段 と、 命令を実行しかつ、上記クラスタ分割メモリ手段に記憶されたパラレルタスクの ためのデータに対して直接に動作するための2個又はそれ以上のプロセッサ手段 と、 1個又はそれ以上のブロック毎の通信パスを介して上記クラスタ分割メモリ手段 と1個又はそれ以上の外部データ源との間で、パラレルタスクのためのデータと 命令を転送するための1個又はそれ以上の入力/出力ポート手段と、クラスタに おけるプロセッサ手段のすべてによる上記クラスタ分割メモリ手段に対するアク セスが対称的であるように、上記クラスタ分割メモリ手段を、当該クラスタにお けるプロセッサ手段のすべてに接続するための接続ノード手段と、上記プロセッ サ手段が、命令を実行しかつ、隣接して接続された任意の幾つかのクラスタの上 記クラスタ分割メモリ手段の任意の幾つかにおいて記憶されたパラレルタスクの ためのデータに対して直接に動作することができるように、1個又はそれ以上の ワード毎の通信パスを介して、当該クラスタにおける上記プロセッサ手段のすべ てを、2個又はそれ以上のクラスタの上記クラスタ分割メモリ手段に隣接して接 続するための2個又はそれ以上のクラスタ接続手段とを備え、ここで、上記入力 /出力ポート手段と、上記クラスタ接続手段とは、上記接続ノード手段を介して 上記分割メモリ手段に交換可能に接続することができ、ここで、上記入力/出力 ポート手段とクラスタ接続手段の全体の数は、各クラスタの対して固定され、入 力/出力の比は変更可能である多重プロセッサのクラスタ。
- 22.上記接続ノード手段は、 2個又はそれ以上のアービトレーションノード手段を備え、上記各アービトレー ションノード手段は、上記クラスタ分割メモリ手段と、ユニークな2個又はそれ 以上のプロセッサ手段との間に設けられ、上記ユニークな2個又はそれ以上のプ ロセッサ手段を上記クラスタ分割メモリに対称的に多重化するための、2個又は それ以上のユニークな1方向性の直接接続パスを有する請求項21記載の多重プ ロセッサのクラスタ。
- 23.各アービトレーションノード手段はまた、2個の入力/出力ポート手段又 は1個のクラスタ接続手段のための上記分割メモリ手段に、ユニークな接続を提 供する請求項22記載の多重プロセッサのクラスタ。
- 24.上記クラスタ通信手段は、 上記アービトレーションノード手段のすべてに動作可能に接続され、上記多重プ ロセッサのクラスタにおける複数のプロセッサの任意の幾つかから1個又はそれ 以上のクラスタ間メモリアクセスを受信するためのクラスタ間ディスパッチ手段 と、 上記アービトレーションノード手段の1つに動作可能に接続され、1個又はそれ 以上のクラスタ間メモリアクセスを、上記クラスタ間ディスパッチ手段から隣接 して接続された任意のクラスタに転送するためのクラスタ接続出力ポート手段と 、 上記アービトレーションノード手段の上記同一の1つに動作可能に接続され、隣 接して接続された任意のクラスタにおけるプロセッサの任意の幾つかからの1個 又はそれ以上のクラスタ間メモリアクセスを受信し、かつ、隣接して接続された 任意のクラスタにおけるプロセッサの任意の幾つかから、上記アービトレーショ ンノード手段の上記同一の1つを介して上記多量プロセッサのクラスタのクラス タ分割メモリに対する、1個又はそれ以上のクラスタ間メモリアクセスを表わす ためのクラスタ接続入力ポート手段とを備えた請求項23記載の多重プロセッサ のクラスタ。
- 25.周波数同期され位相に独立なクロック信号を複数の物理的に分離可能なコ ンピュータプロセッサシステムに提供するための拡張可能なクロック機構であっ て、 上記周波数同期されたクロック信号を発生するための共通クロック発振器を備え 、 上記コンピュータプロセッサシステムの構成要素のそれぞれにおいて、上記周波 数同期されたクロック信号を受信し、周波数同期され位相に独立なローカルクロ ック信号を生成するためのクロック手段と、上記クロック手段に動作可能に接続 され、上記ローカルクロック信号によってクロック同期された構成要素間データ 信号とクロック信号とを送信するための送信機手段と、 上記クロック手段と、他の構成要素の上記送信機手段とに動作可能に接続され、 上記他の構成要素における上記送信機手段から上記構成要素間データ信号とクロ ック信号とを受信するための受信機手段とを備え、上記受信機手段は、 上記送信機手段から受信されたクロック信号によってクロック同期された上記送 信機手段からのデータ信号をラッチするための受信機ラッチ手段と、 上記受信機ラッチ手段に動作可能に接続され、ラッチされた複数のデータ信号を 記憶するためのパッファ手段と、上記送信機手段から受信されたクロック信号に よってまたクロック同期され、上記受信機ラッチ手段におけるデータ信号が上記 バッファ手段に書き込まれるロケーションを決定するためのライトポインタ手段 と、選択されてラッチされたデータ信号を上記バッファ手段から上記構成要素に 提供するためのバッファ出力手段と、上記ローカルクロック信号によってクロッ ク同期され、上記選択されてラッチされたデータ信号が読み出される上記バッフ ァ手段におけるロケーションを決定するためのリードポインタ手段とを備えた、 拡張可能なクロック機構。
- 26.上記バッファ手段は、2N+1の大きさを有し、ここで、Nは、上記クロ ック信号とデータ信号が伝送される構成要素間通信パスにおける伝送の不確定性 であり、 上記ライトポインタ手段と、上記リードポインタ手段とは、上記バッファ手段に おいて、少なくともN個の記憶ロケーションだけ間隔をおいて離れておかれる請 求項25記載の拡張可能なクロック機構。
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US07/912,964 US5428803A (en) | 1992-07-10 | 1992-07-10 | Method and apparatus for a unified parallel processing architecture |
| US912,964 | 1992-07-10 | ||
| PCT/US1993/006452 WO1994001815A1 (en) | 1992-07-10 | 1993-07-08 | Method and apparatus for a unified parallel processing architecture |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH07509085A true JPH07509085A (ja) | 1995-10-05 |
Family
ID=25432769
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP6503518A Ceased JPH07509085A (ja) | 1992-07-10 | 1993-07-08 | 統一されたパラレル処理アーキテクチャのための方法と装置 |
Country Status (4)
| Country | Link |
|---|---|
| US (2) | US5428803A (ja) |
| EP (1) | EP0649542A4 (ja) |
| JP (1) | JPH07509085A (ja) |
| WO (1) | WO1994001815A1 (ja) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6938078B1 (en) | 1998-12-09 | 2005-08-30 | Nec Corporation | Data processing apparatus and data processing method |
| JP2009230764A (ja) * | 2009-07-06 | 2009-10-08 | Univ Waseda | マルチプロセッサシステム |
| JP2014232524A (ja) * | 2013-05-28 | 2014-12-11 | エスアールシー コンピューターズ、エルエルシー | 分散型マルチポート共通メモリモジュールを組み込んだマルチプロセッサコンピュータアーキテクチャ |
Families Citing this family (88)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0628322A (ja) * | 1992-07-10 | 1994-02-04 | Canon Inc | 情報処理装置 |
| US5845329A (en) * | 1993-01-29 | 1998-12-01 | Sanyo Electric Co., Ltd. | Parallel computer |
| US5560027A (en) * | 1993-12-15 | 1996-09-24 | Convex Computer Corporation | Scalable parallel processing systems wherein each hypernode has plural processing modules interconnected by crossbar and each processing module has SCI circuitry for forming multi-dimensional network with other hypernodes |
| JPH08235141A (ja) * | 1995-02-28 | 1996-09-13 | Kofu Nippon Denki Kk | 情報処理システム |
| US5634068A (en) * | 1995-03-31 | 1997-05-27 | Sun Microsystems, Inc. | Packet switched cache coherent multiprocessor system |
| JPH09190423A (ja) * | 1995-11-08 | 1997-07-22 | Nkk Corp | 情報処理単位、情報処理構造単位及び情報処理構造体並びにメモリ構造単位及び半導体記憶装置 |
| AU726047B2 (en) | 1995-11-15 | 2000-10-26 | Gen-Probe Incorporated | Nucleic acid probes complementary to human papillomavirus nucleic acid and related methods and kits |
| DE19606629A1 (de) * | 1996-02-22 | 1997-08-28 | Siemens Nixdorf Inf Syst | Mehrprozessor-Zentraleinheit |
| JPH09274607A (ja) * | 1996-04-08 | 1997-10-21 | Hitachi Ltd | コンピュータ・システムおよびその運用方法 |
| US5956518A (en) | 1996-04-11 | 1999-09-21 | Massachusetts Institute Of Technology | Intermediate-grain reconfigurable processing device |
| US5892970A (en) * | 1996-07-01 | 1999-04-06 | Sun Microsystems, Inc. | Multiprocessing system configured to perform efficient block copy operations |
| US5887138A (en) * | 1996-07-01 | 1999-03-23 | Sun Microsystems, Inc. | Multiprocessing computer system employing local and global address spaces and COMA and NUMA access modes |
| US5878268A (en) * | 1996-07-01 | 1999-03-02 | Sun Microsystems, Inc. | Multiprocessing system configured to store coherency state within multiple subnodes of a processing node |
| US6103992A (en) * | 1996-11-08 | 2000-08-15 | W. L. Gore & Associates, Inc. | Multiple frequency processing to minimize manufacturing variability of high aspect ratio micro through-vias |
| WO1998020534A1 (en) * | 1996-11-08 | 1998-05-14 | W.L. Gore & Associates, Inc. | Method for using fiducial schemes to increase nominal registration |
| AU5238898A (en) * | 1996-11-08 | 1998-05-29 | W.L. Gore & Associates, Inc. | Method for reducing via inductance in an electronic assembly and device |
| US5868950A (en) * | 1996-11-08 | 1999-02-09 | W. L. Gore & Associates, Inc. | Method to correct astigmatism of fourth yag to enable formation of sub 25 micron micro-vias using masking techniques |
| US5863446A (en) * | 1996-11-08 | 1999-01-26 | W. L. Gore & Associates, Inc. | Electrical means for extracting layer to layer registration |
| US5965043A (en) * | 1996-11-08 | 1999-10-12 | W. L. Gore & Associates, Inc. | Method for using ultrasonic treatment in combination with UV-lasers to enable plating of high aspect ratio micro-vias |
| US6023041A (en) * | 1996-11-08 | 2000-02-08 | W.L. Gore & Associates, Inc. | Method for using photoabsorptive coatings and consumable copper to control exit via redeposit as well as diameter variance |
| JP2001525120A (ja) * | 1996-11-08 | 2001-12-04 | ダブリュ.エル.ゴア アンド アソシエイツ,インコーポレイティド | ブラインドおよびスルーの両マイクロ―ヴァイアの入口の品質を向上するために吸光コーティングを用いる方法 |
| US5910255A (en) * | 1996-11-08 | 1999-06-08 | W. L. Gore & Associates, Inc. | Method of sequential laser processing to efficiently manufacture modules requiring large volumetric density material removal for micro-via formation |
| US5841102A (en) * | 1996-11-08 | 1998-11-24 | W. L. Gore & Associates, Inc. | Multiple pulse space processing to enhance via entrance formation at 355 nm |
| WO1998020528A1 (en) | 1996-11-08 | 1998-05-14 | W.L. Gore & Associates, Inc. | METHOD FOR IMPROVING RELIABILITY OF THIN CIRCUIT SUBSTRATES BY INCREASING THE Tg OF THE SUBSTRATE |
| KR100207598B1 (ko) * | 1997-01-27 | 1999-07-15 | 윤종용 | 상호연결망으로서 파이브 채널을 사용한 클러스터시스템 |
| US5950228A (en) * | 1997-02-03 | 1999-09-07 | Digital Equipment Corporation | Variable-grained memory sharing for clusters of symmetric multi-processors using private and shared state tables |
| US5973290A (en) * | 1997-02-26 | 1999-10-26 | W. L. Gore & Associates, Inc. | Laser apparatus having improved via processing rate |
| US5987587A (en) * | 1997-06-06 | 1999-11-16 | International Business Machines Corporation | Single chip multiprocessor with shared execution units |
| US6647508B2 (en) | 1997-11-04 | 2003-11-11 | Hewlett-Packard Development Company, L.P. | Multiprocessor computer architecture with multiple operating system instances and software controlled resource allocation |
| US6542926B2 (en) * | 1998-06-10 | 2003-04-01 | Compaq Information Technologies Group, L.P. | Software partitioned multi-processor system with flexible resource sharing levels |
| US6332180B1 (en) | 1998-06-10 | 2001-12-18 | Compaq Information Technologies Group, L.P. | Method and apparatus for communication in a multi-processor computer system |
| US6633916B2 (en) | 1998-06-10 | 2003-10-14 | Hewlett-Packard Development Company, L.P. | Method and apparatus for virtual resource handling in a multi-processor computer system |
| US6199179B1 (en) | 1998-06-10 | 2001-03-06 | Compaq Computer Corporation | Method and apparatus for failure recovery in a multi-processor computer system |
| US6381682B2 (en) | 1998-06-10 | 2002-04-30 | Compaq Information Technologies Group, L.P. | Method and apparatus for dynamically sharing memory in a multiprocessor system |
| US6260068B1 (en) | 1998-06-10 | 2001-07-10 | Compaq Computer Corporation | Method and apparatus for migrating resources in a multi-processor computer system |
| US6209064B1 (en) * | 1998-01-07 | 2001-03-27 | Fujitsu Limited | Cache coherence unit with integrated message passing and memory protection for a distributed, shared memory multiprocessor system |
| US6263414B1 (en) * | 1998-07-17 | 2001-07-17 | Technion Research And Development Foundation, Ltd. | Memory for accomplishing lowered granularity of a distributed shared memory |
| CA2245963C (en) | 1998-08-26 | 2009-10-27 | Qnx Software Systems Ltd. | Distributed kernel operating system |
| US6591355B2 (en) | 1998-09-28 | 2003-07-08 | Technion Research And Development Foundation Ltd. | Distributed shared memory system with variable granularity |
| US6701429B1 (en) | 1998-12-03 | 2004-03-02 | Telefonaktiebolaget Lm Ericsson(Publ) | System and method of start-up in efficient way for multi-processor systems based on returned identification information read from pre-determined memory location |
| US6782537B1 (en) * | 1999-09-23 | 2004-08-24 | International Business Machines Corporation | Establishing a communicator across multiple processes in a multithreaded computing environment |
| US6505269B1 (en) * | 2000-05-16 | 2003-01-07 | Cisco Technology, Inc. | Dynamic addressing mapping to eliminate memory resource contention in a symmetric multiprocessor system |
| JP4721379B2 (ja) * | 2001-09-26 | 2011-07-13 | 株式会社日立製作所 | ストレージシステム、ディスク制御クラスタおよびディスク制御クラスタの増設方法 |
| US6920545B2 (en) * | 2002-01-17 | 2005-07-19 | Raytheon Company | Reconfigurable processor with alternately interconnected arithmetic and memory nodes of crossbar switched cluster |
| US7418703B2 (en) * | 2002-03-20 | 2008-08-26 | Nec Corporation | Parallel processing system by OS for single processor |
| US20030182518A1 (en) * | 2002-03-22 | 2003-09-25 | Fujitsu Limited | Parallel processing method for inverse matrix for shared memory type scalar parallel computer |
| US20030212761A1 (en) * | 2002-05-10 | 2003-11-13 | Microsoft Corporation | Process kernel |
| US8185602B2 (en) | 2002-11-05 | 2012-05-22 | Newisys, Inc. | Transaction processing using multiple protocol engines in systems having multiple multi-processor clusters |
| US7194568B2 (en) * | 2003-03-21 | 2007-03-20 | Cisco Technology, Inc. | System and method for dynamic mirror-bank addressing |
| US7085897B2 (en) * | 2003-05-12 | 2006-08-01 | International Business Machines Corporation | Memory management for a symmetric multiprocessor computer system |
| US20050125486A1 (en) * | 2003-11-20 | 2005-06-09 | Microsoft Corporation | Decentralized operating system |
| US20060036424A1 (en) * | 2004-08-13 | 2006-02-16 | Petsinger Jeremy P | Method and apparatus for verifying resources shared by multiple processors |
| US7269681B1 (en) * | 2004-12-01 | 2007-09-11 | Advanced Micro Devices, Inc. | Arrangement for receiving and transmitting PCI-X data according to selected data modes |
| US7885817B2 (en) * | 2005-03-08 | 2011-02-08 | Microsoft Corporation | Easy generation and automatic training of spoken dialog systems using text-to-speech |
| US7707131B2 (en) * | 2005-03-08 | 2010-04-27 | Microsoft Corporation | Thompson strategy based online reinforcement learning system for action selection |
| US7734471B2 (en) * | 2005-03-08 | 2010-06-08 | Microsoft Corporation | Online learning for dialog systems |
| US8756044B2 (en) * | 2005-05-31 | 2014-06-17 | The Mathworks, Inc. | Graphical partitioning for parallel execution of executable block diagram models |
| US8447580B2 (en) * | 2005-05-31 | 2013-05-21 | The Mathworks, Inc. | Modeling of a multiprocessor system |
| US8667184B2 (en) * | 2005-06-03 | 2014-03-04 | Qnx Software Systems Limited | Distributed kernel operating system |
| US7840682B2 (en) | 2005-06-03 | 2010-11-23 | QNX Software Systems, GmbH & Co. KG | Distributed kernel operating system |
| WO2007003370A2 (en) * | 2005-06-30 | 2007-01-11 | Interuniversitair Microelektronica Centrum Vzw | A memory arrangement for multi-processor systems |
| US7958513B2 (en) * | 2005-11-17 | 2011-06-07 | International Business Machines Corporation | Method, system and program product for communicating among processes in a symmetric multi-processing cluster environment |
| US8453147B2 (en) * | 2006-06-05 | 2013-05-28 | Cisco Technology, Inc. | Techniques for reducing thread overhead for systems with multiple multi-threaded processors |
| US8041929B2 (en) * | 2006-06-16 | 2011-10-18 | Cisco Technology, Inc. | Techniques for hardware-assisted multi-threaded processing |
| US8010966B2 (en) | 2006-09-27 | 2011-08-30 | Cisco Technology, Inc. | Multi-threaded processing using path locks |
| US7958182B2 (en) | 2007-08-27 | 2011-06-07 | International Business Machines Corporation | Providing full hardware support of collective operations in a multi-tiered full-graph interconnect architecture |
| US8108545B2 (en) | 2007-08-27 | 2012-01-31 | International Business Machines Corporation | Packet coalescing in virtual channels of a data processing system in a multi-tiered full-graph interconnect architecture |
| US7904590B2 (en) | 2007-08-27 | 2011-03-08 | International Business Machines Corporation | Routing information through a data processing system implementing a multi-tiered full-graph interconnect architecture |
| US7769891B2 (en) * | 2007-08-27 | 2010-08-03 | International Business Machines Corporation | System and method for providing multiple redundant direct routes between supernodes of a multi-tiered full-graph interconnect architecture |
| US8185896B2 (en) | 2007-08-27 | 2012-05-22 | International Business Machines Corporation | Method for data processing using a multi-tiered full-graph interconnect architecture |
| US7958183B2 (en) | 2007-08-27 | 2011-06-07 | International Business Machines Corporation | Performing collective operations using software setup and partial software execution at leaf nodes in a multi-tiered full-graph interconnect architecture |
| US7840703B2 (en) * | 2007-08-27 | 2010-11-23 | International Business Machines Corporation | System and method for dynamically supporting indirect routing within a multi-tiered full-graph interconnect architecture |
| US7809970B2 (en) * | 2007-08-27 | 2010-10-05 | International Business Machines Corporation | System and method for providing a high-speed message passing interface for barrier operations in a multi-tiered full-graph interconnect architecture |
| US8140731B2 (en) | 2007-08-27 | 2012-03-20 | International Business Machines Corporation | System for data processing using a multi-tiered full-graph interconnect architecture |
| US7822889B2 (en) * | 2007-08-27 | 2010-10-26 | International Business Machines Corporation | Direct/indirect transmission of information using a multi-tiered full-graph interconnect architecture |
| US8014387B2 (en) * | 2007-08-27 | 2011-09-06 | International Business Machines Corporation | Providing a fully non-blocking switch in a supernode of a multi-tiered full-graph interconnect architecture |
| US7793158B2 (en) * | 2007-08-27 | 2010-09-07 | International Business Machines Corporation | Providing reliability of communication between supernodes of a multi-tiered full-graph interconnect architecture |
| US7769892B2 (en) | 2007-08-27 | 2010-08-03 | International Business Machines Corporation | System and method for handling indirect routing of information between supernodes of a multi-tiered full-graph interconnect architecture |
| US7827428B2 (en) | 2007-08-31 | 2010-11-02 | International Business Machines Corporation | System for providing a cluster-wide system clock in a multi-tiered full-graph interconnect architecture |
| US7921316B2 (en) | 2007-09-11 | 2011-04-05 | International Business Machines Corporation | Cluster-wide system clock in a multi-tiered full-graph interconnect architecture |
| US7779148B2 (en) | 2008-02-01 | 2010-08-17 | International Business Machines Corporation | Dynamic routing based on information of not responded active source requests quantity received in broadcast heartbeat signal and stored in local data structure for other processor chips |
| US8077602B2 (en) * | 2008-02-01 | 2011-12-13 | International Business Machines Corporation | Performing dynamic request routing based on broadcast queue depths |
| US20090198956A1 (en) * | 2008-02-01 | 2009-08-06 | Arimilli Lakshminarayana B | System and Method for Data Processing Using a Low-Cost Two-Tier Full-Graph Interconnect Architecture |
| US8417778B2 (en) * | 2009-12-17 | 2013-04-09 | International Business Machines Corporation | Collective acceleration unit tree flow control and retransmit |
| EP2588952A4 (en) | 2010-06-29 | 2017-10-04 | Exxonmobil Upstream Research Company | Method and system for parallel simulation models |
| CN102662909B (zh) * | 2012-03-22 | 2013-12-25 | 东华理工大学 | 一种三维众核片上系统 |
| US10375054B2 (en) * | 2015-10-06 | 2019-08-06 | Netflix, Inc. | Securing user-accessed applications in a distributed computing environment |
| WO2022076440A1 (en) * | 2020-10-05 | 2022-04-14 | Grid.ai, Inc. | System and method for training orchestration |
Family Cites Families (28)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4130865A (en) * | 1974-06-05 | 1978-12-19 | Bolt Beranek And Newman Inc. | Multiprocessor computer apparatus employing distributed communications paths and a passive task register |
| US4707781A (en) * | 1979-01-09 | 1987-11-17 | Chopp Computer Corp. | Shared memory computer method and apparatus |
| US4365292A (en) * | 1979-11-26 | 1982-12-21 | Burroughs Corporation | Array processor architecture connection network |
| US4400768A (en) * | 1980-06-04 | 1983-08-23 | Burroughs Corporation | Parallel access computer memory system employing a power-of-two memory modules |
| US4445171A (en) * | 1981-04-01 | 1984-04-24 | Teradata Corporation | Data processing systems and methods |
| US4636942A (en) * | 1983-04-25 | 1987-01-13 | Cray Research, Inc. | Computer vector multiprocessing control |
| US4901230A (en) * | 1983-04-25 | 1990-02-13 | Cray Research, Inc. | Computer vector multiprocessing control with multiple access memory and priority conflict resolution method |
| US5113523A (en) * | 1985-05-06 | 1992-05-12 | Ncube Corporation | High performance computer system |
| US4745545A (en) * | 1985-06-28 | 1988-05-17 | Cray Research, Inc. | Memory reference control in a multiprocessor |
| US4754398A (en) * | 1985-06-28 | 1988-06-28 | Cray Research, Inc. | System for multiprocessor communication using local and common semaphore and information registers |
| US4720780A (en) * | 1985-09-17 | 1988-01-19 | The Johns Hopkins University | Memory-linked wavefront array processor |
| US4827403A (en) * | 1986-11-24 | 1989-05-02 | Thinking Machines Corporation | Virtual processor techniques in a SIMD multiprocessor array |
| US4873626A (en) * | 1986-12-17 | 1989-10-10 | Massachusetts Institute Of Technology | Parallel processing system with processor array having memory system included in system memory |
| US4891751A (en) * | 1987-03-27 | 1990-01-02 | Floating Point Systems, Inc. | Massively parallel vector processing computer |
| US4834483A (en) * | 1987-05-06 | 1989-05-30 | Bell Communications Research, Inc. | Fast optical cross-connect for parallel processing computers |
| US5081575A (en) * | 1987-11-06 | 1992-01-14 | Oryx Corporation | Highly parallel computer architecture employing crossbar switch with selectable pipeline delay |
| US5055999A (en) * | 1987-12-22 | 1991-10-08 | Kendall Square Research Corporation | Multiprocessor digital data processing system |
| US5056000A (en) * | 1988-06-21 | 1991-10-08 | International Parallel Machines, Inc. | Synchronized parallel processing with shared memory |
| US5072371A (en) * | 1989-03-01 | 1991-12-10 | The United States Of America As Represented By The United States Department Of Energy | Method for simultaneous overlapped communications between neighboring processors in a multiple |
| US5179702A (en) * | 1989-12-29 | 1993-01-12 | Supercomputer Systems Limited Partnership | System and method for controlling a highly parallel multiprocessor using an anarchy based scheduler for parallel execution thread scheduling |
| US5208914A (en) * | 1989-12-29 | 1993-05-04 | Superconductor Systems Limited Partnership | Method and apparatus for non-sequential resource access |
| US5197130A (en) * | 1989-12-29 | 1993-03-23 | Supercomputer Systems Limited Partnership | Cluster architecture for a highly parallel scalar/vector multiprocessor system |
| US5165038A (en) * | 1989-12-29 | 1992-11-17 | Supercomputer Systems Limited Partnership | Global registers for a multiprocessor system |
| US5193187A (en) * | 1989-12-29 | 1993-03-09 | Supercomputer Systems Limited Partnership | Fast interrupt mechanism for interrupting processors in parallel in a multiprocessor system wherein processors are assigned process ID numbers |
| WO1991010200A1 (en) * | 1990-01-05 | 1991-07-11 | Maspar Computer Corporation | Parallel processor memory system |
| IL97315A (en) * | 1990-02-28 | 1994-10-07 | Hughes Aircraft Co | Multi-group signal processor |
| US5293626A (en) * | 1990-06-08 | 1994-03-08 | Cray Research, Inc. | Clock distribution apparatus and processes particularly useful in multiprocessor systems |
| US5305451A (en) * | 1990-09-05 | 1994-04-19 | International Business Machines Corporation | Single phase clock distribution circuit for providing clock signals to multiple chip integrated circuit systems |
-
1992
- 1992-07-10 US US07/912,964 patent/US5428803A/en not_active Expired - Lifetime
-
1993
- 1993-07-08 WO PCT/US1993/006452 patent/WO1994001815A1/en not_active Ceased
- 1993-07-08 JP JP6503518A patent/JPH07509085A/ja not_active Ceased
- 1993-07-08 EP EP93917048A patent/EP0649542A4/en not_active Withdrawn
-
1994
- 1994-10-31 US US08/331,730 patent/US5625831A/en not_active Expired - Lifetime
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6938078B1 (en) | 1998-12-09 | 2005-08-30 | Nec Corporation | Data processing apparatus and data processing method |
| JP2009230764A (ja) * | 2009-07-06 | 2009-10-08 | Univ Waseda | マルチプロセッサシステム |
| JP2014232524A (ja) * | 2013-05-28 | 2014-12-11 | エスアールシー コンピューターズ、エルエルシー | 分散型マルチポート共通メモリモジュールを組み込んだマルチプロセッサコンピュータアーキテクチャ |
Also Published As
| Publication number | Publication date |
|---|---|
| US5428803A (en) | 1995-06-27 |
| US5625831A (en) | 1997-04-29 |
| EP0649542A1 (en) | 1995-04-26 |
| WO1994001815A1 (en) | 1994-01-20 |
| EP0649542A4 (en) | 1996-04-17 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH07509085A (ja) | 統一されたパラレル処理アーキテクチャのための方法と装置 | |
| EP0085520B1 (en) | An array processor architecture utilizing modular elemental processors | |
| JPH0922404A (ja) | 同報通信プロセッサ命令を備えたアレイ・プロセッサ通信アーキテクチャ | |
| US11645225B2 (en) | Partitionable networked computer | |
| WO2001046777A2 (en) | Mimd arrangement of simd machines | |
| JPH05508495A (ja) | 多重プロセッサ用大域レジスタ | |
| US7673118B2 (en) | System and method for vector-parallel multiprocessor communication | |
| EP3948562B1 (en) | Embedding rings on a toroid computer network | |
| JP2525117B2 (ja) | アレイ・プロセッサ | |
| JP2620487B2 (ja) | コンピュータ・パッケージ | |
| Sakai et al. | Design and implementation of a circular omega network in the EM-4 | |
| Brooks III | The shared memory hypercube | |
| Pechanek et al. | ManArray processor interconnection network: an introduction | |
| Kolinummi et al. | PARNEU: general-purpose partial tree computer | |
| Cappello et al. | PTAH Introduction to a new parallel architecture for highly numeric processing | |
| Jain | Parallel Processing With the TMS320C40 Parallel Digital Signal Processor | |
| Haagens | A bus structure for multi-microprocessing. | |
| Stuart | A general purpose multi-processor computer architecture | |
| Sharif et al. | Design and simulations of a serial-link interconnection network for a massively parallel computer system | |
| Reeves | Meshes and Hypercubes for Computer | |
| Hayat et al. | An efficient multidimensional/multidirectional parallel pipelined architecture for image processing | |
| Kang | A study of combining networks | |
| Garg | Mechanisms for hiding communication latency in data parallel architectures | |
| MAPLES et al. | The advantages of an adaptive multiprocessor architecture | |
| Mandal | Parallel algorithms for matrix multiplication |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A313 | Final decision of rejection without a dissenting response from the applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A313 Effective date: 20040316 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20040406 |