JP2000216787A - 並列計算機、多段結合網、交換スイッチ - Google Patents

並列計算機、多段結合網、交換スイッチ

Info

Publication number
JP2000216787A
JP2000216787A JP1258199A JP1258199A JP2000216787A JP 2000216787 A JP2000216787 A JP 2000216787A JP 1258199 A JP1258199 A JP 1258199A JP 1258199 A JP1258199 A JP 1258199A JP 2000216787 A JP2000216787 A JP 2000216787A
Authority
JP
Japan
Prior art keywords
packet
nodes
switch
node
stage
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP1258199A
Other languages
English (en)
Other versions
JP3408444B2 (ja
Inventor
Masaaki Nakamura
真章 中村
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP01258199A priority Critical patent/JP3408444B2/ja
Publication of JP2000216787A publication Critical patent/JP2000216787A/ja
Application granted granted Critical
Publication of JP3408444B2 publication Critical patent/JP3408444B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

(57)【要約】 【課題】 ヘッダのサイズを大きくしなくても、パケッ
トを任意のノードへマルチキャストできるようにする。 【解決手段】 交換スイッチを多段接続した多段結合網
で複数のノードを相互接続し、ノード相互間でのパケッ
トのやり取りする。ノードのアドレスをA
で表現すると、A
の6ビットに対応する64ビットのビット列フィ
ールドBFと、Aの2ビットに対応する4ビット
のパターン列フィールドPFでヘッダが構成されること
となる。ビット列フィールドBFの各ビットは、パケッ
トを送出すべきノードのアドレスのうちA
をデコードしたものの論理和となる。パター
ン列フィールドPFは、Aをデコードした結果と
していずれか1ビットを1とするが。ビット列フィール
ドBFが等しいものが複数ある場合は、パターン列フィ
ールドPFは、その論理和が取られたものとなる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、並列計算機、多段
結合網、交換スイッチに関し、特にパケットを任意のノ
ードへマルチキャストするための技術に関するものであ
る。
【0002】
【従来の技術】通信網や並列計算機の相互接続網におい
て、ノード間でパケットをやり取りするために、特にそ
のノード数が多い場合には、多段結合網が一般に用いら
れている。図15に従来より用いられていた多段結合網
の構成例(16個のノードの接続の場合)を示す。
【0003】図示するように、この例での多段結合網
は、入力ポート12及び出力ポート13の数がそれぞれ
4つずつである交換スイッチ11を2段階に結合して構
成される。例えば、ノード0からノード8へ送信される
パケットは、ノード0から送信されると、まず、図の左
上の交換スイッチ11に入力され、左上の交換スイッチ
11でルーティングされて図の右上の交換スイッチ11
に入力される。そして、さらに右上の交換スイッチ11
でルーティングされて出力されることによって、ノード
8へ送られることとなる。
【0004】このような多段結合網において、1つのノ
ードから複数のノードにパケットを送信する場合にマル
チキャストを用いれば、パケットの送信のために要する
時間を短縮することができる。マルチキャストによって
パケットを複数のノードに同時に送信するためには、パ
ケットの特定フィールドにそのマルチキャスト先の宛先
を書き込めばよいこととなる。
【0005】ところで、ノード間でやり取りに用いられ
るパケット21は、図16に示すように、一般に、先頭
部分のヘッダ22とそれに続く実際のデータ(ボディ2
3)とから構成される。この場合、ヘッダ22は、宛
先、マルチキャストパケットであるか否か等、交換スイ
ッチ11を通過する際に必要な要素を含んでいる。よっ
て、マルチキャストを行なうパケットの場合、このヘッ
ダ22の部分の特定フィールドに、マルチキャストであ
るというフラグを立てるとともに、マルチキャストすべ
き宛先が書き込まれる。
【0006】これにより、パケットがスイッチに到着す
ると、このフィールドを読み込み、マルチキャストのフ
ラグが立っている場合は、出力すべきポートを決定し、
そのポートへ同時に送信を行う。このようなマルチキャ
ストの方法として、例えば、特許第2839023号公
報に記載の網制御方法がある。この「網制御方法」で
は、複数の連続したアドレスを持つ宛先へ、パケットを
マルチキャストすることを可能にしている。
【0007】また、論文"Multi-Address Encodeing for
Multicast" (Chi-Ming Chiang andLionel M.Ni)によ
ると、複数の宛先へ送信するマルチキャストの方式がい
くつか紹介されている(Porc. of ther First Internat
ion Wrokshop on Parallel Computer Routing and Comm
unication (PCRCW'94) (K.Bolding and L.Snyder,Ed
s.),pp.146-160,Springer-Verlag, May 1994)。この
論文では、マルチキャストを可能とするための技術とし
て、Bit String Encodingが紹介されている。
【0008】Bit String Encodingでは、図17のよう
なヘッダフィールドを持つパケットを想定している。ヘ
ッダの各ビットは各ノードを示す。ここでのパケットの
例として、最後にEOH33(End Of Header)のフィ
ールドがある、ノード数可変の可変長ヘッダ31と、ノ
ード数を固定としEOHをつけないようにする固定長ヘ
ッダ32に二通りの例が挙げられている。つまり、ノー
ド数がNの場合、EOH33を付ける可変長ヘッダ31
であれば、ヘッダはN+1ビットとなり、固定長ヘッダ
32であればヘッダはNビットとなる。
【0009】ところで、論文"Multi-Address Encodeing
for Multicast"では、マルチキャストについては固定
長ヘッダ32の例のみが紹介されている。ここで、ノー
ド数を16とした場合、次のようにしてマルチキャスト
が実現される。すなわち、図18に示すように、入力ヘ
ッダ41が交換スイッチ45に到着すると、交換スイッ
チ45ではそれぞれの出力ポートに対応するノードのビ
ットを取り出し、それぞれの出力ポートに対応するノー
ドのビットのみのヘッダ(出力ヘッダ42、出力ヘッ4
3ダ、出力ヘッダ44)を再構成し、次の交換スイッチ
へ送り出す。
【0010】
【発明が解決しようとする課題】しかしながら、上記し
た従来例によるパケットのマルチキャストには、次に示
すような問題点が生じていた。
【0011】第1に、特許第2581286号公報に記
載の網制御方法などでは、任意のノードにマルチキャス
トすることができないため、パケットのマルチキャスト
による効果が低いということである。その理由は、大抵
のプログラムでは、部分的なノードのみへパケットを送
信する必要であるからである。
【0012】第2に、論文"Multi-Address Encodeing f
or Multicast"でのマルチキャストのように、パケット
をマルチキャストするノードに任意性を追求したばあ
い、ノードに応じてヘッダが大きくなるため、特にノー
ド数が多い大規模なネットワークでは膨大なデータ量が
必要となる。さらに、スイッチでヘッダを一時的に蓄え
る場合には、ヘッダサイズが大きくなればその分だけハ
ードウェア量が増加し、ノード数が多い場合には実現が
不可能になる場合がありえる。また、スイッチでヘッダ
を一時的に蓄えないにしても、パケットのヘッダが大き
くなるということは相対的にパケットのボディのサイズ
が小さくなるということであり、ネットワーク性能の劣
化を招いてしまう。
【0013】第3に、論文"Multi-Address Encodeing f
or Multicast"でのマルチキャストは、実機での実装と
いうことをあまり考慮していない。つまり、マルチキャ
ストの可能性だけを述べているのみであり、この技術に
基づいて、実際に装置を構成することは非常に困難であ
る。
【0014】第4に、論文"Multi-Address Encodeing f
or Multicast"でのマルチキャストでは、スイッチ毎に
パケットを書き換え、パケットヘッダの長さがスイッチ
毎に異なるものとなっている。このように処理系が複雑
になるので、現実的に実機での実装は、困難となる場合
がある。
【0015】本発明は、上記従来技術の問題点を解消す
るためになされたものであり、ヘッダのサイズを大きく
しなくても、パケットを任意のノードへマルチキャスト
することができる多段結合網、及びこの多段結合網に適
用される交換スイッチを提供することを目的とする。
【0016】本発明は、さらに、パケットのマルチキャ
ストにより全体としての処理速度を向上することが可能
な並列計算機を提供することを目的とする。
【0017】
【課題を解決するための手段】上記目的を達成するた
め、本発明の第1の観点にかかる並列計算機は、パケッ
トのやり取りにより相互通信される複数のノードと、そ
れぞれ受信したパケットを該パケットのヘッダに従って
ルーティングして送出する複数段の交換スイッチから構
成され、各段の交換スイッチでのルーティングによって
前記複数のいずれかのノードからのパケットを他のノー
ドに送信する多段結合網と、から構成される並列計算機
であって、前記複数のノードはそれぞれ、ヘッダの一部
を前記複数のノードの一部または全部からなるノードの
グループに対応したパターン列フィールドとし、他の部
分をパケットを送信すべきノードのアドレスに対応した
ビットを0または1とし、送信しないノードのアドレス
に対応したビットを1または0とするビット列フィール
ドとしたパケットを生成する手段と、該生成したパケッ
トを前記多段結合網の最初の段の交換スイッチのうちの
対応する交換スイッチに送信する手段とを備え、前記多
段結合網を構成する各交換スイッチは、次段の交換スイ
ッチのいずれかまたは前記複数のノードのいずれかに接
続される複数の出力ポートを有し、前記複数の出力ポー
トのそれぞれに対して、前記パターン列フィールド、前
記ビット列フィールド、前記多段結合網内での当該交換
スイッチの位置に関する情報、当該交換スイッチが有す
る出力ポートの位置に関する情報のいずれか1つ以上を
用いて所定の演算を行う手段と、該手段による演算結果
が所定の値を示す出力ポートから、入力されたパケット
を出力する手段を備えることを特徴とする。
【0018】上記並列計算機では、複数のノードのそれ
ぞれから送出されるパケットのヘッダは、パターン列フ
ィールドとビット列フィールドとからなっている。そし
て、各ノードは、パケットを送信すべきノードに応じて
パターン列フィールドとビット列フィールドとを決め
る。従って、パケットを送信するノードの数が大きくな
ってもパケットのヘッダのサイズが大きくなることがな
い。また、多段結合網においては、各交換スイッチが、
パターン列フィールド、ビット列フィールド、交換スイ
ッチの位置に関する情報、交換スイッチが有する出力ポ
ートの位置に関する情報に従って所定の演算を行ってル
ーティングすることで、任意のノードへのパケットの送
信が可能となる。
【0019】上記並列計算機において、前記複数のノー
ドはそれぞれ、パケットを送信すべき他のノードが1つ
のノードのグループに含まれないときに、パケットを送
信すべきノードが含まれるノードのグループのそれぞれ
に対応して、ヘッダの一部をパターン列フィールドと
し、他の部分をそれぞれのグループのノードでパケット
を送信すべきノードのアドレスに対応したビットを0ま
たは1とし、送信しないノードのアドレスに対応したビ
ットを1または0とするビット列フィールドとしたパケ
ットを生成するものとすることができる。
【0020】また、上記並列計算機において、前記複数
のノードはそれぞれ、パケットを送信すべき他のノード
が1つのノードのグループに含まれないが、パケットを
送信すべきノードのアドレスに対応したビット列フィー
ルドが等しくなるグループがあるときに、該ビット列フ
ィールドが等しくなるパケットのパターン列フィールド
が、パケットを送信すべき他のノードが含まれるグルー
プに対応したパターン列フィールドに所定の演算を行っ
て、該演算によって得られたパターン列フィールドと前
記等しいビット列フィールドとから構成されるヘッダを
含むパケットを生成するものとすることができる。
【0021】上記目的を達成するため、本発明の第2の
観点にかかる多段結合網は、それぞれ受信したパケット
を該パケットのヘッダに従ってルーティングして送出す
る複数段の交換スイッチから構成され、各段の交換スイ
ッチでのルーティングによってパケットのやり取りによ
り相互通信される複数のノードのいずれかからのパケッ
トを他のノードに送信する多段結合網であって、前記パ
ケットは、ヘッダの一部を前記複数のノードの一部から
なるノードのグループに対応したパターン列フィールド
とし、他の部分をパケットを送信すべきノードのアドレ
スに対応したビットを0または1とし、送信しないノー
ドのアドレスに対応したビットを1または0とするビッ
ト列フィールドとしたヘッダを含み、前記各交換スイッ
チは、次段の交換スイッチのいずれかまたは前記複数の
ノードのいずれかに接続される複数の出力ポートを有
し、前記複数の出力ポートのそれぞれに対して、前記パ
ターン列フィールド、前記ビット列フィールド、前記多
段結合網内での当該交換スイッチの位置に関する情報、
当該交換スイッチが有する出力ポートの位置に関する情
報のいずれか1つ以上を用いて所定の演算を行う手段
と、該手段による演算結果が所定の値を示す出力ポート
から、入力されたパケットを出力する手段を備えること
を特徴とする。
【0022】上記多段結合網においては、各交換スイッ
チが、パターン列フィールド、ビット列フィールド、交
換スイッチの位置に関する情報、交換スイッチが有する
出力ポートの位置に関する情報に従って所定の演算を行
ってルーティングすることで、任意のノードへのパケッ
トの送信が可能となる。また、送信されるパケットは、
その送信先がパターン列フィールドとビット列フィール
ドとで示されることとなるため、パケットのヘッダのサ
イズを大きくしなくてもよい。
【0023】上記多段結合網において、前記各交換スイ
ッチは、前記多段結合網において何段目にあるかに従っ
て、それぞれ所定の演算を行い、該演算結果に従って入
力されたパケットを出力するものとすることができる。
【0024】上記目的を達成するため、本発明の第3の
観点にかかる交換スイッチは、ルーティングによってパ
ケットのやり取りにより相互通信される複数のノードの
いずれかからのパケットを他のノードに送信する多段結
合網を構成する交換スイッチであって、前記パケット
は、ヘッダの一部を前記複数のノードの一部からなるノ
ードのグループに対応したパターン列フィールドとし、
他の部分をパケットを送信すべきノードのアドレスに対
応したビットを0または1とし、送信しないノードのア
ドレスに対応したビットを1または0とするビット列フ
ィールドとしたヘッダを含み、前記各交換スイッチは、
次段の交換スイッチのいずれかまたは前記複数のノード
のいずれかに接続される複数の出力ポートを有し、前記
複数の出力ポートのそれぞれに対して、前記パターン列
フィールド、前記ビット列フィールド、前記多段結合網
内での当該交換スイッチの位置に関する情報、当該交換
スイッチが有する出力ポートの位置に関する情報のいず
れか1つ以上を用いて所定の演算を行う手段と、該手段
による演算結果が所定の値を示す出力ポートから、入力
されたパケットを出力する手段を備えることを特徴とす
る。
【0025】
【発明の実施の形態】以下、添付図面を参照して、本発
明の実施の形態について説明する。この実施の形態で
は、本発明を疎結合型の並列計算機に適用した場合を例
として説明する。
【0026】図1は、この実施の形態に適用される並列
計算機の構成を示すブロック図である。図示するよう
に、この並列計算機は、N(3≦N≦256)個のノー
ドN1〜NNと、N個のノード0〜(N−1)のそれぞ
れを相互接続する多段結合網CCとから構成される。
【0027】ノード0〜(N−1)は、それぞれプロセ
ッサとメモリとを有し、それぞれに搭載されたオペレー
ティングシステムに従って動作する。ノード0〜(N−
1)のそれぞれによって実行されるプロセスのプロセス
間通信を行うために、ノード0〜(N−1)は、他のノ
ード0〜(N−1)へのメッセージとして、パケットを
やり取りする。
【0028】ここで、ノード0〜(N−1)のアドレス
をA で表現した場合、
パケットのヘッダは、図2に示すように、A
の6ビットに対応する64ビットのビット
列フィールドBFと、A の2ビットに対応する4
ビットのパターン列フィールドPFとを備えている。こ
こで、ビット列フィールドBFの各ビットは、パケット
を送出すべきノードのアドレスのうちA
をデコードしたものの論理和となる。また、パ
ターン列フィールドPFは、Aをデコードした結
果として、“00”を“0001”、“01”を“00
10”、“10”を“0100”、“11”を“100
0”とする。パターン列フィールドPFが異なることと
なるノードにパケットを送信する場合、ビット列フィー
ルドBFが等しいものがあれば、生成されるパケットの
ヘッダのパターン列フィールドPFは、その論理和が取
られたものとなる。
【0029】なお、以下の説明において、パケットのヘ
ッダ中のビット列フィールドBFの各ビットをB(i)
(i=0〜63)とし、パターン列フィールドPFの各
ビットをP(j)(j=0〜3)として表すものとす
る。
【0030】また、多段結合網CCは、それぞれが複数
の入出力ポートをもち、いずれかの入力ポートから入力
されたパケットをヘッダに従ってルーティングして、1
つ以上の出力ポートから出力する交換スイッチを複数ス
テージで多段階に並べて構成される。ここで、交換スイ
ッチは、ステージ毎に決められた所定の演算式でヘッダ
に対して演算を行い、この演算結果に従ってパケットの
ルーティング先を決定する。
【0031】ところで、多段結合網CCは、相互接続さ
れるノードの数や適用されている交換スイッチの入出力
ポートの数により構成が異なるものとなる。以下、適用
されている各交換スイッチの入力ポート及び出力ポート
の数が4個で、相互接続されるノード数Nが16個、6
4個、256個の場合のそれぞれについて、多段結合網
CCの構成例について説明する。
【0032】図3は、16個のノードを相互接続する場
合の多段結合網CCの構成を示すブロック図である。図
示するように、この多段結合網CCは、8個の交換スイ
ッチ(SW)によって構成され、4つの交換スイッチ
(SW)からなるステージ0と、同じく4つの交換スイ
ッチ(SW)からなるステージ1との2段構成となって
いる。また、1つのステージ内の交換スイッチを、図の
上から順にスイッチ0〜スイッチ3で表す。
【0033】また、図に示していないが、ステージ0の
各交換スイッチ(SW)の入力ポートは、図の上から順
にノード0〜ノード15に接続されているものとし、ス
テージ1の各交換スイッチ(SW)の出力ポートは、図
の上から順にノード0〜ノード15に接続されているも
のとする。
【0034】ここで、多段結合網CCにおける各交換ス
イッチ(SW)を、その位置に応じてスイッチ(x,
y)(x:ステージ番号、y:スイッチ番号)として表
し、各交換スイッチの出力ポートをn(図の上より順に
0〜3)として表すものとする。すると、各スイッチ
(x,y)がパケットをその出力ポートnに出力するか
どうかを決定する演算式R(x,y,n)は、次の数式
1、数式2によって表され、その結果が1以外となると
き、スイッチ(x,y)の出力ポートnからパケットが
出力されることとなる。
【0035】
【数1】 (0xは、16進数であることを示す。以下、同じ。)
【0036】
【数2】
【0037】図4は、64個のノードを相互接続する場
合の多段結合網CCの構成を示すブロック図である。図
示するように、この多段結合網CCは、48個の交換ス
イッチ(SW)によって構成され、16個の交換スイッ
チ(SW)からなるステージ0と、同じく16個の交換
スイッチ(SW)からなるステージ1と、同じく16個
の交換スイッチ(SW)からなるステージ2との3段構
成となっている。また、1つのステージ内の交換スイッ
チを上から順にスイッチ0〜スイッチ15で表す。
【0038】また、図に示していないが、ステージ0の
各交換スイッチ(SW)の入力ポートは、図の上から順
にノード0〜ノード63に接続されているものとし、ス
テージ2の各交換スイッチ(SW)の出力ポートは、図
の上から順にノード0〜ノード63に接続されているも
のとする。
【0039】ここで、図3の場合と同様に、多段結合網
CCにおける各交換スイッチを、その位置に応じてスイ
ッチ(x,y)(x:ステージ番号、y:スイッチ番
号)として表し、各交換スイッチの出力ポートをn(図
の上より順に0〜3)として表すものとする。すると、
各スイッチ(x,y)がパケットをその出力ポートnに
出力するかどうかを決定する演算式R(x,y,n)
は、次の数式3〜数式5によって表され、その結果が1
以外となるとき、スイッチ(x,y)の出力ポートnか
らパケットが出力されることとなる。
【0040】
【数3】
【0041】
【数4】
【0042】
【数5】
【0043】図5は、256個のノードを相互接続する
場合の多段結合網CCの構成を示すブロック図である。
この多段結合網CCは、256個の交換スイッチ(S
W)によって構成され、64個の交換スイッチ(SW)
からなるステージ0と、同じく64個の交換スイッチ
(SW)からなるステージ1と、同じく64個の交換ス
イッチ(SW)からなるステージ2と、同じく64個の
交換スイッチ(SW)からなるステージ3との4段構成
となっている。また、1つのステージ内の交換スイッチ
を上から順にスイッチ0〜スイッチ64で表す。
【0044】また、図に示していないが、ステージ0の
各交換スイッチ(SW)の入力ポートは、図の上から順
にノード0〜ノード255に接続されているものとし、
ステージ2の各交換スイッチ(SW)の出力ポートは、
図の上から順にノード0〜ノード255に接続されてい
るものとする。
【0045】ここで、図3、図4の場合と同様に、多段
結合網CCにおける各交換スイッチを、その位置に応じ
てスイッチ(x,y)(x:ステージ番号、y:スイッ
チ番号)として表し、各交換スイッチの出力ポートをn
(図の上より順に0〜3)として表すものとする。する
と、各スイッチ(x,y)がパケットをその出力ポート
nに出力するかどうかを決定する演算式R(x,y,
n)は、次の数式6〜数式9によって表され、その結果
が1以外となるとき、スイッチ(x,y)の出力ポート
nからパケットが出力されることとなる。
【0046】
【数6】
【0047】
【数7】
【0048】
【数8】
【0049】
【数9】
【0050】以下、この実施の形態の並列計算機におけ
る動作について説明する。以下の説明においては、図3
から図5に示した多段結合網CCが適用されている並列
計算機それぞれについて、ある特定のノードから他の特
定のノードへパケットをマルチキャストする場合を例と
して、具体的に説明する。
【0051】(動作例1)−−16個のノードの相互接
続 この例では、ノード0〜ノード15の16個のノードを
相互接続する、図3に示す多段結合網CCを有する並列
計算機を例とし、パケットをノード5からノード2、
3、8、13の4つにマルチキャストする場合を例とし
て説明する。
【0052】並列計算機のノード5は、そのプロセス中
の命令を実行することにより、他のノード2、3、8、
13にメッセージとしてパケットを送信することにな
る。ここで、パケットの送信先のノードのアドレスの上
位2桁Aは、いずれも“00”となるので、パケ
ットのヘッダのパターン列フィールドPFは、“000
1”となる。また、ノード2のアドレスの下位6桁A
は、“000010”となり、こ
れをデコードすると“00...000100”とな
る。同様に、ノード3、8、13のアドレスの下位6桁
をデコードし、これらの論理和を取ることによって、ノ
ード5が送出すべきパケットのヘッダの構成は、図6に
示すようになる。
【0053】このようなパケットをノード2、3、8、
13に送信する場合、ノード5は、まず、図7に示すよ
うに、これをノード5と接続されているスイッチ(0,
1)に送出する。スイッチ(0,1)は、ステージ0に
属するものであるので、出力ポート0〜3のそれぞれか
らこのパケットを送出すべきであるかどうか、すなわち
スイッチ(0,1)でのルーティングは、上記の数式1
に従って演算され、その結果は数式10に示すものとな
る。
【0054】
【数10】R(0,1,0)=B(0)+B(4)+B
(8)+B(12)=1 R(0,1,1)=B(1)+B(5)+B(9)+B
(13)=1 R(0,1,2)=B(2)+B(6)+B(10)+
B(14)=1 R(0,1,3)=B(3)+B(7)+B(11)+
B(15)=1
【0055】従って、スイッチ(0,1)の出力ポート
が接続するすべての交換スイッチにパケットが送出され
ることとなる。ここで、スイッチ(0,1)の出力ポー
トの接続先のスイッチにおけるルーティングを考える。
【0056】スイッチ(0,1)の出力ポート0の接続
先はスイッチ(1,0)である。スイッチ(1,0)は
ステージ1に属するので、スイッチ(1,0)でのルー
ティングは、上記の数式2に従って演算され、その結果
は数式11に示すものとなる。
【0057】
【数11】R(1,0,0)=B(0)=0 R(1,0,1)=B(4)=0 R(1,0,2)=B(8)=1 R(1,0,3)=B(12)=0
【0058】従って、スイッチ(1,0)の出力ポート
2からパケットが出力されることとなり、その接続先で
あるノード8へパケットが到着することになる。
【0059】また、スイッチ(0,1)の出力ポート1
の接続先はスイッチ(1,1)である。スイッチ(1,
1)はステージ1に属するので、スイッチ(1,1)で
のルーティングは、上記の数式2に従って演算され、そ
の結果は数式12に示すものとなる。
【0060】
【数12】R(1,1,0)=B(1)=0 R(1,1,1)=B(5)=0 R(1,1,2)=B(9)=0 R(1,1,3)=B(13)=1
【0061】従って、スイッチ(1,0)の出力ポート
3からパケットが出力されることとなり、その接続先で
あるノード13へパケットが到着することになる。
【0062】また、スイッチ(0,1)の出力ポート2
の接続先はスイッチ(1,2)である。スイッチ(1,
2)はステージ1に属するので、スイッチ(1,2)で
のルーティングは、上記の数式2に従って演算され、そ
の結果は数式13に示すものとなる。
【0063】
【数13】R(1,2,0)=B(2)=1 R(1,2,1)=B(6)=0 R(1,2,2)=B(10)=0 R(1,2,3)=B(14)=0
【0064】従って、スイッチ(1,2)の出力ポート
0からパケットが出力されることとなり、その接続先で
あるノード2へパケットが到着することになる。
【0065】また、スイッチ(0,1)の出力ポート3
の接続先はスイッチ(1,3)である。スイッチ(1,
3)はステージ1に属するので、スイッチ(1,2)で
のルーティングは、上記の数式2に従って演算され、そ
の結果は数式14に示すものとなる。
【0066】
【数14】R(1,3,0)=B(3)=1 R(1,3,1)=B(7)=0 R(1,3,2)=B(11)=0 R(1,3,3)=B(15)=0
【0067】従って、スイッチ(1,3)の出力ポート
0からパケットが出力されることとなり、その接続先で
あるノード3へパケットが到着することになる。
【0068】以上のように、ノード5から送出された、
図6の構成を有するパケットは、多段結合網CCの各交
換スイッチ(SW)でルーティングされてノード2、
3、8、13に到達することとなる。そして、ノード
2、3、8、13は、到達したパケットをノード5のプ
ロセスからのメッセージとして受け取り、そのメッセー
ジに従ってそれぞれのプロセスを並列して実行していく
こととなる。
【0069】(動作例2)−−64個のノードの相互接
続 この例では、ノード0〜ノード63の64個のノードを
相互接続する、図4に示す多段結合網CCを有する並列
計算機を例とし、パケットをノード35からノード6、
17、37、60の4つにマルチキャストする場合を例
として説明する。
【0070】並列計算機のノード35は、そのプロセス
中の命令を実行することにより、他のノード6、17、
37、60にメッセージとしてパケットを送信すること
になる。ここで、パケットの送信先のノードのアドレス
の上位2桁Aは、いずれも“00”となるので、
パケットのヘッダのパターン列フィールドPFは、“0
001”となる。また、ノード6のアドレスの下位6桁
は、“000010”とな
り、これをデコードすると“00...010000
0”となる。同様に、ノード17、37、60のアドレ
スの下位6桁をデコードし、これらの論理和を取ること
によって、ノード35が送出すべきパケットのヘッダの
構成は、図8に示すようになる。
【0071】このようなパケットをノード6、17、3
7、60に送信する場合、ノード35は、まず、図9に
示すように、これをノード35と接続されているスイッ
チ(0,8)に送出する。スイッチ(0,8)は、ステ
ージ0に属するものであるので、出力ポート0〜3のそ
れぞれからこのパケットを送出すべきであるかどうか、
すなわちスイッチ(0,8)でのルーティングは、上記
の数式3に従って演算され、その結果は数式15に示す
ものとなる。
【0072】
【数15】R(0,8,0)=B(0)+B(4)+B
(8)+B(12)+...+B(60)=1 R(0,8,1)=B(1)+B(5)+B(9)+B
(13)+...+B(61)=2 R(0,8,2)=B(2)+B(6)+B(10)+
B(14)+...+B(62)=1 R(0,8,3)=B(3)+B(7)+B(11)+
B(15)+...+B(63)=0
【0073】従って、スイッチ(0,8)の出力ポート
0、1、2の接続先である交換スイッチに、パケットが
送出されることとなる。
【0074】スイッチ(0,8)の出力ポート0の接続
先はスイッチ(1,8)である。スイッチ(1,8)は
ステージ1に属するので、スイッチ(1,8)でのルー
ティングは、上記の数式4に従って演算され、その結果
は数式16に示すものとなる。
【0075】
【数16】R(1,8,0)=B(0)+B(16)+
B(32)+B(48)=0 R(1,8,1)=B(4)+B(20)+B(36)
+B(52)=0 R(1,8,2)=B(8)+B(24)+B(40)
+B(56)=0 R(1,8,3)=B(12)+B(28)+B(4
4)+B(60)=1
【0076】従って、スイッチ(1,8)の出力ポート
3からパケットが出力されることとなり、その接続先の
スイッチ(2,12)へパケットが到着することにな
る。
【0077】また、スイッチ(0,8)の出力ポート1
の接続先はスイッチ(1,9)である。スイッチ(1,
9)はステージ1に属するので、スイッチ(1,9)で
のルーティングは、上記の数式4に従って演算され、そ
の結果は数式17に示すものとなる。
【0078】
【数17】R(1,9,0)=B(1)+B(17)+
B(33)+B(49)=1 R(1,9,1)=B(5)+B(21)+B(37)
+B(53)=1 R(1,9,2)=B(9)+B(25)+B(41)
+B(57)=0 R(1,9,3)=B(13)+B(29)+B(4
5)+B(61)=0
【0079】従って、スイッチ(1,9)の出力ポート
1、2からパケットが出力されることとなり、その接続
先であるスイッチ(2,1)、(2,5)へパケットが
到着することになる。
【0080】また、スイッチ(0,8)の出力ポート2
の接続先はスイッチ(1,10)である。スイッチ
(1,10)はステージ1に属するので、スイッチ
(1,2)でのルーティングは、上記の数式10に従っ
て演算され、その結果は数式18に示すものとなる。
【0081】
【数18】R(1,10,0)=B(2)+B(18)
+B(34)+B(50)=0 R(1,10,1)=B(6)+B(22)+B(3
8)+B(54)=1 R(1,10,2)=B(10)+B(26)+B(4
2)+B(58)=0 R(1,10,3)=B(14)+B(30)+B(4
6)+B(62)=0
【0082】従って、スイッチ(1,10)の出力ポー
ト2からパケットが出力されることとなり、その接続先
であるスイッチ(2,10)へパケットが到着すること
になる。
【0083】さらに、ステージ2について説明すると、
スイッチ(1,8)の出力ポート3の接続先であるスイ
ッチ(2,12)はステージ2に属するので、スイッチ
(2,12)でのルーティングは、上記の数式5に従っ
て演算され、その結果は数式19に示すものとなる。
【0084】
【数19】R(2,12,0)=B(12)=0 R(2,12,1)=B(28)=0 R(2,12,2)=B(44)=0 R(2,12,3)=B(60)=1
【0085】従って、スイッチ(2,12)の出力ポー
ト3からパケットが出力されることとなり、その接続先
であるノード60へパケットが到着することになる。
【0086】また、スイッチ(1,9)の出力ポート0
の接続先であるスイッチ(2,1)はステージ2に属す
るので、スイッチ(2,1)でのルーティングは、上記
の数式5に従って演算され、その結果は数式20に示す
ものとなる。
【0087】
【数20】R(2,1,0)=B(1)=0 R(2,1,1)=B(17)=1 R(2,1,2)=B(33)=0 R(2,1,3)=B(49)=0
【0088】従って、スイッチ(2,1)の出力ポート
2からパケットが出力されることとなり、その接続先で
あるノード17へパケットが到着することになる。
【0089】また、スイッチ(1,9)の出力ポート1
の接続先であるスイッチ(2,5)はステージ2に属す
るので、スイッチ(2,5)でのルーティングは、上記
の数式5に従って演算され、その結果は数式21に示す
ものとなる。
【0090】
【数21】R(2,5,0)=B(5)=0 R(2,5,1)=B(21)=0 R(2,5,2)=B(37)=1 R(2,5,3)=B(53)=0
【0091】従って、スイッチ(2,5)の出力ポート
3からパケットが出力されることとなり、その接続先で
あるノード37へパケットが到着することになる。
【0092】また、スイッチ(1,10)の出力ポート
2の接続先であるスイッチ(2,10)はステージ2に
属するので、スイッチ(2,10)でのルーティング
は、上記の数式5に従って演算され、その結果は数式2
2に示すものとなる。
【0093】
【数22】R(2,10,0)=B(6)=1 R(2,10,1)=B(22)=0 R(2,10,2)=B(38)=0 R(2,10,3)=B(54)=0
【0094】従って、スイッチ(2,10)の出力ポー
ト0からパケットが出力されることとなり、その接続先
であるノード6へパケットが到着することになる。
【0095】以上のように、ノード5から送出された、
図8の構成を有するパケットは、多段結合網CCの各交
換スイッチ(SW)でルーティングされてノード6、1
7、37、60に到達することとなる。そして、ノード
6、17、37、60は、到達したパケットをノード3
5のプロセスからのメッセージとして受け取り、そのメ
ッセージに従ってそれぞれのプロセスを並列して実行し
ていくこととなる。
【0096】(動作例3−1)−−256個のノードの
相互接続 この例では、ノード0〜ノード255の256個のノー
ドを相互接続する、図5に示す多段結合網CCを有する
並列計算機を例とし、パケットをノード93からノード
143、145、153、187の4つにマルチキャス
トする場合を例として説明する。
【0097】並列計算機のノード93は、そのプロセス
中の命令を実行することにより、他のノード143、1
45、153、187にメッセージとしてパケットを送
信することになる。ここで、パケットの送信先のノード
のアドレスの上位2桁A は、いずれも“01”と
なるので、パケットのヘッダのパターン列フィールドP
Fは、“0100”となる。上記動作例1、2と同様
に、ノード143、145、153、187のアドレス
の下位6桁をデコードし、これらの論理和を取ることに
よって、ノード5が送出すべきパケットのヘッダの構成
は、図10に示すようになる。
【0098】このようなパケットをノード143、14
5、153、187に送信する場合、ノード93は、ま
ず、図11に示すように、これをノード93と接続され
ているスイッチ(0,39)に送出する。スイッチ
(0,39)は、ステージ0に属するものであるので、
出力ポート0〜3のそれぞれからこのパケットを送出す
べきであるかどうか、すなわちスイッチ(0,39)で
のルーティングは、上記の数式6に従って演算され、そ
の結果は数式23に示すものとなる。
【0099】
【数23】R(0,39,0)=B(0)+B(4)+
B(8)+B(12)+...+B(60)=0 R(0,39,1)=B(1)+B(5)+B(9)+
B(13)+...+B(61)=2 R(0,39,2)=B(2)+B(6)+B(10)
+B(14)+...+B(62)=0 R(0,39,3)=B(3)+B(7)+B(11)
+B(15)+...+B(63)=2
【0100】従って、スイッチ(0,39)の出力ポー
ト1、3の接続先であるスイッチ(1,37)、(1,
39)に、パケットが送出されることとなる。
【0101】スイッチ(0,39)の出力ポート3の接
続先であるスイッチ(1,37)はステージ1に属する
ので、スイッチ(1,37)でのルーティングは、上記
の数式7に従って演算され、その結果は数式24に示す
ものとなる。
【0102】
【数24】R(1,37,0)=B(1)+B(17)
+B(33)+B(49)=1 R(1,37,1)=B(5)+B(21)+B(3
7)+B(53)=0 R(1,37,2)=B(9)+B(25)+B(4
1)+B(57)=1 R(1,37,3)=B(13)+B(29)+B(4
5)+B(61)=0
【0103】従って、スイッチ(1,37)の出力ポー
ト3からパケットが出力されることとなり、その接続先
のスイッチ(2,33)、(2,41)へパケットが到
着することになる。
【0104】また、スイッチ(0,39)の出力ポート
3の接続先であるスイッチ(1,39)はステージ1に
属するので、スイッチ(1,9)でのルーティングは、
上記の数式7に従って演算され、その結果は数式25に
示すものとなる。
【0105】
【数25】R(1,39,0)=B(3)+B(19)
+B(35)+B(51)=0 R(1,39,1)=B(7)+B(23)+B(3
9)+B(55)=0 R(1,39,2)=B(11)+B(27)+B(4
3)+B(59)=1 R(1,39,3)=B(15)+B(31)+B(4
7)+B(63)=1
【0106】従って、スイッチ(1,39)の出力ポー
ト2、3からパケットが出力されることとなり、その接
続先であるスイッチ(2,43)、(2,47)へパケ
ットが到着することになる。
【0107】さらに、ステージ2について説明すると、
スイッチ(1,37)の出力ポート3の接続先であるス
イッチ(2,33)はステージ2に属するので、スイッ
チ(2,33)でのルーティングは、上記の数式8に従
って演算され、その結果は数式26に示すものとなる。
【0108】
【数26】R(2,33,0)=B(1)=0 R(2,33,1)=B(17)=1 R(2,33,2)=B(33)=0 R(2,33,3)=B(49)=0
【0109】従って、スイッチ(2,33)の出力ポー
ト3からパケットが出力されることとなり、その接続先
であるスイッチ(3,15)へパケットが到着すること
になる。
【0110】また、スイッチ(1,37)の出力ポート
2の接続先であるスイッチ(2,41)はステージ2に
属するので、スイッチ(2,41)でのルーティング
は、上記の数式8に従って演算され、その結果は数式2
7に示すものとなる。
【0111】
【数27】R(2,41,0)=B(9)=0 R(2,41,1)=B(25)=1 R(2,41,2)=B(41)=0 R(2,41,3)=B(57)=0
【0112】従って、スイッチ(2,41)の出力ポー
ト2からパケットが出力されることとなり、その接続先
であるスイッチ(3,21)へパケットが到着すること
になる。
【0113】また、スイッチ(1,39)の出力ポート
2の接続先であるスイッチ(2,43)はステージ2に
属するので、スイッチ(2,43)でのルーティング
は、上記の数式8に従って演算され、その結果は数式2
8に示すものとなる。
【0114】
【数28】R(2,43,0)=B(11)=0 R(2,43,1)=B(27)=0 R(2,43,2)=B(43)=0 R(2,43,3)=B(59)=1
【0115】従って、スイッチ(2,43)の出力ポー
ト3からパケットが出力されることとなり、その接続先
であるスイッチ(3,25)へパケットが到着すること
になる。
【0116】また、スイッチ(1,39)の出力ポート
3の接続先であるスイッチ(2,47)はステージ2に
属するので、スイッチ(2,47)でのルーティング
は、上記の数式8に従って演算され、その結果は数式2
9に示すものとなる。
【0117】
【数29】R(2,47,0)=B(15)=1 R(2,47,1)=B(31)=0 R(2,47,2)=B(47)=0 R(2,47,3)=B(63)=0
【0118】従って、スイッチ(2,47)の出力ポー
ト0からパケットが出力されることとなり、その接続先
であるスイッチ(3,59)へパケットが到着すること
になる。
【0119】さらに、ステージ3について説明すると、
スイッチ(2,37)の出力ポート1の接続先であるス
イッチ(3,15)はステージ3に属するので、スイッ
チ(2,33)でのルーティングは、上記の数式9に従
って演算され、その結果は数式26に示すものとなる。
【0120】
【数30】R(3,15,0)=P(0)=0 R(3,15,1)=P(1)=0 R(3,15,2)=P(2)=1 R(3,15,3)=P(3)=0
【0121】従って、スイッチ(3,15)の出力ポー
ト2からパケットが出力されることとなり、その接続先
であるノード143へパケットが到着することになる。
【0122】また、スイッチ(2,43)の出力ポート
1の接続先であるスイッチ(3,21)はステージ3に
属するので、スイッチ(3,21)でのルーティング
は、上記の数式9に従って演算され、その結果は数式3
1に示すものとなる。
【0123】
【数31】R(3,21,0)=P(0)=0 R(3,21,1)=P(1)=0 R(3,21,2)=P(2)=1 R(3,21,3)=P(3)=0
【0124】従って、スイッチ(3,21)の出力ポー
ト2からパケットが出力されることとなり、その接続先
であるノード145へパケットが到着することになる。
【0125】また、スイッチ(2,43)の出力ポート
3の接続先であるスイッチ(3,25)はステージ3に
属するので、スイッチ(3,25)でのルーティング
は、上記の数式9に従って演算され、その結果は数式3
2に示すものとなる。
【0126】
【数32】R(3,25,0)=P(0)=0 R(3,25,1)=P(1)=0 R(3,25,2)=P(2)=1 R(3,25,3)=P(3)=0
【0127】従って、スイッチ(3,25)の出力ポー
ト3からパケットが出力されることとなり、その接続先
であるノード153へパケットが到着することになる。
【0128】また、スイッチ(2,47)の出力ポート
0の接続先であるスイッチ(3,59)はステージ2に
属するので、スイッチ(3,59)でのルーティング
は、上記の数式9に従って演算され、その結果は数式3
3に示すものとなる。
【0129】
【数33】R(3,59,0)=P(0)=0 R(3,59,1)=P(1)=0 R(3,59,2)=P(2)=1 R(3,59,3)=P(3)=0
【0130】従って、スイッチ(3,59)の出力ポー
ト0からパケットが出力されることとなり、その接続先
であるノード187へパケットが到着することになる。
【0131】以上のように、ノード93から送出され
た、図10の構成を有するパケットは、多段結合網CC
の各交換スイッチ(SW)でルーティングされてノード
143、145、153、187に到達することとな
る。そして、ノード143、145、153、187
は、到達したパケットをノード93のプロセスからのメ
ッセージとして受け取り、そのメッセージに従ってそれ
ぞれのプロセスを並列して実行していくこととなる。
【0132】(動作例3−2)−−256個のノードの
相互接続 この例では、ノード0〜ノード255の256個のノー
ドを相互接続する、図5に示す多段結合網CCを有する
並列計算機を例とし、パケットをノード41からノード
8、36、226、247の4つにマルチキャストする
場合を例として説明する。
【0133】並列計算機のノード41は、そのプロセス
中の命令を実行することにより、他のノード8、36、
226、247にメッセージとしてパケットを送信する
ことになる。ここで、ノード8とノード36のアドレス
の上位2桁は、Aは、“00”となるので、対応
するパターン列フィールドPFは、“0000”とな
る。一方、ノード226とノード247のアドレスの上
位2桁は、Aは、“11”となるので、対応する
パターン列フィールドは、“1000”となる。つま
り、パターン列フィールドPFが一致しないこととな
る。
【0134】そこで、ノード41は、ノード8とノード
36で一つ目のマルチキャストパケットを生成し、ノー
ド226とノード247で二つ目のマルチキャストパケ
ットを生成する。すなわち、図12に示すように、一つ
目のマルチキャストパケットは、パターン列フィールド
PFを“0000”とし、ノード8とノード36のアド
レスの下位6桁をデコードした結果の論理和を取ったも
のをビット列フィールドBFとしている。また、二つ目
のマルチキャストパケットは、パターン列フィールドP
Fを“1000”とし、ノード226とノード247の
アドレスの下位6桁をデコードした結果の論理和を取っ
たものをビット列フィールドBFとしている。
【0135】そして、ノード41は、これら2つのマル
チキャストパケットを、ノード41と接続されている多
段結合網CCのスイッチ(0,23)に送出する。な
お、多段結合網CC内において、各スイッチでのルーテ
ィングは上記の動作例3−1の場合と同様に行われ、図
12の構成を有する一つ目のパケットがノード8、36
に、二つ目のパケットがノード226、247に到達す
ることとなる。そして、ノード8、36、226、24
7は、到達したパケットをノード41のプロセスからの
メッセージとして受け取り、そのメッセージに従ってそ
れぞれのプロセスを並列して実行していくこととなる。
【0136】(動作例3−3)−−256個のノードの
相互接続 この例では、ノード0〜ノード255の256個のノー
ドを相互接続する、図5に示す多段結合網CCを有する
並列計算機を例とし、パケットをノード111からノー
ド68、95、132、159の4つにマルチキャスト
する場合を例として説明する。
【0137】並列計算機のノード111は、そのプロセ
ス中の命令を実行することにより、他のノード、68、
95、132、159にメッセージとしてパケットを送
信することになる。ここで、ノード68とノード95の
アドレスの上位2桁は、Aは、“01”となるの
で、対応するパターン列フィールドPFは、“001
0”となる。一方、ノード132とノード159のアド
レスの上位2桁は、Aは、“10”となるので、
対応するパターン列フィールドは、“0100”とな
る。つまり、パターン列フィールドPFが一致しないこ
ととなる。
【0138】そこで、ノード111は、ノード68とノ
ード95で一つ目のマルチキャストパケットを生成し、
ノード132とノード159で二つ目のマルチキャスト
パケットを生成する。すると、これら2つのマルチキャ
ストパケットのビット列フィールドBFが一致すること
となる。そこで、ノード111は、さらに2つのマルチ
キャストパケットの論理和を取り、図13に示すような
ヘッダを有する1つのマルチキャストパケットを生成す
る。
【0139】そして、ノード111は、このマルチキャ
ストパケットを、ノード111と接続されている多段結
合網CCのスイッチ(0,27)に送出する。なお、多
段結合網CC内において、各スイッチでのルーティング
は上記の動作例3−1の場合と同様に行われ、図13に
示すヘッダを有するパケットがノード68、95、13
2、159に到達することとなる。そして、ノード6
8、95、132、159は、到達したパケットをノー
ド111のプロセスからのメッセージとして受け取り、
そのメッセージに従ってそれぞれのプロセスを並列して
実行していくこととなる。
【0140】以上説明したように、この実施の形態の並
列計算機では、相互結合網CCにより、あるノードから
送信されたパケットが、他の任意のノードへマルチキャ
ストされる。このため、ノード間でのパケットの送信の
ために要する時間が短縮されることとなり、高速に計算
を行うことができるようになる。
【0141】また、この実施の形態の並列計算機に適用
されている多段結合網CCは、ヘッダの付け替えを行わ
なくてもパケットのマルチキャストが可能となってい
る。また、多段結合網CC内の交換スイッチは、交換ス
イッチ内でのステージ位置に応じた演算式でパケットを
送出するための出力ポートを決定している。このため、
多段結合網CCの処理系を簡単に構成することができ
る。さらに、多段結合網CCにおいては、それぞれの交
換スイッチがそのステージに応じた演算式でパケットを
出力する出力ポートを決定することで、パケットのヘッ
ダのサイズを大きくしなくても、並列計算機のあるノー
ドからのパケットを任意の複数のノードへマルチキャス
トすることができる。
【0142】本発明は、上記の実施の形態に限られず、
種々の変形、応用が可能である。以下、本発明に適用可
能な上記の実施の形態の変形態様について説明する。
【0143】上記の実施の形態では、ビット列フィール
ドBFにおいて、パケットを送信すべきノードのアドレ
スの下位6ビットに対応するものを0、そうでないもの
を1としていた。しかしながら、これを反転してもよ
い。また、パターン列フィールドPFのパターンも、パ
ケットを送信すべきノードのアドレスの上位2ビットに
従って上記したように決定していたが、これに限るもの
ではない。
【0144】上記の実施の形態では、多段結合網CC内
の各交換スイッチ(SW)は、4つの入力ポートと4つ
の出力ポートをもつ構成としていた。しかしながら、本
発明において、多段結合網CC内の各交換スイッチがも
つ入出力ポートの数はこれに限られない。すなわち、多
段結合網CCに接続されるノードの数と、交換スイッチ
の入出力ポートの数とに応じて、多段結合網を構成すれ
ばよい。この場合、パケットのヘッダは、上記の実施の
形態の場合と同様に構成できるが、各交換スイッチがパ
ケットをどの出力ポートから出力するかを求める演算式
を、多段結合網CC及びその中の交換スイッチの構成に
従って決めればよい。
【0145】上記の実施の形態では、多段結合網CCに
接続されるノードの数Nが、16個、64個及び256
個の場合を例として説明した。しかしながら、上記の実
施の形態に示したパケットのヘッダの構成によって、多
段結合網CCに接続されるノードの数Nは、256個ま
での任意の数に対応可能である。また、パケットのヘッ
ダの構成方法により、256個を越えるノードを接続す
る多段結合網に適用することも可能である。この場合、
ノードの数Nとしたときに、図14に示すように、(N
−2)ビットのビット列フィールド51に対して、M
ビットのパターン列フィールド52とを有するようにパ
ケットのヘッダを構成すればよい。
【0146】上記の実施の形態では、本発明を並列計算
機に適用した場合を例として説明した。しかしながら、
本発明の多段結合網、交換スイッチ、及びパケットのヘ
ッダ部の構成方法については、パケット交換網などの通
信網においてパケットをマルチキャストする場合にも適
用することができる。例えば、パケット交換網において
は、パケット交換機に多段結合網が適用されることとな
り、PADや他のパケット交換機などが図1のノードに
相当することとなる。
【0147】
【発明の効果】以上説明したように、本発明によれば、
ヘッダのサイズを大きくしなくても、あるノードからパ
ケットを多段結合網に送出し、任意の複数のノードへと
マルチキャストすることができる。
【0148】また、本発明の並列計算機では、パケット
を任意のノードへマルチキャストすることを可能とした
ことにより、全体としての処理速度を向上させることが
できる。
【図面の簡単な説明】
【図1】本発明の実施の形態に適用される並列計算機の
構成を示すブロック図である。
【図2】図1のノード間の通信に用いられるパケットの
ヘッダの構成を示す図である。
【図3】16個のノードを相互接続する多段結合網の構
成を示すブロック図である。
【図4】64個のノードを相互接続する多段結合網の構
成を示すブロック図である。
【図5】256個のノードを相互接続する多段結合網の
構成を示すブロック図である。
【図6】動作例1でノード間の通信に用いられるパケッ
トのヘッダを示す図である。
【図7】動作例1によるパケットのルーティングを模式
的に示す図である。
【図8】動作例2でノード間の通信に用いられるパケッ
トのヘッダを示す図である。
【図9】動作例2によるパケットのルーティングを模式
的に示す図である。
【図10】動作例3−1でノード間の通信に用いられる
パケットのヘッダを示す図である。
【図11】動作例3−1によるパケットのルーティング
を模式的に示す図である。
【図12】動作例3−2でノード間の通信に用いられる
パケットのヘッダを示す図である。
【図13】動作例3−3でノード間の通信に用いられる
パケットのヘッダを示す図である。
【図14】本発明において一般的に適用可能な、ビット
列フィールドとパターン列フィールドとからなるパケッ
トのヘッダの構成を示す図である。
【図15】従来より並列計算機などに適用されてきた多
段結合網の構成を示すブロック図である。
【図16】ノード間でやり取りされるパケットの形式を
示す図である。
【図17】Bit String Encodingのパケットのヘッダを
示す図である。
【図18】Bit String Encodingによるパケットのマル
チキャストの方法を説明する図である。
【符号の説明】
0〜N−1 ノード CC 多段結合網 BF ビット列フィールド PF パターン列フィールド

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】パケットのやり取りにより相互通信される
    複数のノードと、それぞれ受信したパケットを該パケッ
    トのヘッダに従ってルーティングして送出する複数段の
    交換スイッチから構成され、各段の交換スイッチでのル
    ーティングによって前記複数のいずれかのノードからの
    パケットを他のノードに送信する多段結合網と、から構
    成される並列計算機であって、 前記複数のノードはそれぞれ、ヘッダの一部を前記複数
    のノードの一部または全部からなるノードのグループに
    対応したパターン列フィールドとし、他の部分をパケッ
    トを送信すべきノードのアドレスに対応したビットを0
    または1とし、送信しないノードのアドレスに対応した
    ビットを1または0とするビット列フィールドとしたパ
    ケットを生成する手段と、該生成したパケットを前記多
    段結合網の最初の段の交換スイッチのうちの対応する交
    換スイッチに送信する手段とを備え、 前記多段結合網を構成する各交換スイッチは、次段の交
    換スイッチのいずれかまたは前記複数のノードのいずれ
    かに接続される複数の出力ポートを有し、前記複数の出
    力ポートのそれぞれに対して、前記パターン列フィール
    ド、前記ビット列フィールド、前記多段結合網内での当
    該交換スイッチの位置に関する情報、当該交換スイッチ
    が有する出力ポートの位置に関する情報のいずれか1つ
    以上を用いて所定の演算を行う手段と、該手段による演
    算結果が所定の値を示す出力ポートから、入力されたパ
    ケットを出力する手段を備えることを特徴とする並列計
    算機。
  2. 【請求項2】前記複数のノードはそれぞれ、パケットを
    送信すべき他のノードが1つのノードのグループに含ま
    れないときに、パケットを送信すべきノードが含まれる
    ノードのグループのそれぞれに対応して、ヘッダの一部
    をパターン列フィールドとし、他の部分をそれぞれのグ
    ループのノードでパケットを送信すべきノードのアドレ
    スに対応したビットを0または1とし、送信しないノー
    ドのアドレスに対応したビットを1または0とするビッ
    ト列フィールドとしたパケットを生成することを特徴と
    する請求項1に記載の並列計算機。
  3. 【請求項3】前記複数のノードはそれぞれ、パケットを
    送信すべき他のノードが1つのノードのグループに含ま
    れないが、パケットを送信すべきノードのアドレスに対
    応したビット列フィールドが等しくなるグループがある
    ときに、該ビット列フィールドが等しくなるパケットの
    パターン列フィールドが、パケットを送信すべき他のノ
    ードが含まれるグループに対応したパターン列フィール
    ドに所定の演算を行って、該演算によって得られたパタ
    ーン列フィールドと前記等しいビット列フィールドとか
    ら構成されるヘッダを含むパケットを生成することを特
    徴とする請求項1に記載の並列計算機。
  4. 【請求項4】それぞれ受信したパケットを該パケットの
    ヘッダに従ってルーティングして送出する複数段の交換
    スイッチから構成され、各段の交換スイッチでのルーテ
    ィングによってパケットのやり取りにより相互通信され
    る複数のノードのいずれかからのパケットを他のノード
    に送信する多段結合網であって、 前記パケットは、ヘッダの一部を前記複数のノードの一
    部または全部からなるノードのグループに対応したパタ
    ーン列フィールドとし、他の部分をパケットを送信すべ
    きノードのアドレスに対応したビットを0または1と
    し、送信しないノードのアドレスに対応したビットを1
    または0とするビット列フィールドとしたヘッダを含
    み、 前記各交換スイッチは、次段の交換スイッチのいずれか
    または前記複数のノードのいずれかに接続される複数の
    出力ポートを有し、前記複数の出力ポートのそれぞれに
    対して、前記パターン列フィールド、前記ビット列フィ
    ールド、前記多段結合網内での当該交換スイッチの位置
    に関する情報、当該交換スイッチが有する出力ポートの
    位置に関する情報のいずれか1つ以上を用いて所定の演
    算を行う手段と、該手段による演算結果が所定の値を示
    す出力ポートから、入力されたパケットを出力する手段
    を備えることを特徴とする多段結合網。
  5. 【請求項5】前記各交換スイッチは、前記多段結合網に
    おいて何段目にあるかに従って、それぞれ所定の演算を
    行い、該演算結果に従って入力されたパケットを出力す
    ることを特徴とする請求項4に記載の多段結合網。
  6. 【請求項6】ルーティングによってパケットのやり取り
    により相互通信される複数のノードのいずれかからのパ
    ケットを他のノードに送信する多段結合網を構成する交
    換スイッチであって、 前記パケットは、ヘッダの一部を前記複数のノードの一
    部または全部からなるノードのグループに対応したパタ
    ーン列フィールドとし、他の部分をパケットを送信すべ
    きノードのアドレスに対応したビットを0または1と
    し、送信しないノードのアドレスに対応したビットを1
    または0とするビット列フィールドとしたヘッダを含
    み、 前記各交換スイッチは、次段の交換スイッチのいずれか
    または前記複数のノードのいずれかに接続される複数の
    出力ポートを有し、前記複数の出力ポートのそれぞれに
    対して、前記パターン列フィールド、前記ビット列フィ
    ールド、前記多段結合網内での当該交換スイッチの位置
    に関する情報、当該交換スイッチが有する出力ポートの
    位置に関する情報のいずれか1つ以上を用いて所定の演
    算を行う手段と、該手段による演算結果が所定の値を示
    す出力ポートから、入力されたパケットを出力する手段
    を備えることを特徴とする交換スイッチ。
JP01258199A 1999-01-21 1999-01-21 並列計算機、多段結合網並びに交換スイッチ Expired - Fee Related JP3408444B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP01258199A JP3408444B2 (ja) 1999-01-21 1999-01-21 並列計算機、多段結合網並びに交換スイッチ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP01258199A JP3408444B2 (ja) 1999-01-21 1999-01-21 並列計算機、多段結合網並びに交換スイッチ

Publications (2)

Publication Number Publication Date
JP2000216787A true JP2000216787A (ja) 2000-08-04
JP3408444B2 JP3408444B2 (ja) 2003-05-19

Family

ID=11809334

Family Applications (1)

Application Number Title Priority Date Filing Date
JP01258199A Expired - Fee Related JP3408444B2 (ja) 1999-01-21 1999-01-21 並列計算機、多段結合網並びに交換スイッチ

Country Status (1)

Country Link
JP (1) JP3408444B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8416702B2 (en) 2008-02-08 2013-04-09 Nec Corporation Network switch, path setting method, and program
US8792488B2 (en) 2009-04-28 2014-07-29 Nec Corporation Network switch, route setup method, program, and parallel computer system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8416702B2 (en) 2008-02-08 2013-04-09 Nec Corporation Network switch, path setting method, and program
US8792488B2 (en) 2009-04-28 2014-07-29 Nec Corporation Network switch, route setup method, program, and parallel computer system

Also Published As

Publication number Publication date
JP3408444B2 (ja) 2003-05-19

Similar Documents

Publication Publication Date Title
US11640362B2 (en) Procedures for improving efficiency of an interconnect fabric on a system on chip
CN102104541B (zh) 报头处理引擎
US7023797B2 (en) Flexible aggregation of output links
US6272134B1 (en) Multicast frame support in hardware routing assist
US6683885B1 (en) Network relaying apparatus and network relaying method
US7826450B2 (en) Multicast/broadcast extension to a point-to-point unicast-only packet switch system
JP2003508954A (ja) ネットワーク・スイッチ及びコンポーネント及び操作方法
JP2003508967A (ja) ネットワーク・プロセッサ及び方法を用いるネットワーク・スイッチ
JP5347975B2 (ja) ネットワークスイッチ、経路設定方法およびプログラム
US7174394B1 (en) Multi processor enqueue packet circuit
US6560227B1 (en) LAN frame copy decision for LAN switches
JP2002158708A (ja) スイッチ装置、通信装置及び通信システム
JP5435024B2 (ja) ネットワークスイッチ、経路設定方法、プログラムおよび並列計算機システム
JP3408444B2 (ja) 並列計算機、多段結合網並びに交換スイッチ
JP2976675B2 (ja) アレイプロセッサのルーティング方法
US7103039B1 (en) Hardware load balancing through multiple fabrics
JP3683211B2 (ja) ノード間データ転送方法及びノード間データ転送装置
JP2778520B2 (ja) マルチキャスト方法及び交換スイッチ
US6909710B1 (en) Method of operating a buffered crossbar switch
Li et al. Efficient communication in metacube: A new interconnection network
JP2581286B2 (ja) 網制御方法
JP2005531208A (ja) 線形拡張可能な配信ルータ装置
JP4415700B2 (ja) ネットワーク中継装置
JP4029572B2 (ja) パケット処理装置及びそれに用いるパケット処理方法
JPH05233567A (ja) アレイプロセッサのメッセージパケットルーティング方法

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20001121

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080314

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090314

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090314

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100314

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100314

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110314

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110314

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120314

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120314

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130314

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130314

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140314

Year of fee payment: 11

LAPS Cancellation because of no payment of annual fees