JPH05324584A - ハイパーキューブの割当方法 - Google Patents

ハイパーキューブの割当方法

Info

Publication number
JPH05324584A
JPH05324584A JP4127071A JP12707192A JPH05324584A JP H05324584 A JPH05324584 A JP H05324584A JP 4127071 A JP4127071 A JP 4127071A JP 12707192 A JP12707192 A JP 12707192A JP H05324584 A JPH05324584 A JP H05324584A
Authority
JP
Japan
Prior art keywords
processor
bits
hypercube
processors
network
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP4127071A
Other languages
English (en)
Inventor
Junji Nishikawa
順二 西川
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP4127071A priority Critical patent/JPH05324584A/ja
Publication of JPH05324584A publication Critical patent/JPH05324584A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Abstract

(57)【要約】 (修正有) 【目的】 クロスバ網を階層的に用いた結合ネットワー
クのマルチプロセッサシステムで、ハイパーキューブ結
合を構成する。 【構成】 Mを1以上の整数でNを2のM乗とし、N×
N個のプロセッサと、N×N×N個のバッファユニット
とを備え、認識番号[i,j](1≦i,j≦N)のプ
ロセッサと認識番号[j,k](1≦k≦N)のプロセ
ッサとの間にバッファユニットを接続したマルチプロセ
ッサシステムで、2×MビットのうちのMビットのハミ
ング距離1の列a(m)(1≦m≦N)の作成と、2×
MビットのうちのMビットのハミング距離1の列b
(n)(1≦n≦N)の作成と、i+jが奇数となる認
識番号[i,j]のプロセッサのノード番号をa(i)
+b(j)への設定と、i+jが偶数となる認識番号
[i,j]のプロセッサのノード番号をa(j)+b
(i)への設定の各手段を備える。 【効果】 汎用性の高いマルチプロセッサシステムを構
成できる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はプロセッサ間の結合ネッ
トワークによってプロセッサ間相互にデータ転送を行う
マルチプロセッサシステムにおけるハイパーキューブの
割当方法に関するものである。
【0002】
【従来の技術】近年、計算機の処理能力を高めるため多
数のプロセッサを用いたマルチプロセッサシステムが用
いられるようになってきた。大規模な科学技術計算は、
並列処理が有効な分野であり、マルチプロセッサシステ
ムの活用が望まれている。科学技術計算では扱うデータ
量が大きく、さらにデータ構造が規則性を持つことが多
いので並列化に適しており、並列処理をうまく用いれば
計算時間を大幅に短縮できる。マルチプロセッサシステ
ムでは、各プロセッサにデータとそのデータに対する処
理を割り当てて並行して処理を行う。1つのプロセッサ
に割り当てたデータは、処理の進行に伴って他のプロセ
ッサに転送して処理する必要がある。このようなプロセ
ッサ間相互のデータ転送を行うため、マルチプロセッサ
システムでは、プロセッサ間結合ネットワークが用いら
れる。このような結合ネットワークが、現在までに各種
提案されている(結合方式、情報処理、Vol.27,No.9,p
p.1005-1021参照)。
【0003】結合ネットワークによって結合されるプロ
セッサ間のデータ転送は1回のデータ転送で済むが、直
接結合されていないプロセッサ間のデータ転送は、他の
プロセッサを経由してデータ転送をするが必要がある。
プロセッサ間の結合数を多くして、並列に転送できるデ
ータ数を増やすことによりデータ転送を高速に行うこと
ができる。このため、一般に、プロセッサ間の結合数に
よって結合ネットワークの性能が決まってくる。このよ
うな観点から、結合ネットワークの評価にプロセッサ間
距離や中継量などが用いられる。プロセッサ間距離は、
プロセッサ間のデータ転送において、データの送信元か
ら受信先までの間に経由するプロセッサの数である。中
継量は、このようなデータ転送において各プロセッサの
中継するデータ量である。一般にプロセッサ間距離と中
継量の両方とも少ないほうが性能がよい。
【0004】プロセッサ間の結合ネットワークの例とし
ては、図9に示すように、ツリー(a)、メッシュ(b)、ハ
イパーキューブ(c)構成が用いられることが多い(日経
コンピュータ、「実用化の第1歩を踏み出した大規模並
列処理」、No.262,pp60-83参照)。この中で、ツリーや
メッシュは結合数が少なく実現容易であるが、このよう
なネットワークは、プロセッサ間距離や中継量が比較的
大きくなる。ハイパーキューブは、ツリーやメッシュ構
造を含み汎用性の高いネットワークであり、プロセッサ
間距離や中継量からみても、他の簡単な構造の結合ネッ
トワークよりも優れている。結合数が最も多い結合ネッ
トワークとして、クロスバネットワークがあり、このネ
ットワークでは任意のプロセッサ間の通信は、1回のデ
ータ転送で済む。つまり、プロセッサ間距離と中継量が
最小である。しかし、クロスバネットワークは配線数や
結合ノード数が増えて実現が困難になり、実用的な計算
機は作られていない。このクロスバネットワークをネッ
トワークの部分構造に利用したものとして、base-m n-c
ubeネットワークやADENAネットワークがある(科学技術
計算シミュレーション超並列計算機ADENA、情報処
理、Vol.32,No.4,pp.377-387参照)。これらのネットワ
ークでは、プロセッサ間距離や中継量を減少させるとと
もに、クロスバネットワークよりも実現を容易にしてい
る。ADENAネットワークは、図5、図6に示すように、
2次元配置のプロセッサアレイと3次元配置のデータ転
送ネットワークを備えた構成を取っている。
【0005】以上のように各種結合ネットワークが提案
されているが、実際のマルチプロセッサシステムにおい
てどのようにネットワークを利用するかは、アプリケー
ションのデータ構造に大きく依存する。例えば、木構造
のデータを扱うにはツリー型のプロセッサ間結合が適し
ており、2次元領域の数値計算において配列データをそ
の要素毎に分割する場合は、メッシュ結合による並列処
理が適している。このようなデータ構造のアプリケーシ
ョンに対しては、ハイパーキューブにおいても、ツリー
やメッシュの接続関係を利用して、処理を各プロセッサ
に割り当てることができる。このほかに、偏微分方程式
の差分による数値計算などでは、3次元配列や2次元配
列データに対して効率的に並列処理しなければならな
い。このとき、3次元配列や2次元配列データをプロセ
ッサに分割し、処理の進行に従って、3次元配列や2次
元配列データを効率良くプロセッサ間でデータ転送する
必要がある。ADENAネットワークは、このようなデータ
転送に適したネットワークであり、陰解法を含む偏微分
方程式の並列化アルゴリズムを効率良く実行することが
できる。
【0006】
【発明が解決しようとする課題】しかしながら上記のよ
うなハイパーキューブ結合による計算機では、メッシュ
構造による陽解法には対応できるが、3次元配列や2次
元配列データに対する陰解法を含む並列処理のアルゴリ
ズムに適しておらず、このような処理ではプログラミン
グが困難で、データ転送の効率が悪いという問題があ
る。ADENAの結合ネットワークは、偏微分方程式の数値
計算には適しているが、ハイパーキューブ型のアプリケ
ーションに対して適用しにくいという問題点を有してい
た。
【0007】本発明は上記問題点を解決するために、ネ
ットワークの部分構造にクロスバ結合ネットワークを応
用したADENAネットワークにおいて、ハイパーキューブ
結合を構成できるハイパーキューブの割当方法を提供す
るものである。
【0008】
【課題を解決するための手段】上記問題点を解決するた
めに本発明のハイパーキューブの割当方法は、Mを1以
上の整数としNを2のM乗として、2次元に配置したN
×N個のプロセッサと、N×N×N個のバッファユニッ
トとを備え、前記2次元の配置を表す認識番号[i,
j](1≦i,j≦N)を有するプロセッサと認識番号
[j,k](1≦k≦N)を有するプロセッサとの間に
前記バッファユニットを接続したマルチプロセッサシス
テムにおいて、2×MビットのうちのMビットのビット
位置だけのハミング距離1の列a(m)(1≦m≦N)
を作成するステップと、前記2×MビットのうちのMビ
ットを除いた残りのMビットのビット位置だけのハミン
グ距離1の列b(n)(1≦n≦N)を作成するステッ
プと、i+jが奇数となる前記認識番号[i,j]のプ
ロセッサのノード番号をa(i)+b(j)に設定する
ステップと、i+jが偶数となる前記認識番号[i,
j]のプロセッサのノード番号をa(j)+b(i)に
設定するステップとを備えている。
【0009】また、本発明のハイパーキューブの割当方
法は、上記マルチプロセッサシステムにおいて、i+j
が偶数となる認識番号[i,j]のプロセッサのノード
番号をa(i)+b(j)に設定するステップと、i+
jが奇数となる認識番号[i,j]のプロセッサのノー
ド番号をa(j)+b(i)に設定するステップとを備
えたものである。
【0010】
【作用】本発明は上記した構成によって、各プロセッサ
にハイパキューブのノード番号を割り当てることがで
き、このノード番号によってデータ転送先を決定するこ
とによりハイパーキューブ結合が可能となり、ハイパー
キューブに適したアルゴリズムを効率良く処理すること
ができる。
【0011】
【実施例】以下、この発明の実施例を図1から図8を参
照しながら説明する。
【0012】本実施例の構成をプロセッサ数が16の場
合について、図5から図8に基づいて説明する。図7
は、マルチプロセッサシステムを構成する各プロセッサ
エレメント10の構成図である。プロセッサエレメント
10は、プロセッサ11と、データを記憶するメモリ1
2、メモリ12とバッファユニット20の間のデータ転
送を行うデータ転送制御装置13と、バッファユニット
20へ接続するデータ転送バスR24、データ転送バス
C25とから構成される。データ転送制御回路13は、
メモリ12をアクセスする制御を行うメモリ制御回路1
5と、プロセッサの指定するノード番号と各プロセッサ
エレメント10に接続されるバッファユニット20の番
号との対応を登録した変換テーブル14と、データ転送
バスR24とデータ転送バスC25のデータ転送を制御
する入出力回路R16と入出力回路C17から構成され
る。図8はプロセッサエレメント10の間の結合ネット
ワークを構成するバッファユニット20の構成図であ
る。バッファユニット20は、データ転送バスR24と
データ転送バスC25にそれぞれ接続される2つの入出
力ポート21、22と、2つの入出力ポート21、22
との間で入出力を行うFIFO23から構成される。
【0013】図5にマルチプロセッサシステムの構成を
示す。16個のプロセッサエレメント10を2次元に配
置し、この2次元の配置を認識する認識番号を(I、
J)、(1≦I≦4、1≦J≦4)とする。プロセッサ
エレメント10からのデータ転送バスR24とデータ転
送バスC25は、それぞれバッファユニット20の入出
力ポート21と入出力ポート22に接続される。
【0014】図5の中でIまたはJの位置の認識番号
に、j(1≦j≦4)を有するプロセッサエレメント1
0の間のバッファユニット20の接続面を示したものが
図6である。(1、j)のプロセッサエレメント10ー
1は、バッファユニット(1、j、1)20ー1を通し
て、(j、1)のプロセッサエレメント10ー5に接続
される。この関係より、任意のi(1≦i≦4)をもつ
プロセッサエレメント(i、j)10は、バッファユニ
ット(i、j、k)20によって、任意のk(1≦k≦
4)をもつプロセッサエレメント(j、k)10に接続
される。
【0015】つぎに、上記構成よる本実施例の動作につ
いて、図1から図4に基づいて説明する。図1に、各プ
ロセッサエレメントの認識番号(i、j)から、ハイパ
ーキューブ結合のノード番号を決定するフローチャート
を示す。以下、このフローチャートに従って説明する。
【0016】ステップ1:奇数番目のビット位置だけの
ハミング距離1の列a(i)(1≦i≦4)を作成す
る。
【0017】ステップ2:偶数番目のビット位置だけの
ハミング距離1の列b(j)(1≦j≦4)を作成す
る。
【0018】ステップ3:プロセッサエレメント10の
2次元の配置の認識番号を(i、j)(1≦i≦4、1
≦j≦4)とする。
【0019】ステップ4:i+jの値が奇数のときステ
ップ5、偶数のときステップ6の処理を行う。
【0020】ステップ5:ハイパーキューブのノード番
号をa(i)+b(j)とする。 ステップ6:ハイパーキューブのノード番号をa(j)
+b(i)とする。
【0021】図2にa(i)、b(j)の例を示す。プ
ロセッサエレメントの個数が16であるので、16個の
プロセッサエレメント10を識別する番号は、4ビット
で表さる。この4ビットのうちの奇数ビットと偶数ビッ
トのそれぞれでハミング距離1の列を作成する。つま
り、a(1)とa(2)、a(2)とa(3)、a
(3)とa(4)は、それぞれハミング距離1である。
bについても同様である。プロセッサエレメント10の
認識番号(i、j)から、i+jが奇数であるか偶数で
あるかによってハイパーキューブのノード番号を求め
る。図3にハイパーキューブのノード番号の割当を求め
た例を示す。これは、各i、jによって、a(i)+b
(j)かまたはa(j)+b(i)を計算して作成す
る。
【0022】図4に、プロセッサエレメントの2次元の
並びに対応した番号割当後のノード番号を示す。以下、
プロセッサエレメント間のバッファユニットの接続と、
ハイパーキューブの接続との関係について説明する。ハ
イパーキューブにおいては、たとえば、ノード番号0000
からは0001、0010、0100、1000のノード番号が接続され
る。これは、それぞれの認識番号(1, 1)、(2, 1)、(1,
2)、(4, 1)、(1, 4)のプロセッサエレメントに対応す
る。プロセッサエレメント10とバッファユニット20
の接続関係を説明したように、認識番号(1, 1)のプロセ
ッサエレメントは、バッファユニットを介して、他の4
つのプロセッサエレメント(2, 1)、(1, 2)、(4, 1)、
(1, 4)と、次のように接続されている。
【0023】 PE(2,1) - BU(2,1,1) - PE(1,1) PE(1,1) - BU(1,1,2) - PE(1,2) PE(4,1) - BU(4,1,1) - PE(1,1) PE(1,1) - BU(1,1,4) - PE(1,4) このように、図4で示したノード番号は、16個のプロ
セッサによるハイパーキューブ接続になっている。
【0024】次に、このハイパーキューブのノード番号
に基づいた、データ転送について説明する。各プロセッ
サエレメント10の変換テーブル14に、図4の対応を
登録しておく。例えば、ノード番号0000のプロセッサ1
1の変換テーブル14には、ノード番号0001 がプロセ
ッサ(2、1)であることを登録する。ノード番号0000
のプロセッサから、ノード番号0001のプロセッサにデー
タ転送する場合、変換テーブル14によりプロセッサ
(2、1)にデータを転送する。
【0025】以上説明したように、プロセッサエレメン
トの認識番号よりハイパーキューブのノード番号を与え
ることができ、この番号を変換テーブルに登録すること
により、ハイパーキューブのマルチプロセッサシステム
として使用することが可能になる。
【0026】なお、図2に示したハミング距離1の列
は、任意の2ビットずつでよく、例えば、上位2ビット
と下位2ビットでそれぞれハミング距離1の列を作成し
て用いてもよい。任意のプロセッサ数のマルチプロセッ
サシステムにおいても、プロセッサの個数を表すのに必
要なビット数の半分のビット数でそれぞれa、bの列を
作成すればよい。つまり、全ビット数をKとすると、K
/2ビットずつ任意に選択し、それぞれK/2ビットの
ハミング距離1の列を作成する。但し、a、bで、同じ
ビット位置は使用しない。
【0027】このような列a 、bを用いた場合のハイパ
ーキューブ接続について説明する。認識番号(i,j)にお
いてi+jが奇数のとき、プロセッサ(i,j)のノード番号は
a(i)+b(j)である。プロセッサの認識番号が全部でKビッ
トで表される場合、各a,bの列において、それぞれi, jか
ら奇数個離れた位置にa(i)、b(j)と1ビットだけ異なる
ものがK/2個ずつ存在する。これをそれぞれa(r)、b(s)
とする。a(r)とb(s)は、それぞれa(i)、b(j)とハミング
距離1であるので、a(r)+b(j)とa(i)+b(s)は、プロセッ
サ(i,j)のノード番号であるa(i)+b(j)とはハミング距離
1である。i+jが奇数であるのでr+j, i+sは偶数にな
り、a(r)+b(j)とa(i)+b(s)に対応するプロセッサはそれ
ぞれ(j,r)と(s,i)である。認識番号(i,j)のプロセッサ
は、(j,r)および(s,i)のプロセッサとバッファユニット
を介して接続されている。r, sはそれぞれK/2通りある
ので、プロセッサ(i,j)から合計K個のハミング距離1の
ハイパーキューブノードが結合される。同様に、認識番
号(i,j)のプロセッサにおいて、i+jが偶数の場合もハイ
パーキューブ接続となっている。
【0028】また、認識番号(i、j)において、i+
jが偶数であるか奇数であるかの判定を上記手順と逆に
してもよい。つまり、i+jが偶数である場合には、ノ
ード番号をa(i)+b(j)とし、i+jが奇数であ
る場合には、ノード番号をa(j)+b(i)としても
よい。この場合もハイパーキューブのノード番号を与え
ることができる。これは、上記のハイパーキューブ接続
の説明で、プロセッサの認識番号(i,j)に対するi+jの偶
数/奇数の関係が逆になるだけであり、容易に証明でき
る。
【0029】
【発明の効果】以上のように本発明は、プロセッサエレ
メント間の結合ネットワークにおいて、ハイパーキュー
ブのノード割当を行うことが可能になり、汎用性の高い
マルチプロセッサシステムを提供することができる。偏
微分方程式の数値計算以外にも、マルチプロセッサシス
テム上で処理する内容に応じて最適なネットワーク結合
形態を用いることによって、効率良く並列処理を行うこ
とができる。
【図面の簡単な説明】
【図1】本発明の第1の実施例におけるハイパーキュー
ブのノード番号割当手順を示すフロー図
【図2】同実施例におけるハミング距離1の数列を示す
【図3】同実施例におけるプロセッサエレメントの番号
からノード番号を求めた図
【図4】同実施例におけるプロセッサエレメントアレイ
の配置図
【図5】同実施例におけるマルチプロセッサシステムの
構成図
【図6】同実施例におけるマルチプロセッサシステムの
1平面の接続図
【図7】同実施例におけるプロセッサエレメントの構成
【図8】同実施例におけるバッファユニットの構成図
【図9】従来のマルチプロセッサシステムの概略図
【符号の説明】
10 プロセッサエレメント 11 プロセッサ 12 メモリ 13 データ転送制御回路 14 変換テーブル 15 メモリ制御回路 16、17 入出力回路 20 バッファユニット 21、22 入出力ポート 23 FIFO 24、25 データ転送バス

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】Mを1以上の整数としNを2のM乗とし
    て、2次元に配置したN×N個のプロセッサと、N×N
    ×N個のバッファユニットとを備え、前記2次元の配置
    を表す認識番号[i,j](1≦i,j≦N)を有する
    プロセッサと認識番号[j,k](1≦k≦N)を有す
    るプロセッサとの間に前記バッファユニットを接続した
    マルチプロセッサシステムにおいて、2×Mビットのう
    ちのMビットのビット位置だけのハミング距離1の列a
    (m)(1≦m≦N)を作成するステップと、前記2×
    MビットのうちのMビットを除いた残りのMビットのビ
    ット位置だけのハミング距離1の列b(n)(1≦n≦
    N)を作成するステップと、i+jが奇数となる前記認
    識番号[i,j]のプロセッサのノード番号をa(i)
    +b(j)に設定するステップと、i+jが偶数となる
    前記認識番号[i,j]のプロセッサのノード番号をa
    (j)+b(i)に設定するステップとを備えたハイパ
    ーキューブの割当方法。
  2. 【請求項2】請求項1記載のマルチプロセッサシステム
    において、i+jが偶数となる認識番号[i,j]のプ
    ロセッサのノード番号をa(i)+b(j)に設定する
    ステップと、i+jが奇数となる認識番号[i,j]の
    プロセッサのノード番号をa(j)+b(i)に設定す
    るステップとを備えたハイパーキューブの割当方法。
JP4127071A 1992-05-20 1992-05-20 ハイパーキューブの割当方法 Pending JPH05324584A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4127071A JPH05324584A (ja) 1992-05-20 1992-05-20 ハイパーキューブの割当方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4127071A JPH05324584A (ja) 1992-05-20 1992-05-20 ハイパーキューブの割当方法

Publications (1)

Publication Number Publication Date
JPH05324584A true JPH05324584A (ja) 1993-12-07

Family

ID=14950859

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4127071A Pending JPH05324584A (ja) 1992-05-20 1992-05-20 ハイパーキューブの割当方法

Country Status (1)

Country Link
JP (1) JPH05324584A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012053504A (ja) * 2010-08-31 2012-03-15 Hitachi Ltd ブレード型サーバ装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012053504A (ja) * 2010-08-31 2012-03-15 Hitachi Ltd ブレード型サーバ装置

Similar Documents

Publication Publication Date Title
Fishburn et al. Quotient networks
US6405185B1 (en) Massively parallel array processor
Siegel et al. Using the augmented data manipulator network in PASM
US6041398A (en) Massively parallel multiple-folded clustered processor mesh array
Siegel et al. Using the multistage cube network topology in parallel supercomputers
Johnsson et al. Alternating direction methods on multiprocessors
Jain et al. TESH: A new hierarchical interconnection network for massively parallel computing
Yew An easily controlled network for frequently used permutations
Bhuyan et al. Performance analysis of FFT algorithms on multiprocessor systems
Siegel et al. PASM: A reconfigurable parallel system for image processing
US5842035A (en) Parallel computer utilizing less memory by having first and second memory areas
JPH04344970A (ja) ニューラルネット処理装置
JPH05324584A (ja) ハイパーキューブの割当方法
Kaushik et al. An algebraic theory for modeling multistage interconnection networks
JPS62212763A (ja) 計算機ネツトワ−クにおけるジヨブ実行方式
Monien et al. A realizable efficient parallel architecture
Siegel Partitioning permutation networks: The underlying theory
Bhuyan On the performance of loosely coupled multiprocessors
Siegel The PASM system and parallel image processing
JPH07114515A (ja) 同期通信用ネットワークを有する分散メモリ計算機
Tao Mapping parallel programs onto parallel systems with torus and mesh based communication structures
Wang et al. Solutions of a steady state free surface seepage problem on a hypercube concurrent computer
Lyuu et al. MICA: a mapped interconnection-cached architecture
JP3209630B2 (ja) データ転送装置及びマルチプロセッサシステム
Ting et al. A versatile VLSI fast Fourier transform processor