JPH05324586A - マルチプロセッサ・コンピュータ・システムおよびそのデータ割振り方法 - Google Patents

マルチプロセッサ・コンピュータ・システムおよびそのデータ割振り方法

Info

Publication number
JPH05324586A
JPH05324586A JP4330744A JP33074492A JPH05324586A JP H05324586 A JPH05324586 A JP H05324586A JP 4330744 A JP4330744 A JP 4330744A JP 33074492 A JP33074492 A JP 33074492A JP H05324586 A JPH05324586 A JP H05324586A
Authority
JP
Japan
Prior art keywords
processor
data
processors
subgraph
data block
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.)
Granted
Application number
JP4330744A
Other languages
English (en)
Other versions
JP2512272B2 (ja
Inventor
Ching-Tien Ho
ティン ホー チン
Mandayam T Raghunath
ティ. ラグナース マンダヤム
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 JPH05324586A publication Critical patent/JPH05324586A/ja
Application granted granted Critical
Publication of JP2512272B2 publication Critical patent/JP2512272B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime 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)
  • Multi Processors (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

(57)【要約】 【目的】 マルチプロセッサ・コンピュータ・システム
におけるプロセッサ間ネットワークの全帯域を無駄なく
利用してデータの割振りを行い、システムのトポロジー
を種々の計算の要求に対して効率的かつ最適に用いる。 【構成】 本発明コンピュータ・システムは、少なくと
も2つのサブグラフ(部分グラフ)を有するアーキテク
チャに構成された複数のプロセッサを有する。各プロセ
ッサは、複数のデータブロックおよび実行可能なプログ
ラムを有し、まず第1サブグラフのプロセッサのデータ
ブロックの第1半分を、第2パラグラフの対応するプロ
セッサと交換することにより、データ再分配処理を行
う。次に、対応するプロセッサとのデータの再分配を、
データリンクの全帯域を用いて同時に実行する。最後に
第1のサブグラフおよび第2のサブグラフのプロセッサ
間で、データブロックの第1半分の逆交換を実行する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、一般的には、コンピュ
ータシステムのデータ割振りおよび伝送マネジメントに
関する。特に、本発明は、資源マネジメントシステムを
有する特定の種類のコンピュータシステムを提供するも
のである。この資源マネジメントシステムは、これらプ
ロセッサ間での改良された割振りの構造を実施し、それ
によりこれらプロセッサ間のデータ転送遅延が最小とな
るようにする。
【0002】
【従来の技術】種々のマルチプロセッサ・アーキテクチ
ャとして構成される現代のマルチプロセッサ・コンピュ
ータ・システムの性能は、しばしば、これらプロセッサ
間のデータ転送遅延により制約されている。これは、共
有メモリを有するマルチプロセッサ・システムと比較し
て構築および規模の変更が容易な(スケーラブル)分散
メモリ・システムでは特に顕著である。従って、分散メ
モリ・マルチプロセッサの重要な設計目的は、これらの
プロセッサ間の相互接続ネットワークおよびデータブロ
ックの割振りのトポロジー(幾何学的配置)を、データ
伝送遅延が最小となるようにアレンジすることである。
【0003】マルチプロセッサ・システムにおいては、
各プロセッサは一般にノードと称される。処理の同時性
ないし並列性を達成するために、複数のデータブロック
をしばしば伴う一連のデータが、同時に処理されるべき
多くのノードに分散される。各ノード内でのローカルデ
ータ処理に加え、他のノードとの間で追加のデータを送
信しおよび受信することがしばしば必要である。ノード
間のデータブロックの分配方法およびノード間のデータ
リンクの接続性は、しばしばマルチプロセッサ・システ
ムのスループットを決定する。特定のタイプのデータプ
ロセスに対しては、ノード間のデータブロックをそのプ
ロセスに最も適するように割当てるように注意深く設計
する努力により、データ伝送遅延を最小にし、その結果
マイクロプロセッサ・システムの性能を改善することが
できる。
【0004】ハイパーキューブまたは疑似ハイパーキュ
ーブ(hypercube-like)のトポロジーのマルチプロセッ
サはいくつか市販されるようになった。現在の技術によ
って数千のノードを有するハイパーキューブを築くこと
は、技術的および経済的に実現可能となった。ハイパー
キューブのトポロジー(幾何学的配置)のいくつかの利
点は、その対数直径、広い通信帯域、規則的な構造、お
よび多くのプログラム構造が隣接性を保持しながらハイ
パーキューブに写像できることである。
【0005】n次元ハイパーキューブには2n のコード
があり、および各次元には2つの座標点がある。ノード
には隣接するノードのアドレスが正確に1ビット相違す
るようにアドレスが与えられる。ハイパーキューブは再
帰性のある(recursive )構造である。n次元キューブ
は、2つのn次元キューブの対応する頂点を接続するこ
とにより(n+1)次元キューブに拡張できる。その一
方は最高位アドレスビット(0)を有し、他方は最高位
ビット(1)を有する。ハイパーキューブ・アーキテク
チャの再帰性の性質を図1に示す。図1には、1次元,
2次元,3次元および4次元のハイパーキューブ、すな
わちしばしばブーリアンキューブと称されるキューブが
示されている。図2は図1に示したのと同一のハイパー
キューブの、より理解しやすい図示である。
【0006】並列および分散処理のためのインテリジェ
ント実行時間支援システムおよびライブラリの入手可能
性が高まっているので、行列演算、リニア系方程式のた
めの反復法、周期的境界値問題、量子電気力学および量
子色力学の問題は全て、ハイパーキューブ・アーキテク
チャにより効率的に処理することができる。これらのタ
イプの問題解決は、大抵、コード間のデータ伝送のため
に、最近隣との通信を用いる。ハイパーキューブのノー
ド接続性は、図3に示すように、一般にグレイコードと
略される、2進数で表わしたグレイコードなどの近接を
保持するので、そのようなタイプの計算には最も適して
いる。他のタイプの計算、たとえば高速フーリエ変換
(FFT)、バイトニックソート(bitonic sort)、およ
び再帰的倍加など、ノード間で並列に処理できる計算も
ある。これらのタイプのデータ処理では、ツリーまたは
バタフライタイプのネットワークがより効率的である。
図4に示される、一般にバイナリコードと称される、ノ
ードアドレスのハイパーキューブの異なるラベルづけが
用いられる。
【0007】計算機の資源を効率的に管理するために、
マルチプロセッサ・コンピュータ・システムは、あるタ
イプのデータマッピングを他のタイプに変換して、処理
能力を最適に利用する能力をもつことが必要である。こ
れはグレイコードデータマッピングをもつ16ノードハ
イパーキューブシステムが、行列演算を処理し、それが
終了すると直ちに、行列演算で得た結果に対しFFT計
算を行うことを予定する場合に生じる。これらプロセッ
サ間のデータブロックの再配置は、まずハイパーキュー
ブのデータマッピングをグレイコードデータマッピング
からバイナリコードデータマッピングに変換して、FF
T計算が効率的に実行できるようにするために必要とさ
れる。
【0008】S.Lennart Johnsson著, J. Parallel Dist
ributed Computing, 4(2):133-172,1987 年 4月は、デ
ータブロックを再配置して、グレイコード構成からバイ
ナリコード構成へ変換する、ハイパーキューブ・アーキ
テクチャのための方法を開示する。この方法を図5に示
す。ここでは、4次元ハイパーキューブのための3ステ
ップの方法が用いられて、グレイコードデータマッピン
グからバイナリコードデータマッピングに、データブロ
ックを再配置している。n次元ハイパーキューブでは、
Johnssonは、グレイコードデータマッピングからバイナ
リコードデータマッピングへの変換にn−1ステップが
十分であることを、開示した。
【0009】Johnssonの変換を実行するための擬似コー
ドを付録Aにも示す。このコードにおいて、pidは現
在のプロセッサのプロセッサアドレスであり、およびn
br(j)は次元jと交差する隣接したノードの、プロ
セッサアドレスである。すなわち、
【0010】
【数1】
【0011】である。
【0012】2つのシステムコール、すなわち、それぞ
れメッセージの送信および受信を示す“send”およ
び“recv”が存在する。システムコール“sen
d”は4つの変数、すなわちメッセージのための開始メ
モリ位置、宛先のプロセッサアドレス、メッセージサイ
ズ(バイト単位)、およびメッセージのタイプを有す
る。受信側があるノードからのあるタイプのメッセージ
を特定するために、メッセージタイプが用いられる。こ
れは、インテルiPSC/2ハイパーキューブのよう
な、ある種の並列コンピュータで必要とされる。システ
ムコール“recv”は3つの変数、すなわち、システ
ムコール“send”の4つの変数から宛先のプロセッ
サアドレスを除いたものを有する。
【0013】図5および付録Aを参照するに、ステップ
0では、サブキューブ0のノード2(0010)と3
(0011)、および6(0110)と7(0111)
の間、およびサブキューブ1の10(1010)と11
(1011)、および14(1110)と15(111
1)の間でのみ、データブロックの送信および受信が行
われる。これらのノードは全て付録Aに示すように再下
位から2番目のビットがゼロでないノードアドレスI
D、すなわちpidを有する。すなわち、gi+1 -1=1
(ここでi=0)である。ステップ0では図5に示すよ
うに、これらのノード間でデータブロックの交換を行
う。図5よび付録Aに示すように、同様のデータブロッ
ク交換をステップ1および2で行う。
【0014】図5を詳細に調べると、3つのステップ全
てにおいて、使用されていないデータ通信リンクがある
ことが直に発見できる。例えば、ステップ0では、ノー
ド0と1、ノード4と5、ノード8と9、およびノード
12と13の間でデータブロックの交換が行われていな
い。これらの使用されていないリンクは、グレイコード
データマッピングからバイナリコードデータマッピング
へ変換する際のデータ再配置の効率を改善するのに用い
ることのできる可能性を有する。
【0015】
【発明が解決しようとする課題】従って、本発明の目的
は、ネットワーク帯幅(Network bandwidth )を効率的
かつ最適に利用するデータブロック割振り管理システム
を有する、ハイパーキューブ・マルチプロセッサ・コン
ピュータシステムを提供することにある。
【0016】本発明の他の目的は、ハイパーキューブま
たは擬似ハイパーキューブ・マルチプロセッサ・コンピ
ュータ・システムが、不必要なデータ再配置の遅延なし
に、データ処理プログラムを動的に実行可能とすること
にある。
【0017】本発明の他の目的は、同期通信を必要とす
ることなく、それにより送信または受信されるデータブ
ロックが利用可能になるとすぐに、データブロックの送
信および受信を各ノードでそのノードの適当な順序で独
立して実行できる、データ再配置システムを提供するこ
とにある。
【0018】本発明の他の目的は、効率的かつ最適にマ
ルチプロセッサ・コンピュータ・システムのトポロジー
を工夫して、種々の計算の要求に適合させることにあ
る。
【0019】
【課題を解決するための手段】簡単に言えば、本発明
は、少なくとも2つのサブグラフ(部分グラフ)を有す
るアーキテクチャに構成された複数のプロセッサを有す
るコンピュータ・システムを具え、少なくとも第1のサ
ブグラフおよび第2のサブグラフは、データ再分配操作
に対して段階的に相補的である対応するプロセッサを有
する。このコンピュータ・システムの各プロセッサは、
複数のデータブロックおよび実行可能なプログラムを有
する。この実行可能なプログラムは、まず第1サブグラ
フのプロセッサのデータブロックの第1半分を、第2パ
ラグラフの対応するプロセッサと交換することにより、
データ再分配処理を行う。次に、対応する段階的に相補
的なプロセッサとのデータの再分配を、データリンクの
全帯域を用いて同時に実行する。第1のサブグラフおよ
び第2のサブグラフのプロセッサ間で、データブロック
の第1半分の逆交換を最後に実行する。
【0020】請求項1に記載の発明は、各プロセッサが
nビットのプロセッサアドレスと、複数のデータブロッ
クとを有するn次元ハイパーキューブ・マルチプロセッ
サ・コンピュータ・システムに対する、グレイコードか
らバイナリコードへ変換するデータ割振り方法におい
て、(a) 各プロセッサのデータブロックの第2半分
を、前記プロセッサアドレスの(n−2)番目の次元に
沿って隣接するプロセッサと並列に交換するステップ
と、(b) 各プロセッサにおいてインデックスiに対
して(iは0からn−2まで)、次のステップ、すなわ
ち(i)プロセッサアドレスの逆グレイコードの(i+
1)番目のビットが値1であるか否かを判断するステッ
プ、および(ii)ステップ(i)において値が1と判断
された場合に、前記データブロックの第1半分を、前記
プロセッサアドレスのi番目の次元に沿って隣接するプ
ロセッサと交換し、他の場合には前記データブロックの
第2半分を、i番目の次元に沿って隣接するプロセッサ
と交換するステップを並列に実行するステップとを具え
たことを特徴とする。
【0021】請求項2に記載の発明は、n次元ハイパー
キューブ・アーキテクチャに構成した複数のプロセッサ
を有するコンピュータ・システムにおいて、各プロセッ
サはn次元プロセッサアドレスと、複数のデータブロッ
クと、グレイコードからバイナリコードへ変換するデー
タ割振りを行う実行可能なプログラムであって、(a)
各プロセッサのデータブロックの第2半分を、前記プ
ロセッサアドレスの(n−2)番目の次元に沿って隣接
するプロセッサと並列に交換するステップと、(b)
各プロセッサにおいてインデックスiに対して(iは0
からn−2まで)、次のステップ、すなわち(i)プロ
セッサアドレスの逆グレイコードの(i+1)番目のビ
ットが値1であるか否かを判断するステップ、および
(ii)ステップ(i)において値が1と判断された場合
に、前記データブロックの第1半分を、前記プロセッサ
アドレスのi番目の次元に沿って隣接するプロセッサと
交換し、他の場合には前記データブロックの第2半分
を、i番目の次元に沿って隣接するプロセッサと交換す
るステップを並列に実行するステップとを具えたことを
特徴とする。
【0022】請求項3に記載の発明は、n次元ハイパー
キューブ・アーキテクチャのスーパーグラフに構成した
複数のプロセッサを有するコンピュータ・システムにお
いて、各プロセッサはn次元プロセッサアドレスと、複
数のデータブロックと、グレイコードからバイナリコー
ドへ変換するデータ割振りを行う実行可能なプログラム
であって、(a) 各プロセッサのデータブロックの第
2半分を、前記プロセッサアドレスの(n−2)番目の
次元に沿って隣接するプロセッサと並列に交換するステ
ップと、(b) 各プロセッサにおいてインデックスi
に対して(iは0からn−2まで)、次のステップ、す
なわち(i)プロセッサアドレスの逆グレイコードの
(i+1)番目のビットが値1であるか否かを判断する
ステップ、および(ii)ステップ(i)において値が1
と判断された場合に、前記データブロックの第1半分
を、前記プロセッサアドレスのi番目の次元に沿って隣
接するプロセッサと交換し、他の場合には前記データブ
ロックの第2半分を、i番目の次元に沿って隣接するプ
ロセッサと交換するステップを並列に実行するステップ
とを具えたことを特徴とする。
【0023】請求項4に記載の発明は、段階的相補通信
パターンをもつ2つのサブグラフを有する再帰的n次元
アーキテクチャに構成された複数のプロセッサを有する
コンピュータ・システムにおいて、各プロセッサはn次
元プロセッサアドレスと、複数のデータブロックと、グ
レイコードからバイナリコードへ変換するデータ割振り
を行う実行可能なプログラムであって、(a) 各プロ
セッサのデータブロックの第2半分を、前記プロセッサ
アドレスの(n−2)番目の次元に沿って隣接するプロ
セッサと並列に交換するステップと、(b) 各プロセ
ッサにおいてインデックスiに対して(iは0からn−
2まで)、次のステップ、すなわち(i)プロセッサア
ドレスの逆グレイコードの(i+1)番目のビットが値
1であるか否かを判断するステップ、および(ii)ステ
ップ(i)において値が1と判断された場合に、前記デ
ータブロックの第1半分を、前記プロセッサアドレスの
i番目の次元に沿って隣接するプロセッサと交換し、他
の場合には前記データブロックの第2半分を、i番目の
次元に沿って隣接するプロセッサと交換するステップを
並列に実行するステップとを具えたことを特徴とする。
【0024】請求項5に記載の発明は、少なくとも2つ
のサブグラフを有するアーキテクチャに構成された複数
のプロセッサ間でデータブロックを再分配し、前記少な
くとも2つのサブグラフは同一のトポロジーおよび対応
するプロセッサを有する少なくとも第1および第2のサ
ブグラフを有し、段階的に相補的なこれらプロセッサ間
で前記再分配を行うデータ割振り方法において、(a)
前記第1のサブグラフにおけるプロセッサのデータブ
ロックの第1半分を前記第2のサブグラフの対応するプ
ロセッサと並列に交換するステップと、(b) 前記対
応する段階的に相補的なプロセッサで前記再分配を実行
して前記再分配を同時に行うステップと、(c) 前記
第1のサブグラフおよび前記第2のサブグラフの前記プ
ロセッサの間で、データブロックの第1半分を、ステッ
プ(a)の場合とは逆の交換を実行するステップとを具
えたことを特徴とする。
【0025】請求項6に記載の発明は、少なくとも2つ
のサブグラフを有するアーキテクチャに構成された複数
のプロセッサを有し、少なくとも第1のサブグラフおよ
び第2のサブグラフが同一のトポロジーを有し、対応す
るプロセッサがデータ再分配動作に対して段階的に相補
的であるコンピュータ・システムにおいて、各プロセッ
サは複数のデータブロックと、前記データ再分配動作を
行う実行可能なプログラムであって、(a) 前記第1
のサブグラフにおけるプロセッサのデータブロックの第
1半分を前記第2のサブグラフの対応するプロセッサと
並列に交換するステップと、(b) 前記対応する段階
的に相補的なプロセッサで前記再分配を実行して前記再
分配を同時に行うステップと、(c) 前記第1のサブ
グラフおよび前記第2のサブグラフの前記プロセッサの
間で、データブロックの第1半分を、ステップ(a)の
場合とは逆の交換を実行するステップとを具えた実行可
能なプログラムとを具えたことを特徴とする。
【0026】請求項7に記載の発明は、サブグラフ0,
1,…,(k−1)で示される、少なくともk個のサブ
グラフを有するアーキテクチャに構成された複数のプロ
セッサ間で、データブロックを再分配し、前記k個のサ
ブグラフの各々は、同一のトポロジーおよび対応するプ
ロセッサを有し、段階的に相補的な前記k個のプロセッ
サ間で前記データ再分配を行うデータ割振り方法におい
て、(a) プロセッサの各データブロックを、ほぼ同
一サイズのk個の部分に分割するステップと、(b)
ランニング連続インデックスi(0≦i≦k)で表され
るサブグラフにおける各プロセッサ、およびランニング
インデックスj(0≦j≦k−1かつj≠1)で表わさ
れる各部分に対して、前記サブグラフiにおけるプロセ
ッサのj番目の部分をサブグラフjの前記対応するプロ
セッサのi番目の部分と並列に交換するステップと、
(c) 前記対応する段階的に相補的なプロセッサによ
り前記再分配を同時に実行して前記再分配を行うステッ
プと、(d) 前記ステップ(b)を逆交換として繰り
返すステップとを具えたことを特徴とする。
【0027】請求項8に記載の発明は、サブグラフ0,
1,…,(k−1)で示される、少なくともk個のサブ
グラフを有するアーキテクチャに構成された複数のプロ
セッサを有し、前記k個のサブグラフの各々は同一のト
ポロジーをもち、対応するプロセッサは前記k個のプロ
セッサ間でデータ再分配に対して段階的に相補的である
コンピュータ・システムにおいて、各プロセッサは、複
数のデータブロックと、前記データ再分配動作を行う実
行可能なプログラムであって、(a) プロセッサの各
データブロックを、ほぼ同一サイズのk個の部分に分割
するステップと、(b) ランニング連続インデックス
i(0≦i≦k)で表されるサブグラフにおける各プロ
セッサ、およびランニングインデックスj(0≦j≦k
−1かつj≠1)で表わされる各部分に対して、前記サ
ブグラフiにおけるプロセッサのj番目の部分をサブグ
ラフjの前記対応するプロセッサのi番目の部分と並列
に交換するステップと、(c) 前記対応する段階的な
相補的なプロセッサにより前記再分配を同時に実行して
前記再分配を行うステップと、(d) 前記ステップ
(b)を逆交換として繰り返すステップとを具えた実行
可能なプログラムとを具えたことを特徴とする。
【0028】
【作用】本発明の利点は、ハイパーキューブ・アーキテ
クチャをグレイコードからバイナリコードへ再構成する
ためのデータブロックの再割振りに必要な時間が大幅に
減少することであり、このことは特に大きなサイズのデ
ータブロックに対して顕著である。
【0029】本発明の他の利点は、プロセッサ間ネット
ワークの全帯域が、無駄なく利用されることである。
【0030】本発明の他の利点は、データブロックの送
信および受信を同期通信を必要とせずに実行できること
であり、それにより、隣接ノード間のデータブロックの
交換は、送信または受信されるデータブロックが送信ま
たは受信ノードに利用可能になると直に、適当な順序で
各ノードによって独立して実行できる。
【0031】本発明の他の利点は、マルチプロセッサ・
コンピュータ・システムのトポロジーが非常に効率的か
つ最適に工夫されて、種々の計算の要求に適合すること
である。
【0032】本発明のこれらおよび他の目的および効果
は、種々の図面に例示される好適な実施例の以下の詳細
な記載を読んだ当業者にとって明らかであることもちろ
んである。
【0033】
【実施例】以下、図面を参照して本発明の実施例を詳細
に説明する。
【0034】図5を参照するに、ここには、Johnssonに
より提案された4次元ハイパーキューブ(16ノード)
での、グレイコードからバイナリコードへの変換を示
す。この分散メモリシステムでは、プロセッサは複数の
データブロックを含むメッセージの送信および受信によ
り互いに通信を行う。各プロセッサ間の通信、すなわち
送信または受信操作に関連するのは、τで示される待ち
時間、すなわち起動時間、および転送時間tc である。
リンクはデータを双方向に同時に伝送でき、およびn次
元ハイパーキューブの各プロセッサはn個の出力ポート
およびn個の入力ポートを有すると仮定する。1ポ−ト
通信システム、すなわち、プロセッサあて、ある時刻に
は1つの入力ポートおよび1つの出力ポートのみがアク
ティブとなることができるシステムにおいては、最近隣
のプロセッサにKバイトのメッセージを送るための“通
信の複雑さ”は T=τ+Ktc で定義される。したが
って、ハイパーキューブ100の通信の複雑さは(1)
Ktc 、すなわちデータ伝送時間、および(2)τ、す
なわち起動時間から成る。大抵の場合、起動時間は、ソ
フトウエア・オーバーヘッドおよびハードウエアの遅延
時間に起因する定まった定数である。あるマルチプロセ
ッサ・システムに対して、通信の複雑さの改良は、一般
に、データ転送時間を減少させることにより達成され
る。
【0035】n次元ハイパーキューブに対しては、John
ssonがグレイコードデータマッピングをバイナリコード
データマッピングへ変換するための、データ再割振り方
法を開示している。この方法は、4次元キューブに対し
て図5に示すように、n−1回の交換を行う。n次元ハ
イパーキューブに対しては、Johnssonによる通信の複雑
さは、 TAPPA=(n−1)(τ+Ktc ) (1) である。ここに、TAPPAは、付録Aによるハイパーキュ
ーブ・システムの通信の複雑さを示す。
【0036】図5に示すように、このパラグラフの残り
で、サブキューブ0およびサブキューブ1を用て、ハイ
パーキューブの最も高い次元に関するサブキューブにつ
いて述べる。サブキューブ0およびサブキューブ1は、
グレイコードデータマッピングからバイナリコードデー
タマッピングに変換するための3つのステップのそれぞ
れにおいて、段階的に相補的である。例えばステップ0
では、ノード2と3との間でデータ交換がある場合に、
対応するノード12と13との間ではデータ交換がな
い。逆に、ノード0と1との間でデータ交換がないが、
対応するノード14と15との間ではデータ交換があ
る。この相補的属性は図5のステップ2において最も明
らかに示されている。このステップ2では、サブキュー
ブ0ではデータ交換が行われず、一方サブキューブ1の
すべての対応するノード間ではデータ交換がある。グレ
イからバイナリへの変換の前および後に、サブキューブ
0とサブキューブ1との間でデータの半分を交換するこ
とにより、全てのデータリンクの全帯域幅を利用するこ
とができる。Johnssonによって提案されたように、サブ
キューブ0における1対のノードは、通常は、Johnsson
によって提案されたようにデータ交換を実行しない時間
ステップにおいて、サブキューブ0における1対のノー
ドはサブキューブ1において実行されているデータ交換
に対応するデータ交換を行う。したがって、各サブキュ
ーブはそのデータの半分をグレイからバイナリに変換す
るのみでなく、他のサブキューブのデータの半分のグレ
イからバイナリへの交換をも行う。
【0037】付録Bは、n次元ハイパーキューブ・マル
チプロセッサ・システムに対してかかるグレイからバイ
ナリへの変換を実行する各ノードによって独立して実行
可能な疑似コードのリストを示す。まず最初に、各ノー
ドのデータブロックの2番目の半分の、他のサブキュー
ブにおける対応するノードとの交換を行う。データブロ
ックの第1半分または第2半分のいずれかのデータ交換
を、その交換がそのノード自体またはJohnssonが開示し
たような相補的なノードのいずれに対して行うべきであ
るかによって、行い、それによってノード間のデータリ
ンクの全帯域幅が利用される。
【0038】付録Bに示したようなデータブロック交換
は、キューブの次元の順序(n−1),0,1,…,
(n−1)に沿って行われる。ここで、最初の交換は、
2つの(n−1)次元サブキューブの対応する対の間
で、データブロックを交換することである。データ再割
振り動作の効率を示す“通信の複雑さ”は:
【0039】
【数2】
【0040】である。ここで、TAPPBは付録Bに従った
ハイパーキューブ・システムに対する通信の複雑さを示
す。
【0041】本発明においては、キューブの次元の順序
(n−2),0,1,…,(n−2)に沿ってデータブ
ロック交換を実行することにより他の改良がなされる。
この改良の基本的原理は再び図5を参照することにより
説明することができる。2つのサブキューブ(サブキュ
ーブ0およびサブキューブ1)の各々は、キューブの次
元(n−2)に沿って、2つのより小さなサブキューブ
にさらに分割することができる。すなわち、元のn次元
のキューブがn−2個の次元の各々につき4つのサブキ
ューブに区分けされる。4つのサブキューブはサブキュ
ーブ00,01,10および11とラベル付けられる。
ここで、これら2つの2進数のビットは、サブキューブ
内のプロセッサアドレスの2つの最高位ビットを表わ
す。図5に示すように、サブキューブ00は2つの最高
位ビットが00である4つのノード、すなわちノード0
(0000),1(0001),2(0010)および
3(0011)を有し、他方、サブキューブ01は2つ
の最高位ビットが01である他の4つのノード、すなわ
ちノード4(0100),5(0101),6(011
0)および7(0111)を有する。
【0042】最初の(n−2)回の交換(すなわち、ス
テップ0からステップ(n−3))の各々に対しては、
Johnssonが開示し、図5に示したように、もしサブキュ
ーブ00またはサブキューブ01,10および11のそ
れぞれにおいて、ノードiとjとの間で交換があれば、
サブキューブ01、またはサブキューブ00,11およ
び10のそれぞれにおける対応するノード間では交換が
ないことを考慮してこの改良がなされている。これらの
(n−2)回の交換の前および後に、次元(n−2)を
横切ってデータの半分(K/2)を並列に交換すると、
これらの(n−2)回の交換のそれぞれに対してK/2
個のデータ要素のみが交換される必要がある。便宜のた
めに、次元(n−2)を横切ってのこれら2つの余分な
交換を前交換および後交換と呼ぶことにする。付録Aに
おける最後の交換ステップ(すなわち、図5におけるス
テップn−2)は、キューブ次元(n−2)に沿った交
換であるが、この交換ステップを後交換ステップと組合
せて、その組合せステップにおいて、K/2のデータ転
送のみが必要となるようにすることができる。したがっ
て、グレイからバイナリへの変換は、キューブ次元の順
序(n−2),0,1,…,(n−2)に沿ったデータ
ブロック交換として実行され得る。ここで、各ステップ
は、サイズがK/2のデータブロックを交換する。
【0043】付録Cは、n次元ハイパーキューブ・マル
チプロセッサ・システムに対してグレイからバイナリへ
のさらに改良された変換を実行する、同期通信を必要と
することなしに、各ノードによって独立して実行可能な
擬似コードのリストを示す。各ノードのデータブロック
の第2半分の、他のサブキューブの対応するノードと
の、(n−2)次元に沿った並列交換が、まず実行され
る。データブロックの第1半分または第2半分のいずれ
のデータ交換を、その交換が、そのノード自体に対して
行うべきか、またはJohnssonによって開示されたように
他のサブキューブにおける相補的ノードに対して(n−
2)次元に沿って行うかによって、行い、それによりノ
ード間のデータリンクの全帯域幅が利用される。
【0044】付録Cに示したようなデータブロック交換
は、キューブの次元の順序(n−2),0,1,…,
(n−2)に沿って行われる。ここで、最初の交換は、
2つの(n−2)次元サブキューブの対応する対の間で
データブロックを交換することである。データ再割振り
動作の効率を示す“通信の複雑さ”は、
【0045】
【数3】
【0046】である。ここで、TAPPCは付録Cに従った
ハイパーキューブ・システムに対する通信の複雑さを示
す。
【0047】16ノードのインテルiPSC/2ハイパ
ーキューブ・マルチプロセッサ・システムを、付録A,
BおよびCに記載したプログラム、すなわちAPPA,
APPBおよびAPPCと共に用いて、グレイからバイ
ナリへの変換の通信の複雑さを測定する。iPSC/2
でのすべての測定時間は少なくとも100回の実行の平
均値である。図6にこれら3つの擬似コードの実行の測
定時間を示す。図6より、APPCはAPPBより常に
良いことが認められる。小さなデータサイズに対して
は、APPAはAPPBおよびAPPCのどちらよりも
速い。しかしながら、大きいサイズ、すなわちKが20
00バイトより大きい場合は、APPBおよびAPPC
の性能はAPPAを越える。
【0048】グレイコードデータマッピングをバイナリ
コードデータマッピングに変換する際の段階的相補性の
属性は、ハイパーキューブに当てはまるだけでなく、擬
似ハイパーキューブまたは図7に示すような3次元擬似
ハイパーキューブ・マルチプロセッサ・システム300
のようなハイパーキューブ・アーキテクチャのスーパー
グラフと一般に称される場合においても当てはまる。3
次元ハイパーキューブ・システムと比較して、擬似ハイ
パーキューブ・システム300では、ノード0と2、1
と3、4と6、および5と7の間を接続した、追加のデ
ータリンクが設けられている。ハイパーキューブ・シス
テムのために本発明で設けたデータ交換ステップは、図
7に示したような擬似ハイパーキューブ・システムにも
適用可能である。
【0049】ハイパーキューブまたは擬似ハイパーキュ
ーブ・アーキテクチャの外にも、マルチプロセッサシス
テムを、2つ,3つあるいはそれ以上のサブグラフを有
することのできるスーパーグラフ・アーキテクチャに構
成することができる。図8,図9,図10および図11
に例示の例に示すように、データブロック交換動作にお
いて、サブグラフ間の段階的相補性の属性がしばしば存
在する。ここで、図8および図9は、2つの段階的相補
サブグラフを有するスーパーグラフを示し、一方、図1
0および図11は、特定のクラスのデータマッピング変
換動作のための、3つの段階的相補サブグラフを有する
スーパーグラフを示す。1つのサブグラフにおける2つ
のノード間でデータブロックが交換される時に、他のサ
ブグラフにおける対応するノード間でデータリンクが使
用されないので、この場合にも、データ帯域幅の多くは
用いられていない。異なるデータマッピング間の変換の
効率は、以下のように改良することができる。まず、各
プロセッサのデータブロックをほぼ同じサイズのk個の
部分(part)に分割する。次にサブグラフiの各プロセ
ッサは、そのj番目の部分を、サブグラフjにおける対
応するプロセッサのi番目の部分と並列に交換する。
【0050】これらの並列前交換の後、データブロック
交換を、全ての段階的相補ノード間で同時に実行してデ
ータリンクの全帯域幅を利用することができるようにす
る。同様の後交換を次に実行して、データを正しいサブ
グラフに再格納する。本発明を用いることにより、特に
大きなサイズのデータブロックの交換に対して、時間を
大きく節約することを達成できる。
【0051】特に、図12は、表形式で、段階的相補的
データ伝送のシーケンスを処理する前に実行されて、デ
ータ帯域幅を完全に利用し、データ転送遅延を減少する
データ交換を示す。図12に示すように、各サブグラフ
のデータブロックは、3つの部分、すなわち、部分0,
部分1および部分2に分割される。ここで、これら部分
は実質的に等しいサイズである。並列前交換は、サブグ
ラフiにおける各プロセッサ(ここに0≦i≦2)、お
よび各部分j(ここに0≦j≦2かつj≠i)に対して
行われ、前記サブグラフiのプロセッサのj番目の部分
を前記サブグラフjの対応するプロセッサのi番目の部
分と交換する。もともとサブグラフ0のノードに割当て
られ、および部分1に分割されたデータブロック、すな
わち、図12に示すようなデータブロック(0,1)
が、ここでサブグラフ1,部分0における対応するノー
ドに割当てられようとしている。同様に(0,2)で示
されるデータブロックが、サブグラフ2,部分0におけ
る対応するノードに再割当てされようとしている、等
々。次に、対応する段階的相補的なプロッセサとのデー
タの再配分のシーケンスを、これらのプロセッサを接続
するデータリンクの全帯域幅を用いて、同時に行う。つ
いで、段階的相補的なデータの再配分が完了した後に、
図12に示したところとは逆の変換を実行する。
【0052】
【発明の効果】サブグラフ0,1,…,(k−1)で表
される少なくともk個のサブグラフを有するアーキテク
チャに構成されたマルチプロセッサ・コンピュータ・シ
ステムに対して、これらk個のサブグラフの各々は、こ
れらk個のプロセッサ間で段階的相補的な対応するプロ
セッサと同じトポロジーを有する。より効率的なデータ
再配分動作は、まずプロセッサの各データブロックをほ
ぼ概同一サイズのk個の部分に分割することにより実現
される。サブグラフiの各プロセッサ(ここに0≦i≦
k−1)、および各部分j(ここに0≦j≦k−1およ
びj≠i)に対して、サブグラフiのプロセッサのj番
目の部分を、サブグラフjの前記対応するプロセッサの
i番目の部分と並列に交換する。対応する段階的相補プ
ロセッサとのデータの再配分を同時に行って、これらプ
ロセッサ間のデータリンクの全帯域幅を用いるようにす
る。ついで、段階的相補データ再配分が完了した後に、
逆変換を行う。
【0053】本発明を好適な実施例により説明してきた
が、そのような開示は、限定的に解釈されるものではな
い。種々の置換および変更は、上記開示を読んだ後、当
業者にとって明らかになることもちろんである。したが
って、特許請求の範囲は、本発明の真の精神および範囲
にある限り、全ての置換および変更を含むものと解釈こ
とを意図している。
【0054】
【外1】
【0055】
【外2】
【0056】
【外3】
【図面の簡単な説明】
【図1】ハイパーキューブ・マルチプロセッサ・コンピ
ュータ・システムの再起的な構造の概略図である。
【図2】ハイパーキューブ・マルチプロセッサ・コンピ
ュータ・システムの再起的な構造を示す図1を他の方法
で示す概略図である。
【図3】グレイコードデータマッピングを有する、ハイ
パーキューブ・マルチプロセッサ・コンピュータ・シス
テムの概略図である。
【図4】バイナリコードデータマッピングを有する、ハ
イパーキューブ・マルチプロセッサ・コンピュータ・シ
ステムの概略図である。
【図5】Johnssonによるグレイコードからバイナリコー
ドへの変換の概略図である。
【図6】グレイコードからバイナリコードへの変換に必
要な時間の、Johnssonと本発明の比較を示すグラフであ
る。
【図7】擬似ハイパーキューブ・マルチプロセッサ・コ
ンピュータ・システムの概略図である。
【図8】スーパーグラフ・マルチプロセッサ・コンピュ
ータ・システムの概略図である。
【図9】図8に示したスーパーグラフの2つのサブグラ
フを示す概略図である。
【図10】スーパーグラフ・マルチプロセッサ・コンピ
ュータ・システムのもう一つの例を示す概略図である。
【図11】図10に示したスーパーグラフの3つのサブ
グラフの概略図である。
【図12】図10および図11のサブグラフの、段階的
に相補的なデータ伝送のシーケンスを処理する前に実行
するデータブロック交換を表の形態で示す表図でる。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 マンダヤム ティ. ラグナース アメリカ合衆国 94704 カリフォルニア 州 バークレー ヘイスト ストリート 1911

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】 各プロセッサがnビットのプロセッサア
    ドレスと、複数のデータブロックとを有するn次元ハイ
    パーキューブ・マルチプロセッサ・コンピュータ・シス
    テムに対する、グレイコードからバイナリコードへ変換
    するデータ割振り方法において、 (a) 各プロセッサのデータブロックの第2半分を、
    前記プロセッサアドレスの(n−2)番目の次元に沿っ
    て隣接するプロセッサと並列に交換するステップと、 (b) 各プロセッサにおいてインデックスiに対して
    (iは0からn−2まで)、次のステップ、すなわち (i)プロセッサアドレスの逆グレイコードの(i+
    1)番目のビットが値1であるか否かを判断するステッ
    プ、および (ii)ステップ(i)において値が1と判断された場合
    に、前記データブロックの第1半分を、前記プロセッサ
    アドレスのi番目の次元に沿って隣接するプロセッサと
    交換し、他の場合には前記データブロックの第2半分
    を、i番目の次元に沿って隣接するプロセッサと交換す
    るステップ を並列に実行するステップとを具えたことを特徴とする
    データ割振り方法。
  2. 【請求項2】 n次元ハイパーキューブ・アーキテクチ
    ャに構成した複数のプロセッサを有するコンピュータ・
    システムにおいて、 各プロセッサはn次元プロセッサアドレスと、 複数のデータブロックと、 グレイコードからバイナリコードへ変換するデータ割振
    りを行う実行可能なプログラムであって、 (a) 各プロセッサのデータブロックの第2半分を、
    前記プロセッサアドレスの(n−2)番目の次元に沿っ
    て隣接するプロセッサと並列に交換するステップと、 (b) 各プロセッサにおいてインデックスiに対して
    (iは0からn−2まで)、次のステップ、すなわち (i)プロセッサアドレスの逆グレイコードの(i+
    1)番目のビットが値1であるか否かを判断するステッ
    プ、および (ii)ステップ(i)において値が1と判断された場合
    に、前記データブロックの第1半分を、前記プロセッサ
    アドレスのi番目の次元に沿って隣接するプロセッサと
    交換し、他の場合には前記データブロックの第2半分
    を、i番目の次元に沿って隣接するプロセッサと交換す
    るステップ を並列に実行するステップとを具えたことを特徴とする
    コンピュータ・システム。
  3. 【請求項3】 n次元ハイパーキューブ・アーキテクチ
    ャのスーパーグラフに構成した複数のプロセッサを有す
    るコンピュータ・システムにおいて、 各プロセッサはn次元プロセッサアドレスと、 複数のデータブロックと、 グレイコードからバイナリコードへ変換するデータ割振
    りを行う実行可能なプログラムであって、 (a) 各プロセッサのデータブロックの第2半分を、
    前記プロセッサアドレスの(n−2)番目の次元に沿っ
    て隣接するプロセッサと並列に交換するステップと、 (b) 各プロセッサにおいてインデックスiに対して
    (iは0からn−2まで)、次のステップ、すなわち (i)プロセッサアドレスの逆グレイコードの(i+
    1)番目のビットが値1であるか否かを判断するステッ
    プ、および (ii)ステップ(i)において値が1と判断された場合
    に、前記データブロックの第1半分を、前記プロセッサ
    アドレスのi番目の次元に沿って隣接するプロセッサと
    交換し、他の場合には前記データブロックの第2半分
    を、i番目の次元に沿って隣接するプロセッサと交換す
    るステップ を並列に実行するステップとを具えたことを特徴とする
    コンピュータ・システム。
  4. 【請求項4】 段階的相補通信パターンをもつ2つのサ
    ブグラフを有する再帰的n次元アーキテクチャに構成さ
    れた複数のプロセッサを有するコンピュータ・システム
    において、 各プロセッサはn次元プロセッサアドレスと、 複数のデータブロックと、 グレイコードからバイナリコードへ変換するデータ割振
    りを行う実行可能なプログラムであって、 (a) 各プロセッサのデータブロックの第2半分を、
    前記プロセッサアドレスの(n−2)番目の次元に沿っ
    て隣接するプロセッサと並列に交換するステップと、 (b) 各プロセッサにおいてインデックスiに対して
    (iは0からn−2まで)、次のステップ、すなわち (i)プロセッサアドレスの逆グレイコードの(i+
    1)番目のビットが値1であるか否かを判断するステッ
    プ、および (ii)ステップ(i)において値が1と判断された場合
    に、前記データブロックの第1半分を、前記プロセッサ
    アドレスのi番目の次元に沿って隣接するプロセッサと
    交換し、他の場合には前記データブロックの第2半分
    を、i番目の次元に沿って隣接するプロセッサと交換す
    るステップ を並列に実行するステップとを具えたことを特徴とする
    コンピュータ・システム。
  5. 【請求項5】 少なくとも2つのサブグラフを有するア
    ーキテクチャに構成された複数のプロセッサ間でデータ
    ブロックを再分配し、前記少なくとも2つのサブグラフ
    は同一のトポロジーおよび対応するプロセッサを有する
    少なくとも第1および第2のサブグラフを有し、段階的
    に相補的なこれらプロセッサ間で前記再分配を行うデー
    タ割振り方法において、 (a) 前記第1のサブグラフにおけるプロセッサのデ
    ータブロックの第1半分を前記第2のサブグラフの対応
    するプロセッサと並列に交換するステップと、 (b) 前記対応する段階的に相補的なプロセッサで前
    記再分配を実行して前記再分配を同時に行うステップ
    と、 (c) 前記第1のサブグラフおよび前記第2のサブグ
    ラフの前記プロセッサの間で、データブロックの第1半
    分を、ステップ(a)の場合とは逆の交換を実行するス
    テップと を具えたことを特徴とするデータ割振り方法。
  6. 【請求項6】 少なくとも2つのサブグラフを有するア
    ーキテクチャに構成された複数のプロセッサを有し、少
    なくとも第1のサブグラフおよび第2のサブグラフが同
    一のトポロジーを有し、対応するプロセッサがデータ再
    分配動作に対して段階的に相補的であるコンピュータ・
    システムにおいて、 各プロセッサは複数のデータブロックと、 前記データ再分配動作を行う実行可能なプログラムであ
    って、 (a) 前記第1のサブグラフにおけるプロセッサのデ
    ータブロックの第1半分を前記第2のサブグラフの対応
    するプロセッサと並列に交換するステップと、 (b) 前記対応する段階的に相補的なプロセッサで前
    記再分配を実行して前記再分配を同時に行うステップ
    と、 (c) 前記第1のサブグラフおよび前記第2のサブグ
    ラフの前記プロセッサの間で、データブロックの第1半
    分を、ステップ(a)の場合とは逆の交換を実行するス
    テップと を具えた実行可能なプログラムとを具えたことを特徴と
    するコンピュータ・システム。
  7. 【請求項7】 サブグラフ0,1,…,(k−1)で示
    される、少なくともk個のサブグラフを有するアーキテ
    クチャに構成された複数のプロセッサ間で、データブロ
    ックを再分配し、前記k個のサブグラフの各々は、同一
    のトポロジーおよび対応するプロセッサを有し、段階的
    に相補的な前記k個のプロセッサ間で前記データ再分配
    を行うデータ割振り方法において、 (a) プロセッサの各データブロックを、ほぼ同一サ
    イズのk個の部分に分割するステップと、 (b) ランニング連続インデックスi(0≦i≦k)
    で表されるサブグラフにおける各プロセッサ、およびラ
    ンニングインデックスj(0≦j≦k−1かつj≠1)
    で表わされる各部分に対して、前記サブグラフiにおけ
    るプロセッサのj番目の部分をサブグラフjの前記対応
    するプロセッサのi番目の部分と並列に交換するステッ
    プと、 (c) 前記対応する段階的に相補的なプロセッサによ
    り前記再分配を同時に実行して前記再分配を行うステッ
    プと、 (d) 前記ステップ(b)を逆交換として繰り返すス
    テップと を具えたことを特徴とするデータ割振り方法。
  8. 【請求項8】 サブグラフ0,1,…,(k−1)で示
    される、少なくともk個のサブグラフを有するアーキテ
    クチャに構成された複数のプロセッサを有し、前記k個
    のサブグラフの各々は同一のトポロジーをもち、対応す
    るプロセッサは前記k個のプロセッサ間でデータ再分配
    に対して段階的に相補的であるコンピュータ・システム
    において、 各プロセッサは、 複数のデータブロックと、 前記データ再分配動作を行う実行可能なプログラムであ
    って、 (a) プロセッサの各データブロックを、ほぼ同一サ
    イズのk個の部分に分割するステップと、 (b) ランニング連続インデックスi(0≦i≦k)
    で表されるサブグラフにおける各プロセッサ、およびラ
    ンニングインデックスj(0≦j≦k−1かつj≠1)
    で表わされる各部分に対して、前記サブグラフiにおけ
    るプロセッサのj番目の部分をサブグラフjの前記対応
    するプロセッサのi番目の部分と並列に交換するステッ
    プと、 (c) 前記対応する段階的な相補的なプロセッサによ
    り前記再分配を同時に実行して前記再分配を行うステッ
    プと、 (d) 前記ステップ(b)を逆交換として繰り返すス
    テップと を具えた実行可能なプログラムとを具えたことを特徴と
    するコンピュータ・システム。
JP4330744A 1992-01-10 1992-12-10 マルチプロセッサ・コンピュ―タ・システムおよびそのデ―タ割振り方法 Expired - Lifetime JP2512272B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US81902392A 1992-01-10 1992-01-10
US819023 1992-01-10

Publications (2)

Publication Number Publication Date
JPH05324586A true JPH05324586A (ja) 1993-12-07
JP2512272B2 JP2512272B2 (ja) 1996-07-03

Family

ID=25227022

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4330744A Expired - Lifetime JP2512272B2 (ja) 1992-01-10 1992-12-10 マルチプロセッサ・コンピュ―タ・システムおよびそのデ―タ割振り方法

Country Status (3)

Country Link
US (1) US5598570A (ja)
EP (1) EP0551196A2 (ja)
JP (1) JP2512272B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011238128A (ja) * 2010-05-12 2011-11-24 Nec System Technologies Ltd 描画装置、描画方法、及びプログラム
WO2012056547A1 (ja) * 2010-10-28 2012-05-03 富士通株式会社 情報処理システム、ルーティング方法及びプログラム

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2230785C (en) * 1995-09-13 2001-05-15 British Telecommunications Public Limited Company Transmitting data between a host computer and a terminal computer
JPH1040223A (ja) * 1996-06-17 1998-02-13 Internatl Business Mach Corp <Ibm> 分散並列システムにおける集合通信認識の最適化方法
US5859983A (en) * 1996-07-01 1999-01-12 Sun Microsystems, Inc Non-hypercube interconnection subsystem having a subset of nodes interconnected using polygonal topology and other nodes connect to the nodes in the subset
US6788302B1 (en) 2000-08-03 2004-09-07 International Business Machines Corporation Partitioning and load balancing graphical shape data for parallel applications
US7315517B2 (en) * 2002-05-22 2008-01-01 Board Of Supervisors Of Louisiana State University And Agricultural And Mechanical College Non-blocking WDM optical networks
US20040062196A1 (en) * 2002-10-01 2004-04-01 Avici Systems, Inc. Single shelf router
CA2500166A1 (en) * 2002-10-29 2004-05-13 British Telecommunications Public Limited Company Method and apparatus for network management
TW200416522A (en) 2003-02-25 2004-09-01 Asustek Comp Inc Portable computer carrying desktop computer processor and power management method thereof
US7185138B1 (en) 2004-05-14 2007-02-27 Peter Galicki Multi-dimensional data routing fabric
US10402372B2 (en) 2015-07-27 2019-09-03 Sas Institute Inc. Distributed data storage grouping

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US2983913A (en) * 1956-12-03 1961-05-09 Hughes Aircraft Co Code translator
US3373421A (en) * 1964-10-15 1968-03-12 Rca Corp Conversion from gray code to binary code
US3675236A (en) * 1970-09-02 1972-07-04 Bell Telephone Labor Inc Serial gray-to-binary translator with clock transition timing
US4119961A (en) * 1977-12-23 1978-10-10 Rca Corporation CCD Binary-to-Gray code generator
US4155076A (en) * 1977-12-23 1979-05-15 Rca Corporation CCD Gray-to-binary code generator
US4409587A (en) * 1982-01-27 1983-10-11 The United States Of America As Represented By The Secretary Of The Air Force Altimeter code converter
US4691190A (en) * 1986-01-27 1987-09-01 General Datacomm, Inc. Analog-digital converter
US5050069A (en) * 1987-04-27 1991-09-17 Thinking Machines Corporation Method and apparatus for simulating m-dimension connection networks in and n-dimension network where m is less than n
US5301104A (en) * 1990-08-07 1994-04-05 Honeywell Inc. Method for allocating processing elements interconnected in a hypercube topology

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011238128A (ja) * 2010-05-12 2011-11-24 Nec System Technologies Ltd 描画装置、描画方法、及びプログラム
WO2012056547A1 (ja) * 2010-10-28 2012-05-03 富士通株式会社 情報処理システム、ルーティング方法及びプログラム
JPWO2012056547A1 (ja) * 2010-10-28 2014-03-20 富士通株式会社 情報処理システム、ルーティング方法及びプログラム

Also Published As

Publication number Publication date
EP0551196A2 (en) 1993-07-14
JP2512272B2 (ja) 1996-07-03
EP0551196A3 (ja) 1995-07-19
US5598570A (en) 1997-01-28

Similar Documents

Publication Publication Date Title
US7730121B2 (en) Parallel processing systems and method
JP2512661B2 (ja) 非バイナリ・ハイパ―キュ―ブ形式のコンピュ―タ・システムおよびネットワ―クにおける複数ノ―ドの接続方法
US11017290B2 (en) Signal processing module, especially for a neural network and a neuronal circuit
JPH05324586A (ja) マルチプロセッサ・コンピュータ・システムおよびそのデータ割振り方法
US20200177542A1 (en) Optimising data transmission in a hypercube network
Sheu et al. Partitioning and mapping nested loops on multiprocessor systems
Wu et al. Hierarchical task mapping for parallel applications on supercomputers
EP1502203A2 (en) Parallel processing systems and method
Li et al. Scalable Graph500 design with MPI-3 RMA
CN114217920A (zh) 作业调度方法和装置、计算机机群、计算机可读存储介质
CN109840306A (zh) 一种基于递归的并行快速傅里叶变换通信优化方法和系统
Ziavras et al. Pyramid mappings onto hypercubes for computer vision: Connection machine comparative study
Bruno et al. A parallel implementation of exact Euclidean distance transform based on exact dilations
US20050039184A1 (en) Assigning a process to a processor for execution
CN114691142A (zh) 执行程序的编译方法、芯片、电子设备及计算机可读存储介质
JP3606922B2 (ja) ハイパキュ−ブマルチコンピュ−タ−のタスク割当方法および装置
Pan et al. Properties and performance of the block shift network
CN117114055B (zh) 面向工业应用场景的fpga二值神经网络加速方法
Ziavras et al. High‐performance emulation of hierarchical structures on hypercube supercomputers
CN111967590B (zh) 面向推荐系统矩阵分解方法的异构多xpu机器学习系统
Salisbury et al. Modeling communication locality in multiprocessors
Xu et al. Efficient termination detection for loosely synchronous applications in multicomputers
Doreen et al. An efficient sra based isomorphic task allocation scheme for k-ary n-cube massively parallel processors
Kumar et al. Hierarchical Communication Optimization for FFT
Vandewalle et al. The numerical solution of elliptic partial differential equations on a hypercube multiprocessor