JPH05204876A - 階層型ネットワークおよび階層型ネットワークを用いたマルチプロセッサシステム - Google Patents
階層型ネットワークおよび階層型ネットワークを用いたマルチプロセッサシステムInfo
- Publication number
- JPH05204876A JPH05204876A JP4261112A JP26111292A JPH05204876A JP H05204876 A JPH05204876 A JP H05204876A JP 4261112 A JP4261112 A JP 4261112A JP 26111292 A JP26111292 A JP 26111292A JP H05204876 A JPH05204876 A JP H05204876A
- Authority
- JP
- Japan
- Prior art keywords
- network
- node
- nodes
- processor
- gate
- 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
Links
Landscapes
- Multi Processors (AREA)
Abstract
(57)【要約】
【目的】膨大なプロセッサ台数を有するマルチプロセッ
サシステムにおける新しいプロセッサ間接続ネットワー
クとして、階層型ネットワークを提供する。 【構成】本発明の階層型ネットワークは、互いのノード
がp進n次元キューブとして接続線で結合されているネ
ットワークを複数個階層的に接続して一つのネットワー
クを構成するものであり、下層のp進n次元ネットワー
クから複数のノードを選択し、選択されたゲートノード
間をp進m次元キューブとして相互に接続して次層のp
進m次元ネットワークを構成する。同様にして、複数の
次層のp進m次元ネットワークからゲートノードを選択
し、p進1次元キューブとして相互に接続して、さらに
上層のp進1次元ネットワークを構成して、全体で1つ
の階層型ネットワークを構成する。
サシステムにおける新しいプロセッサ間接続ネットワー
クとして、階層型ネットワークを提供する。 【構成】本発明の階層型ネットワークは、互いのノード
がp進n次元キューブとして接続線で結合されているネ
ットワークを複数個階層的に接続して一つのネットワー
クを構成するものであり、下層のp進n次元ネットワー
クから複数のノードを選択し、選択されたゲートノード
間をp進m次元キューブとして相互に接続して次層のp
進m次元ネットワークを構成する。同様にして、複数の
次層のp進m次元ネットワークからゲートノードを選択
し、p進1次元キューブとして相互に接続して、さらに
上層のp進1次元ネットワークを構成して、全体で1つ
の階層型ネットワークを構成する。
Description
【0001】
【産業上の利用分野】ノード間パスの数が少ない階層型
ネットワークと、それを利用するマルチプロセッサシス
テムに関する。
ネットワークと、それを利用するマルチプロセッサシス
テムに関する。
【0002】
【従来の技術】複数のノードを結合するネットワークに
関しては、従来から研究がなされており、種々のネット
ワークが考案されている。これらのノードの結合方式に
関しては、黒川恭一氏および相礒秀夫氏による解説論文
「結合方式」(情報処理、vol27,No.9,Sep. 1
989,pp.1005−1021)に紹介がなされてい
る。この解説ではネットワークは、入出力間の結合が動
的に変化するか否かに従って、「動的」ネットワークお
よび「動的」ネットワークに分離されている。動的なネ
ットワークとしてはクロスバネットワーク、ベースライ
ンネットワーク、オメガネットワーク、バタフライネッ
トワーク(間接nキューブ)、デルタネットワーク、バ
ンヤンネットワーク等が挙げられている。一方、静的な
ネットワークとしては、リングネットワーク、スターネ
ットワーク、ツリーネットワーク、格子網、完全結合
網、nキューブ、CCC等が挙げられている。
関しては、従来から研究がなされており、種々のネット
ワークが考案されている。これらのノードの結合方式に
関しては、黒川恭一氏および相礒秀夫氏による解説論文
「結合方式」(情報処理、vol27,No.9,Sep. 1
989,pp.1005−1021)に紹介がなされてい
る。この解説ではネットワークは、入出力間の結合が動
的に変化するか否かに従って、「動的」ネットワークお
よび「動的」ネットワークに分離されている。動的なネ
ットワークとしてはクロスバネットワーク、ベースライ
ンネットワーク、オメガネットワーク、バタフライネッ
トワーク(間接nキューブ)、デルタネットワーク、バ
ンヤンネットワーク等が挙げられている。一方、静的な
ネットワークとしては、リングネットワーク、スターネ
ットワーク、ツリーネットワーク、格子網、完全結合
網、nキューブ、CCC等が挙げられている。
【0003】一方、計算機アーキテクチャの分野では、
上記に挙げたネットワークを適用した種々のマルチプロ
セッサシステムが研究開発されており、それらの代表的
なものとしては、E.D.Brocks 等による論文「BB
N TC2000 Architecture and Programming Mod
els」 (Proc. of COMPCON '91pp.46−50,199
1)に記載のバタフライネットワークを用いたTC20
00(米国BBN社)がある。また、日本特許「特開昭
57−201931」に記載されている2重化されたYn
et と呼ばれるツリーネットワークを用いたマルチプロ
セッサシステム等が挙げられる。近年ではネットワーク
として特にハイパキューブ(nキューブ)型が注目され
ており、この型のネットワークを適用したマルチプロセ
ッサとしてnCUBE(米国nCUBE社)や、iPS
C(米国インテル社)が開発されている。
上記に挙げたネットワークを適用した種々のマルチプロ
セッサシステムが研究開発されており、それらの代表的
なものとしては、E.D.Brocks 等による論文「BB
N TC2000 Architecture and Programming Mod
els」 (Proc. of COMPCON '91pp.46−50,199
1)に記載のバタフライネットワークを用いたTC20
00(米国BBN社)がある。また、日本特許「特開昭
57−201931」に記載されている2重化されたYn
et と呼ばれるツリーネットワークを用いたマルチプロ
セッサシステム等が挙げられる。近年ではネットワーク
として特にハイパキューブ(nキューブ)型が注目され
ており、この型のネットワークを適用したマルチプロセ
ッサとしてnCUBE(米国nCUBE社)や、iPS
C(米国インテル社)が開発されている。
【0004】このようにハイパキューブは今日のマルチ
プロセッサシステムの主流の一つとなってきている。ま
た、上記静的なネットワークの大部分を包括する概念と
して、k-array n-cube がある(J.DALLY,“Preforma
nce Analysis of k-arry n-cube Interconnection Netw
ork”, Trans. on Computers, vol 39, No. 6, JUNE199
0). ハイパキューブはもちろんのこと、リングネットワ
ーク、格子網、トータルネットワーク、オメガネットワ
ーク、間接nキューブ等は、全て、このk-array n-cu
be ネットワークの特化したものあるいはそれと同型の
ネッワークである。
プロセッサシステムの主流の一つとなってきている。ま
た、上記静的なネットワークの大部分を包括する概念と
して、k-array n-cube がある(J.DALLY,“Preforma
nce Analysis of k-arry n-cube Interconnection Netw
ork”, Trans. on Computers, vol 39, No. 6, JUNE199
0). ハイパキューブはもちろんのこと、リングネットワ
ーク、格子網、トータルネットワーク、オメガネットワ
ーク、間接nキューブ等は、全て、このk-array n-cu
be ネットワークの特化したものあるいはそれと同型の
ネッワークである。
【0005】
【発明が解決しようとする課題】従来技術のネットワー
クを構成するハイパキューブについて図4,図5を用い
て簡単に説明する。図4の(a)から(d)はそれぞれ
2次元、3次元、4次元のハイパキューブを示し、図5
は5次元のハイパキューブを示すノード数Nと1個のノ
ードから出るノード間接続リンクの本数Mは1次元の場
合はN=2、M=1、2次元の場合はN=4、M=2、
3次元の場合はN=8、M=3、4次元の場合はN=1
6、M=4、5次元の場合はN=32、M=5、n次元
の場合はN=2^n(演算子“^”はベき乗を表わす。
以下同じ)、M=n。従来技術のハイパキューブではノ
ード数が増加するにつれて、ノード間接続バスの本数M
Mが増大する。例えばノード数N(=2^n)のハイパ
キューブではMM=(Nlog2N)/2。例えば、図4の
(b)に示される1次元の場合はN=2であるから、M
M=(2log22)/2=1に示される3次元の場合はN
=8であるから、MM=(8log28)/2=12、ノー
ド数Nが2^16個の場合にはMM=524,288本
となる。このようにノード数が増大するとノード間接続
バスの数が膨大になる。そのため、各ノードにプロセッ
サを配置するようにこのネットワークを用いてマルチプ
ロセッサシステムを構成することが実際上困難になって
くる。
クを構成するハイパキューブについて図4,図5を用い
て簡単に説明する。図4の(a)から(d)はそれぞれ
2次元、3次元、4次元のハイパキューブを示し、図5
は5次元のハイパキューブを示すノード数Nと1個のノ
ードから出るノード間接続リンクの本数Mは1次元の場
合はN=2、M=1、2次元の場合はN=4、M=2、
3次元の場合はN=8、M=3、4次元の場合はN=1
6、M=4、5次元の場合はN=32、M=5、n次元
の場合はN=2^n(演算子“^”はベき乗を表わす。
以下同じ)、M=n。従来技術のハイパキューブではノ
ード数が増加するにつれて、ノード間接続バスの本数M
Mが増大する。例えばノード数N(=2^n)のハイパ
キューブではMM=(Nlog2N)/2。例えば、図4の
(b)に示される1次元の場合はN=2であるから、M
M=(2log22)/2=1に示される3次元の場合はN
=8であるから、MM=(8log28)/2=12、ノー
ド数Nが2^16個の場合にはMM=524,288本
となる。このようにノード数が増大するとノード間接続
バスの数が膨大になる。そのため、各ノードにプロセッ
サを配置するようにこのネットワークを用いてマルチプ
ロセッサシステムを構成することが実際上困難になって
くる。
【0006】この問題を解決するためにハイパキューブ
の各頂点ノードをリング状にしてノード数を拡張するC
CC(Cube Connected Cycle)ネットワーク等が考案さ
れた(前記解説論文 第1027に記載)。しかし、こ
のネットワークでは各ノードの位置により、ノード間転
送距離が、同程度のノード数を持つハイパキューブと比
べて、大きくなってしまうという問題があった。前記解
説論文の第1014頁に記載の階層型ネットワークであ
るツリーネットワークでは、ノード間の接続バス数が小
さくなる半面CCCと同機にノード間転送距離が、大き
くなるという問題点がある。例えば、(2^n)−1個
のノードを有するn段の2進ツリーネットワークでは、
ノード間転送距離がほぼ同数のノードを有するn次元ハ
イパキューブと比較して約2倍になる。マルチプロセッ
サシステムにおいてはプロセッサ間の通信時間が非常に
重要である。プロセッサ間通信時間は通常ノード間転送
経路の距離に比例して増大する。ハイパキューブネット
ワークの場合、ノード間転送距離の最大値 Dmax は、ノ
ード数N(=2^n)とした場合、 Dmax =log2Nとな
る。例えばノード数N=2^16であるシステムではそ
の最大転送距離 Dmax =16となる。
の各頂点ノードをリング状にしてノード数を拡張するC
CC(Cube Connected Cycle)ネットワーク等が考案さ
れた(前記解説論文 第1027に記載)。しかし、こ
のネットワークでは各ノードの位置により、ノード間転
送距離が、同程度のノード数を持つハイパキューブと比
べて、大きくなってしまうという問題があった。前記解
説論文の第1014頁に記載の階層型ネットワークであ
るツリーネットワークでは、ノード間の接続バス数が小
さくなる半面CCCと同機にノード間転送距離が、大き
くなるという問題点がある。例えば、(2^n)−1個
のノードを有するn段の2進ツリーネットワークでは、
ノード間転送距離がほぼ同数のノードを有するn次元ハ
イパキューブと比較して約2倍になる。マルチプロセッ
サシステムにおいてはプロセッサ間の通信時間が非常に
重要である。プロセッサ間通信時間は通常ノード間転送
経路の距離に比例して増大する。ハイパキューブネット
ワークの場合、ノード間転送距離の最大値 Dmax は、ノ
ード数N(=2^n)とした場合、 Dmax =log2Nとな
る。例えばノード数N=2^16であるシステムではそ
の最大転送距離 Dmax =16となる。
【0007】また、ハイパキューブネットワークを利用
したマルチプロセッサシステムでは拡張性に課題があ
る。すなわち、任意のハイパキューブシステムにおいて
あるプロセッサを付加する場合には、対応する既存のプ
ロセッサのネットワーク接続ポートを一つずつ増加させ
る必要がある。したがって、あらかじめ設計されたポー
ト数以上にプロセッサを追加することは事実上不可能で
ある。
したマルチプロセッサシステムでは拡張性に課題があ
る。すなわち、任意のハイパキューブシステムにおいて
あるプロセッサを付加する場合には、対応する既存のプ
ロセッサのネットワーク接続ポートを一つずつ増加させ
る必要がある。したがって、あらかじめ設計されたポー
ト数以上にプロセッサを追加することは事実上不可能で
ある。
【0008】さらに、トリーネットワークでは、さら
に、転送経路が一意に決定されるため、通信路の閉塞状
態が頻繁に発生しデータの並列転送を阻害するという問
題点があった。
に、転送経路が一意に決定されるため、通信路の閉塞状
態が頻繁に発生しデータの並列転送を阻害するという問
題点があった。
【0009】加えて、一つのモジュールあるいはLSI
チップの上に、複数のプロセッサを実装した、1モジュ
ールチップマルチプロセッサシステムを複数用いて大規
模なマルチプロセッサシステムを構築する際には以下の
ような問題点が生じてくる。例えば2^16個のプロセ
ッサからなるマルチプロセッサシステムを、例えば12
8(=2^7)個のプロセッサを収めた1チップマルチ
プロセッサを複数ハイパキューブネットワークに適用し
て実現する場合を想定する。このチップを2^9個もち
いて16次元ハイパキューブシステムを構築しようとす
ると1チップから、1152本のノード間接続バスを出
す必要があり、明らかにピンネックとなる。このような
状況は構成するプロセッサ台数の規模が増大するにつれ
てより深刻な問題となって来る。
チップの上に、複数のプロセッサを実装した、1モジュ
ールチップマルチプロセッサシステムを複数用いて大規
模なマルチプロセッサシステムを構築する際には以下の
ような問題点が生じてくる。例えば2^16個のプロセ
ッサからなるマルチプロセッサシステムを、例えば12
8(=2^7)個のプロセッサを収めた1チップマルチ
プロセッサを複数ハイパキューブネットワークに適用し
て実現する場合を想定する。このチップを2^9個もち
いて16次元ハイパキューブシステムを構築しようとす
ると1チップから、1152本のノード間接続バスを出
す必要があり、明らかにピンネックとなる。このような
状況は構成するプロセッサ台数の規模が増大するにつれ
てより深刻な問題となって来る。
【0010】本発明では、多数のノードを有するネット
ワークを構成する際に、少ないノード間接続バス数で構
成できる階層型ネットワークを提供することを目的とす
る。本発明ではまた、ノード間の最大通信距離が短かい
階層型ネットワークを提供することを目的とする。
ワークを構成する際に、少ないノード間接続バス数で構
成できる階層型ネットワークを提供することを目的とす
る。本発明ではまた、ノード間の最大通信距離が短かい
階層型ネットワークを提供することを目的とする。
【0011】本発明ではさらに、下層のネットワークの
ノードの中から、より上層のネットワークに属する複数
のノードを選択する手法に符号理論を適用することによ
り、ノード間接続バス数が少なく、かつ、ノード間の最
大転送距離が、同一ノード数を有する単一階層ネットワ
ークと比較して、同等もしくはそれ以下の階層型ネット
ワークを提供することを目的とする。
ノードの中から、より上層のネットワークに属する複数
のノードを選択する手法に符号理論を適用することによ
り、ノード間接続バス数が少なく、かつ、ノード間の最
大転送距離が、同一ノード数を有する単一階層ネットワ
ークと比較して、同等もしくはそれ以下の階層型ネット
ワークを提供することを目的とする。
【0012】上記の新しい階層型ネットワークにおける
通信方式を提供することも本発明の目的とする。
通信方式を提供することも本発明の目的とする。
【0013】本発明ではまた、かかる新しい階層型ネッ
トワークを用いたマルチプロセッサシステムを提供する
ことを目的とする。
トワークを用いたマルチプロセッサシステムを提供する
ことを目的とする。
【0014】本発明では更にネットワークを階層型にす
ることにより拡張性に優れたマルチプロセッサシステム
を提供することを目的とする。
ることにより拡張性に優れたマルチプロセッサシステム
を提供することを目的とする。
【0015】本発明では更にまた、複数のプロセッサを
1つのモジュールあるいは半導体チップに実装し、それ
らを複数組み合わせてより大規模なマルチプロセッサシ
ステムを構築する際に、各モジュールあるいは半導体チ
ップ間の接続バス数を少なくすることにより、モジュー
ルあるいは半導体チップのピンネックの問題を回避でき
るマルチプロセッサシステムを提供することを目的とす
る。
1つのモジュールあるいは半導体チップに実装し、それ
らを複数組み合わせてより大規模なマルチプロセッサシ
ステムを構築する際に、各モジュールあるいは半導体チ
ップ間の接続バス数を少なくすることにより、モジュー
ルあるいは半導体チップのピンネックの問題を回避でき
るマルチプロセッサシステムを提供することを目的とす
る。
【0016】
【課題を解決するための手段】本発明では、複数のノー
ドを有する複数の下層ネットワークのそれぞれから複数
のノードが上層ネットワークのノードとして選択される
(以下、選択されたノードをゲートノードと呼ぶ)同一
の下層ネットワークに属するゲートノード間は、ネット
ワーク内における通信距離より短くなるように相互に接
続される、同一の下層ネットワークに属さないゲートノ
ード間は、互いに通信が行なえるように相互に接続され
る。これにより、同一下層ネットワーク内での転送距離
を小さくしつつ、異なる下層ネットワークに属するノー
ド間の転送を可能にする階層型ネットワークが提供され
る。
ドを有する複数の下層ネットワークのそれぞれから複数
のノードが上層ネットワークのノードとして選択される
(以下、選択されたノードをゲートノードと呼ぶ)同一
の下層ネットワークに属するゲートノード間は、ネット
ワーク内における通信距離より短くなるように相互に接
続される、同一の下層ネットワークに属さないゲートノ
ード間は、互いに通信が行なえるように相互に接続され
る。これにより、同一下層ネットワーク内での転送距離
を小さくしつつ、異なる下層ネットワークに属するノー
ド間の転送を可能にする階層型ネットワークが提供され
る。
【0017】また、本発明では、複数のp進n次元下層
ネットワークのそれぞれのノードに全下層ネットワーク
内で一意に決定できるp進n桁のノード番号を与えられ
る。これらのノード番号を符号とみなしたとき符号語に
相当するノード番号が付与されたノードがゲートノード
として選択され、ゲートノードは、p進m次元上層ネッ
トワークのノードとして、相互に接続される。その結
果、同数のノードを有するp進キューブより、ノード間
接続バス数が少なく、通信距離が同等もしくはそれ以下
のネットワークを提供する。
ネットワークのそれぞれのノードに全下層ネットワーク
内で一意に決定できるp進n桁のノード番号を与えられ
る。これらのノード番号を符号とみなしたとき符号語に
相当するノード番号が付与されたノードがゲートノード
として選択され、ゲートノードは、p進m次元上層ネッ
トワークのノードとして、相互に接続される。その結
果、同数のノードを有するp進キューブより、ノード間
接続バス数が少なく、通信距離が同等もしくはそれ以下
のネットワークを提供する。
【0018】本発明では更に、複数の下層ネットワーク
の各々内のノードに一意に与えられたノード番号を符号
と見なしたとき、ノード番号がt重誤り訂正符号の符号
語となっているノードがゲートノードとして選択され階
層ネットワークが構築することにより、ノード間接続バ
ス数が小さく、通信距離が同数のノードを有する単階層
ネットワークと同等もしくはそれ以下のネットワークを
提供する。
の各々内のノードに一意に与えられたノード番号を符号
と見なしたとき、ノード番号がt重誤り訂正符号の符号
語となっているノードがゲートノードとして選択され階
層ネットワークが構築することにより、ノード間接続バ
ス数が小さく、通信距離が同数のノードを有する単階層
ネットワークと同等もしくはそれ以下のネットワークを
提供する。
【0019】本発明では、上記に示したネットワークの
ノードにプロセッサが配置された、マルチプロセッサシ
ステムを提供する。
ノードにプロセッサが配置された、マルチプロセッサシ
ステムを提供する。
【0020】本発明では、上記マルチプロセッサシステ
ムで、ゲートノードとして選択されたノードを主記憶共
有型マルチプロセッサにより、その他のノード(以下、
リーフノードと呼ぶ)を単一プロセッサにより構成し、
拡張性に優れたマルチプロセッサシステムを提供するこ
とを可能にする。
ムで、ゲートノードとして選択されたノードを主記憶共
有型マルチプロセッサにより、その他のノード(以下、
リーフノードと呼ぶ)を単一プロセッサにより構成し、
拡張性に優れたマルチプロセッサシステムを提供するこ
とを可能にする。
【0021】本発明では、前記マルチプロセッサシステ
ムのプロセッサ間通信方式として、ノードに配置された
プロセッサからデータを転送するとき、同一下層ネット
ワークに属するノードに対しては下層ネットワーク内の
最短経路によりデータを転送し、他のネットワークに属
するノードに対しては上層のネットワークに接続される
ゲートノードを介してデータを転送する。
ムのプロセッサ間通信方式として、ノードに配置された
プロセッサからデータを転送するとき、同一下層ネット
ワークに属するノードに対しては下層ネットワーク内の
最短経路によりデータを転送し、他のネットワークに属
するノードに対しては上層のネットワークに接続される
ゲートノードを介してデータを転送する。
【0022】さらに前記階層型ネットワークを構成する
際にゲートノードを選択する手段としてt重誤り訂正符
号を用いている場合には、リーフノードaから、ゲート
ノードbへ至る経路を、リーフノードaに与えられた下
層ネットワークにおけるノード番号を符号と見なしてこ
れをt重誤り訂正符号における誤り訂正手段により訂正
して該符号の符号語を求め、得られた符号語が割り当て
られたゲートノードbに至る経路とすることによりデー
タを転送する。
際にゲートノードを選択する手段としてt重誤り訂正符
号を用いている場合には、リーフノードaから、ゲート
ノードbへ至る経路を、リーフノードaに与えられた下
層ネットワークにおけるノード番号を符号と見なしてこ
れをt重誤り訂正符号における誤り訂正手段により訂正
して該符号の符号語を求め、得られた符号語が割り当て
られたゲートノードbに至る経路とすることによりデー
タを転送する。
【0023】
【作用】以上の性能比較からも明らかなように本発明に
よる、多段符号キューブは、従来のハイパキューブに比
べてノード間の接続バスの本数を大幅に削減することが
できる。例えば、符号化に単一誤り訂正符号である
(7、4)線形符号を用い、7次元ハイパキューブを8
個ずつ集めて4段のハイパキューブにインタリーブさせ
た、階層型ネットワーク(以下、4段(7、4)符号キ
ューブと呼ぶ)は、全ノード数が2の(7+(7−4)
・(4−1))乗個、すなわち、2の16乗個である
が、ノード間接続バスの本数は262,080本であ
り、同数ノードを持つ16次元ハイパキューブのノード
間接続バスの本数524,288の、約半分となる。一
般にノード数が2のn乗である多段符号キューブのノー
ド間接続バスの本数は、基本となるハイパキューブの次
元数をm、1つの上層のハイパキューブにまとめる基本
ハイパキューブ数(上記の例の場合は8)をpとしたと
きに (p/(p−1))・(2^n)・/2 で近似される(演算子「^」は、べき乗を表す)。した
がって、多段符号キューブのノード間接続バスの本数は
基本となるハイパキューブの次元数mおよび基本ハイパ
キューブをまとめる単位pは適用する符号に依存して決
まるのである符号化を適用した多段符号キューブのノー
ド間接続バスはそのノード数にのみ比例して増加する。
よる、多段符号キューブは、従来のハイパキューブに比
べてノード間の接続バスの本数を大幅に削減することが
できる。例えば、符号化に単一誤り訂正符号である
(7、4)線形符号を用い、7次元ハイパキューブを8
個ずつ集めて4段のハイパキューブにインタリーブさせ
た、階層型ネットワーク(以下、4段(7、4)符号キ
ューブと呼ぶ)は、全ノード数が2の(7+(7−4)
・(4−1))乗個、すなわち、2の16乗個である
が、ノード間接続バスの本数は262,080本であ
り、同数ノードを持つ16次元ハイパキューブのノード
間接続バスの本数524,288の、約半分となる。一
般にノード数が2のn乗である多段符号キューブのノー
ド間接続バスの本数は、基本となるハイパキューブの次
元数をm、1つの上層のハイパキューブにまとめる基本
ハイパキューブ数(上記の例の場合は8)をpとしたと
きに (p/(p−1))・(2^n)・/2 で近似される(演算子「^」は、べき乗を表す)。した
がって、多段符号キューブのノード間接続バスの本数は
基本となるハイパキューブの次元数mおよび基本ハイパ
キューブをまとめる単位pは適用する符号に依存して決
まるのである符号化を適用した多段符号キューブのノー
ド間接続バスはそのノード数にのみ比例して増加する。
【0024】また本発明による多段符号キューブを用い
たマルチプロセッサシステムは、プロセッサ間接続ネッ
トワークの大幅な削減により、低価格で大規模なマルチ
プロセッサシステムを構築することを可能とする。とく
にシステムを拡張する際にゲートノード当たるプロセッ
サのみを拡張すればよいのでそのシステム拡張性は非常
に優れている。
たマルチプロセッサシステムは、プロセッサ間接続ネッ
トワークの大幅な削減により、低価格で大規模なマルチ
プロセッサシステムを構築することを可能とする。とく
にシステムを拡張する際にゲートノード当たるプロセッ
サのみを拡張すればよいのでそのシステム拡張性は非常
に優れている。
【0025】さらに本発明では基本ハイパキューブを一
つのモジュール上に実装し、それらを組み合わせてより
大きなネットワークを構築する際のモジュール間の接続
線数を大幅に減らすことができる。例えば先の基本キュ
ーブが7次元ハイパキューブである多段(7,4)符号
キューブではノード数が2の16乗のときにそのモジュ
ール間接続線数が67本でありこれは1チップに128
プロセッサを実装した場合に十分実現可能な数字であ
る。一方、16次元ハイパキューブを7次元ハイパキュ
ーブを基本キューブとして実装するとモジュール間の接
続線数は1152本になり、彼我の差は歴然としてい
る。
つのモジュール上に実装し、それらを組み合わせてより
大きなネットワークを構築する際のモジュール間の接続
線数を大幅に減らすことができる。例えば先の基本キュ
ーブが7次元ハイパキューブである多段(7,4)符号
キューブではノード数が2の16乗のときにそのモジュ
ール間接続線数が67本でありこれは1チップに128
プロセッサを実装した場合に十分実現可能な数字であ
る。一方、16次元ハイパキューブを7次元ハイパキュ
ーブを基本キューブとして実装するとモジュール間の接
続線数は1152本になり、彼我の差は歴然としてい
る。
【0026】さらに本発明では、多段符号キューブのゲ
ートノードユニットを主記憶共有のマルチプロセッサ構
成とすることで、プロセッサモジュールボードの追加の
みでそのゲートノードユニットの機能を拡張できる。こ
のことにより、本システムのは旧システムのハードウェ
アを変更することなくプロセッサボードおよびネットワ
ークボード等の追加のみでシステムを拡張できる。
ートノードユニットを主記憶共有のマルチプロセッサ構
成とすることで、プロセッサモジュールボードの追加の
みでそのゲートノードユニットの機能を拡張できる。こ
のことにより、本システムのは旧システムのハードウェ
アを変更することなくプロセッサボードおよびネットワ
ークボード等の追加のみでシステムを拡張できる。
【0027】本発明による多段符号キューブを適用する
と、ノード間通信時間をハイパキューブと比較して削減
することが可能である。例えば前述の4段(7,4)符
号キューブではノード間最大距離が13であり、プロッ
サ数が等しいハイパキューブの16よりも小さい。ま
た、全システムに対するブロードキャストに要するステ
ップ数もそれに応じて削減され、さらに、ブロードキャ
ストノードを最上層のハイパキューブに属するノードに
すると、そのステップ数はさらに削減される。例えば先
の例ではブロードキャストノードを第4段ハイパキュー
ブにすると、10ステップで実行できる。
と、ノード間通信時間をハイパキューブと比較して削減
することが可能である。例えば前述の4段(7,4)符
号キューブではノード間最大距離が13であり、プロッ
サ数が等しいハイパキューブの16よりも小さい。ま
た、全システムに対するブロードキャストに要するステ
ップ数もそれに応じて削減され、さらに、ブロードキャ
ストノードを最上層のハイパキューブに属するノードに
すると、そのステップ数はさらに削減される。例えば先
の例ではブロードキャストノードを第4段ハイパキュー
ブにすると、10ステップで実行できる。
【0028】
【実施例】以下に、本発明による階層型ネットワーク
と、それを利用したマルチプロセッサシステムを、添付
図面を参照して、詳細に説明する。
と、それを利用したマルチプロセッサシステムを、添付
図面を参照して、詳細に説明する。
【0029】本発明ではm次元ハイパキューブを基本ネ
ットワークとし、複数の基本ネットワークの各々の中か
らいくつかのノードが選択され(以下ゲートノードと呼
ぶ)、選択されたゲートノードからより上位のネットワ
ークが形成される。この上位のネットワークを次の段の
基本ネットワークとして、再帰的に同じ処理を繰り返す
ことにより階層ネットワークが構成される。
ットワークとし、複数の基本ネットワークの各々の中か
らいくつかのノードが選択され(以下ゲートノードと呼
ぶ)、選択されたゲートノードからより上位のネットワ
ークが形成される。この上位のネットワークを次の段の
基本ネットワークとして、再帰的に同じ処理を繰り返す
ことにより階層ネットワークが構成される。
【0030】一般に、p進数n桁の数字を情報桁と誤り
訂正桁からなる符号と考えると、誤り訂正符号空間の一
点を表わす。例えばm次元ハイパキューブの各ノードに
2進数を、ノード番号として付与した場合、ノード番号
が符号語となっているノードがゲートノードとして選択
される。これにより各ノードは自ノード番号が誤りを訂
正することができる符号(以下ECCという)か否かを
判断することにより自ノードがゲートノードであるか否
かを判定することが出来る。自ノートがゲートノード以
外のノード(以下、リーフノードと呼ぶ)であった場合
には、自ノード番号に最も近いECCを求めることによ
り、自ノードに最も近いゲートノードと通信することが
出来る。
訂正桁からなる符号と考えると、誤り訂正符号空間の一
点を表わす。例えばm次元ハイパキューブの各ノードに
2進数を、ノード番号として付与した場合、ノード番号
が符号語となっているノードがゲートノードとして選択
される。これにより各ノードは自ノード番号が誤りを訂
正することができる符号(以下ECCという)か否かを
判断することにより自ノードがゲートノードであるか否
かを判定することが出来る。自ノートがゲートノード以
外のノード(以下、リーフノードと呼ぶ)であった場合
には、自ノード番号に最も近いECCを求めることによ
り、自ノードに最も近いゲートノードと通信することが
出来る。
【0031】このようにゲートノードを選択する際に符
号理論を適用すると、自ノードに最も近いゲートノード
のアドレスを容易に求めることができ、また、ゲートノ
ードを基本ネットワーク内から均一に選択することがで
きるという利点がある。ゲートノードを選択する方法と
して符号理論を用いた階層型ネットワークのことを、以
下では「多段符号ネットワーク」と呼び、特に基本ネッ
トワークとして「ハイパキューブ」を用いるものを「多
段符号キューブ」と呼ぶ。
号理論を適用すると、自ノードに最も近いゲートノード
のアドレスを容易に求めることができ、また、ゲートノ
ードを基本ネットワーク内から均一に選択することがで
きるという利点がある。ゲートノードを選択する方法と
して符号理論を用いた階層型ネットワークのことを、以
下では「多段符号ネットワーク」と呼び、特に基本ネッ
トワークとして「ハイパキューブ」を用いるものを「多
段符号キューブ」と呼ぶ。
【0032】図3は多段符号キューブの各段の関係を概
念的に示した図である。多段符号キューブでは、基本キ
ューブである第一段のキューブ20の中から選択された
ゲートノード(5)でより上位の第2位段のハイパキュ
ーブ(5)が構築される。図の中の小さい四角は基本キ
ューブ中のリーフノード23を示す。リーフノードは第
1段の基本キューブ内にのみ存在する。その他の四角は
第一段におけるゲートノードを表す。全てのゲートノー
ドは第二段のキューブのノードとなる。第二段のキュー
ブにおいて、それらを構成するノードの中から第3段の
キューブのノードとなるゲートノードが選択される。こ
のように、ゲートノードはそのノードが何段目のキュー
ブのノードになっているかにより分類できる。ここでは
第二段のキューブまでのノードとなっているゲートノー
ドを第一段ゲートノード、第三段のキューブまでのノー
ドとなっているゲートノードを第二段ゲートノードと呼
ぶ。一般に第n段のキューブまでのノードとなっている
ゲートノードを第(n−1)段のゲートノードと呼ぶ。
この図においては、第1段ゲートノード24、第2段ゲ
ートノード25、第3段ゲートノード26が示されてい
る。
念的に示した図である。多段符号キューブでは、基本キ
ューブである第一段のキューブ20の中から選択された
ゲートノード(5)でより上位の第2位段のハイパキュ
ーブ(5)が構築される。図の中の小さい四角は基本キ
ューブ中のリーフノード23を示す。リーフノードは第
1段の基本キューブ内にのみ存在する。その他の四角は
第一段におけるゲートノードを表す。全てのゲートノー
ドは第二段のキューブのノードとなる。第二段のキュー
ブにおいて、それらを構成するノードの中から第3段の
キューブのノードとなるゲートノードが選択される。こ
のように、ゲートノードはそのノードが何段目のキュー
ブのノードになっているかにより分類できる。ここでは
第二段のキューブまでのノードとなっているゲートノー
ドを第一段ゲートノード、第三段のキューブまでのノー
ドとなっているゲートノードを第二段ゲートノードと呼
ぶ。一般に第n段のキューブまでのノードとなっている
ゲートノードを第(n−1)段のゲートノードと呼ぶ。
この図においては、第1段ゲートノード24、第2段ゲ
ートノード25、第3段ゲートノード26が示されてい
る。
【0033】図1の(b)は、本実施例の基本ネットワ
ークとしての3次元ハイパキューブの構造を示す。3次
元ハイパキューブは8つのノードを有するネットワーク
である。本実施例の以下の説明では、3次元ハイパキュ
ーブのことを単にキューブと呼ぶ。本実施例による階層
構造を有するネットワーク、すなわち、階層型ネットワ
ークの構築方法を以下に示す。
ークとしての3次元ハイパキューブの構造を示す。3次
元ハイパキューブは8つのノードを有するネットワーク
である。本実施例の以下の説明では、3次元ハイパキュ
ーブのことを単にキューブと呼ぶ。本実施例による階層
構造を有するネットワーク、すなわち、階層型ネットワ
ークの構築方法を以下に示す。
【0034】図1の(a)は、本発明による階層型ネッ
トワークの一実施例である。本実施例では、3次元ハイ
パキューブを用いて2層の階層型ネットワークが実現さ
れる。まず、キューブを4つ並べる。この例では3次元
ハイパキューブを基本キューブと呼ぶ。各基本キューブ
には00番から11番までのキューブ番号を付ける。次
に、各基本キューブから、互いの通信距離が1よりも大
きい2つのノードを選択する(図1の(a)で黒丸で示
したノード)。最後に、選択された8つのノードを互い
に接続して、即ち、各基本キューブの対応するノード間
を接続し、かつ、同一基本キューブ内のノード間を接続
して第2層の3次元ハイパキューブを構成する。このよ
うに、本実施例では、各基本ネットワークから選択され
たゲートノードは上層のネットワーク、すなわち、3次
元ハイパキューブを構成するように接続されており、ま
た、同一基本ネットワークから選択されたゲートノー
ド、例えば00000と00111は基本ネットワーク
における通信距離が3に対して、上層のネットワークで
は通信距離1で接続されている。
トワークの一実施例である。本実施例では、3次元ハイ
パキューブを用いて2層の階層型ネットワークが実現さ
れる。まず、キューブを4つ並べる。この例では3次元
ハイパキューブを基本キューブと呼ぶ。各基本キューブ
には00番から11番までのキューブ番号を付ける。次
に、各基本キューブから、互いの通信距離が1よりも大
きい2つのノードを選択する(図1の(a)で黒丸で示
したノード)。最後に、選択された8つのノードを互い
に接続して、即ち、各基本キューブの対応するノード間
を接続し、かつ、同一基本キューブ内のノード間を接続
して第2層の3次元ハイパキューブを構成する。このよ
うに、本実施例では、各基本ネットワークから選択され
たゲートノードは上層のネットワーク、すなわち、3次
元ハイパキューブを構成するように接続されており、ま
た、同一基本ネットワークから選択されたゲートノー
ド、例えば00000と00111は基本ネットワーク
における通信距離が3に対して、上層のネットワークで
は通信距離1で接続されている。
【0035】以上の手順により2層の階層型ネットワー
クが構築できる。本発明による階層型ネットワークで
は、基本ネットワークから選択されたゲートノードが上
層のネットワークを構成するように接続される。その結
果同一基本ネットワークから選択されたゲートノード間
の通信距離は基本ネットワークにおける通信距離よりも
短くなる。これにより、本発明による階層型キューブネ
ットワークでは同数のノードを有するハイパキューブネ
ットワークよりも、接続バス数が少なく、かつ、基本ハ
イパキューブ内のそれ以下のノード間通信距離が実現す
ることができる。
クが構築できる。本発明による階層型ネットワークで
は、基本ネットワークから選択されたゲートノードが上
層のネットワークを構成するように接続される。その結
果同一基本ネットワークから選択されたゲートノード間
の通信距離は基本ネットワークにおける通信距離よりも
短くなる。これにより、本発明による階層型キューブネ
ットワークでは同数のノードを有するハイパキューブネ
ットワークよりも、接続バス数が少なく、かつ、基本ハ
イパキューブ内のそれ以下のノード間通信距離が実現す
ることができる。
【0036】図2は、3次元ハイパキューブを用いた3
層の階層型ネットワークの構成の一例である。本実施例
では、図4に示す階層型ネットワークを基本ネットワー
クと考え、即ち第2層の3次元ハイパキューブを基本キ
ューブと考え、前述した手順により第3層のネットワー
クを構成したものである。この実施例で明らかなよう
に、本発明による階層型ネットワーク構成方法を繰り返
して適用すると、多階層からなる大規模な階層型ネット
ワークを構築することが可能となる。
層の階層型ネットワークの構成の一例である。本実施例
では、図4に示す階層型ネットワークを基本ネットワー
クと考え、即ち第2層の3次元ハイパキューブを基本キ
ューブと考え、前述した手順により第3層のネットワー
クを構成したものである。この実施例で明らかなよう
に、本発明による階層型ネットワーク構成方法を繰り返
して適用すると、多階層からなる大規模な階層型ネット
ワークを構築することが可能となる。
【0037】図6は、他の符号を用いた例を示す。この
例では、7次元ハイパキューブを用いた2層の階層型ネ
ットワークが示される。
例では、7次元ハイパキューブを用いた2層の階層型ネ
ットワークが示される。
【0038】まず、最下層のネットワークである7次元
ハイパキューブを8つ並べる。この例では7次元ハイパ
キューブを基本キューブと呼ぶ。図6に示す基本キュー
ブでは7次元ハイパキューブの接続線の一部分が示され
ている。各基本キューブには0番から7番までキューブ
番号を付与する。各基本キューブは128(=2^7)
個のノードを有する。次に各基本キューブの128個の
ノードからそれぞれ16個のゲートノードを選択する。
図6では選択されたゲートノードは示されている。8つ
のキューブから選択されたゲートノードは128個(=
16×8)あるので、これらのノード間を新たな7次元
ハイパキューブを構成するように接続して第2層のネッ
トワークを構成する。
ハイパキューブを8つ並べる。この例では7次元ハイパ
キューブを基本キューブと呼ぶ。図6に示す基本キュー
ブでは7次元ハイパキューブの接続線の一部分が示され
ている。各基本キューブには0番から7番までキューブ
番号を付与する。各基本キューブは128(=2^7)
個のノードを有する。次に各基本キューブの128個の
ノードからそれぞれ16個のゲートノードを選択する。
図6では選択されたゲートノードは示されている。8つ
のキューブから選択されたゲートノードは128個(=
16×8)あるので、これらのノード間を新たな7次元
ハイパキューブを構成するように接続して第2層のネッ
トワークを構成する。
【0039】以下、3次元ハイパキューブの例と同様の
処理を繰り返せば、多層ネットワークを構成することが
できる。
処理を繰り返せば、多層ネットワークを構成することが
できる。
【0040】次に、本発明による階層型ネットワークシ
ステムを構築する際に好適なゲートノードの選択方法に
ついて説明する。
ステムを構築する際に好適なゲートノードの選択方法に
ついて説明する。
【0041】まず、階層型ネットワークの基本となる最
下層のネットワークを、p進n次元ネットワークとす
る。以下、このネットワークを基本ネットワークと呼
ぶ。基本ネットワークの各ノードには、p進数m桁のノ
ード番号(アドレス)が付与される。例えば、図2に示
した3次元ハイパキューブ(2進3次元ネットワーク)
では各ノードに2進数で0000〜111のノード番号
が与えられる。このようにして与えられたノード番号を
上位r桁と下位k桁とに分割し(r+k=m)、誤り訂
正理論に従って上位r桁の番号の各々に1つの下位k桁
を一意に割り当てる。一意に割り当てられた番号をノー
ド番号として有するノードがゲートノードとして選択さ
れる。実施例では、2進数3桁のノード番号を上位1桁
と下位2桁に分割し、上位1桁が0の場合には下位2桁
は00を、上位1桁が1の場合には下位2桁は11をそ
れぞれ一意に割り当てる。このようにして決められたノ
ード番号000および111を有するノードをゲートノ
ードとして選択する。
下層のネットワークを、p進n次元ネットワークとす
る。以下、このネットワークを基本ネットワークと呼
ぶ。基本ネットワークの各ノードには、p進数m桁のノ
ード番号(アドレス)が付与される。例えば、図2に示
した3次元ハイパキューブ(2進3次元ネットワーク)
では各ノードに2進数で0000〜111のノード番号
が与えられる。このようにして与えられたノード番号を
上位r桁と下位k桁とに分割し(r+k=m)、誤り訂
正理論に従って上位r桁の番号の各々に1つの下位k桁
を一意に割り当てる。一意に割り当てられた番号をノー
ド番号として有するノードがゲートノードとして選択さ
れる。実施例では、2進数3桁のノード番号を上位1桁
と下位2桁に分割し、上位1桁が0の場合には下位2桁
は00を、上位1桁が1の場合には下位2桁は11をそ
れぞれ一意に割り当てる。このようにして決められたノ
ード番号000および111を有するノードをゲートノ
ードとして選択する。
【0042】以上の手順により基本ネットワークの中か
ら均一にゲートノードを選択することが可能となる。更
に、上記方法において、上位桁のデータと、その上位桁
データに対応する下位桁のデータを決定する方法とし
て、上位桁データを情報ビット、下位桁データを誤り検
出/訂正ビットと見なして、情報ビットに対応する誤り
検出/訂正ビットを一意に対応づける方法がある。上記
例では、2進多数決符号(情報ビット1桁、誤り検出/
訂正ビット2桁)を用いてゲートノードを選択した。
ら均一にゲートノードを選択することが可能となる。更
に、上記方法において、上位桁のデータと、その上位桁
データに対応する下位桁のデータを決定する方法とし
て、上位桁データを情報ビット、下位桁データを誤り検
出/訂正ビットと見なして、情報ビットに対応する誤り
検出/訂正ビットを一意に対応づける方法がある。上記
例では、2進多数決符号(情報ビット1桁、誤り検出/
訂正ビット2桁)を用いてゲートノードを選択した。
【0043】基本ネットワークとしての基本キューブの
次元数、および、ゲートノードを選択する際に用いる符
号化方式は層間で同一であってもよいし、異なっていて
もよい。以上の例では、説明を容易にするために、層間
における基本キューブの次元数、および、符号化方式は
同一であるものと仮定されている。
次元数、および、ゲートノードを選択する際に用いる符
号化方式は層間で同一であってもよいし、異なっていて
もよい。以上の例では、説明を容易にするために、層間
における基本キューブの次元数、および、符号化方式は
同一であるものと仮定されている。
【0044】図7は、7次元ハイパキューブを用いた階
層型ネットワーク、即ち多段(7、4)符号キューブネ
ットワークのノード番号の付け方を説明する図である。
まず、図7の(a)に示すように基本キューブ内の物理
的ノード位置に従って、各ノードに2進数7ビットのキ
ューブ内ノード番号が付与される。図では、キューブ内
のx軸、y軸、z軸におけるノードの位置をそれぞれ3
ビット、3ビット、1ビットで表し、下位から順に並べ
ることにより基本キューブ内ノード番号が付与される。
本実施例で示すネットワークは、基本キューブを8つ接
続することにより構成されているので、図7の(b)に
示すようにそれぞれの基本キューブに0〜7のキューブ
番号が付与される。このキューブ番号をノード番号の上
位に付与することにより基本ネットワーク内で一意なノ
ード番号が定義される。即ち、図7の(e)に示される
フォーマットで基本ネットワーク内のノードを特定でき
る。なお、以下の説明をより明確にするために、ノード
がゲートノードかリーフノードかにより先頭に“G”あ
るいは“L”を付加することにする。
層型ネットワーク、即ち多段(7、4)符号キューブネ
ットワークのノード番号の付け方を説明する図である。
まず、図7の(a)に示すように基本キューブ内の物理
的ノード位置に従って、各ノードに2進数7ビットのキ
ューブ内ノード番号が付与される。図では、キューブ内
のx軸、y軸、z軸におけるノードの位置をそれぞれ3
ビット、3ビット、1ビットで表し、下位から順に並べ
ることにより基本キューブ内ノード番号が付与される。
本実施例で示すネットワークは、基本キューブを8つ接
続することにより構成されているので、図7の(b)に
示すようにそれぞれの基本キューブに0〜7のキューブ
番号が付与される。このキューブ番号をノード番号の上
位に付与することにより基本ネットワーク内で一意なノ
ード番号が定義される。即ち、図7の(e)に示される
フォーマットで基本ネットワーク内のノードを特定でき
る。なお、以下の説明をより明確にするために、ノード
がゲートノードかリーフノードかにより先頭に“G”あ
るいは“L”を付加することにする。
【0045】ゲートノードを選択する際に、情報ビット
が4ビット、訂正ビットが3ビット、合計7ビットから
なる1誤り訂正符号を用いている。以下、この符号を
(7、4)符号と呼ぶ(符号の長さが7ビット、情報ビ
ットが4ビット)。(7、4)符号の非誤り符号語は以
下に示す16個である。
が4ビット、訂正ビットが3ビット、合計7ビットから
なる1誤り訂正符号を用いている。以下、この符号を
(7、4)符号と呼ぶ(符号の長さが7ビット、情報ビ
ットが4ビット)。(7、4)符号の非誤り符号語は以
下に示す16個である。
【0046】 情報ビット 訂正ビット 情報ビット 訂正ビット 0000 000 1000 111 0001 011 1001 100 0010 101 1010 010 0011 110 1011 001 0100 110 1100 001 0101 101 1101 010 0110 011 1110 100 0111 000 1111 111 このように、基本キューブ内番号が、非誤り符号と一致
するノードをゲートノードとすることにより、階層型ネ
ットワーク、「多段(7、4)符号キューブ」が構成さ
れる。図6で示されるネットワークは2段(7、4)符
号キューブである。
するノードをゲートノードとすることにより、階層型ネ
ットワーク、「多段(7、4)符号キューブ」が構成さ
れる。図6で示されるネットワークは2段(7、4)符
号キューブである。
【0047】以下では、図6を参照して、2段(7、
4)符号キューブの説明をする。キューブ#0のゲート
ノードG000は、キューブ#0内のリーフノードL0
01,L002,L004,L010,L020,L0
40,L080に接続される。一方、第2段の7次元ハ
イパキューブでは、キューブ#0内のゲートノードG0
13,G025,G046,G087と各々接続され
る。また他のキューブのゲートノードG100,G20
0,G400と接続される。このように、第2段のネッ
トワークにおいて、ゲートノードは、4つの同一基本キ
ューブ内ゲートノードと、3つの他キューブ内において
対応する位置にあるゲートノードと、各々接続される。
即ち、各ゲートノードは、基本キューブ内で7本の接続
線を、第2段のネットワークにおいて7本の接続線、合
計14本の接続線を有する。
4)符号キューブの説明をする。キューブ#0のゲート
ノードG000は、キューブ#0内のリーフノードL0
01,L002,L004,L010,L020,L0
40,L080に接続される。一方、第2段の7次元ハ
イパキューブでは、キューブ#0内のゲートノードG0
13,G025,G046,G087と各々接続され
る。また他のキューブのゲートノードG100,G20
0,G400と接続される。このように、第2段のネッ
トワークにおいて、ゲートノードは、4つの同一基本キ
ューブ内ゲートノードと、3つの他キューブ内において
対応する位置にあるゲートノードと、各々接続される。
即ち、各ゲートノードは、基本キューブ内で7本の接続
線を、第2段のネットワークにおいて7本の接続線、合
計14本の接続線を有する。
【0048】図8は基本キューブ内のゲートノードの接
続の状態を詳細に示した図である。(7、4)符号を用
いてゲートノードを選択すると、同一キューブ内のゲー
トノード間の最小距離は3となる。このため、基本キュ
ーブ内の任意のリーフノードは、距離1離れたところに
必ずゲートノードを有する。例えばゲートノードG00
0とG013は基本キューブ内において距離が3であ
る。これらの2つのゲートノード間には、L001,L
002,L003等のリーフノードが存在するが、距離
1のところにゲートノードが存在する。即ち、L001
およびL002はゲートノードG000から、L003
はゲートノードG013から距離1である。したがっ
て、(7、4)符号キューブにおける任意のノードから
ゲートノードへの通信距離は1以内であるといえる。ま
た通信距離が3であるゲートノード間は直接接続され
る。従って、第2段のネットワークを介したゲートノー
ド間の1回の通信は、基本キューブ内の3回の通信に相
当する。
続の状態を詳細に示した図である。(7、4)符号を用
いてゲートノードを選択すると、同一キューブ内のゲー
トノード間の最小距離は3となる。このため、基本キュ
ーブ内の任意のリーフノードは、距離1離れたところに
必ずゲートノードを有する。例えばゲートノードG00
0とG013は基本キューブ内において距離が3であ
る。これらの2つのゲートノード間には、L001,L
002,L003等のリーフノードが存在するが、距離
1のところにゲートノードが存在する。即ち、L001
およびL002はゲートノードG000から、L003
はゲートノードG013から距離1である。したがっ
て、(7、4)符号キューブにおける任意のノードから
ゲートノードへの通信距離は1以内であるといえる。ま
た通信距離が3であるゲートノード間は直接接続され
る。従って、第2段のネットワークを介したゲートノー
ド間の1回の通信は、基本キューブ内の3回の通信に相
当する。
【0049】多段符号キューブをマルチプロセッサシス
テムのプロセッサ間接続ネットワークとして適用するこ
とにより効率の良いマルチプロセッサシステムを構築す
ることができる。このためには、多段符号キューブの各
ノードは少なくと1つの情報処理装置(プロセッサ)を
含み、ノード間の接続は通信線となる。ここで、基本キ
ューブの次元数をm、システム全体のノード数を2のn
乗とし、各基本キューブから2のr乗個のゲートノード
を選択するものとする。リーフノードは既存のハイパキ
ューブを用いたシステムにおける各ノードと全く同様の
手法を用いることにより構成することができる。すなわ
ち、m次元ハイパキューブ内のノード間接続のための通
信ポートをm個持つプロセッサモジュールで構成するこ
とができる。多段符号キューブマルチプロセッサシステ
ムと従来のハイパキューブマルチプロセッサシステムの
違いは、ゲートノードである。
テムのプロセッサ間接続ネットワークとして適用するこ
とにより効率の良いマルチプロセッサシステムを構築す
ることができる。このためには、多段符号キューブの各
ノードは少なくと1つの情報処理装置(プロセッサ)を
含み、ノード間の接続は通信線となる。ここで、基本キ
ューブの次元数をm、システム全体のノード数を2のn
乗とし、各基本キューブから2のr乗個のゲートノード
を選択するものとする。リーフノードは既存のハイパキ
ューブを用いたシステムにおける各ノードと全く同様の
手法を用いることにより構成することができる。すなわ
ち、m次元ハイパキューブ内のノード間接続のための通
信ポートをm個持つプロセッサモジュールで構成するこ
とができる。多段符号キューブマルチプロセッサシステ
ムと従来のハイパキューブマルチプロセッサシステムの
違いは、ゲートノードである。
【0050】図9は、図4に示した2段符号キューブを
適用したマルチプロセッサシステムの構成を詳細に示し
たブロック図である。キューブ0乃至キューブ3は第1
段キューブであり、ここで、L02〜L36はリーフノ
ードであり、プロセッサモジュールからなる。
適用したマルチプロセッサシステムの構成を詳細に示し
たブロック図である。キューブ0乃至キューブ3は第1
段キューブであり、ここで、L02〜L36はリーフノ
ードであり、プロセッサモジュールからなる。
【0051】プロセッサモジュールは図10Aに示すよ
うに主記憶71、プロセッサ72ネットワークルータと
同一キューブ内接続用ネットワークチャネルからなる。
また、ゲートノードG00〜G37図10の(b)に示
すようなマルチプロセッサモジュールからなる。図10
の(b)の詳細は以下に図11に示すとおりである。キ
ューブ0乃至キューブ3は第1段キューブであり、ゲー
トノードG00〜G37からなるキューブが第2段キュ
ーブである。リーフノード間の通信線は細線で示され、
ゲートノード間の通信線は太線で示されている。
うに主記憶71、プロセッサ72ネットワークルータと
同一キューブ内接続用ネットワークチャネルからなる。
また、ゲートノードG00〜G37図10の(b)に示
すようなマルチプロセッサモジュールからなる。図10
の(b)の詳細は以下に図11に示すとおりである。キ
ューブ0乃至キューブ3は第1段キューブであり、ゲー
トノードG00〜G37からなるキューブが第2段キュ
ーブである。リーフノード間の通信線は細線で示され、
ゲートノード間の通信線は太線で示されている。
【0052】図12は、各ノードに置かれたプロセッサ
の番号、キューブ番号、キューブ内番号、次段キューブ
内番号を表として示したものである。次段キューブ内番
号は基本3次元キューブのキューブ内番号が0(00
0)と7(111)のものにのみ与えられる。さらに次
段キューブが4つ設けられると、次段キューブ番号が付
される。
の番号、キューブ番号、キューブ内番号、次段キューブ
内番号を表として示したものである。次段キューブ内番
号は基本3次元キューブのキューブ内番号が0(00
0)と7(111)のものにのみ与えられる。さらに次
段キューブが4つ設けられると、次段キューブ番号が付
される。
【0053】図11は多段符号キューブマルチプロセッ
サシステムにおけるゲートノードとして用いられるマル
チプロセッサモジュールの一実施例である。本実施例
は、第1段ゲートノードの構成を示す。ゲートノード4
0は、第1段キューブ側のプロセッサ43と第2段側の
プロセッサ47第1段キューブ側ネットワークルータ
(NR)46と第2段キューブ側ネットワークルータ5
0およびそれらを結合するノード内のキューブ間接続バ
ス42およびこれらのプロセッサ間の共有メモリ41で
構成される。
サシステムにおけるゲートノードとして用いられるマル
チプロセッサモジュールの一実施例である。本実施例
は、第1段ゲートノードの構成を示す。ゲートノード4
0は、第1段キューブ側のプロセッサ43と第2段側の
プロセッサ47第1段キューブ側ネットワークルータ
(NR)46と第2段キューブ側ネットワークルータ5
0およびそれらを結合するノード内のキューブ間接続バ
ス42およびこれらのプロセッサ間の共有メモリ41で
構成される。
【0054】ゲートノード内の第1段キューブ、即ち第
1段の階層に属するプロセッサ43は情報処理装置45
およびひプライベートメモリ44を有し、ゲートノード
内の第2段キューブ、即ち第2段の階層に属するプロセ
ッサ47は情報処理装置49およびプライベートメモリ
48を有する。
1段の階層に属するプロセッサ43は情報処理装置45
およびひプライベートメモリ44を有し、ゲートノード
内の第2段キューブ、即ち第2段の階層に属するプロセ
ッサ47は情報処理装置49およびプライベートメモリ
48を有する。
【0055】同一キューブ内のデータ転送はプロセッサ
内のプライベートメモリを介して転送される。一方、異
なる階層のキューブ間の転送は共有メモリ41を介して
行なわれる。このようにマルチプロセッサモジュールで
ゲートノードを実現することによりより多くの段数のゲ
ートノードへと容易に拡張することが可能となる。例え
ば、本実施例の第1段ゲートノードを第2段ゲートノー
ドに拡張する場合には第3段キューブに属するプロセッ
サをノード内のキューブ間接続バス42上に接続するだ
けで良い。
内のプライベートメモリを介して転送される。一方、異
なる階層のキューブ間の転送は共有メモリ41を介して
行なわれる。このようにマルチプロセッサモジュールで
ゲートノードを実現することによりより多くの段数のゲ
ートノードへと容易に拡張することが可能となる。例え
ば、本実施例の第1段ゲートノードを第2段ゲートノー
ドに拡張する場合には第3段キューブに属するプロセッ
サをノード内のキューブ間接続バス42上に接続するだ
けで良い。
【0056】本実施例におけるゲートノードはバス結合
による主記憶共有密結合マルチプロセッサ構成を取った
が、ゲートノードを共有メモリを持たない、分散メモリ
型マルチプロセッサ構成で実現することももちろん可能
である。また、拡張性を犠牲にするならばゲートノード
をリーフノードとは異なるプロセッサと、ネットワーク
ルータとを用いたシングルプロセッサとして別途設計し
ても一向に構わない。この際にはゲートノードに使用さ
れるプロセッサは、何段のゲートノードかに依存してリ
ーフノードに使用されるプロセッサの整数倍のネットワ
ーク接続チャネルを持つことが要求される。
による主記憶共有密結合マルチプロセッサ構成を取った
が、ゲートノードを共有メモリを持たない、分散メモリ
型マルチプロセッサ構成で実現することももちろん可能
である。また、拡張性を犠牲にするならばゲートノード
をリーフノードとは異なるプロセッサと、ネットワーク
ルータとを用いたシングルプロセッサとして別途設計し
ても一向に構わない。この際にはゲートノードに使用さ
れるプロセッサは、何段のゲートノードかに依存してリ
ーフノードに使用されるプロセッサの整数倍のネットワ
ーク接続チャネルを持つことが要求される。
【0057】図13の(a)及び(b)にノードユニッ
トの他の実施例を示す。本実施例では、リーフノード
は、図13の(a)に示すように、メモリ71とデータ
を処理するプロセッサ72とノード間のデータ通信制御
を行なうネットワークルータ(NR)73で構成する。
ゲートノードは、図13の(b)に示すように、各階層
のネットワーク内におけるメッセージの流れを制御する
複数のネットワークルータ46、50を有し、各階層の
ネットワークをそれぞれ制御する。階層間にまたがるデ
ータ転送は、ネットワークルータ間を接続するバス42
を介して行なう。本実施例では、転送経路上にあるノー
ドにおいてはデータはプロセッサ内に取り込まれること
なくネットワークルータ46、50のみを介して転送さ
れる。従って、転送経路上に存在するプロセッサの動作
に影響を与えることがない。また、ネットワークルータ
を増加すれば、ネットワークの拡張に対応可能である。
トの他の実施例を示す。本実施例では、リーフノード
は、図13の(a)に示すように、メモリ71とデータ
を処理するプロセッサ72とノード間のデータ通信制御
を行なうネットワークルータ(NR)73で構成する。
ゲートノードは、図13の(b)に示すように、各階層
のネットワーク内におけるメッセージの流れを制御する
複数のネットワークルータ46、50を有し、各階層の
ネットワークをそれぞれ制御する。階層間にまたがるデ
ータ転送は、ネットワークルータ間を接続するバス42
を介して行なう。本実施例では、転送経路上にあるノー
ドにおいてはデータはプロセッサ内に取り込まれること
なくネットワークルータ46、50のみを介して転送さ
れる。従って、転送経路上に存在するプロセッサの動作
に影響を与えることがない。また、ネットワークルータ
を増加すれば、ネットワークの拡張に対応可能である。
【0058】図14(b)は、ゲートノードの更に他の
実施例を示す。本発明のネットワークでは、ゲートノー
ドに複数の階層のネットワークが集中する。m次元ハイ
パキューブを基本キューブとして用いた場合、第i段ゲ
ートノードから出力されるリンクの総数は、(m×(i
+1))本となる(i≧0:i=0はリーフノード)。
これらのリンクを制御するネットワークルータは、自プ
ロセッサ内にデータを取り込むリンクが更にもう1本必
要であることを考慮すると、(m×(i+1)+1)本
の入出力線を持つクロスバスイッチで実現できる。図1
4の(a)と(b)は、3次元ハイパキューブを基本キ
ューブとして用いた本ネットワークのリーフとゲートの
ノードの構成の一実施例を示す。本実施例では、基本モ
ジュールとして、プロセッサ、第1段のネットワークル
ータ(4×4クロスバスイッチ)、及び、上層のネット
ワークへ接続するための拡張ポートセレクタを有するモ
ジュールを用いる。リーフノードは図14の(a)に示
すように基本モジュールをそのまま用いる。一方、ゲー
トノードは、図14(b)に示すように、基本モジュー
ルと拡張スイッチモジュール48により構成する。本実
施例では、第1段ゲートノードのネットワークルータを
構成するために必要な7×7のクロスバスイッチを(4
+3)×(4+3)に分割し、4×4のクロスバ1個、
4×3のクロスバ1個、3×4のクロスバ1個、3×3
のクロスバ1個で構成し、各クロスバの出力信号線をセ
レクタにより結合している。基本モジュールには、これ
らのスイッチの内、4×4のクロスバが内蔵されている
ので、残る3個のクロスバと、2個のセレクタを含む拡
張スイッチモジュールが基本モジュールの拡張ポートに
接続される。
実施例を示す。本発明のネットワークでは、ゲートノー
ドに複数の階層のネットワークが集中する。m次元ハイ
パキューブを基本キューブとして用いた場合、第i段ゲ
ートノードから出力されるリンクの総数は、(m×(i
+1))本となる(i≧0:i=0はリーフノード)。
これらのリンクを制御するネットワークルータは、自プ
ロセッサ内にデータを取り込むリンクが更にもう1本必
要であることを考慮すると、(m×(i+1)+1)本
の入出力線を持つクロスバスイッチで実現できる。図1
4の(a)と(b)は、3次元ハイパキューブを基本キ
ューブとして用いた本ネットワークのリーフとゲートの
ノードの構成の一実施例を示す。本実施例では、基本モ
ジュールとして、プロセッサ、第1段のネットワークル
ータ(4×4クロスバスイッチ)、及び、上層のネット
ワークへ接続するための拡張ポートセレクタを有するモ
ジュールを用いる。リーフノードは図14の(a)に示
すように基本モジュールをそのまま用いる。一方、ゲー
トノードは、図14(b)に示すように、基本モジュー
ルと拡張スイッチモジュール48により構成する。本実
施例では、第1段ゲートノードのネットワークルータを
構成するために必要な7×7のクロスバスイッチを(4
+3)×(4+3)に分割し、4×4のクロスバ1個、
4×3のクロスバ1個、3×4のクロスバ1個、3×3
のクロスバ1個で構成し、各クロスバの出力信号線をセ
レクタにより結合している。基本モジュールには、これ
らのスイッチの内、4×4のクロスバが内蔵されている
ので、残る3個のクロスバと、2個のセレクタを含む拡
張スイッチモジュールが基本モジュールの拡張ポートに
接続される。
【0059】本実施例では、基本モジュールを全てのノ
ードで共通に利用することができるため、基本モジュー
ルの生産コストを削減することができる。また、ゲート
ノードを構成するのに必要なネットワークルータを分割
して実現することにより、ネットワークルータのピンボ
トルネックを解消することが可能である。一般にp×p
のクロスバスイッチは、(q+r)×(s×t)に分割
することができ(q+r=s+t=p)、q×s、q×
t、r×s、r×tの4個のクロスバおよびそれらを結
合するセレクタで実現することができる。このクロスバ
スイッチの分割方法は、ネットワークルータを構成する
場合以外にも適用できることは明らかである。
ードで共通に利用することができるため、基本モジュー
ルの生産コストを削減することができる。また、ゲート
ノードを構成するのに必要なネットワークルータを分割
して実現することにより、ネットワークルータのピンボ
トルネックを解消することが可能である。一般にp×p
のクロスバスイッチは、(q+r)×(s×t)に分割
することができ(q+r=s+t=p)、q×s、q×
t、r×s、r×tの4個のクロスバおよびそれらを結
合するセレクタで実現することができる。このクロスバ
スイッチの分割方法は、ネットワークルータを構成する
場合以外にも適用できることは明らかである。
【0060】次に本発明によるデータ転送手順を図15
を参照して説明する。データ転送時には、ソースノード
とディスティネーションノードが、メッセージにセット
される。データの転送は、元ノードと先ノードが同一ネ
ットワークにあるかどうかを判定する処理80と、同一
ネットワークにあった場合には該ネットワーク内におけ
る転送経路によりデータを転送する処理86と、同一ネ
ットワークになかった場合には、元ノードに最も近いゲ
ートノードpを求める処理81と、ディスティネーショ
ンノードに最も近いゲートノードqを求める処理82
と、ソースノードからゲートノードpヘ内部ネットワー
クを用いてデータと転送する処理83と、ゲートノード
pからゲートノードqへ一段上層のネットワークを介し
てデータを転送する処理84と、ゲートノードqからデ
ィスティネーションノードへ、それを含む内部ネットワ
ークを用いてデータを転送する処理85とにより行なわ
れる。ゲートノードpからゲートノードqへデータを転
送する処理は本手続きを再帰的に呼び出すことにより行
なう。
を参照して説明する。データ転送時には、ソースノード
とディスティネーションノードが、メッセージにセット
される。データの転送は、元ノードと先ノードが同一ネ
ットワークにあるかどうかを判定する処理80と、同一
ネットワークにあった場合には該ネットワーク内におけ
る転送経路によりデータを転送する処理86と、同一ネ
ットワークになかった場合には、元ノードに最も近いゲ
ートノードpを求める処理81と、ディスティネーショ
ンノードに最も近いゲートノードqを求める処理82
と、ソースノードからゲートノードpヘ内部ネットワー
クを用いてデータと転送する処理83と、ゲートノード
pからゲートノードqへ一段上層のネットワークを介し
てデータを転送する処理84と、ゲートノードqからデ
ィスティネーションノードへ、それを含む内部ネットワ
ークを用いてデータを転送する処理85とにより行なわ
れる。ゲートノードpからゲートノードqへデータを転
送する処理は本手続きを再帰的に呼び出すことにより行
なう。
【0061】図16は多段符号キューブにおけるノード
間でのデータの転送を説明する図である。本図は、3段
(7,4)符号キューブにおけるノード間通信のなか
で、その転送距離が最大となる場合の一例について示し
ている。
間でのデータの転送を説明する図である。本図は、3段
(7,4)符号キューブにおけるノード間通信のなか
で、その転送距離が最大となる場合の一例について示し
ている。
【0062】各ノードの番号は以下のようにして付け
る。図7の(b)を参照して3段(7,4)符号キュー
ブは7次元キューブを基本キューブとして構成され、そ
れらを3段に構築したキューブである。ノード数は81
92(128×64)であり、ノード番号は13ビット
で表現できる。ノード番号の下位7ビットは基本キュー
ブ内におけるアドレスを示している。その中から、上位
4ビットが情報ビットで下位3ビットが訂正ビットであ
るような(7,4)符号を選択するとその上位4ビット
が0000から1111であるような16個の符号語が
選択できる。
る。図7の(b)を参照して3段(7,4)符号キュー
ブは7次元キューブを基本キューブとして構成され、そ
れらを3段に構築したキューブである。ノード数は81
92(128×64)であり、ノード番号は13ビット
で表現できる。ノード番号の下位7ビットは基本キュー
ブ内におけるアドレスを示している。その中から、上位
4ビットが情報ビットで下位3ビットが訂正ビットであ
るような(7,4)符号を選択するとその上位4ビット
が0000から1111であるような16個の符号語が
選択できる。
【0063】そこでこれらの上位4ビットのさらに上位
に3ビットを付加することにより第2段の7次元キュー
ブのノードを特定することが出来る。この第2段の7次
元キューブの数は8、またノード数、すなわち第1段ゲ
ートノードの数は1024(16×64=128×8)
である。第3段のキューブへの拡張も同様の手法を用い
ることにより実現する。第3段の7次元キューブの数は
1、またノード数、すなわち第2段ゲートノードの数は
128(16×8)である。
に3ビットを付加することにより第2段の7次元キュー
ブのノードを特定することが出来る。この第2段の7次
元キューブの数は8、またノード数、すなわち第1段ゲ
ートノードの数は1024(16×64=128×8)
である。第3段のキューブへの拡張も同様の手法を用い
ることにより実現する。第3段の7次元キューブの数は
1、またノード数、すなわち第2段ゲートノードの数は
128(16×8)である。
【0064】以上の手順に依り、ノード番号の上位7ビ
ットが第3段キューブにおけるアドレス、上位4ビット
から上位10ビット目までが第2段キューブにおけるア
ドレス、上位7ビット目から最下位ビットまでが第1段
キューブにおけるアドレスとなる。アドレスの割当て
は、例えば次のように行なわれる。
ットが第3段キューブにおけるアドレス、上位4ビット
から上位10ビット目までが第2段キューブにおけるア
ドレス、上位7ビット目から最下位ビットまでが第1段
キューブにおけるアドレスとなる。アドレスの割当て
は、例えば次のように行なわれる。
【0065】第1段のキューブのノードに7ビット(上
位7ビット目から最下位ビットまで)のアドレスが割り
当てられるが、この7ビットの上位4ビットは情報ビッ
トであり、下位3ビットは誤り訂正用ビットである。非
誤り符号の7ビットがゲートノードに割り当てられる。
第2段の各基本キューブのノード(第1段ゲートノー
ド)に上位4ビットから上位10ビット目までの7ビッ
トがアドレスとして割り当てられるが、第1段の各基本
キューブのノードへのアドレス割付けで既に割り当てら
れている上位7ビット目から上位10ビットまでの3ビ
ットをそのままにして残りの4ビット(上位4ビットか
ら上位6ビット目まで)を割当て、アドレスとする。第
3段のキューブのノード(第2段ゲートノード)へのア
ドレスの割当ては、上記第2段でのアドレスの割当てと
同様にして行なわれる。
位7ビット目から最下位ビットまで)のアドレスが割り
当てられるが、この7ビットの上位4ビットは情報ビッ
トであり、下位3ビットは誤り訂正用ビットである。非
誤り符号の7ビットがゲートノードに割り当てられる。
第2段の各基本キューブのノード(第1段ゲートノー
ド)に上位4ビットから上位10ビット目までの7ビッ
トがアドレスとして割り当てられるが、第1段の各基本
キューブのノードへのアドレス割付けで既に割り当てら
れている上位7ビット目から上位10ビットまでの3ビ
ットをそのままにして残りの4ビット(上位4ビットか
ら上位6ビット目まで)を割当て、アドレスとする。第
3段のキューブのノード(第2段ゲートノード)へのア
ドレスの割当ては、上記第2段でのアドレスの割当てと
同様にして行なわれる。
【0066】このようにして決められた13ビットがノ
ード番号となる。
ード番号となる。
【0067】以下ではこのようにして付けたノード番号
を参照しながら転送の手順について説明する。
を参照しながら転送の手順について説明する。
【0068】図16において、リーフノード55(ノー
ド番号0000000001111)からリーフノード
60(ノード番号1111111110000)データ
を転送する際の経路を示している。リーフノード55は
第1段キューブ群61の中の第0番目のキューブに属
し、リーフノード60は第1段キューブ群61の第63
番目のキューブに属する。従ってこれらのノード間の通
信を行なう場合にはより上位のキューブ間のネットワー
クを使う必要がある。
ド番号0000000001111)からリーフノード
60(ノード番号1111111110000)データ
を転送する際の経路を示している。リーフノード55は
第1段キューブ群61の中の第0番目のキューブに属
し、リーフノード60は第1段キューブ群61の第63
番目のキューブに属する。従ってこれらのノード間の通
信を行なう場合にはより上位のキューブ間のネットワー
クを使う必要がある。
【0069】そこで、リーフノード55の最も近いゲー
トノードに対してまずデータを転送しなければならな
い。基本キューブのゲートノードは互いの距離が3であ
るような1誤り訂正符号を用いて選択しているので各リ
ーフノードからは必ず距離1のところにゲートノードが
存在する。各段ごとのハイパキューブにおける任意のノ
ードに対するゲートノードは、そのノードの該キューブ
における二進アドレスを符号とみなし、そのアドレスを
符号理論で確立されている誤り訂正方法を用いて訂正す
ることにより、容易に求めることができる。
トノードに対してまずデータを転送しなければならな
い。基本キューブのゲートノードは互いの距離が3であ
るような1誤り訂正符号を用いて選択しているので各リ
ーフノードからは必ず距離1のところにゲートノードが
存在する。各段ごとのハイパキューブにおける任意のノ
ードに対するゲートノードは、そのノードの該キューブ
における二進アドレスを符号とみなし、そのアドレスを
符号理論で確立されている誤り訂正方法を用いて訂正す
ることにより、容易に求めることができる。
【0070】リーフノード55の第1段のキューブにお
けるアドレスは(0001111)であるのでこれを誤
り訂正すると、(0001011)となり、ゲートノー
ド56(ノード番号0000000001011)に到
達する。同様の方法で、転送先のリーフノード60に対
応するゲートノードは、ゲートノード59(ノード番号
1111111110100)を求めることができる。
けるアドレスは(0001111)であるのでこれを誤
り訂正すると、(0001011)となり、ゲートノー
ド56(ノード番号0000000001011)に到
達する。同様の方法で、転送先のリーフノード60に対
応するゲートノードは、ゲートノード59(ノード番号
1111111110100)を求めることができる。
【0071】このようにして求めたゲートノードが同一
キューブ内にあればそれらをその階層のハイパキューブ
を用いて転送することができるが、この例ではゲートノ
ード56が第2段キューブ群62の異なるキューブ65
(キューブ番号0)および、66(キューブ番号7)に
存在する。従って、これらのノード間の転送を行なう際
にはより上位のキューブを用いる必要があることが分か
る。
キューブ内にあればそれらをその階層のハイパキューブ
を用いて転送することができるが、この例ではゲートノ
ード56が第2段キューブ群62の異なるキューブ65
(キューブ番号0)および、66(キューブ番号7)に
存在する。従って、これらのノード間の転送を行なう際
にはより上位のキューブを用いる必要があることが分か
る。
【0072】一方、ゲートノード56および59は第1
段のゲートノードであり、第2段のキューブ内では共に
リーフノードである。従って、第3段のキューブに接続
するためにはこれらのノードの第2段のキューブにおけ
るゲートノードすなわち第2段ゲートノードにデータを
転送する必要がある。
段のゲートノードであり、第2段のキューブ内では共に
リーフノードである。従って、第3段のキューブに接続
するためにはこれらのノードの第2段のキューブにおけ
るゲートノードすなわち第2段ゲートノードにデータを
転送する必要がある。
【0073】ゲートノード56の第2段キューブ65内
におけるアドレスは(0000001)であるので、こ
のアドレスの誤り訂正をすると(0000000)とな
り、データを転送する第2段ゲートノード57を求める
ことができる。従って、第1段ゲートノード56から、
第2段ゲートノード57(ノード番号00000000
00000)へデータを転送する。同様に第2段キュー
ブ群におけるデータ転送先ノードであるノード59に対
応するゲートノードは第2段ゲートノード58(ノード
番号1111111111111)が容易に求められ
る。
におけるアドレスは(0000001)であるので、こ
のアドレスの誤り訂正をすると(0000000)とな
り、データを転送する第2段ゲートノード57を求める
ことができる。従って、第1段ゲートノード56から、
第2段ゲートノード57(ノード番号00000000
00000)へデータを転送する。同様に第2段キュー
ブ群におけるデータ転送先ノードであるノード59に対
応するゲートノードは第2段ゲートノード58(ノード
番号1111111111111)が容易に求められ
る。
【0074】これらの第2段ゲートノードは第3段のキ
ューブ63内のノードであり、各々キューブ内アドレス
は0000000および1111111であるので、第
3段のキューブ内で7回の転送を行なえば通信すること
ができる。
ューブ63内のノードであり、各々キューブ内アドレス
は0000000および1111111であるので、第
3段のキューブ内で7回の転送を行なえば通信すること
ができる。
【0075】以上のことからリーフノード55からリー
フノード60へのデータ転送は、ゲートノード56、5
7を経て第3段キューブに転送され、その中で7回の転
送を行なうことによりゲートノード58に転送される。
その後、ゲートノード59を経てリーフノード60に転
送される。これらの転送の総ステップ数はノード間の転
送を1とした場合、11となる。この転送距離が3段
(7,4)符号キューブにおける最大転送距離である。
同一ノード数を持つハイパキューブの場合、最大転送距
離は13であるので、明らかに多段符号キューブの方が
転送距離が短い。
フノード60へのデータ転送は、ゲートノード56、5
7を経て第3段キューブに転送され、その中で7回の転
送を行なうことによりゲートノード58に転送される。
その後、ゲートノード59を経てリーフノード60に転
送される。これらの転送の総ステップ数はノード間の転
送を1とした場合、11となる。この転送距離が3段
(7,4)符号キューブにおける最大転送距離である。
同一ノード数を持つハイパキューブの場合、最大転送距
離は13であるので、明らかに多段符号キューブの方が
転送距離が短い。
【0076】以下では、従来のネットワークと多段符号
キューブのハードウェア量および転送距離に関する評価
結果について述べる。評価対象は、ハイパキューブ、8
進n次元ハイパクロスバ(HXB)、2次元トーラス
網、二分木網、および、3次元ハイパキューブを基本キ
ューブとした多段多数決符号キューブ(以下、(3,
1)CCNと呼ぶ)、ならびに、7次元ハイパキューブ
を基本キューブとした多段(7,4)符号キューブ(以
下、(7,4)CCNと呼ぶ)とした。多段符号キュー
ブ以外の、上記のネットワークの構造を以下に示す。
キューブのハードウェア量および転送距離に関する評価
結果について述べる。評価対象は、ハイパキューブ、8
進n次元ハイパクロスバ(HXB)、2次元トーラス
網、二分木網、および、3次元ハイパキューブを基本キ
ューブとした多段多数決符号キューブ(以下、(3,
1)CCNと呼ぶ)、ならびに、7次元ハイパキューブ
を基本キューブとした多段(7,4)符号キューブ(以
下、(7,4)CCNと呼ぶ)とした。多段符号キュー
ブ以外の、上記のネットワークの構造を以下に示す。
【0077】(1)ハイパキューブ 図17(a)に5次元ハイパキューブの構成を示す。n
次元ハイパキューブの各ノードはn本のリンクを持ち、
ハミング距離が1となるn個のノードと接続される。ハ
ミング距離とは、ノード番号を2進数で表現したときに
異なるビット数である。例えば、ノード番号が20番
(=00010100)と54番(=0011011
0)のハミング距離は2となる。
次元ハイパキューブの各ノードはn本のリンクを持ち、
ハミング距離が1となるn個のノードと接続される。ハ
ミング距離とは、ノード番号を2進数で表現したときに
異なるビット数である。例えば、ノード番号が20番
(=00010100)と54番(=0011011
0)のハミング距離は2となる。
【0078】(2)ハイパクロスバ 図17(b)に8×8の2次元ハイパクロスバの構成を
示す。各ノードは2本のリンクを有し、横方向の8×8
クロスバと縦方向の8×8クロスバスイッチにそれぞれ
接続されている。一般に、p1×p2×…×pd構成のd
次元ハイパクロスバは、各次元i方向にpi個のノード
を完全接合網(クロスバ)で結合したネットークであ
り、各ノードはd本のリンクを持つ。
示す。各ノードは2本のリンクを有し、横方向の8×8
クロスバと縦方向の8×8クロスバスイッチにそれぞれ
接続されている。一般に、p1×p2×…×pd構成のd
次元ハイパクロスバは、各次元i方向にpi個のノード
を完全接合網(クロスバ)で結合したネットークであ
り、各ノードはd本のリンクを持つ。
【0079】(3)トーラス網 図17(c)に8×8構成の2次元トーラス網の構成を
示す。このネットワークは、横方向に8つのノードを、
縦方向に8つのノードをそれぞれリング状に結合したネ
ットワークである。p1×p2×…×pd構成のd次元ト
ーラス網は、各次元i方向にpi個のノードをリング状
に結合したネットワークである。各ノードは2d本のリ
ンクで接続される。
示す。このネットワークは、横方向に8つのノードを、
縦方向に8つのノードをそれぞれリング状に結合したネ
ットワークである。p1×p2×…×pd構成のd次元ト
ーラス網は、各次元i方向にpi個のノードをリング状
に結合したネットワークである。各ノードは2d本のリ
ンクで接続される。
【0080】(4)二分木網 図17(d)に二分木網の構成を示す。2分木網は2の
n乗個のノードと2のn乗−1個のネットワークルータ
を持つ。各ノードは1本、ネットワークルータは3本の
リンクをそれぞれ持つ。
n乗個のノードと2のn乗−1個のネットワークルータ
を持つ。各ノードは1本、ネットワークルータは3本の
リンクをそれぞれ持つ。
【0081】ここではネットワークのノード当たり平均
リンク数、モジュール間平均リンク数に関して評価した
結果を述べる。
リンク数、モジュール間平均リンク数に関して評価した
結果を述べる。
【0082】(1)1ノード当たりの平均リンク数 各ノードを接続するリンクの数は実装時の各LSIのピ
ン数及び配線量を表す。ネットワークを構成するLSI
ではピン数ネックになることが多い。従って、ネットワ
ークのハードウェアコストを、プロセッサ1台当たりの
平均リンク数で比較する。1本のリンクは2つのノード
で共有される。したがって、平均リンク数は、ネットワ
ークの総リンク数の2倍をノード数で割った値となる。
図18(a)は種々のネットワークの平均リンク数を示
す表であり、Fig.18B図18(b)は、横軸がネ
ットワークのノード数の対数を示し、縦軸がプロセッサ
当たりの平均リンク数を示すグラフである。この結果よ
り、トーラス網、二分木網、(3,1)CCNはノード
数にかかわらず概ね4本/ノード、(7,4)CCNは
約8本/ノードのリンクを有する。これに対して、ハイ
パキューブとハイパクロスバはノード数の対数に比例し
てリンク数が増加する。
ン数及び配線量を表す。ネットワークを構成するLSI
ではピン数ネックになることが多い。従って、ネットワ
ークのハードウェアコストを、プロセッサ1台当たりの
平均リンク数で比較する。1本のリンクは2つのノード
で共有される。したがって、平均リンク数は、ネットワ
ークの総リンク数の2倍をノード数で割った値となる。
図18(a)は種々のネットワークの平均リンク数を示
す表であり、Fig.18B図18(b)は、横軸がネ
ットワークのノード数の対数を示し、縦軸がプロセッサ
当たりの平均リンク数を示すグラフである。この結果よ
り、トーラス網、二分木網、(3,1)CCNはノード
数にかかわらず概ね4本/ノード、(7,4)CCNは
約8本/ノードのリンクを有する。これに対して、ハイ
パキューブとハイパクロスバはノード数の対数に比例し
てリンク数が増加する。
【0083】以上の結果から、ハードウェアの実装を考
慮すると、多数台のノードを接続する場合には、本発明
による階層型ネットワークや、2分木網や、トーラス網
が望ましいことが分かる。
慮すると、多数台のノードを接続する場合には、本発明
による階層型ネットワークや、2分木網や、トーラス網
が望ましいことが分かる。
【0084】(2)モジュール間リンク数 複数のプロセッサを1チップあるいは1モジュールに集
積した並列計算機が考える場合、1つのチップあるいは
モジュールから出力できるピン数が問題となる。従っ
て、大規模並列計算機では、モジュール間のリンク数を
削減することが必須となる。例えば1つのモジュールに
8つのプロセッサを集積した場合の各モジュール間のリ
ンク数をそれぞれのネットワークについて評価した。図
19(a)はその計算結果を示す表であり、図19
(b)は横軸がネットワークのノード数の対数を示し、
縦軸がモジュール間のリンク数を示すグラフである。こ
の結果より、ハイパキューブとハイパクロスバのモジュ
ール間リンク数が多く、本発明による階層型ネットワー
クや、2分木網、トーラス網は比較的少ないリンク数で
実現できることが分かる。
積した並列計算機が考える場合、1つのチップあるいは
モジュールから出力できるピン数が問題となる。従っ
て、大規模並列計算機では、モジュール間のリンク数を
削減することが必須となる。例えば1つのモジュールに
8つのプロセッサを集積した場合の各モジュール間のリ
ンク数をそれぞれのネットワークについて評価した。図
19(a)はその計算結果を示す表であり、図19
(b)は横軸がネットワークのノード数の対数を示し、
縦軸がモジュール間のリンク数を示すグラフである。こ
の結果より、ハイパキューブとハイパクロスバのモジュ
ール間リンク数が多く、本発明による階層型ネットワー
クや、2分木網、トーラス網は比較的少ないリンク数で
実現できることが分かる。
【0085】(3)平均転送距離 全ノード対全ノードのランダム通信を行なう場合にはメ
ッセージの衝突が頻繁に発生する。この場合、転送時間
はメッセージの衝突回数に大きく影響される。メッセー
ジの衝突回数は転送距離が大きくなるほど多くなる。そ
こで、各種ネットワークの平均転送距離を比較すること
によりネットワークのデータ転送性能を評価することが
できる。すなわち、平均転送距離が小さいほどネットワ
ークの転送性能が良いといえる。
ッセージの衝突が頻繁に発生する。この場合、転送時間
はメッセージの衝突回数に大きく影響される。メッセー
ジの衝突回数は転送距離が大きくなるほど多くなる。そ
こで、各種ネットワークの平均転送距離を比較すること
によりネットワークのデータ転送性能を評価することが
できる。すなわち、平均転送距離が小さいほどネットワ
ークの転送性能が良いといえる。
【0086】図20は横軸がネットワークのノード数の
対数、縦軸がネットワークの平均転送距離を示す。図よ
りハイパキューブの転送距離が最小であることが分か
る。ハイパキューブの転送距離を1とした場合、64K
ノード構成では、(7,4)CCNはハイパキューブの
1.1倍、ハイパクロスバは1.2倍、(3,1)CC
Nは1.6倍、二分木網は3.8倍、トーラス網は16
倍の平均転送距離となる。この結果から、ハイパキュー
ブ、(7,4)CCN、ハイパクロスバ、(3,1)C
CNは、ネットワークの転送性能が高いことが分かる。
対数、縦軸がネットワークの平均転送距離を示す。図よ
りハイパキューブの転送距離が最小であることが分か
る。ハイパキューブの転送距離を1とした場合、64K
ノード構成では、(7,4)CCNはハイパキューブの
1.1倍、ハイパクロスバは1.2倍、(3,1)CC
Nは1.6倍、二分木網は3.8倍、トーラス網は16
倍の平均転送距離となる。この結果から、ハイパキュー
ブ、(7,4)CCN、ハイパクロスバ、(3,1)C
CNは、ネットワークの転送性能が高いことが分かる。
【0087】次に、ハードウェアコストを一定にして種
々のネットワークを構成した場合の性能、即ち、ネット
ワークのコストパフォーマンスの比較を行なった。ネッ
トワークのハードウェアコストがネットワークのリンク
のコストに依存すると仮定すると、ハードウェアコスト
を一定にした場合には、ネットワークの総リンク数と各
リンクの転送速度(スループット)は反比例の関係とな
る。
々のネットワークを構成した場合の性能、即ち、ネット
ワークのコストパフォーマンスの比較を行なった。ネッ
トワークのハードウェアコストがネットワークのリンク
のコストに依存すると仮定すると、ハードウェアコスト
を一定にした場合には、ネットワークの総リンク数と各
リンクの転送速度(スループット)は反比例の関係とな
る。
【0088】したがって、各リンクの距離をネットワー
クコストを一定にして正規化すると、正規化された各リ
ンクの転送速度Ltは、
クコストを一定にして正規化すると、正規化された各リ
ンクの転送速度Ltは、
【0089】
【数1】 Lt=1/(平均リンク数) …(1) となる。したがって、正規化された平均転送距離ND
は、
は、
【0090】
【数2】 ND=(平均転送距離)/Lt=(平均転送距離)×(平均リンク数) …(2) となる。
【0091】図21は横軸がプロセッサ台数の対数、縦
軸が正規化された平均距離を示す。本結果から、多段符
号キューブは従来のネットワークと比較して正規化され
た平均転送距離が最も小さいことが分かる。例えば、6
4Kノード構成時の(3,1)CCNの正規化された平
均転送距離を1とすると、(7,4)CCNが3.3、
ハイパクロスバが5.1、二分木網が5.5、ハイパキ
ューブが5.9、トーラス網が23.6となり、本発明
による階層型ネットワークのコストパフォーマンスが他
のネットワークと比較して極めて高いことが分かる。
軸が正規化された平均距離を示す。本結果から、多段符
号キューブは従来のネットワークと比較して正規化され
た平均転送距離が最も小さいことが分かる。例えば、6
4Kノード構成時の(3,1)CCNの正規化された平
均転送距離を1とすると、(7,4)CCNが3.3、
ハイパクロスバが5.1、二分木網が5.5、ハイパキ
ューブが5.9、トーラス網が23.6となり、本発明
による階層型ネットワークのコストパフォーマンスが他
のネットワークと比較して極めて高いことが分かる。
【0092】以上の評価より、本発明による階層型ネッ
トワークを用いると、ハードウェアコストが低く、か
つ、転送性能が高いネットワークが実現可能となる。
トワークを用いると、ハードウェアコストが低く、か
つ、転送性能が高いネットワークが実現可能となる。
【0093】
【発明の効果】本発明は以上の説明から明らかなよう
に、全く新しい階層型ネットワークトポロジを提供し、
かつそのトポロジは内部にハイパキューブを有し、さら
に、プロセッサ台数が数万から数百万、あるいはそれ以
上の、大規模マルチプロセッサシステムにおいて、ノー
ド間接続線数、拡張性、モジュール間接続線数、データ
転送距離のいずれにおいても、ハイパキューブよりも優
れた性質を有する。
に、全く新しい階層型ネットワークトポロジを提供し、
かつそのトポロジは内部にハイパキューブを有し、さら
に、プロセッサ台数が数万から数百万、あるいはそれ以
上の、大規模マルチプロセッサシステムにおいて、ノー
ド間接続線数、拡張性、モジュール間接続線数、データ
転送距離のいずれにおいても、ハイパキューブよりも優
れた性質を有する。
【図1】本発明の多段符号キューブの一実施例を示す図
である。
である。
【図2】本発明の多段符号キューブの他の一実施例を示
す図である。
す図である。
【図3】多段符号キューブの各段の関係を概念的に示し
た図である。
た図である。
【図4】ハイパキューブを説明する図である。
【図5】ハイパキューブを説明する図である。
【図6】本発明の実施例である7次元ハイパキューブを
2段に重ねた階層型ネットワークを示す図である。
2段に重ねた階層型ネットワークを示す図である。
【図7】多段(7,4)符号キューブのノード番号の付
け方を説明する図である。
け方を説明する図である。
【図8】多段(7,4)符号キューブの基本キューブ内
のゲートノードの接続の状態を示した図である。
のゲートノードの接続の状態を示した図である。
【図9】図3に示した多段符号キューブを適用したマル
チプロセッサシステムである多段符号キューブマルチプ
ロセッサシステムの構成を示したブロック図である。
チプロセッサシステムである多段符号キューブマルチプ
ロセッサシステムの構成を示したブロック図である。
【図10】多段符号キューブを用いたマルチプロセッサ
システムにおけるリーフノード及びゲートノードの一実
施例の図である。
システムにおけるリーフノード及びゲートノードの一実
施例の図である。
【図11】多段符号キューブを用いたマルチプロセッサ
システムにおけるゲートノードの一実施例の構成図であ
る。
システムにおけるゲートノードの一実施例の構成図であ
る。
【図12】図9の各ノードに置かれたプロセッサユニッ
トのプロセッサ番号、キューブ番号、キューブ内番号、
次段キューブ内番号を表として示した図である。
トのプロセッサ番号、キューブ番号、キューブ内番号、
次段キューブ内番号を表として示した図である。
【図13】多段符号キューブを用いたマルチプロセッサ
システムにおけるハーフノード及びゲートノードの他の
一実施例の構成図である。
システムにおけるハーフノード及びゲートノードの他の
一実施例の構成図である。
【図14】多段符号キューブを用いたマルチプロセッサ
システムにおけるハーフノード及びゲートノードの他の
一実施例の構成図である。
システムにおけるハーフノード及びゲートノードの他の
一実施例の構成図である。
【図15】多段符号キューブのネットワークにおけるデ
ータ転送手順を説明する図である。
ータ転送手順を説明する図である。
【図16】多段符号キューブのネットワークにおけるノ
ード間のデータ転送を説明する図である。
ード間のデータ転送を説明する図である。
【図17】従来のネットワークの構成を示す図である。
【図18】本発明による多段符号キューブと、従来のネ
ットワークとの、1ノードあたりのリンク数の比較を示
す表及びグラフである。
ットワークとの、1ノードあたりのリンク数の比較を示
す表及びグラフである。
【図19】本発明による多段符号キューブと、従来のネ
ットワークとの、モジュール間接続リンク数の比較を示
す表及びグラフである。
ットワークとの、モジュール間接続リンク数の比較を示
す表及びグラフである。
【図20】本発明による多段符号キューブと、従来のネ
ットワークとの、平均転送距離の比較を示すグラフであ
る。
ットワークとの、平均転送距離の比較を示すグラフであ
る。
【図21】本発明による多段符号キューブと、従来のネ
ットワークとの、正規化された平均転送距離の比較を示
すグラフである。
ットワークとの、正規化された平均転送距離の比較を示
すグラフである。
Claims (13)
- 【請求項1】複数のノードを有する複数の下層のネット
ワークとこれらを階層的に接続して構成する上層のネッ
トワークからなる階層型ネットワークであり、 前記複数のノードを有する複数の下層のネットワークか
らそれぞれ複数のゲートノードを選択してより上層のネ
ットワークのノードとし、 該ゲートノードの内、同一の下層ネットワークに属する
前記選択されたゲートノード間は互いのゲートノード間
の通信距離が下層のネットワークにおける通信距離より
短くなるように相互に接続し、 同一の下層ネットワークに属さない前記選択されたゲー
トノード間は、互いの通信が行なえるように相互に接続
することを特徴とする階層型ネットワーク。 - 【請求項2】請求項1記載の階層型ネットワークにおい
て、 第i層を構成するネットワークをpi進ni次元ネットワ
ークで構成することを特徴とする階層型ネットワーク。 - 【請求項3】複数のノードを有する複数の下層のp進n
次元ネットワークとこれらを階層的に接続して構成する
上層のp進m次元ネットワークからなる階層型ネットワ
ークであり、 前記複数のノードを有する複数の下層のp進n次元ネッ
トワークのそれぞれのノードに、該下層ネットワーク内
で一意に決定できるp進n桁のノード番号を与え、該ノ
ード番号を符号とみなしたとき符号語に相当するノード
番号に対応する複数のゲートノードを選択し、 複数の下層ネットワークから選択された複数のゲートノ
ードをより上層のp進m次元ネットワークのノードとし
て相互に接続することを特徴とする階層型ネットワー
ク。 - 【請求項4】請求項1または請求項3記載の階層型ネッ
トワークにおいて、 第i層を構成するネットワークをni次元ハイパキュー
ブで構成することを特徴とする階層型ネットワーク。 - 【請求項5】請求項3または請求項4記載の階層型ネッ
トワークにおいて上層のネットワークに属するゲートノ
ードを選択する際、 各々の下層のネットワークに属するノードの中から、t
重誤り訂正符号の符号語に当たるノード番号に対応する
複数のゲートノードを選択して、 複数の下層ネットワークから選択された複数のゲートノ
ードをより上層のネットワークのノードとして相互に接
続することを特徴とする階層型ネットワーク。 - 【請求項6】請求項1乃至請求項5のいずれかに記載の
階層型ネットワークにおいて、 ネットワークの各ノードにプロセッサモジュールを配置
し、ネットワークの接続線を通信線として構成したこと
を特徴とする階層型ネットワークマルチプロセッサシス
テム。 - 【請求項7】請求項6記載の階層型ネットワークマルチ
プロセッサシステムにおいて、 前記下層のネットワークからなるマルチプロセッサシス
テムを、1チップあるいは1モジュールで構成したこと
を特徴とする階層型ネットワークマルチプロセッサシス
テム。 - 【請求項8】請求項6記載の階層型ネットワークマルチ
プロセッサシステムにおいて、 ゲートノード以外のノードを構成するプロセッサモジュ
ールは、プライベートメモリと、前記プライベートメモ
リに接続されたプロセッサと、前記プロセッサと前記下
層ネットワークに接続されたネットワークルータとを含
み、 各ゲートノードを構成するプロセッサモジュールは、バ
スと、前記バスに接続された共有メモリと、前記バスに
接続された二つ以上のプロセッサと、前記複数のプロセ
ッサの各々と各層のネットワークに接続された複数のネ
ットワークルータとを含むことを特徴とする階層型ネッ
トワークマルチプロセッサシステム。 - 【請求項9】請求項6記載の階層型ネットワークマルチ
プロセッサシステムにおいて、 ゲートノード以外のノードを構成するプロセッサモジュ
ールは、第一のプライベートメモリと、前記第一のプラ
イベートメモリに接続されたプロセッサと、前記プロセ
ッサと前記下層ネットワークに接続されたネットワーク
ルータとを含み、 各ゲートノードを構成するプロセッサモジュールは、第
二のプライベートメモリと、前記第二のプライベートメ
モリに接続されたプロセッサと、前記プロセッサに接続
されたバスと、前記バスと各層のネットワークに接続さ
れた少なくとも二つ以上のネットワークルータとを含む
ことを特徴とする階層型ネットワークマルチプロセッサ
システム。 - 【請求項10】請求項6記載の階層型ネットワークマル
チプロセッサシステムにおいて、 ゲートノード以外のノードを構成するプロセッサモジュ
ールは、 プロセッサと、 最下層ネットワークに接続される入力ポートと出力ポー
トと、 拡張ポートと、 前記プロセッサ、前記入力ポート、前記出力ポート、前
記拡張ポートに接続され前記入力ポートからの入力と前
記プロセッサからの出力を前記プロセッサへの入力と前
記出力ポートへ選択的に接続するためのネットワークル
ータと、 前記ネットワークルータからの出力と前記拡張ポートか
らの入力とのうちの一つをプロセッサに供給するための
セレクタとを含み、 各ゲートノードを構成するプロセッサモジュールは、 前記ゲートノート以外のノードを構成するプロセッサモ
ジュールと、 前記拡張ポート、前記上層ネットワーク、前記下層ネッ
トワークに接続され、 前記上層ネットワークからの入力、前記下層ネットワー
クからの入力、前記拡張ポートからのプロセッサモジュ
ールの出力を、前記プロセッサモジュールの拡張ポート
への入力、前記上層ネットワークへの出力、前記下層ネ
ットワークへの出力へ選択的に接続するための拡張ネッ
トワークルータと、 前記プロセッサモジュールからの入力と、前記拡張ネッ
トワークルータからの出力を前記上層ネットワークの出
力と前記下層ネットワークの出力へ選択的に供給するた
めの選択手段を含むことを特徴とする階層型ネットワー
クマルチプロセッサシステム。 - 【請求項11】請求項6記載の階層型ネットワークマル
チプロセッサシステムにおいて、 ノードに配置されたプロセッサからデータを転送すると
き、同一下層ネットワークに属するノードに対しては下
層ネットワーク内の最短経路によりデータを転送し、他
のネットワークに属するノードに対してはより上層のネ
ットワークに接続されるノードにデータを転送し、より
上位のネットワークを介してデータを転送するよう構成
したことを特徴とする階層型ネットワークマルチプロセ
ッサシステム。 - 【請求項12】請求項11記載の階層型ネットワークマ
ルチプロセッサシステムにおいて、 下層のネットワークと上層のネットワークを接続するノ
ード以外のノードaから、下層のネットワークと上層の
ネットワークを接続するノードbへ至る経路は、ノード
aに与えられた下層ネットワークにおけるノード番号を
符号と見なしてこれをt重誤り訂正符号における誤り訂
正手段により訂正して、該符号の符号語を求め、得られ
た符号語が割り当てられたノードbに至る経路とする手
段を備えたことを特徴とする階層型ネットワークマルチ
プロセッサシステム。 - 【請求項13】複数のプロセッサモジュールをネットワ
ークで結合したマルチプロセッサシステムにおいて、 前記プロセッサモジュールは、 プロセッサと、 ネットワークに接続される入力ポートと出力ポートと、 拡張ポートと、 前記プロセッサ、前記入力ポート、前記出力ポート、前
記拡張ポートに接続され前記入力ポートからの入力と前
記プロセッサからの出力を前記プロセッサへの入力と前
記出力ポートへ選択的に接続するためのネットワークル
ータと、 前記ネットワークルータからの出力と前記拡張ポートか
らの入力とのうちの一つをプロセッサに供給するための
セレクタとを含み、 前記プロセッサモジュールは、少なくとも一つのプロセ
ッサと、複数のネットワーク入出力ポートと、ネットワ
ークルータと、さらに、ネットワークの入出力ポートを
拡張するための拡張ポート並びにセレクタを備えている
ことを特徴とするマルチプロセッサシステム。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4261112A JPH05204876A (ja) | 1991-10-01 | 1992-09-30 | 階層型ネットワークおよび階層型ネットワークを用いたマルチプロセッサシステム |
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3-280748 | 1991-10-01 | ||
| JP28074891 | 1991-10-01 | ||
| JP4261112A JPH05204876A (ja) | 1991-10-01 | 1992-09-30 | 階層型ネットワークおよび階層型ネットワークを用いたマルチプロセッサシステム |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH05204876A true JPH05204876A (ja) | 1993-08-13 |
Family
ID=26544908
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP4261112A Pending JPH05204876A (ja) | 1991-10-01 | 1992-09-30 | 階層型ネットワークおよび階層型ネットワークを用いたマルチプロセッサシステム |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH05204876A (ja) |
Cited By (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2002530737A (ja) * | 1998-11-16 | 2002-09-17 | テレフオンアクチーボラゲツト エル エム エリクソン(パブル) | イベントベースシステムの同時処理 |
| WO2007099950A1 (ja) * | 2006-03-03 | 2007-09-07 | Nec Corporation | 高速pe間データ再配置機能を有するプロセッサアレイシステム |
| US8433816B2 (en) | 1999-09-29 | 2013-04-30 | Silicon Graphics International Corp. | Network topology for a scalable multiprocessor system |
| WO2013168427A1 (ja) * | 2012-05-11 | 2013-11-14 | パナソニック株式会社 | バス制御装置、バス制御システム、およびネットワークインタフェース |
| JPWO2012056547A1 (ja) * | 2010-10-28 | 2014-03-20 | 富士通株式会社 | 情報処理システム、ルーティング方法及びプログラム |
| KR101419064B1 (ko) * | 2007-11-13 | 2014-07-11 | 아바야 인코포레이티드 | 원격통신 네트워크에서 단부간 측정치를 사용하여 네트워크계층 토폴로지를 추정하는 방법 |
| US9916236B2 (en) | 2014-05-15 | 2018-03-13 | Fujitsu Limited | Information processing device and path determination method |
-
1992
- 1992-09-30 JP JP4261112A patent/JPH05204876A/ja active Pending
Cited By (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2002530737A (ja) * | 1998-11-16 | 2002-09-17 | テレフオンアクチーボラゲツト エル エム エリクソン(パブル) | イベントベースシステムの同時処理 |
| US8433816B2 (en) | 1999-09-29 | 2013-04-30 | Silicon Graphics International Corp. | Network topology for a scalable multiprocessor system |
| US9514092B2 (en) | 1999-09-29 | 2016-12-06 | Silicon Graphics International Corp. | Network topology for a scalable multiprocessor system |
| WO2007099950A1 (ja) * | 2006-03-03 | 2007-09-07 | Nec Corporation | 高速pe間データ再配置機能を有するプロセッサアレイシステム |
| US7783861B2 (en) | 2006-03-03 | 2010-08-24 | Nec Corporation | Data reallocation among PEs connected in both directions to respective PEs in adjacent blocks by selecting from inter-block and intra block transfers |
| KR101031680B1 (ko) * | 2006-03-03 | 2011-04-29 | 닛본 덴끼 가부시끼가이샤 | 고속 pe 간 데이터 재배치 기능을 갖는 프로세서 어레이 시스템 |
| KR101419064B1 (ko) * | 2007-11-13 | 2014-07-11 | 아바야 인코포레이티드 | 원격통신 네트워크에서 단부간 측정치를 사용하여 네트워크계층 토폴로지를 추정하는 방법 |
| JPWO2012056547A1 (ja) * | 2010-10-28 | 2014-03-20 | 富士通株式会社 | 情報処理システム、ルーティング方法及びプログラム |
| WO2013168427A1 (ja) * | 2012-05-11 | 2013-11-14 | パナソニック株式会社 | バス制御装置、バス制御システム、およびネットワークインタフェース |
| JPWO2013168427A1 (ja) * | 2012-05-11 | 2016-01-07 | パナソニックIpマネジメント株式会社 | バス制御システム、およびネットワークインタフェース |
| US9678905B2 (en) | 2012-05-11 | 2017-06-13 | Panasonic Intellectual Property Management Co., Ltd. | Bus controller, bus control system and network interface |
| US9916236B2 (en) | 2014-05-15 | 2018-03-13 | Fujitsu Limited | Information processing device and path determination method |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5471580A (en) | Hierarchical network having lower and upper layer networks where gate nodes are selectively chosen in the lower and upper layer networks to form a recursive layer | |
| Parhami | Introduction to parallel processing: algorithms and architectures | |
| US9514092B2 (en) | Network topology for a scalable multiprocessor system | |
| JP2647227B2 (ja) | 再構成可能な信号プロセッサ | |
| US5313645A (en) | Method for interconnecting and system of interconnected processing elements by controlling network density | |
| JPH077382B2 (ja) | 並列処理のための相互接続網、コンピュータ・システム及び方法 | |
| JP3090593B2 (ja) | スケーラブル並行処理ネットワーク及びノードの相互接続方法 | |
| JP3789302B2 (ja) | ディジタル処理装置 | |
| Stojmenović | Multiplicative circulant networks topological properties and communication algorithms | |
| Finkel | The lens interconnection strategy | |
| JPH05204876A (ja) | 階層型ネットワークおよび階層型ネットワークを用いたマルチプロセッサシステム | |
| US5898827A (en) | Routing methods for a multinode SCI computer system | |
| Yeh et al. | Swapped networks: unifying the architectures and algorithms of a wide class of hierarchical parallel processors | |
| Seo et al. | The composite banyan network | |
| Yeh et al. | VLSI layout and packaging of butterfly networks | |
| Ansari et al. | A 3-disjoint path design of non-blocking shuffle exchange network by extra port alignment | |
| Tsuda | Fault-tolerant processor arrays using additional bypass linking allocated by graph-node coloring | |
| Dutt | Designing and reconfiguring fault-tolerant multiprocessor systems | |
| Abonamah et al. | Conflict resolution and fault-free path selection in multicast-connected cube-based networks | |
| Wilkinson | Overlapping connectivity interconnection networks for shared memory multiprocessor systems | |
| Kartashev et al. | Efficient internode communications in reconfigurable binary trees | |
| Feng et al. | Criso: An incremental scalable and cost-effective data center interconnection by using 2-port servers and low-end switches | |
| Jahanshahi et al. | Interconnection Networks | |
| Jindal | Simulation Analysis of Permutation Passibility behavior of Multi-stage Interconnection Networks A Thesis Report Submitted in the partial fulfillment of the requirements for the award of the degree of ME in Software Engineering | |
| Ganesan | The hyper-deBruijn topology: a new scalable versatile fault-tolerant architecture for multicomputers |