JP2572529B2 - データ・ブロックを宛先へ経路指定する方法及び並列システム - Google Patents

データ・ブロックを宛先へ経路指定する方法及び並列システム

Info

Publication number
JP2572529B2
JP2572529B2 JP20917393A JP20917393A JP2572529B2 JP 2572529 B2 JP2572529 B2 JP 2572529B2 JP 20917393 A JP20917393 A JP 20917393A JP 20917393 A JP20917393 A JP 20917393A JP 2572529 B2 JP2572529 B2 JP 2572529B2
Authority
JP
Japan
Prior art keywords
node
nodes
phase
offset
destination
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.)
Expired - Fee Related
Application number
JP20917393A
Other languages
English (en)
Other versions
JPH07143176A (ja
Inventor
ジェオシュア・ブルック
チン・ティエン・ホー
シュロモ・キプニス
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH07143176A publication Critical patent/JPH07143176A/ja
Application granted granted Critical
Publication of JP2572529B2 publication Critical patent/JP2572529B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17356Indirect interconnection networks
    • G06F15/17368Indirect interconnection networks non hierarchical topologies
    • G06F15/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)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Multi Processors (AREA)
  • Small-Scale Networks (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、並列システムにおいて
複数のデータ・ブロックを経路指定するための方法に関
するものであり、更に詳しくいえば、メッセージ伝送並
列システムにおける任意のプロセッサ・サブセット間に
おける複数のデータ・ブロックのマルチ・パケット経路
指定のための方法に関するものである。
【0002】
【従来の技術】並列アーキテクチャを持ったマルチプロ
セッサ・コンピュータ・システムは、1つのタスクを同
時に遂行するように並列的に動作する複数のプロセッサ
を使用する。並列マルチプロセッサ・システムでは、1
つの問題がいくつかの副次問題に分解されて個々のプロ
セッサに分配され、各プロセッサは、それに割当てられ
た副次問題のセグメントに関して動作する。このような
並列アーキテクチャによって、1つのプロセッサが1つ
の複雑なタスクを単独で遂行するに要する時間よりもず
っと短い時間で1つの解答を出すよう、すべてのプロセ
ッサにより並列的に且つ同時にそのタスクを解決するこ
とができる。
【0003】多くのプロセッサが1つのタスクを共同し
て解決するためには、すべてのプロセッサを相互接続す
るネットワークを介してメッセージを送受信することに
よって、それらプロセッサが相互にコミュニケートしな
ければならない。多くの場合、プロセッサの相異なるサ
ブセット間の集合(Collective)コミュニケ
ーションが必要である。しばしば使われる集合コミュニ
ケーション・プリミティブより成る効率的且つ可搬的な
コミュニケーション・ライブラリは、並列処理システム
をうまくプログラミングするのが極めて難しい。そのコ
ミュニケーション・ライブラリは、並列プログラミン
グ、デバッギング、及び可搬性が容易であるのみなら
ず、アプリケーション・プログラムのコミュニケーショ
ン・プロセスが効率的である。
【0004】よく使用されるコミュニケーション・プリ
ミティブはマルチパケット経路指定動作であり、その動
作では、1セットのプロセッサにおける各プロセッサが
種々のサイズのデータ・ブロックの集合体を有し、各デ
ータ・ブロックは並列ネットワークを介してそのセット
におけるそれぞれの宛先プロセッサに送られなければな
らない。マルチ・パケット経路指定動作の特殊ケースで
あり、あまりよく使用されてない集合コミュニケーショ
ン・プリミティブは、スキャッタ(分散)動作、ギャザ
(収束)動作、及びインデックス動作である。nノード
より成るセット内でのスキャッタ動作では、1ノード当
たり1データ・ブロックでそのセット内のnノード間に
分配される必要のあるnブロックのデータを持った1つ
のソース・ノードがそのセット内にある。各ノードが最
初に1データ・ブロックを有するnノード間のギャザ動
作では、そのセット内に、nノードすべてからnブロッ
クすべてを集合させるために、即ち、縮小を行うことな
く1つのノードにおけるデータ・ブロックを連結するた
めに、1つの宛先ノードがある。nノードのセット内で
のインデックス動作では、そのセット内の各ノードは最
初にnブロックのデータを有する。そのセット内の各i
番目のノードは、それのj番目のデータ・ブロックをノ
ードjに送り、ノードjのi番目のデータ・ブロックを
受ける必要がある。
【0005】スキャッタ、ギャザ、及びインデックス動
作、並びにマルチ・パケット経路指定動作は、多くの実
世界の科学的、数値的、及び商業的アプリケーションに
おいて用途を見出だすコミュニケーション・ライブラリ
における重要な集合コミュニケーション・プリミティブ
である。このようなアプリケーションの例は、最も基本
的な線形代数操作の1つであるマトリクス変換、バイト
ニック・ソーティング(bitonic sortin
g)、偏微分方程式を解くためのオルタネイティング・
ディレクション・インプリシット(Alternati
ng Direction Implicit 、即
ち、ADI)、及びフーリエ解析巡回縮約(FACR)
法又は2次元FFT法によるポアソンの問題の解法を含
む。マルチ・パケット経路指定動作は、ワークステーシ
ョンのネットワーク及びディスク又はI/Oノードのネ
ットワークにおいて必要な汎用コミュニケーションに対
する実行時サポートとしても使用可能である。従って、
この分野の基本的問題は、スキャッタ、ギャザ、インデ
ックス、及びマルチ・パケット経路指定動作に対する効
率的なアルゴリズムを創出することであった。
【0006】集合コミュニケーション・プリミティブの
ためのほとんどの従来技術は、メッシュ又はハイパーキ
ューブのような一定の並列システム技術に依存してい
る。これら従来技術のアルゴリズムは、特別に設計され
たトポロジーにはよく適合するけれども、これらは、他
の並列トポロジーには容易に移植し得ない。これらアル
ゴリズムの多くは、関連するプロセッサの数のために、
或る形式に限定される。例えば、ハイパーキューブに関
する集合コミュニケーション・プリミティブのためのア
ルゴリズムは、プロセッサの数が2の累乗になり、従っ
て、効率の損失なしにプロセッサを任意の数に容易に拡
大することができないと考えられる。従って、必要なこ
とは、効率の損失なしに基礎となるトポロジーに無関係
のアルゴリズムを創出すること、及びセット内のプロセ
ッサの数が必ずしも2の累乗とはならず且つセット内の
プロセッサが必ずしもサブキューブ又はサブメッシュの
ような構造を形成しないプロセッサ・セット上で走るこ
とができる集合コミュニケーション・プリミティブのた
めのアルゴリズムを創出することである。
【0007】トポロジー独立の(即ち、トポロジーに無
関係の)アルゴリズムを持つことは、他に多くの利点が
ある。1つは、プロセッサがスイッチ、クロスバー・ス
イッチ、及びバスというマルチ・ステージを介して相互
接続される場合、それらアルゴリズムが或る並列アーキ
テクチャを正確に反映することである。もう1つは、プ
ロセッサ相互間の距離(即ち、ホップの数)が無関係で
ある回路交換、ワームホール、及び仮想カットスルー経
路指定のような更に進んだ経路指定の利用可能性がある
ことである。更にもう1つは、トポロジー独立のアルゴ
リズムが更に特殊なトポロジーに対するアルゴリズムの
創出に有用となり得ることである。
【0008】集合コミュニケーション・プリミティブの
ためのトポロジー独立のアルゴリズムの効率の問題は、
ほとんどのアプリケーション・プログラムの性能強化に
とって重要である。効率は、基礎となる機械の2つの重
要なパラメータに依存することが最も多い。それらパラ
メータの1つはコミュニケーション始動時間であり、も
う1つは伝送時間である。コミュニケーション始動時間
は、例えば、その後の各コミュニケーション・コール、
即ち、伝送又は受信動作と関連するソフトウエア及びハ
ードウエアにより生じたオーバヘッドであり、伝送時間
は、コミュニケーション・ネットワークを介して各デー
タ要素、例えば、1バイトを伝送するに必要な時間であ
る。
【0009】相異なる並列装置における相異なる特性の
ために、種々の並列装置間で可搬性があるのみならず、
高い効率を保つ経路指定アルゴリズムを設計することが
切望されている。例えば、始動時間に対して最適化され
たマルチ・パケット経路指定アルゴリズムは、始動時間
に比べて大きい伝送時間を持った機械では性能が劣るか
もしれない。一方、伝送時間に対して最適化されたマル
チ・パケット・アルゴリズムは、伝送時間に比べて大き
い始動時間を持った機械ではうまく働かないかもしれな
い。従って,従来技術において必要とされるものは、始
動時間及び伝送時間のような機械のパラメータに従って
調整可能な経路指定アルゴリズムであり、そして特殊な
アーキテクチャの始動時間及び伝送時間の間のバランス
をとるようにパラメータ設定可能なクラスのアルゴリズ
ムを得ることである。
【0010】
【発明が解決しようとする課題】本発明は、メッセージ
伝送並列システムにおける複数プロセッサの任意のサブ
セット内で複数のデータ・ブロックのマルチ・パケット
経路指定のための方法に関する。
【0011】本発明の主たる目的は、メッセージ伝送並
列システムにおけるマルチ・パケット経路指定動作及び
インデックス、スキャッタ、及びギャザー動作のような
頻繁に使用されるコミュニケーション・プリミティブの
ための効率的な方法を提供することにある。
【0012】本発明のもう1つの方法は、コミュニケー
ション始動時間及び伝送時間に依存する基礎アーキテク
チャのパラメータに従って調整可能なマルチ・パケット
経路指定アルゴリズムを提供することにある。
【0013】本発明の更にもう1つの目的は、多くの並
列アーキテクチャの間で最大の可搬性を達成するように
トポロジー独立のマルチ・パケット経路指定アルゴリズ
ムを提供することにある。
【0014】本発明の更にもう1つの目的は、サブキュ
ーブ又はサブメッシュのような特定の構造に限定されな
い任意の数のプロセッサのためのマルチ・パケット経路
指定アルゴリズムを提供することにある。
【0015】
【課題を解決するための手段】並列システムにおいて複
数のメッセージ・パケットをそれぞれの宛先に経路指定
するための方法が与えられ、それは、その特殊な並列シ
ステムに対するコミュニケーション始動時間及び伝送時
間の値を考慮するものである。この方法は、コミュニケ
ーション始動時間及び伝送時間のパラメータを使って1
つの基数を選択する第1ステップが関連している。第2
ステップは、各データ・パケットに対して、1つの相対
オフセットを形成させるために、モデュロn減算を使っ
てデータ・ブロックのアドレスからノード・アドレスを
減算し、予め選択された基数でその相対オフセットを表
わすことに関連する。第3のステップは、データ・ブロ
ックを宛先ノードに複数フェーズで送ることに関連し、
各フェーズは相対オフセット値のi番目のディジットと
それらデータ・ブロックをパックし、然る後、それらパ
ックされたデータ・ブロックをそれぞれの中間宛先アド
レスに送ることに関連する。
【0016】
【実施例】本発明は、メッセージ伝送並列システムにお
いて、複数プロセッサの任意のサブセット内で複数のデ
ータ・ブロックをマルチ・パケット経路指定する方法に
関するものである。
【0017】本発明の方法をを具体化する代表的なメッ
セージ伝送並列システムは、複数のノードより成る。各
ノードは、コンピュータ、マイクロプロセッサ、ワーク
ステーションのような処理エレメント、キャッシュ、メ
モリ、ディスクのような記憶装置、I/O装置、又はそ
れらの組合わせたものでよい。ノードは、ネットワーク
を介してメッセージを伝送及び受信することによって、
又は他のノードの記憶装置を直接的に又は間接的に書き
込み又は読み取ることによって、他のノードと情報を交
換することができる。一般的には、各ノードは、ローカ
ル・メモリを持ったプロセッサであり、メッセージ・パ
ケットを送受信することによって他のノードとコミュニ
ケートする。ノードは、コミュニケーション・リンクを
介して直接的に、又はスイッチ、クロスバー、或はバス
を介して相互接続可能である。各ノードは、それ自身の
ノード識別子、即ち、ノードIDを有し、それぞれの宛
先ノードに送られるべき種々のサイズのデータ・ブロッ
クの単位であるパケットのリストを持っている。
【0018】図1を参照すると、プロセッサ・アドレス
P0−P4を持った5つのノードのセットが示される。
各ノードは、それぞれが宛先ノード・アドレスを持った
多数のメッセージ・パケットを持っている。例えば、プ
ロセッサ・ノードP0はアドレス0を持ち、それぞれプ
ロセッサ・ノード・アドレス1、2、及び4を宛先とす
る3個のメッセージ・パケットを持っている。更に、プ
ロセッサ・ノードP1は、アドレス1を持ち、それぞれ
ノード・アドレス2及び4を宛先とする2個のパケット
を持っている。同様に、プロセッサ・ノードP2、P
3、及びP4は、それぞれが宛先アドレスを持ったそれ
自身のメッセージ・パケットを持っている。図2に示さ
れるように、図1のノードのセットにおけるメッセージ
・パケットは、それぞれのプロセッサ・ノード宛先アド
レスに送られる。
【0019】本発明の好ましい実施例では、第1の方法
ステップは、システム・パラメータを使って基数bを選
択することに関するものである。第2のステップは、各
データ・ブロックに対して、モデュロn減算を使ってそ
のデータ・ブロックの宛先アドレスからノード・アドレ
スを減算して相対的オフセットを形成し、その選択され
た基数の数系で相対的オフセットを表わすことに関する
ものである。第3のステップは、パックされたデータ・
ブロックをそれぞれの宛先ノードにフェーズを合わせて
送ることに関するものであり、各フェーズは、相対的オ
フセットのi番目のディジットを走査するステップ及び
それらその相対的オフセットのi番目のディジットが同
一であるデータ・ブロックを一緒にパックした後、その
パックされたデータ・ブロックをそれぞれの中間宛先ア
ドレスに送るステップに関連する。
【0020】この好ましい実施例の更に詳しい説明を第
1の方法ステップに関して行うが、ここで基数bが選択
されなければならない。この方法は、並列システム内の
コミュニケーション・サブシステムに対する、2つのパ
ラメータ、コミュニケーション始動時間、及び伝送時間
を利用する。それは、本発明がこれら2つのパラメータ
に従って調整可能であるためである。コミュニケーショ
ン始動時間は、各コミュニケーション・ステップ、即
ち、メッセージ送信又はメッセージ受信と関連するソフ
トウエア及びハードウエアによって生じたオーバヘッド
である。伝送時間は、そのシステムによって定義された
1つのデータ素子を、コミュニケーション・ネットワー
クを介して伝送するに要する時間である。
【0021】コミュニケーション始動時間は、tsによ
って表わされ、伝送時間は、ttrによって表わされる。
mバイトより成る1つのメッセージ・パケットを送信及
び受信するためのコミュニケーション時間は、その並列
システムを交差するために、ts+mttrの時間単位をと
る。
【0022】適当な整数基数は、b(但し、2=<b=
<n)である。基数bに対する好ましい値は、ts、t
tr、n、及びMの関数として次式により取り出すことが
できる。
【0023】 min∀b∈{2,3,...n}{〈logbn〉(b−1)[ts+(M/bn)ttr]} 但し、tsは、見積りコミュニケーション始動時間であ
り、ttrは、見積り伝送時間であり、Mは、nノードを
通るメッセージの合計数であり、〈logbn〉は、logb
の最大値を表わす。
【0024】次に、好ましい実施例の第2ステップは、
各データ・ブロックに対して、相対オフセットを形成す
るために、モデュロn減算を使ってデータ・ブロックの
宛先アドレスからノード・アドレスを減算し、然る後、
その選択された基数bにおける相対オフセットを表示す
ることに関するものである。各ノードにおける各パケッ
トに対して相対オフセットが計算されることが、本発明
の方法の基本である。例えば、パケットが最初ノードn
にあり、ノードyを宛先とする場合、この特定のメッセ
ージ・パケットの相対オフセットrは、r=(y−n)
モデュロnによって定義される。従って、各パケットの
相対オフセットは、前に選択した基数bの数系を使っ
て、kディジットにより表わされる。(但し、k=〈lo
gbn〉である)。0乃至n−1の範囲におけるすべての
整数がその選択された基数bの数系によってkディジッ
ト(各ディジットがセット{0,1,2,...b−
1}から選択される)で表示可能であることを認識すべ
きである。従って、基数bの数系におけるrは、(r
k-1, rk-2,.....,r0)として定義される。(但し、r=
k-1bk-1+rk-2bk-2+.....+r0b0 であり、ri∈{0,
1,2,.....b-1}である。従って、ここでは、説明の便宜
上、riは基数b表記におけるrのi番目のディジットで
ある。
【0025】好ましい実施例の第3ステップでは、パッ
クされたメッセージが、フェーズ0からフェーズk−1
まで繰り返すk個のフェーズで、それぞれの中間宛先ノ
ード・アドレスに送られる。更に、本発明における各フ
ェーズは、サブフェーズ1からサブフェーズb−1まで
繰り返すb−1個のサブフェーズより成る。フェーズi
のサブフェーズjの間、各プロセッサ・ノードxは、現
在のローカル・パケットすべてを、選択された基数b表
記における相対オフセットのi番目のディジットまで走
査し、これらディジットのうちのどれかがjに等しいか
どうかを決定する。このような相対オフセット・ディジ
ットが見つかった場合、それらパケットはパックされ、
1コミュニケーション・ステップでプロセッサ・ノード
y(但し、y=(x+jbi)モデュロn)に送られ
る。
【0026】係数〈logbn〉(即ち、logbnの最大値)
は、その第3の方法ステップにおいて必要とされる最大
のフェーズ数を表わす。各フェーズ内には、b−1個ま
でのサブフェーズがあり、各サブフェーズは、各ノード
に対して1つの大きなパックされたパケットを送ること
及び1つの大きなパックされたパケットを受け取ること
に相当する。従って、各フェーズに対して必要とされる
b−1個までのコミュニケーション始動がある。フェー
ズiにおいて各ノードから送出する必要があるデータ
は、相対オフセットの非ゼロのi番目のディジットを持
ったメッセージ・パケットより成る。従って、1フェー
ズ中に並列システムにおける任意のノードから伝送する
必要のあるデータの平均的量は、[(b−1)/b]*
(M/n)であり、各フェーズにおけるデータ伝送のた
めの見積り時間は、[(b−1)/b]*(M/n)*
tr である。基数bを適当に選択することによって、
この方法は、その特定の機械のパラメータに基づいて調
整可能となり、従って、異なる特性を持った広範囲の並
列アーキテクチャにまたがって可搬性があるように始動
時間と伝送時間とをバランスさせる。
【0027】すべてのパックされたメッセージ・パケッ
トのサイズ及び宛先の分布に関する情報をそのセットに
おけるすべてのノードが知っている時、又はマルチ・パ
ケット経路指定動作がスキャタ、ギャザ、又はインデッ
クスのような動作に対して恒常的になる時、基数bの選
択は他の数式によっても取り出し可能であることを理解
すべきである。
【0028】ここに示した例及び以下で説明する例は、
説明の便宜上適当に選択した基数2、3、及び5の数系
を使用する。
【0029】図3を参照すると、プロセッサ・ノード・
アドレスP0乃至P4を持った5個のノードのセットが
示される。各ノードは、複数のメッセージ・パケットを
含んでおり、宛先及び相対オフセットは、伝統的な基数
10(10進)の数系を使って各メッセージ・パケット
と関連付けられている。図3は、図1のすべてのプロセ
ッサ・ノードにおけるすべてのメッセージ・パケットに
対する相対オフセットの計算結果を示す。例えば、プロ
セッサ・ノードP2は、4個のメッセージ・パケットを
持っている。第1のメッセージ・パケットは、0の宛先
アドレス及び3の相対オフセットを持っている。前述の
第2の方法ステップにおけるように、nノードのセット
内でノードyを宛先とするノードxにおけるパケットに
対する相対オフセットを計算する数式は、r=(y−
x)モデュロn である。従って、ノード0を宛先とす
るノード2の第1パケットに対する相対オフセットは、
r=(0−2)モデュロ5=3 である。同様に、第2
パケットは、1の宛先アドレスを持ち、(1−2)モデ
ュロ5=4 の相対オフセットを持っている。第3パケ
ットは、3の宛先アドレス及び(3−2)モデュロ5=
1 の相対オフセットを持っている。第4パケットは、
4の宛先アドレス及び(4−2)モデュロ5=2 の相
対オフセットを持っている。プロセッサ・ノードP0、
P1、P3、及びP4に含まれたすべてのメッセージ・
パケットに対する相対オフセットが、同じ方法で計算可
能である。各計算の結果が、図3に示される。
【0030】図3のノードのセットを示す図4を参照す
ると、すべてのノードにおけるすべてのメッセージ・パ
ケットの相対オフセットが基数2の数系、即ち、b=2
で示されている。括弧内の数字は、この特定の例に対す
る選択された基数を示し、この例では2である。図5
は、図4のノードのセットを示し、この方法のフェーズ
0の間にコミュニケートするメッセージ・パケットがそ
れぞれの中間宛先ノードに送られてしまった状態を示し
ている。前述の第3の方法ステップにおけるように、フ
ェーズ0からフェーズb−1まで繰り返すk=〈log
bn〉 個のフェーズがある。従って、図4乃至図7に
示された例では、k=〈log25〉=3 個のフェーズが
あり、フェーズ0からフェーズ2までを繰り返す。各フ
ェーズの間、(b−1)=1であるため、1つのフェー
ズしかない。フェーズ0のサブフェーズ1の間、0番目
のオフセット・ディジットが1の値を有するノードxに
おけるすべてのメッセージ・パケットがパックされ、ノ
ードy=(x+1)モデュロnに送られる。従って、フ
ェーズ0の間、基数2の表記で相対オフセット 001
(2)を持つ図4のノード0における第1パケットは、
ノード(0+1)モデュロ5=1 に送られなければな
らない。
【0031】同様に、図4のノード0における第2及び
第3パケットは、それらの相対オフセットのディジット
0が0の値を有するので、コミュニケートされないであ
ろう。同様に、図4におけるノード1の第1及び第2パ
ケットがパックされノード(1+1)モデュロ5=2
に送られる。同じ中間宛先ノードを宛先とするこれら2
つのパケットは、コミュニケーション始動時間を減少さ
せるように、ノード2に送られる前に更に大きいメッセ
ージ・パケットにパックされるであろう。その結果、こ
れら2つのパケットは、この方法のフェーズ1の終了
後、図5のノード2のようになる。同様に、図4におけ
るノード2の第1及び第3メッセージ・パケットがパッ
クされ、宛先ノード(2+1)モデュロ5=3 に送ら
れる。図6は、図5のノードのセットを、図5と比較し
て示し、フェーズ1の間のコミュニケーションによるメ
ッセージ・パケットがそれぞれの中間宛先ノードに送ら
れてしまった状態を示している。
【0032】前述のように、b=2の場合、1フェーズ
当たり1つのサブフェーズしかない。フェーズ1のサブ
フェーズ1の間、第1オフセット・ディジットが1の値
を有するノードxにおけるすべてのメッセージ・パケッ
トがノードy=(x+2)モデュロ5 にコミュニケー
トされなければならない。従って、フェーズ1の間、図
5のノード0における第1パケットが図6のノード(0
+2)モデュロ5=2に送られる。図5におけるノード
0の第2及び第3パケットは、それらの第1オフセット
・ディジットが0の値を有するため、コミュニケートさ
れない。同様に、図5におけるノード2の第2及び第4
パケットがパックされて更に大きいパケットを形成し、
ノード(2+2)モデュロ5=4 に送られる。
【0033】図7は、図6のノードのセットを、図6と
比較して示し、この方法のフェーズ2の間のコミュニケ
ーションによるメッセージ・パケットがそれぞれの宛先
ノードに送られてしまった状態を示している。再び、b
=2の場合の1フェーズ当たり1サブフェーズしかな
い。フェーズ2のサブフェーズ1の間、第2オフセット
・ディジットが1の値を有するノードxにおけるすべて
のメッセージ・パケットが、ノードy=(x+4)モデ
ュロ5 にコミュニケートすることになる。従って、フ
ェーズ1の間、図6におけるノード0の第1パケットが
図7のノード(0+4)モデュロ5=4 に送られる。
図6における第2、第3、及び第4パケットは、第2オ
フセット・ディジットが0の値を持つため、コミュニケ
ートされない。同様に、図6におけるノード2の第1パ
ケットがノード(2+4)モデュロ5=1 に送られ
る。
【0034】ノードのセットを示す図8を参照すると、
すべてのメッセージ・パケットの相対オフセットが基数
3の数系、即ち、b=3 で表わされた状態が示され
る。括弧内の数字は、この特定な例に対する選択された
基数(この例では3)を示す。
【0035】図9は、図8のノードのセットを、図8と
比較して示すものであり、フェーズ0の間にコミュニケ
ーションによりメッセージ・パケットがそれぞれの中間
宛先ノードに送られてしまった状態を示す。図8乃至図
10に示される例に対して、フェーズ0からフェーズ1
まで繰り返す k=〈log35〉=2 個のフェーズがあ
る。(b−1)=2であるため、1フェーズ当たり2つ
のサブフェーズがある。
【0036】フェーズ0のサブフェーズ1の間、0番目
のオフセット・ディジットが1の値を有するノードxに
おけるすべてのメッセージ・パケットがパックされ、ノ
ードy=(x+1)モデュロn にコミュニケートされ
る。例えば、図8におけるノード0の第1及び第3パケ
ットは、パックされ、ノード(0+1)モデュロ5=1
にコミュニケートされなければならない。フェーズ0
のサブフェーズ2の間、0番目のオフセット・ディジッ
トが2の値を持つノードxにおけるすべてのパケットが
パックされ、ノード y=(x+2)モデュロn にコ
ミュニケートされる。例えば、図8におけるノード0の
第2パケットは、ノード(0+2)モデュロ5=2 に
送られる。
【0037】図10は、図9のノードのセットを、図9
と比較して示し、フェーズ1の間にコミュニケートされ
るメッセージ・パケットがそれぞれの宛先ノードに送ら
れた状態を示している。前述のように、b=3 の場
合、2つのサブフェーズがある。フェーズ1のサブフェ
ーズ1の間に、第1オフセット・ディジットが1の値を
有するノードxのすべてのパケットがパックされ、ノー
ド y=(x+3)モデュロn に送られる。例えば、
図9におけるノード1の第1及び第3パケットがパック
され、図10のノード(1+3)モデュロ5=4 に送
られる。フェーズ1のサブフェーズ2の間に、第1オフ
セット・ディジットが2の値を有するノードxのメッセ
ージ・パケットはすべてパックされ、ノード y=(x
+2*3)モデュロn に送られる。第1オフセット・
ディジットにおいて2の値を持ったパケットがないの
で、フェーズ1のサブフェーズ2は無視されることに注
意してほしい。
【0038】ノードのセットを示す図11を参照する
と、すべてのノードにおけるすべてのメッセージ・パケ
ットの相対オフセットが基数5の数系、即ち、b=5
で表わされたものが示される。括弧内の数字は、この特
定の例に対する選択された基数、即ち、基数5を示す。
【0039】図12は、図11のノードのセットを、図
11と比較して示し、フェーズ0の間にコミュニケート
されるメッセージ・パケットがそれぞれの宛先ノードに
送られた状態を示している。図11及び図12に示され
た例に対して、k=〈log55〉=1 個のフェーズがあ
る。この1つのフェーズだけで、(b−1)=4 であ
るために4個のサブフェーズがある。フェーズ0のサブ
フェーズ1の間に、0番目のオフセット・ディジットが
1の値を有するノードxにおけるすべてのメッセージ・
パケットがパックされ、ノード y=(x+1)モデュ
ロn に送られる。例えば、図11のノード0における
第1パケットがノード(0+1)モデュロ5=1 に送
られる。フェーズ0のサブフェーズ2の間に、0番目の
オフセット・ディジットが2の値を有するノードxにお
けるすべてのメッセージ・パケットがパックされ、ノー
ド y=(x+2)モデュロn に送られる。図11に
おけるノード0の第2パケットがノード(0+2)モデ
ュロ5=2 に送られることは明らかである。一般的に
言えば、フェーズ0のサブフェーズi(但し、1=<i
=<b−1)の間に、0番目のオフセット・ディジット
がiの値を有するノードxのすべてのメッセージ・パケ
ットはパックされてノード y=(x+1)モデュロn
に送られる。
【0040】選択された基数bの値に関係なく、図7,
図10、及び図12に示された最終的な構成はすべて同
じであることに注意すべきである。従って、この方法
は、選択された基数が2乃至nの範囲における整数であ
る限り、その基数の値に関係なく有効である。
【0041】このマルチ・パケット経路指定方法の設計
上の変更が本発明の範囲に属することは勿論である。例
えば、相対オフセットを1乃至n−1の範囲から符号化
するために使われる基数は混合基数であってもよい。n
=6 個のノードを考えてみると、オフセット・ディジ
ット0に対する基数として3を選び、オフセット・ディ
ジット1に対する基数として2を選ぶことができる。従
って、(23)混合基数表記では、0、1、2、3、
4、及び6の値を、それぞれ(00)、(01)、(0
2)、(10)、(11)、及び(12)として表わす
ことができる。
【0042】本発明の範囲内でのもう1つの変更は、コ
ミュニケーション・モデルに基づくものである。例え
ば、各ノードがc個の他のノードのセットにメッセージ
を送り且つc個の他のノードからメッセージを受けるこ
とができるcポート・コミュニケーション・モデルで
は、各フェーズに対するサブフェーズの数は、〈(b−
1)/c〉、即ち、(b−1)/c の最大値となる。
これは、各フェーズでは、各コードがb−1個までの異
なった中間宛先ノードとコミュニケートする必要のある
メッセージを持ち、それらの内のc個が1つのステップ
で同時にコミュニケートすることができるためである。
【0043】本発明の方法は、スキャタ動作、ギャザ動
作、及びインデックス動作を含むマルチ・パケット経路
指定動作のための他の興味ある特別ケースに対する用途
を見出だすこともできる。nノードの間のスキャタ動作
では、1ノード当り1データ・ブロックずつ,nノード
すべてに分配する必要のあるnブロックのデータを持っ
た1つのソース・ノードがある。nノードの間のギャザ
動作では、各ノードが最初に1データ・ブロックを持
ち、nノードすべてからnデータ・ブロックすべてを収
集する、即ち、縮小を行うことなくデータ・ブロックを
連結する必要のある1つの宛先ノードがある。スキャタ
動作及びギャザ動作は、互いに逆の動作である。両方の
動作とも、行ベクトル又は列ベクトルを置換するような
実際のアプリケーションでよく使用される。
【0044】nノードの間のインデックス動作では、各
ノードは、1ノード当り1データ・ブロックずつ、すべ
てのノードに分配する必要のあるnブロックのデータを
持っている。更に正確に言えば、インデックス動作の目
的は、ノードjにおけるi番目のデータ・ブロックをノ
ードiにおけるj番目のデータ・ブロックと交換するこ
とである.(但し、0=<i,j=<n−1)。
【0045】インデックス動作に対するアルゴリズム
は、一連のプロセッサ・メモリ構成として表わすことが
できる。各プロセッサ・メモリ構成は、nブロックそれ
ぞれにnコラムを有する。コラムは、以後のすべての図
において、左から右へ0からn−1までラベルされ、ブ
ロックは、上から下へ0からn−1までラベルされる。
コラムjはノードjを表わし、ブロックiはメモリ・オ
フセットにおけるi番目のデータ・ブロックを表わす。
インデックス動作の目的は、ブロックのコラムを効率的
に置換することである。従って、インデックス動作にお
ける各データ・ブロックは、各ノードが、それ自身に対
するパケットを含むそのセット内のnノードに送る必要
のある同じサイズのnパケットを持っているという点
で、多重経路指定動作におけるパケットに対応する。
【0046】図13は、n=5 の場合に遂行されるイ
ンデックス動作の前後におけるプロセッサ・メモリ構成
の例を示す。各ボックスにおける表示「ji」は、ノー
ドjに最初に割当てられたi番目のデータ・ブロックを
表わす。ラベルiは、ブロックIDと呼ばれる。
【0047】そのインデックス方法は、3ステージを有
する。ステージ1では、各ノードjは、そのすべてのn
ブロックをjステップだけローカルに回転する。ステー
ジ2では、各ノードjは、そのi番目のブロックを右へ
iステップだけノード(j+i)モデュロnまで回転す
る。ステージ3では、各ノードjは、そのi番目のブロ
ック(0=<i=<n−1)をそのy番目のブロック
(y=(j−i)モデュロn)まで局地的に移動する。
ステージ1及び3は、ローカル・データ再配列を必要と
するだけであり、一方、ステージ2は、ノード間の或る
形式のコミュニケーションに関連する。図14は、n=
5 の場合これら3ステージの例を示す。
【0048】ステージ2では、データ・ブロック(即
ち、パケット)のサイズをmとすると、m=M/n2
であるので、基数bに対する好ましい値は、次のように
選択される。
【0049】 min∀b∈{2,3,...n}{〈logbn〉(b−1)[ts+(mn/b)tr]} 基数bが2又はnとなるように選択される時、2つの興
味あるケースが生じる。b=2 である時、その方法
は、最小数のコミュニケーション始動を持つ。図15
は、b=2 及び n=5 である場合のインデックス
動作に対するアルゴリズムの例を示す。陰の付いたブロ
ックは、次のフェーズの間に回転させられるブロックで
ある。b=n である時、その方法は最小のデータ伝送
時間を有する。従って、基礎となる機械の始動時間が重
要である時には、b=2 が選択されなければならず、
その始動時間が無視し得るものである時には、b=n
が選択される。一般的には、bは、ts、ttr、n、及
びmの関数として微調整可能である。
【0050】好ましい実施例における前記第3の方法ス
テップは、0、1、....、k−1の順序を必要とし
ない任意の適当な順序で繰り返し可能である。例えば、
k=3 である時、(0,1,2)、(0,2,1)、
(1,0,2)、(1,2,0)、(2,0,1)、及
び(2,1,0)のような3つの反復のうちのどの順序
もすべて有効となろう。更に、各フェーズ内の各b−1
サブフェーズが任意の適当な順序で反復可能である。実
際には、(b−1)k という合計数のサブフェーズが
任意の適当な順序で反復可能である。或る順序の反復
は、すべてのメッセージ・パケット関する平均的な到達
時間を最小にする場合に有利となろう。その順序は、す
べてのメッセージ・パケットのサイズ及び宛先の分布に
依存する。
【0051】本発明の第3の方法ステップは、フェーズ
及びサブフェーズを使って同期して遂行される必要はな
い。例えば、特定のサブフェーズの間に送出すべきメッ
セージを持たないノードは、アイドリングなしに、貪欲
に、次のサブフェーズ又はフェーズに対するメッセージ
を送ることができる。従って、マルチ・パケット経路指
定は、非同期的に遂行可能である。この場合、入ってく
るメッセージ・パケットによっては、或るサブフェーズ
が反復されることもある。しかし、このような必要な場
合のサブフェーズの反復は、コミュニケーション時間全
体を増加させることはないであろう。
【0052】ノードyを宛先とするノードxにおけるパ
ケットの相対オフセットは、値r=(y−x)モデュロ
n にそのまま限定されるものでもない。rと同じモデ
ュロn値を持った値を相対オフセットとして使用しても
よい。1つの例として、n=5、x=2、及びy=3
である場合を考えてみると、好ましい実施例の第2の方
法ステップによる相対オフセットは、r=1 である。
代わりのオフセットは、6であってもよい。新しい相対
オフセットを2と4との和として扱うことによって、ノ
ード2からのこのパケットが、まず、ノード(2+2)
モデュロ5=4に送られ、然る後、ノード(4+4)モ
デュロ5=3 に送られる。それに代わって、新しい相
対オフセット6を3と3との和として扱うことによっ
て、ノード2からのパケットは、まず、ノード(2+
3)モデュロ5=0 に送られ、然る後、ノード(0+
3)モデュロ5=3 に送られる。
【0053】相対オフセットrを表わすために多くの符
号化体系、特に、1つの数が8ディジットにより表わさ
れる数の和として表わされる符号化体系が利用可能であ
ることを理解すべきである。例えば、整数論の分野では
よく知られているチャイニーズ・リメインダー・セオレ
ム(Chinese Remainder Theor
em)を使った符号化は、相対オフセットを符号化する
のに利用可能である。
【0054】要約すると、本発明は、コミュニケーショ
ン始動時間及び伝送時間の値を考慮して、並列システム
においてメッセージ・パケットをそれぞれの宛先に経路
指定するための方法を提供する。メッセージ伝送並列シ
ステムにおける複数プロセッサのサブセット間で複数の
データ・ブロックをマルチ・パケット経路指定するこの
方法は、スキャッタ、ギャザ、インデックスのようなよ
く使われるコミュニケーション・プリミティブ及びマル
チ・パケット経路指定動作に効率的であり、サブキュ−
ブ又はサブメッシュのような特定の構造に限定されない
任意の数のプロセッサに対する最大の可搬性を達成する
ように独立したトポロジーである。
【0055】
【発明の効果】並列システムに対するコミュニケーショ
ン始動時間及び伝送時間を考慮して宛先へ経路指定する
方法が得られる。
【図面の簡単な説明】
【図1】プロセッサ・アドレスP0乃至P4を有する5
ノードのセットを示す図であり、各ノードは多数のパケ
ットを有し、各パケットは宛先ノード・アドレスを有す
る。
【図2】各プロセッサ・ノードに含まれたメッセージ・
パケットがそれぞれの宛先ノード・アドレスに送られて
しまった場合の図1のノード・セットの図である。
【図3】プロセッサ・アドレスP0乃至P4を有する5
ノードのセットを示す図であり、各ノードは多数のメッ
セージ・パケットを含んでおり、宛先及び相対オフセッ
トが各メッセージ・パケットと関連付けられている。
【図4】プロセッサ・アドレスP0乃至P4を有する5
ノードのセットを示す図であり、多数のメッセージ・パ
ケットが含まれており、宛先、相対オフセット及び(基
数)が各メッセージ・パケットと関連付けられている。
【図5】図4のノードのセットを示す図であり、オフセ
ットの第0ディジットに非ゼロ値を有するすべてのメッ
セージ・パケットが共にパックされ、フェーズ0中にそ
れぞれの中間宛先ノードに送られた状態を示す。
【図6】図5のノードのセットを示す図であり、オフセ
ットの第1ディジットに非ゼロ値を有するすべてのメッ
セージ・パケットが共にパックされ、フェーズ1中にそ
れぞれの中間宛先ノードに送られた状態を示す。
【図7】図6のノードのセットを示す図であり、オフセ
ットの第2ディジットに非ゼロ値を有するすべてのメッ
セージ・パケットが共にパックされ、フェーズ2中にそ
れぞれの中間宛先ノードに送られた状態を示す。
【図8】プロセッサ・アドレスP0乃至P4を有する5
ノードのセットを示す図であり、各ノードは多数のメッ
セージ・パケットを含んでおり、宛先、相対オフセット
及び(基数)が各メッセージ・パケットと関連付けられ
ている。
【図9】図8のノードのセットを示す図であり、オフセ
ットの第0ディジットに非ゼロ値を有するすべてのメッ
セージ・パケットが共にパックされ、フェーズ0中にそ
れぞれの中間宛先ノードに送られた状態を示す。
【図10】図9のノードのセットを示す図であり、オフ
セットの第1ディジットに非ゼロ値を有するすべてのメ
ッセージ・パケットが共にパックされ、フェーズ1中に
それぞれの中間宛先ノードに送られた状態を示す。
【図11】プロセッサ・アドレスP0乃至P4を有する
5ノードのセットを示す図であり、各ノードは多数のメ
ッセージ・パケットを含んでおり、宛先、相対オフセッ
ト及び(基数)が各メッセージ・パケットと関連付けら
れている。
【図12】図8のノードのセットを示す図であり、オフ
セットの第0ディジットに非ゼロ値を有するすべてのメ
ッセージ・パケットが共にパックされ、フェーズ0中に
それぞれの中間宛先ノードに送られた状態を示す。
【図13】5ノードの場合に遂行されるインデックス動
作の前後におけるプロセッサ及びメモリ構成を示す図で
ある。
【図14】5ノードの場合に遂行されるインデックス動
作のステージ1の前及びステージ1、2、及び3の後に
おけるプロセッサ及びメモリ構成を示す図である。
【図15】5ノードの場合に遂行されるインデックス動
作のステージ1の前、ステージ1の後、ステージ2のフ
ェーズ1乃至3の後、及びステージ3の後におけるプロ
セッサ及びメモリ構成を示す図である。
【符号の説明】
P0・・・プロセッサ・ノード P1・・・プロセッサ・ノード P2・・・プロセッサ・ノード P3・・・プロセッサ・ノード P4・・・プロセッサ・ノード
───────────────────────────────────────────────────── フロントページの続き (72)発明者 チン・ティエン・ホー アメリカ合衆国 95120 カリフォルニ ア州 サン・ホゼ アンホウ・クリー ク・サークル 7055 (72)発明者 シュロモ・キプニス アメリカ合衆国 07666 ニュージャー ジー州 ティーネック ベネット・ロー ド 81 (56)参考文献 特公 昭58−57939(JP,B2) 電子情報通信学会論文誌VOL.J71 −B NO.7(1988年7月)P.820 −829 電子通信学会技術研究報告SE87−70

Claims (6)

    (57)【特許請求の範囲】
  1. 【請求項1】コミュニケーション始動時間、伝送時間、
    及び複数のノードの間で経路指定されるべき全データ量
    を含む複数のパラメータを有する並列システムにおいて
    複数のデータ・ブロックをそれぞれの宛先へ経路指定す
    る方法であって、 a)前記パラメータを使って基数bの数系を選択するス
    テップと、 b)各データ・ブロックに対して、該データ・ブロック
    の宛先アドレスからノード・アドレスを減算してオフセ
    ットを形成するステップと、 c)前記オフセットを前記基数bの数系で表わすステッ
    プと、 d)前記データ・ブロックを宛先ノードにkフェーズで
    送るステップであって、各フェーズi(0=<i=<k
    −1)において、前記オフセットのi番目のディジット
    が同じであるデータ・ブロックを一緒にパックするステ
    ップ、及び該パックされたデータ・ブロックをそれぞれ
    の中間宛先アドレスに送るステップを含むステップと、 より成ることを特徴とする方法。
  2. 【請求項2】前記データ・ブロックすべてがそれぞれの
    宛先アドレスに送られてしまうまで前記ステップb)な
    いしd)を反復することを特徴とする請求項1に記載の
    方法。
  3. 【請求項3】前記中間宛先アドレスのセットを選択する
    ために数系を選ぶステップを具備したことを特徴とする
    請求項1に記載の方法。
  4. 【請求項4】前記中間宛先アドレスを選択するステップ
    は、各データ・ブロックに対して、該データ・ブロック
    の宛先アドレスからノード・アドレスを減算してオフセ
    ットを形成するステップを具備したことを特徴とする請
    求項1に記載の方法。
  5. 【請求項5】前記オフセットに基づいてデータ・ブロッ
    クをパックするステップを具備したことを特徴とする請
    求項4に記載の方法。
  6. 【請求項6】コミュニケーション始動時間、伝送時間、
    及び複数のノードの間で経路指定されるべき全データ量
    を含む複数のパラメータを有し、複数のデータ・ブロッ
    クをそれぞれの宛先へ経路指定する並列システムであっ
    て、 a)前記パラメータを使って基数bの数系を選択する手
    段と、 b)各データ・ブロックに対して、該データ・ブロック
    の宛先アドレスからノード・アドレスを減算してオフセ
    ットを形成する手段と、 c)前記オフセットを前記基数bの数系で表わす手段
    と、 d)前記データ・ブロックを宛先ノードにkフェーズで
    送る手段であって、各フェーズi(0=<i=<k−
    1)において、前記オフセットのi番目のディジットが
    同じであるデータ・ブロックを一緒にパックする手段、
    及び該パックされたデータ・ブロックをそれぞれの中間
    宛先アドレスに送る手段を含むものと、 より成ることを特徴とする並列システム。
JP20917393A 1992-10-22 1993-08-24 データ・ブロックを宛先へ経路指定する方法及び並列システム Expired - Fee Related JP2572529B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/965,491 US5561805A (en) 1992-10-22 1992-10-22 System for selectively packing together datablocks and efficiently routing independent of network topology in a parallel computer system in accordance with a selected numbering system
US965491 1992-10-22

Publications (2)

Publication Number Publication Date
JPH07143176A JPH07143176A (ja) 1995-06-02
JP2572529B2 true JP2572529B2 (ja) 1997-01-16

Family

ID=25510045

Family Applications (1)

Application Number Title Priority Date Filing Date
JP20917393A Expired - Fee Related JP2572529B2 (ja) 1992-10-22 1993-08-24 データ・ブロックを宛先へ経路指定する方法及び並列システム

Country Status (3)

Country Link
US (1) US5561805A (ja)
EP (1) EP0594323A3 (ja)
JP (1) JP2572529B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6301620B1 (en) * 1997-03-11 2001-10-09 Matsushita Electric Industrial Co., Ltd. Method of sending data from server computer, storage medium, and server computer
US5903770A (en) * 1997-03-21 1999-05-11 International Business Machines Corporation Incidence graph based communications and operations method and apparatus for parallel processing architecture
US5881304A (en) * 1997-03-21 1999-03-09 International Business Machines Corporation Incidence graph based communications and operations method and apparatus for parallel processing architecture
US6304914B1 (en) * 1998-09-22 2001-10-16 Microsoft Corporation Method and apparatus for pre-compression packaging
US6232857B1 (en) 1999-09-16 2001-05-15 General Electric Company Arc fault circuit breaker

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4814979A (en) * 1981-04-01 1989-03-21 Teradata Corporation Network to transmit prioritized subtask pockets to dedicated processors
JPS5857939A (ja) * 1981-10-02 1983-04-06 アイカ工業株式会社 化粧板
US5152000A (en) * 1983-05-31 1992-09-29 Thinking Machines Corporation Array communications arrangement for parallel processor
US5151996A (en) * 1983-05-31 1992-09-29 Thinking Machines Corporation Multi-dimensional message transfer router
US5008815A (en) * 1983-05-31 1991-04-16 Thinking Machines Corporation Parallel processor
US4598400A (en) * 1983-05-31 1986-07-01 Thinking Machines Corporation Method and apparatus for routing message packets
US4814973A (en) * 1983-05-31 1989-03-21 Hillis W Daniel Parallel processor
US4814980A (en) * 1986-04-01 1989-03-21 California Institute Of Technology Concurrent hypercube system with improved message passing
US4985832A (en) * 1986-09-18 1991-01-15 Digital Equipment Corporation SIMD array processing system with routing networks having plurality of switching stages to transfer messages among processors
US5241660A (en) * 1986-10-30 1993-08-31 National Semiconductor Corporation Buffered asynchronous communications element with receive/transmit control and status reporting
EP0493377A3 (en) * 1987-02-25 1992-11-19 Digital Equipment Corporation Massively parallel array processing system
US5117420A (en) * 1987-04-27 1992-05-26 Thinking Machines Corporation Method and apparatus for routing message packets
US4984235A (en) * 1987-04-27 1991-01-08 Thinking Machines Corporation Method and apparatus for routing message packets and recording the roofing sequence
US5170482A (en) * 1987-08-14 1992-12-08 Regents Of The University Of Minnesota Improved hypercube topology for multiprocessor computer systems
US4920484A (en) * 1988-10-05 1990-04-24 Yale University Multiprocessor/memory interconnection network wherein messages sent through the network to the same memory are combined
US5313645A (en) * 1991-05-13 1994-05-17 International Business Machines Corporation Method for interconnecting and system of interconnected processing elements by controlling network density
US5151900A (en) * 1991-06-14 1992-09-29 Washington Research Foundation Chaos router system

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
電子情報通信学会論文誌VOL.J71−B NO.7(1988年7月)P.820−829
電子通信学会技術研究報告SE87−70

Also Published As

Publication number Publication date
US5561805A (en) 1996-10-01
EP0594323A3 (en) 1995-10-18
EP0594323A2 (en) 1994-04-27
JPH07143176A (ja) 1995-06-02

Similar Documents

Publication Publication Date Title
Hendrickson et al. An efficient parallel algorithm for matrix-vector multiplication
US6766342B2 (en) System and method for computing and unordered Hadamard transform
Yeh et al. Macro-star networks: efficient low-degree alternatives to star graphs
Bozkus et al. Modeling the CM-5 multicomputer
Marin et al. Genetic algorithms on LAN-message passing architectures using PVM: Application to the routing problem
JP2572529B2 (ja) データ・ブロックを宛先へ経路指定する方法及び並列システム
Bruck et al. Fault-tolerant de Bruijn and shuffle-exchange networks
Juurlink et al. The E-BSP Model: Incorporating general locality and unbalanced communication into the BSP Model
Gazit et al. On the number of permutations performable by extra-stage multistage interconnection networks
Brent The LINPACK benchmark on the AP 1000: Preliminary report
Kaushik et al. An algebraic theory for modeling multistage interconnection networks
Chen Minimization of interprocessor communication for parallel computation
Al-Ayyoub et al. Matrix decomposition on the star graph
Ziavras et al. Pyramid mappings onto hypercubes for computer vision: Connection machine comparative study
Liu et al. Portable and scalable algorithms for irregular all-to-all communication
Parashar et al. A requirement analysis for high performance distributed computing over LANs
Sarbazi-Azad et al. A parallel algorithm for Lagrange interpolation on the star graph
Fernandez et al. Generalized algorithm for parallel sorting on product networks
Aumann et al. Improved memory utilization in deterministic PRAM simulation
Aoki et al. Experiments on the linear algebra step in the number field sieve
Kuhn Efficient mapping of algorithms to single-stage interconnections
Gupta et al. A technique for overlapping computation and communication for block recursive algorithms
Sarbazi-Azad et al. Parallel Lagrange interpolation on the star graph
Saad et al. pARMS: A package for solving general sparse linear systems on parallel computers
Chlebus et al. Parallel alternating-direction access machine

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees