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

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

Info

Publication number
JP2512272B2
JP2512272B2 JP4330744A JP33074492A JP2512272B2 JP 2512272 B2 JP2512272 B2 JP 2512272B2 JP 4330744 A JP4330744 A JP 4330744A JP 33074492 A JP33074492 A JP 33074492A JP 2512272 B2 JP2512272 B2 JP 2512272B2
Authority
JP
Japan
Prior art keywords
processor
data
processors
subgraph
bit
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 - Lifetime
Application number
JP4330744A
Other languages
English (en)
Other versions
JPH05324586A (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 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)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、一般的には、コンピュ
ータシステムのデータ割振りおよび伝送マネジメントに
関する。特に、本発明は、資源マネジメントシステムを
有する特定の種類のコンピュータシステムを提供するも
のである。この資源マネジメントシステムは、これらプ
ロセッサ間での改良された割振りの構造を実施し、それ
によりこれらプロセッサ間のデータ転送遅延が最小とな
るようにする。
【0002】
【従来の技術】種々のマルチプロセッサ・アーキテクチ
ャとして構成される現代のマルチプロセッサ・コンピュ
ータ・システムの性能は、しばしば、これらプロセッサ
間のデータ転送遅延により制約されている。これは、共
有メモリを有するマルチプロセッサ・システムと比較し
て構築および規模の変更が容易な(スケーラブル)分散
メモリ・システムでは特に顕著である。従って、分散メ
モリ・マルチプロセッサの重要な設計目的は、これらの
プロセッサ間の相互接続ネットワークおよびデータブロ
ックの割振りのトポロジー(幾何学的配置)を、データ
伝送遅延が最小となるようにアレンジすることである。
【0003】マルチプロセッサ・システムにおいては、
各プロセッサは一般にノードと称される。処理の同時性
ないし並列性を達成するために、複数のデータブロック
をしばしば伴う一連のデータが、同時に処理されるべき
多くのノードに分散される。各ノード内でのローカルデ
ータ処理に加え、他のノードとの間で追加のデータを送
信しおよび受信することがしばしば必要である。ノード
間のデータブロックの分配方法およびノード間のデータ
リンクの接続性は、しばしばマルチプロセッサ・システ
ムのスループットを決定する。特定のタイプのデータプ
ロセスに対しては、ノード間のデータブロックをそのプ
ロセスに最も適するように割当てるように注意深く設計
する努力により、データ伝送遅延を最小にし、その結果
マイクロプロセッサ・システムの性能を改善することが
できる。
【0004】ハイパーキューブまたは疑似ハイパーキュ
ーブ(hypercube-like)のトポロジーのマルチプロセッ
サはいくつか市販されるようになった。現在の技術によ
って数千のノードを有するハイパーキューブを築くこと
は、技術的および経済的に実現可能となった。ハイパー
キューブのトポロジー(幾何学的配置)のいくつかの利
点は、その対数直径、広い通信帯域、規則的な構造、お
よび多くのプログラム構造が隣接性を保持しながらハイ
パーキューブに写像できることである。
【0005】n次元ハイパーキューブにはn桁の2進数
のコードがあり、各次元には2つの座標点がある。ノー
ドには隣接するノードのアドレスが正確に1ビット相違
するようにアドレスが与えられる。ハイパーキューブは
再帰性のある(recursive )構造である。n次元キュー
ブは、2つのn次元キューブの対応する頂点を接続する
ことにより(n+1)次元キューブに拡張できる。その
一方は最高位アドレスビット(0)を有し、他方は最高
位ビット(1)を有する。ハイパーキューブ・アーキテ
クチャの再帰性の性質を図1に示す。図1には、1次
元,2次元,3次元および4次元のハイパーキューブ、
すなわちしばしばブーリアンキューブと称されるキュー
ブが示されている。図2は図1に示したのと同一のハイ
パーキューブの、より理解しやすい図示である。
【0006】並列および分散処理のためのインテリジェ
ント実行時間支援システムおよびライブラリの入手可能
性が高まっているので、行列演算、リニア系方程式のた
めの反復法、周期的境界値問題、量子電気力学および量
子色力学の問題は全て、ハイパーキューブ・アーキテク
チャにより効率的に処理することができる。これらのタ
イプの問題解決は、大抵、データ伝送のために、コー
ドのも近い近隣との通信を用いる。図3に示すよう
、一般にグレイコードと略される、2進数で表わした
グレイコードのような、コードの近接性を保持するハイ
パーキューブのノード接続性は、前記の問題の計算には
最も適している。他のタイプの計算、たとえば高速フー
リエ変換(FFT)、バイトニックソート(bitonic so
rt)、および再帰的倍加など、ノード間で並列に処理でき
る計算もある。これらのタイプのデータ処理では、ツリ
ーまたはバタフライタイプのネットワークがより効率的
である。図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】 nbr(j)=pid2j
【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目のビット(第1ビット)がゼロでないノード
アドレスID、すなわちpidを有する。すなわち、g
i+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個の次元の各々に沿って前記プロ
セッサが配置された、n次元ハイパーキューブ・マルチ
プロセッサ・コンピュータ・システムにおける、グレイ
コードデータマッピング(100)からバイナリコード
データマッピング(200)へ変換するデータ割振方法
であって、 (a)各プロセッサのデータブロックの第2半分を、前
記プロセッサアドレスの(n−2)番ビットの次元に沿
って隣接するプロセッサと並列に交換するステップ
と、 (b)各プロセッサにおいてインデックスi(iは0か
らn−2)に対して、次のステップ、すなわち(i)
プロセッサアドレスのグレイコードの、(i+ 1)
ビットの値が1であるか否かを判断するステップ、およ
び(ii)前記値が1と判断された場合に、前記データ
ブロックの第1半分を、前記プロセッサアドレスのi番
ビットの次元に沿って隣接するプロセッサと交換し、
他の場合には前記データブロックの第2半分を、i番ビ
ットの次元に沿って隣接するプロセッサと交換するス
テップ、を並列に実行するステップとを備えたことを特
徴とする。
【0021】請求項2に記載の発明は、n次元ハイパー
キューブ・アーキテクチャに構成した複数のプロセッサ
を有するコンピュータ・システムにおいて、各プロセッ
サが、前記n次元の各次元における値を各々示すn個の
ビットを有するn次元プロセッサアドレスと、複数のデ
ータブロックとグレイコードデータマッピング(10
0)からバイナリーコードデータマッピング(200)
へ変換するデータ割振を行う手段であって、 (a)各プロセッサのデータブロックの第2半分を、前
記プロセッサアドレスの(n−2)番ビットの次元に沿
って隣接するプロセッサと並列に交換し (b)各プロセッサでインデックスi(iは0からn−
2)に対して、次の処理、すなわち(i)そのプロセッ
サアドレスのグレイコードの、(i+ 1)番ビットの値
1であるか否かを判断する処理、および(ii)前記
値が1と判断された場合に、前記データブロックの第1
半分を前記プロセッサアドレスのi番ビットの次元に沿
って隣接するプロセッサと交換し、他の場合には前記
データブロックの第2半分をi番ビットの次元に沿っ
隣接するプロセッサと交換する処理を並列に実行す
手段とを備えたことを特徴とする。
【0022】請求項3に記載の発明は、n次元ハイパー
キューブ・アーキテクチャのスーパーグラフに構成した
複数のプロセッサを有するコンピュータ・システムにお
いて、各プロセッサが、前記n次元の各次元における値
を各々示すn個のビットを有するn次元プロセッサアド
レスと、複数のデータブロックとグレイコードデータマ
ッピング(100)からバイナリーコードデータマッピ
ング(200)へ変換するデータ割振を行う手段であっ
て、 (a)各プロセッサのデータブロックの第2半分を、前
記プロセッサアドレスの(n−2)番ビットの次元に沿
って隣接するプロセッサと並列に交換 (b)各プロセッサでインデックスi(iは0からn−
2)に対して、次の処理、すなわち(i)そのプロセッ
サアドレスのグレイコードの、(i+ 1)番ビットの値
1であるか否かを判断する処理、および(ii)前記
値が1と判断された場合に、前記データブロックの第1
半分を前記プロセッサアドレスのi番ビットの次元に沿
って隣接するプロセッサと交換し、他の場合には前記
データブロックの第2半分をi番ビットの次元に沿っ
隣接するプロセッサと交換する処理を並列に実行す
手段とを備えたことを特徴とする。
【0023】請求項4に記載の発明は、各ステップにお
いて相補的な2つのサブグラフを有する再帰的n次元ア
ーキテクチャに構成された複数のプロセッサを有するコ
ンピュータ・システムにおいて、各プロセッサが、前記
n次元の各次元における値を各々示すn個のビットを有
するn次元プロセッサアドレスと、複数のデータブロッ
クとグレイコードデータマッピング(100)からバイ
ナリーコードデータマッピング(200)へ変換するデ
ータ割振を行う手段であって、 (a)各プロセッサのデータブロックの第2半分を、前
記プロセッサアドレスの(n−2)番ビットの次元に沿
って隣接するプロセッサと並列に交換 (b)各プロセッサでインデックスi(iは0からn−
2)に対して、次の処理、すなわち(i)そのプロセッ
サアドレスのグレイコードの、(i+ 1)番ビットの値
1であるか否かを判断する処理、および(ii)前記
値が1と判断された場合に、前記データブロックの第1
半分を前記プロセッサアドレスのi番ビットの次元に沿
って隣接するプロセッサと交換し、他の場合には前記
データブロックの第2半分をi番ビットの次元に沿っ
隣接するプロセッサと交換する処理を並列に実行す
手段とを備えたことを特徴とする。
【0024】請求項5に記載の発明は、少なくとも2つ
のサブグラフを有するアーキテクチャに構成された複数
のプロセッサ間でデータブロックを再割振するデータ割
振方法において、少なくとも第1および第2のサブグラ
フが、同一のトポロジーと、前記再割振の各ステップに
おいて相補的な、対応するプロセッサとを有し、 (a)前記第1のサブグラフにおけるプロセッサのデー
タブロックの第1半分を前記第2のサブグラフの対応す
るプロセッサのデータブロックの第1半分と並列に交換
するステップと、 (b)前記2つのサブグラフの各々で、プロセッサ間の
前記再割振を同時に行うステップと、 (c)前記第1のサブグラフおよび前記第2のサブグラ
フの前記プロセッサの間で、データブロックの第1半分
を、ステップ(a)とは逆方向に交換するステップとを
備えたことを特徴とする。
【0025】請求項6に記載の発明は、少なくとも2つ
のサブグラフを有するアーキテクチャに構成された複数
のブロセッサを有し、少なくとも第1のサブグラフおよ
び第2のサブグラフが同一のトポロジーを有し、対応す
るプロセッサがデータ再割振に対して各ステップで相補
的であるコンピュータ・システムにおいて、各プロセッ
サが複数のデータブロックと、前記データ再割振を行う
手段であって、 (a)前記第1のサブグラフにおけるプロセッサのデー
タブロックの第1半分を前記第2のサブグラフの対応す
るプロセッサのデータブロックの第1半分と並列に交換
し、 (b)前記2つのサブグラフの各々で、プロセッサ間の
前記再割振を同時に行い、 (c)前記第1のサブグラフおよび前記第2のサブグラ
フの前記プロセッサの間で、データブロックの第1半分
を、ステップ(a)とは逆方向に交換する手段とを備え
たことを特徴とする。
【0026】請求項7に記載の発明は、少なくともサブ
グラフ0、1、…、(k−1)で示されるk個のサブグ
ラフを有するアーキテクチャに構成された複数のプロセ
ッサ間で、データブロックを再割振するデータ割振方法
において、前記k個のサブグラフの各々は、同一のトポ
ロジーと、前記再割振の各ステップにおいて相補的な、
対応するプロセッサとを有し、 (a)プロセッサの各データブロックを、ほぼ同一サイ
ズのk個の部分に分割するステップと、 (b)連続するインデックスi(0≦i≦k−1)お
び連続するインデックスj(0≦j≦k−1かつj≠
)に対して、サブグラフiのプロセッサのj番目の
ータ部分を、サブグラフjの前記対応するプロセッサの
i番目のデータ部分と並列に交換するステップと、 (c)前記対応する各ステップで相補的なプロセッサに
より前記再割振を同時に実行するステップと、 (d)前記ステップ(b)を再度行うことにより前記ス
テップ(b)とは逆方向の交換を行うステップとを備え
たことを特徴とする。
【0027】請求項8に記載の発明は、少なくともサブ
グラフ0、 1、 …、 (k−1)で示されるk個の
サブグラフを有するアーキテクチャに構成された複数の
プロセッサを有し、前記k個のサブグラフの各々は同一
のトポロジーをもち、対応するプロセッサが、前記k個
サブグラフのプロセッサ間のデータ再割振の各ステッ
プで相補的であるコンピュータ・システムにおいて、前
記各プロセッサが、複数のデータブロックと、前記デー
タ再割振動作を行う手段であって、 (a)プロセッサの各データブロックを、ほぼ同一サイ
ズのk個の部分に分割し、 (b)連続するインデックスi(0≦i≦k−1)お
び連続するインデックスj(0≦j≦k−1かつj≠
)に対して、サブグラフiのプロセッサのj番目の
ータ部分をサブグラフjの前記対応するプロセッサのi
番目のデータ部分と並列に交換し、 (c)前記対応する各ステップで相補的なプロセッサに
より前記再割振を同時に実行し、 (d)前記(b)を再度行うことにより、前記(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のすべての対応するノー
ド間ではデータ交換がある。本明細書では、このように
2つのサブグラフ間で対応するプロセッサの一方のみが
動作し他方が動作しない性質を「相補的」と呼ぶ。グレ
コードデータマッピングからバイナリコードデータマ
ッピングへの変換の前および後に、サブキューブ0とサ
ブキューブ1との間でデータの半分を交換することによ
り、全てのデータリンクの全帯域幅を利用することがで
きる。Johnssonによって提案されたように、サブキュー
ブ0における1対のノードは、通常はJohnssonによって
提案されたようにデータ交換を実行しない時間ステップ
において、サブキューブ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におけるス
テップ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より常に良いこ
とが認められる。小さなデータサイズに対しては、AP
PAはAPPBおよびAPPCのどちらよりも速い。し
かしながら、大きいサイズ、すなわちKが2000バイ
トより大きい場合は、APPBおよびAPPCの性能は
APPAを越える。
【0048】グレイコードデータマッピングをバイナリ
コードデータマッピングに変換する際の各ステップでの
相補的な属性は、ハイパーキューブに当てはまるだけで
なく、擬似ハイパーキューブまたは図7に示すような3
次元擬似ハイパーキューブ・マルチプロセッサ・システ
ム300のようなハイパーキューブ・アーキテクチャの
スーパーグラフと一般に称される場合においても当ては
まる。3次元ハイパーキューブ・システムと比較して、
擬似ハイパーキューブ・システム300では、ノード0
と2、1と3、4と6、および5と7の間を接続した、
追加のデータリンクが設けられている。ハイパーキュー
ブ・システムのために本発明で設けたデータ交換ステッ
プは、図7に示したような擬似ハイパーキューブ・シス
テムにも適用可能である。
【0049】ハイパーキューブまたは擬似ハイパーキュ
ーブ・アーキテクチャの外にも、マルチプロセッサシス
テムを、2つ,3つあるいはそれ以上のサブグラフを有
することのできるスーパーグラフ・アーキテクチャに構
成することができる。図8,図9,図10および図1
例に示すように、データブロック交換動作において、
サブグラフ間相補的な属性がしばしば存在する。ここ
で、図8および図9は、2つの相的なサブグラフを有
するスーパーグラフを示し、一方、図10および図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)

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

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990044700A (ko) * 1995-09-13 1999-06-25 세모스 로버트 어니스트 빅커스 호스트 컴퓨터와 터미널 컴퓨터 사이의 데이터 전송 방법 및 장치
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
WO2004040846A2 (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
JP5115769B2 (ja) * 2010-05-12 2013-01-09 Necシステムテクノロジー株式会社 描画装置、描画方法、及びプログラム
WO2012056547A1 (ja) * 2010-10-28 2012-05-03 富士通株式会社 情報処理システム、ルーティング方法及びプログラム
US10789207B2 (en) 2015-07-27 2020-09-29 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
US4155076A (en) * 1977-12-23 1979-05-15 Rca Corporation CCD Gray-to-binary code generator
US4119961A (en) * 1977-12-23 1978-10-10 Rca Corporation CCD Binary-to-Gray 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

Also Published As

Publication number Publication date
EP0551196A3 (ja) 1995-07-19
JPH05324586A (ja) 1993-12-07
EP0551196A2 (en) 1993-07-14
US5598570A (en) 1997-01-28

Similar Documents

Publication Publication Date Title
JP2512272B2 (ja) マルチプロセッサ・コンピュ―タ・システムおよびそのデ―タ割振り方法
US7941479B2 (en) Parallel processing systems and method
US7921251B2 (en) Globally unique transaction identifiers
US20180159933A1 (en) Memory network methods, apparatus, and systems
EP1566940A1 (en) A method, a service system, and a computer software product of self-organizing distributing services in a computing network
JPH1040223A (ja) 分散並列システムにおける集合通信認識の最適化方法
US20200177542A1 (en) Optimising data transmission in a hypercube network
Wu et al. Hierarchical task mapping for parallel applications on supercomputers
Li et al. Scalable Graph500 design with MPI-3 RMA
US6101321A (en) Method and apparatus for broadcasting data in a ring connected multiprocessor
CN109840306B (zh) 一种基于递归的并行快速傅里叶变换通信优化方法和系统
Ziavras On the problem of expanding hypercube-based systems
Niethammer et al. An MPI interface for application and hardware aware Cartesian topology optimization
Zhang et al. LiteTE: Lightweight, communication-efficient distributed-memory triangle enumerating
Shin et al. A coordinated location policy for load sharing in hypercube-connected multicomputers
CN104331336A (zh) 匹配于高性能计算机结构的多层嵌套负载平衡方法
US20020161452A1 (en) Hierarchical collective memory architecture for multiple processors and method therefor
CN112685178A (zh) 一种图数据处理方法、装置、设备及可读存储介质
Álvarez-Llorente et al. Formal modeling and performance evaluation of a run-time rank remapping technique in broadcast, Allgather and Allreduce MPI collective operations
Li et al. CMCSF: a collaborative service framework for mobile web augmented reality base on mobile edge computing
Xu et al. Efficient termination detection for loosely synchronous applications in multicomputers
Kumar et al. Hierarchical Communication Optimization for FFT
JP2880880B2 (ja) データマッピング方法
Wang et al. Network states-aware collective communication optimization
Wang et al. Extending τ-Lop to model MPI blocking primitives on shared memory