JPH09231187A - 並列計算機のデータ転送方法 - Google Patents

並列計算機のデータ転送方法

Info

Publication number
JPH09231187A
JPH09231187A JP8034780A JP3478096A JPH09231187A JP H09231187 A JPH09231187 A JP H09231187A JP 8034780 A JP8034780 A JP 8034780A JP 3478096 A JP3478096 A JP 3478096A JP H09231187 A JPH09231187 A JP H09231187A
Authority
JP
Japan
Prior art keywords
packet
node
output port
input
partition
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
JP8034780A
Other languages
English (en)
Inventor
Kenji Tsuji
憲司 辻
Masahito Ishii
将人 石井
Hamiruton Patoritsuku
ハミルトン パトリック
Nobuo Funakubo
伸夫 舟窪
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP8034780A priority Critical patent/JPH09231187A/ja
Publication of JPH09231187A publication Critical patent/JPH09231187A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Abstract

(57)【要約】 【課題】 並列計算機の分割運転時、パケットが分割グ
ループを越えて転送されないことを保証する。 【解決手段】 クロスバスイッチXBX0〜XBX3,
XBY0〜XBY3を各々パーティション0,1に2分
割する。この場合、ノードは、0,1,8,9の第1グ
ループ、2,3,10,11の第2グループ、4,5,
12,13の第3グループ、6,7,14,15の第4
グループに分かれる。各ノードには自ノードが接続され
るXBの該当パーティションに属するポート情報を、各
XBには自XBの各パーティションに属するポート情報
を各々保持せしめる。各ノード、各XBは、パケットを
転送する際、該パケットのルーティング情報とあらかじ
め保持されたポート情報を比較し、照合がとれた場合の
み該パケットを送出する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、並列計算機のデー
タ転送方法に係り、特に並列計算機の分割運転におい
て、分割を行ったノードグループを越えてパケットが転
送されないことを保証し、分割したノードグループが相
互に影響を与えない高信頼性を要求される並列計算機の
データ転送方法に関する。
【0002】
【従来の技術】従来、複数プロセッサのノード群と該ノ
ード群をクロスバスイッチにより相互結合した構成の並
列計算機において、種々の利用目的等に応じてノード群
を複数グループに分割し、各グループ毎に分割運転を行
う場合、一般にパケットに宛先ノード情報の他にグルー
プ識別情報を付加することで、同一グループに属するノ
ード同士のデータ転送を実現していた。なお、並列計算
機の分割運転に関連する公知例としては、例えば特開平
5−28122号公報が挙げられる。
【0003】
【発明が解決しようとする課題】従来技術においては、
転送元ノードがプログラム(OS)のバグ等により転送
先ノードを誤り、転送パケットに他の分割グループ内の
ノード等を指定した場合、あるいは、転送途中において
信号ディレーやノイズによるビット欠け・ビット化けに
より、パケットの宛先ノードやグループ情報が変化した
場合、誤って他の分割グループにパケットガ転送される
という問題があった。
【0004】本発明の目的は、並列計算機の分割運転
時、誤って他の分割グループにパケットが転送されない
ことを保証し、分割グループ間が相互に影響することな
く運用できる、高信頼性のデータ転送方法を提供するこ
とにある。
【0005】
【課題を解決するための手段】本発明は、複数個のプロ
セッサ(ノード)と、複数個の入出力ポートを持ったク
ロスバスイッチからなる相互結合網で構成された並列計
算機において、ノードを複数のグループに分割し、同一
グループに属するノード同士でパケット形式によりデー
タを転送する際、クロスバスイッチの入出力ポートを複
数の部分に分割し(分割した各部分をパーティションと
いう)、各ノードに、自ノードが接続されるクロスバス
イッチの該当パーティションに属する出力ポート情報を
あらかじめ保持しておく。各ノードは、パケットを転送
する前に、該パケットにルーティング情報として付加さ
れている転送先ノードのポート情報を前記あらかじめ保
持された出力ポート情報と照合し、照合がとれたなら
ば、自ノードが接続されるクロスバスイッチに該パケッ
トを送出し、照合がとれない場合には該パケットの送出
を中止する。
【0006】また、本発明は、各クロスバスイッチに、
自クロスバスイッチの各パーティションに属する入出力
ポート情報をあらかじめ保持し、各クロスバスイッチ
は、パケットを入力ポートで受信すると、まず、入力ポ
ート情報により該入力ポートの属するパーティションを
選択する。次に、受信したパケットにルーティング情報
として付加されている転送先ノードのポート情報を前記
選択されたパーティションに属する出力ポート情報と照
合し、照合がとれたならば、該当出力ポートより該パケ
ットを送出し、照合がとれない場合には該パケットの送
出を中止する。
【0007】これにより、例えば信号ディレー、ノイズ
によるビット欠け・ビット化や、OSのバグ等により転
送先ノードを誤り他の分割グループ内のノードを指定し
た場合等に、エラーを検出でき、他の分割グループに影
響を与えず分割運転時の信頼性を向上できる。
【0008】
【発明の実施の形態】以下、本発明の一実施例につい
て、16個のノード(プロセッサ)が、X方向に4個、
Y方向に4個のクロスバスイッチからなる相互結合網で
接続される並列計算機を用いて説明する。
【0009】図1は、本実施例の16個のノードと、そ
れらのノードを相互結合するX方向に4個、Y方向に4
個のクロスバスイッチ(XB)からなる並列計算機を示
す。図1において、0〜15はノード(プロセッサ)、
XBX0〜XBX3はX方向のクロスバスイッチ(XB
X)、XBY0〜XBY3はY方向のクロスバスイッチ
(XBY)である。本実施例に用いる各クロスバスイッ
チは、入出力ポートを各々4個持っており、ここではそ
れらに0〜3のポート番号を付ける。ノードとクロスバ
スイッチ間は、各々、入力信号線0iX〜15iX,0i
Y〜15iY、出力信号線0oX〜15oX,0oY〜15
oYで接続される。ただし、この入出力信号線の標記
は、ノード側からみた場合であり、クロスバスイッチ側
からは入出力の関係が逆になる。
【0010】図2は、本実施例の相互結合網におけるノ
ード間通信の通信パケットを表す。200はパケット全
体を表わし、210と220はルーティングフィール
ド、250はデータフィールドである。ルーティングフ
ィールド210,220はパケットの先頭に置かれ、転
送先ノードのポート情報として、210には各XBXの
選択すべき出力ポートを表す情報が格納され、220に
は各XBXの選択すべき出力ポートを示す情報が格納さ
れる。250には転送すべきデータが格納される。
【0011】本実施例では、XBXルーティングフィー
ルド210には、転送先ノード番号を4ビットの2進数
で表わした場合の下位2ビットをデコードした値(4ビ
ット)即ち、XBXの出力ポート番号を示す値が、ま
た、XBYルーティングフィールド220には、同様に
転送先ノード番号を2進数で表わした場合の4ビット中
の上位2ビットをデコードした値(4ビット)、即ち、
XBYの出力ポート番号を示す値が格納される。図3
に、ノード0〜15に対応するルーティングフィールド
210,220の値を示す。
【0012】例えば、ノード1からノード7へパケット
を転送する際、ノード1では、XBXルーティングフィ
ールド210にXBX出力ポート番号3を示す“000
1”を、また、XBYルーティングフィールド220に
XBY出力ポート番号1を示す“0100”を各々格納
して、例えば、出力信号線1oXよりXBX0へ送出す
る。なお、XBX0へ送出するか、XBY1へ送出する
かは、乱数や結合網の通信負荷バランス、もしくはそれ
らの組み合わせで決定される。
【0013】ここで、分割運転を実施しない場合、XB
X0では、ノード1が送出したパケットを入力ポート1
より受信し、該パケットのXBXルーティングフィール
ド210の“0001”に従って、出力ポート3より該
パケットを送出する。該パケットをノード3が入力信号
線3iXより受信し、XBX/XBYにルーティングフ
ィールドより自分宛でないことを確認すると、該パケッ
トを出力信号線3oYよりXBY3へ送出する。XBY
3では、該パケットを入力ポート0より受信し、該パケ
ットのXBYルーティングフィールド220の“010
0”に従って、出力ポート1より該パケットを送出す
る。該パケットをノード7が入力線7iYより受信し、
XBX/XBYルーティングフィールドより自分宛であ
ることを確認し、該パケットを取り込む。
【0014】これが分割運転を実施しない場合の一般的
動作であるが、以下に、図1の実施例の分割運転につい
て説明する。
【0015】図1において、ノード0,1,8,9を第
1分割グループ、ノード2,3,10,11を第2分割
グループ、ノード4,5,12,13を第3分割グルー
プ、ノード6,7,14,15を第4分割グループとし
て、計4グループに分割し、各グループ単位で分割運転
を行うとする。このため、クロスバスイッチを各々論理
的にパーティション0、パーティション1に2分割す
る。この場合、図1に示すように、X方向クロスバスイ
ッチXBX0〜XBX3では、ポート0と1をパーティ
ション0、ポート2と3をパーシィション1に割り当
て、Y方向クロスバスイッチXBY0〜XBY3では、
ポート0と2をパーティション0、ポート1と3をパー
シィション1に割り当てる。図4に、各ノードの分割グ
ループとXBX、XBYのパーティションの対応関係を
示す。
【0016】後述するように、各ノードは、自ノードが
属する分割グループに対応する、XBX、XBYの各パ
ーティションに属する出力ポート情報(出力可能ポート
情報)を分割情報として格納する分割情報レジスタを具
備する。また、各クロスバスイッチは、自クロスバスイ
ッチを論理的に分割する各パーティションに属する入出
力ポート情報を分割構成情報として格納する構成情報レ
ジスタを具備する。分割運転を行う前に、各グループの
ノードの分割情報レジスタ、各クロスバスイッチの構成
情報レジスタに当該情報を格納しておく。
【0017】分割運転時、各ノード、各クロスバスイッ
チでは、パケットを送出するに先立ち、該パケットのル
ーティングフィールドの内容を該当レジスタにあらかじ
め格納されている情報と照合して、パケット送出の可否
を確認する。その結果、送出可であれば、パケットを送
出し、不可であれば、パケットの送出を中止する。これ
により、各分割グループ、即ち、XBX、XBYの各パ
ーティションのグループに属するノード群ごとのデータ
転送が実現する。
【0018】以下、各ノード、各クロスバスイッチの具
体的構成例について説明する。図5は、本実施例のノー
ドの構成例を示す。ここでは、図1中のノード1を例に
とるが、他のノードも同様の構成である。図5におい
て、100は演算ユニット、105はローカルメモリ、
115は通信ユニットであり、これらは内部バス110
で相互接続される。該ノード1には、入力信号線Ii
X,IiYに各々接続される入力ポートiX,iY、及
び、出力信号線IoX,IoYに各々接続される出力ポー
トoX,oYがある。入力ポートiX,iYは各々信号線1
11,112で通信ユニット115に接続され、通信ユ
ニット115は各々信号線113,114で出力ポート
oX,oYに接続される。120は分割情報レジスタ、1
21はエラー情報レジスタ121であり、通信ユニット
115に設けられる。
【0019】演算ユニット100は、あるノードにデー
タを転送する際、先頭にルーティングフィールドを付加
したパケットをローカルメモリ105に生成する。通信
ユニット115は、該ローカルメモリ105のパケット
を出力ポートoXあるいはoYから送出する。また、通信
ユニット115は、入力ポートiXあるいはiYで受信し
たパケットが自ノード宛の場合、該パケットをローカル
メモリ105へ転送する。一方、自ノード宛でない場
合、入力ポートiXで受信したパケットは出力ポートoY
へ送出し、入力ポートiYで受信したパケットは出力ポ
ートoXへ送出する。
【0020】ここで、入力ポートiX,iYで受信したパ
ケットあるいは自ノードで生成したパケットを出力ポー
トoX,oYに送出する際、通信ユニット115にて、該
パケットのルーティングフィールドの内容を分割情報レ
ジスタ120の分割情報と照合して、パケット送出の可
否を確認する。その結果、不可であれば、該パケットの
送出を中止し、エラー情報レジスタ121をオンとす
る。
【0021】図6は、分割情報を格納する分割情報レジ
スタ120の構成例を示す。該レジスタ120に格納さ
れる分割情報は、当該ノードが接続されるXBX,YB
Yの各パーティションの出力ポート情報である。このX
BX,YBYの当該パーティションに属する出力ポート
は、該XBX,YBYに接続されるノードから入力した
パケットの送出が許可されるポート(出力可能ポート)
を意味している。
【0022】本実施例では、分割情報レジスタ120は
8ビットからなる。該分割情報レジスタ120の上位4
ビットは上位から順番に、X方向クロスバスイッチ(X
BX)の出力ポート0から3に対応しており、下位4ビ
ットは上位から順番に、Y方向クロスバスイッチ(XB
Y)の出力ポート0から3に対応している。各ビットに
1が設定されている場合は、そのビットに対応するクロ
スバスイッチの出力ポートからパケットを送出できるこ
とを示す。該分割情報レジスタ120に格納されている
分割情報が等しいノード同士が同一の分割グループに属
することになる。
【0023】図7に、図1に示す分割運転を行う場合
の、各分割グループに属するノードの分割情報レジスタ
120に格納される分割情報の具体的ビットパターンを
示す。例えば、図1より、第1分割グループに属する各
ノードは、各々、XBX0,XBX2のパーティション
0、XBY0,XBY1のパーティション0のポートに
接続されている。ここで、各XBXのパーティション0
のポート番号は0と1、また、各XBYのパーティショ
ン0のポート番号は0と2である。したがって、第1分
割グループに属する各ノードの分割情報レジスタ120
の、上位4ビットは“1100”、下位4ビットは“1
010”であり、全体では“11001010”とな
る。同様にして、第2乃至第4分割グループに属する各
ノードの分割情報レジスタ120の内容は、各々、“0
0111010”、“11000101”,“0011
0101”となる。
【0024】なお、分割運転を実施しない場合は、各ノ
ードの分割情報レジスタ120の全ビットを“1”とす
ればよい。即ち、この場合は、XBX,XBYの全ての
出力ポートからパケットの送出が許可されることを示し
ている。
【0025】図8は、本実施例でノードを相互結合する
クロスバスイッチの構成例を示す。ここでは、図1中の
XBX0を例にとるが、他のクロスバスイッチも同様の
構成である。各クロスバスイッチは、入出力ポートを各
々4個持っており、順番に0〜3のポート番号が付けら
れている。XBX0では、入力ポート0〜3は各々入力
信号線0i0〜0i3に接続され、出力ポート0〜3は各
々出力信号線0o0〜0o3に接続される。ここで、入力
信号線0i0〜0i3、出力信号線0o0〜0o3は、各々
図1のノード0〜3の出力信号線0oX〜3oX、入力信
号線0iX〜3iXに対応する。130は構成情報レジス
タ、131はエラー情報レジスタである。
【0026】クロスバスイッチは、入力ポート0〜3の
いずれかに到来したパケットを、該パケットのルーティ
ングフィールドの転送先ノード情報にもとづいて、出力
ポート0〜3のいずれかを選択して送出す。この時、該
パケットのルーティングフィールドの内容を構成情報リ
ジスタ130の分割構成情報と照合して、パケット送出
の可否を確認する。その結果、不可であれば、該パケッ
トの送出を中止し、エラー情報レジスタ131をオンと
する。
【0027】図9は、クロスバスイッチ内の分割構成情
報を格納する構成情報レジスタ130の構成例を示す。
該レジスタ130に格納される分割構成情報は、該クロ
スバスイッチを論理的に分割する各パーティションに属
する入出力ポート情報である。パケット転送は、該レジ
スタ130の分割構成情報で示される同一パーティショ
ンに属する入力ポートと出力ポート間でのみ許可され
る。
【0028】本実施例では、図1に示す分割運転を行う
ため、各クロスバスイッチをパーティション0、パーテ
ィション1に2分割している。これに対応して、構成情
報レジスタ130は、パーティション0に属する入力ポ
ート構成情報を格納する入力ポート構成情報レジスタ
(0)131、出力ポート構成情報を格納する出力ポー
ト構成情報レジスタ(0)132、パーティション1に
属する入力ポート情報構成を格納する入力ポート構成情
報レジスタ(1)133、出力ポート構成情報を格納す
る出力ポート構成情報レジスタ(1)134の計4個の
レジスタからなる。各レジスタ131〜134は4ビッ
トからなる。これらレジスタのビットは上位から順番
に、各々クロスバスイッチの入力ポート0〜3、出力ポ
ート0〜3に対応しており、各パーティションに属する
入力ポートに対応するビットに“1”、出力ポートに対
応するビットに“1”を各々格納し、各パーティション
毎に、“1”の立っている入出力ポート間でパケットを
転送できることを示す。
【0029】図10に、図1に示す分割運転を行う場合
の、XBX0〜XBX3,XBY0〜XBY3における
パーティション0の各入/出力ポート構成情報レジスタ
131,132、及び、パーティション1の各入/出力
ポート構成情報レジスタ133,134に格納される入
/出力構成情報の具体的ビットパターンを示す。例え
ば、図1より、XBX0のパーティション0に属する入
出力ポートはポート番号0と1である。したがって、入
力ポート構成情報レジスタ(0)131と出力ポート構
成情報レジスタ(0)132の内容は各々“1100”
となり、XBX0のパーティション0では、入力ポート
0,1のパケットを出力ポート0,1に送出できること
を示している。また、XBX0のパーティション1に属
する入出力ポートはポート番号2と3である。したがっ
て、入力ポート構成情報レジスタ(1)133と出力構
成情報レジスタ(1)134の内容は各々“0011”
となり、XBX0のパーティション1では、入出力ポー
ト2,3のパケットを出力ポート2,3に送出できるこ
とを示している。他のXBX,XBYの各レジスタ13
1〜134についても同様である。
【0030】なお、分割運転を実施しない場合は、各ク
ロスバスイッチの構成情報レジスタ130中のパーティ
ション0の入出力ポート構成情報レジスタ131,13
2に全ビット“1”を格納し、パーティション1の入出
力ポート構成情報レジスタ133,134に全ビット
“0”を格納する。即ち、各クロスバスイッチの論理分
割を見掛上、パーティション0のみとするのである。こ
れで、各クロスバスイッチが分割されず、全ての入力ポ
ートからパケットを受信し、全ての出力ポートからパケ
ットを送信できることになる。
【0031】次に、本実施例の分割運転時の動作につい
て、同一の分割グループ内の任意のノード間の1対1通
信を例に説明する。ここでは、図1において、第1分割
グループ内のノード1からノード8へパケットを転送す
ると仮定する。分割運転を行う前に、あらかじめ各グル
ープのノードの分割情報レジスタ120には、図7に示
す情報を、また、各クロスバスイッチの構成情報レジス
タ130の各レジスタ131〜134には、図10に示
す情報を格納しておく。
【0032】分割運転時、第1分割グループ内に属する
ノード1からノード8へパケットを転送する際、ノード
1の演算ユニット100は、図2に示すパケット200
として、図3より、XBXルーティングフィールド21
0には、転送先ノード番号8を2進数で表わした“10
00”の下位2ビットをデコードした値、即ち、XBX
の出力ポート番号0を示す値“1000”を、XBYル
ーティングフィールド220には、同転送先ノード番号
8を2進数で表わした“1000”の上位2ビットをデ
コードした値、即ち、XBYの出力ポート番号2を示す
値“0010”を、また、データフィールド250には
転送データを各々格納し、該パケット200を内部バス
110を通してローカルメモリ105に生成する。次
に、演算ユニット100は、例えば乱数を発生させた結
果、使用する出力ポートをoXとし、内部バス110を
通して通信ユニット115に、該パケット200の転送
指示をする。通信ユニット115は、演算ユニット10
0からパケット200の転送指示を受けると、内部バス
110を通して、ローカルメモリ105から転送すべき
パケット200を読み出し、該パケット200のXBX
ルーティングフィールド210の値“1000”から分
割情報レジスタ120の上位4ビット中の、XBX出力
ポート0と対応したビット(1ビット目)を参照し、該
当ビットに“1”が格納されており、且つ、該パケット
200のXBYルーティングフィールド220の値“0
010”から分割情報レジスタ120の下位4ビットの
中の、XBY出力ポート2と対応したビット(3ビット
目)を参照し、該当ビットに“1”が格納されているか
を確認する。本例では、図7より、ノード1の通信ユニ
ット115内の分割情報レジスタ120は“11001
010”であり、その上位4ビット中のXBX出力ポー
ト0と対応したビット(1ビット目)は“1”、且つ、
下位4ビット中のXBY出力ポート2と対応したビット
(3ビット目)も“1”であり、照合がとれる。そこ
で、通信ユニット115は、指定された出力ポートoX
から出力信号線1oXを通してXBX0に、該読み出し
たパケット200を転送する。
【0033】なお、ノード1の通信ユニット115は、
転送パケットのルーティングフィールド210,220
の値から分割情報レジスタ120の該当出力ポートと対
応した2ビットを参照して、何れか一つのビットにでも
“1”が格納されていなかったならば、パケットの転送
処理を中止し、内部バス110を介して演算ユニット1
00に割り込みを発生する。または、図5に示すエラー
情報レジスタ121をオンとする。
【0034】XBX0は、ノード1からのパケット20
0を、入力ポート1が受け取る。該XBX0は、まず、
図9に示す入力ポート構成情報レジスタ131,133
中の入力ポート1と対応したビットを参照し、該当ビッ
トに“1”が格納されている側のパーティションを選択
する。本例では、図10中のXBX0のレジスタ13
1,133の内容より、パーティション0を選択する。
次に、パケット200のXBXルーティングフィールド
210の値“1000”を参照し、出力ポート0を選択
する。次に、パーティション0の出力ポート構成情報レ
ジスタ132の出力ポート0に対応するビットを参照
し、該当ビットに“1”が格納されているか確認する。
本例では、図10中のXBX0のレジスタ132の内容
より、該当ビットに“1”が格納されているので、XB
X0は、出力ポート0より出力信号線0o0を通して、
該信号線0o0(入力信号線0iX)と接続されているノ
ード0にパケット200を転送する。
【0035】パケット200を受け取ったノード0の通
信ユニットは、該パケットの転送先ノード番号を示すX
BX/XBYルーティングフィールドが自ノード0宛で
ないことを確認し、さらに、ノード1の場合に、該ルー
ティングフィールドの値と該通信ユニット内の分割情報
レジスタ120の値を照合して、照合がとれたことを確
認した後、出力ポートYから信号線0oYを通してパケ
ット200をXBY0に転送する。
【0036】XBY0は、ノード0からのパケット20
0を、入力ポート0が受け取ると、まず、該XBY0の
入力ポート構成情報レジスタ131,133の入力ポー
ト0と対応したビット(1ビット目)を参照し、本例で
は、図10より、該当ビットに“1”が格納されている
パーティション0を選択する。次に、パケット200の
XBYルーティングフィールド200の値“0010”
を参照し、出力ポート2を選択する。次に、パーティシ
ヨン0の出力ポート構成情報レジスタ132の出力ポー
ト2に対応するビット(3ビット目)を参照し、本例で
は、図10より、該当ビットに“1”が格納されている
のを確認した後、出力ポート2から信号線8o2を通し
て、該信号線8o2(入力信号線8iY)と接続されてい
るノード8にパケット200を転送する。
【0037】パケット200を受け取ったノード8の通
信ユニットは、該パケットの転送先ノード番号を示すル
ーティングフィールドが自ノード宛であることを確認す
ると、該パケットをローカルメモリへ取り込み、演算ユ
ニットにパケット受信を通知する。
【0038】なお、クロスバスイッチXBX0,XBY
0は、その構成情報レジスタの各入力/出力ポート構成
情報レジスタのビットを参照した際に、何れか一つのビ
ットにでも“1”が格納されていなければ、パケットの
転送処理は中止し、エラー情報レジスタ131をオンと
する。
【0039】次に、本実施例の分割運転において、同一
の第1分割グループに属するノード1からノード8へパ
ケットを転送する際に、OS等のエラーが発生し、ノー
ド1が他の第3分割グループに属するノード4を転送先
に指定した場合の動作を説明する。
【0040】ノード1の演算ユニット100は、パケッ
トの転送先ノード番号8をノード番号4と誤って指定し
た場合、図2のパケット200として、図3より、XB
Xルーティングフィールド210には、ノード番号4を
2進数で表わした“0100”の下位2ビットをデコー
ドした値、即ち、XBXの出力ポート番号0を示す値
“1000”を、XBYルーティングフィールド220
には、同ノード番号“0100”の上位2ビットをデコ
ードした値、即ち、XBYの出力ポート番号1を示す値
“0100”を、データフィールド250には転送デー
タを各々格納し、該パケット200を内部バス110を
通してローカルメモリ105に生成する。次に演算ユニ
ット100は、乱数を発生させた結果、例えば使用する
出力ポートをoXとし、内部バス110を通して通信ユ
ニット115に該パケット200の転送指示をする。通
信ユニット115は、演算ユニット100からパケット
200の転送指示を受けると、内部バス110を通し
て、ローカルメモリ105から転送すべきパケット20
0を読み出し、該パケット200のXBXルーティング
フィールド210の値“1000”から分割情報レジス
タ120の上位4ビット“1100”中の、XBX出力
ポート0と対応したビット(1ビット目)を参照し、当
該ビットに“1”が格納されていることを確認する。次
に、パケット200のXBYルーティングフィールド2
20の値“0100”から分割情報レジスタ120の下
位4ビット“1010”中の、XBY出力ポート1と対
応したビット(2ビット目)を参照するが、当該ビット
は“0”である。このため、ノード1の通信ユニット1
15は、パケットの転送処理を中止し、バス110を介
して演算ユニット100に割り込みを発生させる。また
は、エラー情報レジスタ121をオンとする。
【0041】これにより、分割運転時、転送元ノードが
誤って自分の属する分割グループとは別の分割グループ
のノードを転送先に指定した場合、該転送元ノードにて
直ちにパケットの転送を抑止できる。
【0042】次に、本実施例の分割運転において、同一
の第1分割グループ内に属するノード1からノード8へ
パケットを転送する際に、ノード1とXBX0間でノイ
ズが発生し、ビット化けにより転送先ノード番号が8と
12の両方に変わった場合の動作を説明する。
【0043】ノード1の演算ユニット100は、先と同
様に、XBXルーティングフィールドに、転送先ノード
番号8を2進数で表わした“1000”の下位2ビット
をデコードした値、即ち、XBXの出力ポート番号0を
示す値“1000”を、XBYルーティングフィールド
に、同転送先ノード番号8を2進数で表わした“100
0”の上位2ビットをデコードした値、即ち、XBYの
出力ポート2を示す値“0010”を、転送データフィ
ールドに転送データを各々格納し、図2に示されるパケ
ット200を内部バス110を通してローカルメモリ1
05に生成する。次に、演算ユニット100は、例えば
使用する出力ポートをoXとし、内部バス110を通し
て通信ユニット115に該パケット200の転送指示を
する。通信ユニット115は、演算ユニット100から
パケット200の転送指示を受けると、内部バス110
を通して、ローカルメモリ105から該パケット200
を読み出し、パケット200のXBXルーティングフィ
ールド210の値“1000”から分割情報レジスタ1
20の上位4ビット中の、XBX出力ポート0と対応し
たビット(第1ビット目)を参照し、該当ビットに
“1”が格納されており、且つ、XBYルーティングフ
ィールド220の値“0010”から分割情報レジスタ
120の下位4ビット中の、XBY出力ポート2と対応
したビットを参照し、該当ビットに“1”が格納されて
いるのを確認した後、指定された出力ポートoXから出
力信号線1oXを通してXBX0に該パケット200を
転送する。
【0044】ノード1からXBX0へパケット200を
転送中にノイズが発生し、該パケット200のXBYル
ーティングフィールド220の値が“0010”から
“0011”、即ち、XBYの出力ポートが2と3を示
す値に代わったとする。
【0045】XBX0は、ノード1からのパケット20
0を、入力ポート1が受け取る。該XBX0は、入力ポ
ート構成情報レジスタ131,133の入力ポート1と
対応したビット(2ビット目)を参照し、図10より、
該当ビットに1が格納されているパーティション0を選
択する。次に、パケット200のXBXルーティングフ
ィールド210の値“1000”を参照し、出力ポート
0を選択する。次に、パーティション0の出力ポート構
成情報レジスタ132の出力ポート0に対応するビット
(1ビット目)を参照し、図10より、該当ビットに
“1”が格納されているのを確認する。そこで、XBX
0は、出力ポート0より出力信号線0o0を通して、該
信号線0o0(入力信号線0iX)と接続されているノー
ド0にパケット200を転送する。
【0046】パケット200を受け取ったノード0の通
信ユニットは、該パケット200の転送先ノード番号を
示すXBX/XBYルーティングフィールドが自ノード
0でないことを確認し、また、該ルーティングフィール
ドの値と自分割情報レジスタ120の値の照合がとれて
いることを確認した後、出力ポートYから出力信号線0
oYを通してパケット200をXBY0に転送する。
【0047】XBY0は、ノード0からのパケット20
0を、入力ポート0が受け取る。該XBY0は、入力ポ
ート構成情報レジスタ131,133の入力ポート0と
対応したビット(1ビット目)を参照し、図10より、
該当ビットに“1”が格納されているパーティション0
を選択する。次に、パケット200のXBYルーティン
グフィールド220の値“0011”を確認し、出力ポ
ート2と3を選択する。そこで、パーティション0の出
力ポート構成情報レジスタ132の出力ポート2、3に
対応するビット(3と4ビット目)を参照し、該当ビッ
トに“1”が格納されているか確認する。図10より、
XBY0のパーティション0の出力構成情報レジスタ1
32は“1010”であり、出力ポート2に対応するビ
ット3は“1”が格納されているが、出力ポート3に対
応するビット4は“0”が格納されている。このため、
XBY0は、パケット200の転送処理を中止し、エラ
ー情報レジスタ131をオンとする。
【0048】以上の様に、転送パケットのルーティング
フィールドを基に、逐次、各ノードの通信ユニットの分
割情報レジスタ、また、各クロスバスイッチの構成情報
レジスタの情報を参照することにより、他の分割グルー
プにパケットが転送されないことを保証し、相互結合網
の分割運転の信頼性が向上する。
【0049】次に、本実施例において、任意のノードか
らの同一の分割グループ内へのブロードキャストについ
て説明する。ここでは、ノードから該同一分割グループ
内のノード0,8,9にパケットをブローキャストする
ものとする。
【0050】ノード1から同一分割グループ内へブロー
ドキャストする際に、ノード1の演算ユニット100
は、内部バス110を通して、通信ユニット115にあ
る分割情報レジスタ120の内容“11001010”
(図7)を読み出し、当該上位4ビットの値“110
0”をXBXルーティングフィールドに、該下位4ビッ
トの値“1010”をXBYルーティングフィールドに
格納し、転送するデータをデータフィールドに格納する
ことにより、図2に示されるパケット200をローカル
メモリ105に生成する。次に、演算ユニット100は
乱数等を発生させた結果、例えば使用する出力ポートを
oXとし、内部バス110を通して通信ユニット115
に、該パケット200の転送指示をする。通信ユニット
115は、演算ユニット100からパケット200の転
送指示を受けると、内部バス110を通して、ローカル
メモリ105から転送すべきパケット200を読み出
し、該パケット200のXBXルーティングフィールド
の値“1100”から分割情報レジスタ120の上位4
ビット中の、XBX出力ポート0、1と対応したビット
(0と1ビット目)を参照し、それらのビットに各々
“1”が格納されており、且つ、該パケット200のX
BYルーティングフィールドの値“1010”から分割
情報レジスタ120の下位4ビット中の、XBY出力ポ
ート0、2と対応したビット(1と3ビット目)を参照
し、それらのビットに各々1が格納されていることを確
認し、指定された出力ポートoXから出力信号線1oXを
通してXBX0に、該読み出したパケット200を転送
する。
【0051】なお、ノード1の通信ユニット115は、
該転送パケット200のルーティングフィールドの値か
ら分割情報レジスタ120の出力ポートと対応したビッ
トを参照した際に、何れか一つのビットにでも“1”が
格納されていなかったならば、パケットの転送処理を中
止し、内部バス110を介して演算ユニット100に割
り込みを発生させる。または、エラー情報レジスタ12
1をオンとする。
【0052】XBX0は、ノード1からのパケット20
0を、入力ポート1が受け取る。該XBX0は、入力ポ
ート構成情報レジスタ131,133の入力ポート1と
対応したビット(2ビット目)を参照し、本例では、図
10より、該当ビットに1が格納されているパーティシ
ョン0を選択する。次に、パケット200のXBXルー
ティングフィールドの値“1100”を参照し、出力ポ
ート0、1を選択する。次に、パーティション0の出力
ポート構成情報レジスタ132の出力ポート0、1に対
応するビット(1と2ビット目)を参照し、本例では、
図10より、該当ビットに“1”が格納されているのを
確認する。そこで、XBX0は、出力ポート0、1の出
力信号線0oX、1oXを通して、該信号線0oX、1oX
と接続されているノード0、ノード1にパケット200
を転送する。
【0053】パケット200を受け取ったノード0、ノ
ード1の各通信ユニットは、該パケットがブロードキャ
ストであることを確認した後、それぞれの出力ポートか
ら出力信号線0oY、1oYを通してパケット200をX
BY0、XBY1に転送する。
【0054】XBY0,XBY1は、各々ノード0、1
からのパケット200を、入力ポート0で受け取る。該
XBY0、XBY1は、各々入力ポート構成情報レジス
タ131,133の入力ポート0と対応したビット(1
ビット目)を参照し、本例では、該当ビットに“1”が
格納されているパーティション0を選択する。次に、X
BY0、XBY1は、各々パケット200のXBYルー
ティングフィールドの値“1010”を確認し、出力ポ
ート0、2を選択する。次に、XBY0、XBY1は、
それぞれのパーティション0の出力ポート構成情報レジ
スタ132の出力ポート0、2に対応するビット(1と
3ビット目)を参照し、そのビットに1が格納されてい
るのを確認した後、各々出力信号線0oY、8oY、1o
Y、9oYと接続されているノード0、ノード8、ノー
ド1、ノード9にパケット200を転送する。
【0055】なお、各クロスバスイッチXBX0,XB
Y0,XBY1の構成情報レジスタのビットを参照した
際に、何れか一つの該当ビットにでも“1”が格納され
ていなければ、パケットの転送処理は中止し、エラー情
報レジスタ131をオンとする。
【0056】以上、本発明の一実施例として、各XB
X,XBYの入出力ポートをパーティション0、パーテ
ィション1に2分割する場合について説明したが、本発
明は一般的に、XBXの入出力ポートをM分割、XBY
の入出力ポートをN分割する任意の組み合せに適当可能
である(ただし、M,Nは1から最大ポート数)。この
場合、XBX,XBYには、MあるいはN組の各入出力
ポート構成情報レジスタを設ければよい。
【0057】
【発明の効果】本発明によれば、並列計算機の分割運転
時、ノードが分割情報レジスタを基に転送パケットの各
ルーティングフィールドの決定や確認を行い、また、ク
ロスバスイッチが構成情報レジスタのビットを基に各ル
ーティングフィールドの確認を行うことにより、他の分
割グループにパケットが転送されないことを保証し、高
信頼性の分割運転が可能になる。該相互結合網の分割運
転を行っている。
【図面の簡単な説明】
【図1】本発明の一実施例の並列計算機を示す構成図で
ある。
【図2】通信パケットの構成例を示す図である。
【図3】転送先ノード番号とルーティングフィールドの
対応を示す図である。
【図4】分割グループとパーティションの対応を示す図
である。
【図5】ノードの構成例を示す図である。
【図6】ノード内の分割情報レジスタの構成例を示す図
である。
【図7】実施例における分割情報レジスタのビットパタ
ーンを示す図である。
【図8】クロスバスイッチの構成例を示す図である。
【図9】クロスバスイッチ内の構成情報レジスタの構成
例を示す図である。
【図10】実施例における構成情報レジスタのビットパ
ターンを示す図である。
【符号の説明】 1〜15 ノード XBX0〜XBX3、XBY0〜XBY3 クロスバス
イッチ 120 分割情報レジスタ 130 構成情報レジスタ 200 通信パケット 210,220 ルーティングフィールド
───────────────────────────────────────────────────── フロントページの続き (72)発明者 舟窪 伸夫 神奈川県秦野市堀山下1番地 株式会社日 立製作所汎用コンピュータ事業部内

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 複数個のプロセッサ(以下、ノード)と
    いうと、複数個の入出力ポートを持ったクロスバスイッ
    チからなる相互結合網で構成された並列計算機におい
    て、ノードを複数のグループに分割し、同一グループに
    属するノード同士でパケット形式によりデータを転送す
    る方法であって、 クロスバスイッチの入出力ポートを複数の部分に分割し
    (以下、分割した各部分をパーティションという)、 各ノードに、自ノードが接続されるクロスバスイッチの
    該当パーティションに属する出力ポート情報をあらかじ
    め保持し、 各ノードは、パケットを転送する前に、該パケットにル
    ーティング情報として付加されている転送先ノードのポ
    ート情報を前記あらかじめ保持された出力ポート情報と
    照合し、照合がとれたならば、自ノードが接続されるク
    ロスバスイッチに該パケットを送出し、照合がとれない
    場合には該パケットの送出を中止することを特徴とする
    並列計算機のデータ転送方法。
  2. 【請求項2】 複数個のプロセッサ(以下、ノードとい
    う)と、複数個の入出力ポートを持ったクロスバスイッ
    チからなる相互結合網で構成された並列計算機におい
    て、ノードを複数のグループに分割し、同一グループに
    属するノード同士でパケット形式によりデータを転送す
    る方法であって、 クロスバスイッチの入出力ポートを複数の部分に分割し
    (以下、分割した各部分をパーティションという)、 各クロスバスイッチに、自クロスバスイッチの各パーテ
    ィションに属する入出力ポート情報をあらかじめ保持
    し、 各クロスバスイッチは、パケットを入力ポートで受信す
    ると、入力ポート情報により該入力ポートの属するパー
    ティションを選択し、前記受信したパケットにルーティ
    ング情報として付加されている転送先ノードのポート情
    報を前記選択されたパーティションに属する出力ポート
    情報と照合し、照合がとれたならば、該当出力ポートよ
    り該パケットを送出し、照合がとれない場合には該パケ
    ットの送出を中止することを特徴とする並列計算機のデ
    ータ転送方法。
  3. 【請求項3】 請求項1、2記載の並列計算機のデータ
    転送方法において、分割グループの構成変更に応じ、各
    ノードの出力ポート情報あるいは各クロスバスイッチの
    入出力ポート情報の内容を変更することを特徴とする並
    列計算機のデータ転送方法。
JP8034780A 1996-02-22 1996-02-22 並列計算機のデータ転送方法 Pending JPH09231187A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8034780A JPH09231187A (ja) 1996-02-22 1996-02-22 並列計算機のデータ転送方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8034780A JPH09231187A (ja) 1996-02-22 1996-02-22 並列計算機のデータ転送方法

Publications (1)

Publication Number Publication Date
JPH09231187A true JPH09231187A (ja) 1997-09-05

Family

ID=12423810

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8034780A Pending JPH09231187A (ja) 1996-02-22 1996-02-22 並列計算機のデータ転送方法

Country Status (1)

Country Link
JP (1) JPH09231187A (ja)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1703413A1 (en) 2005-03-18 2006-09-20 Fujitsu Limited Partition allocation method and computer system
WO2008149784A1 (ja) * 2007-06-08 2008-12-11 Nec Corporation 半導体集積回路及びフィルタ制御方法
WO2008149783A1 (ja) * 2007-06-08 2008-12-11 Nec Corporation 半導体集積回路及びフィルタ制御方法
JP2009129447A (ja) * 2007-11-27 2009-06-11 Internatl Business Mach Corp <Ibm> デザイン構造、ネットワーク・オン・チップ(‘noc’)でのデータ処理方法、ネットワーク・オン・チップ、およびネットワーク・オン・チップでのデータ処理のためのコンピュータ・プログラム(パーティションを有するネットワーク・オン・チップのためのデザイン構造)
JPWO2007096987A1 (ja) * 2006-02-24 2009-07-09 富士通株式会社 エラー制御装置
WO2010064661A1 (ja) * 2008-12-04 2010-06-10 日本電気株式会社 並列計算システム、その方法及びそのプログラム
WO2011036726A1 (ja) * 2009-09-25 2011-03-31 富士通株式会社 情報処理装置、及びその設定切り替え方法
JP2012185640A (ja) * 2011-03-04 2012-09-27 Nec Corp 障害処理回路を含むマルチノードシステム及び障害処理方法
JP5930046B2 (ja) * 2012-08-17 2016-06-08 富士通株式会社 情報処理装置、及び情報処理装置の制御方法

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1703413A1 (en) 2005-03-18 2006-09-20 Fujitsu Limited Partition allocation method and computer system
JPWO2007096987A1 (ja) * 2006-02-24 2009-07-09 富士通株式会社 エラー制御装置
US8264948B2 (en) 2006-02-24 2012-09-11 Fujitsu Limited Interconnection device
US8531963B2 (en) 2007-06-08 2013-09-10 Nec Corporation Semiconductor integrated circuit and filter control method
WO2008149783A1 (ja) * 2007-06-08 2008-12-11 Nec Corporation 半導体集積回路及びフィルタ制御方法
US8412867B2 (en) 2007-06-08 2013-04-02 Nec Corporation Semiconductor integrated circuit and filter and informational delivery method using same
JP5246158B2 (ja) * 2007-06-08 2013-07-24 日本電気株式会社 半導体集積回路及びフィルタ制御方法
WO2008149784A1 (ja) * 2007-06-08 2008-12-11 Nec Corporation 半導体集積回路及びフィルタ制御方法
JP5287718B2 (ja) * 2007-06-08 2013-09-11 日本電気株式会社 半導体集積回路及びフィルタ制御方法
JP2009129447A (ja) * 2007-11-27 2009-06-11 Internatl Business Mach Corp <Ibm> デザイン構造、ネットワーク・オン・チップ(‘noc’)でのデータ処理方法、ネットワーク・オン・チップ、およびネットワーク・オン・チップでのデータ処理のためのコンピュータ・プログラム(パーティションを有するネットワーク・オン・チップのためのデザイン構造)
WO2010064661A1 (ja) * 2008-12-04 2010-06-10 日本電気株式会社 並列計算システム、その方法及びそのプログラム
US8824317B2 (en) 2008-12-04 2014-09-02 Nec Corporation Parallel calculation system, and method and program thereof
WO2011036726A1 (ja) * 2009-09-25 2011-03-31 富士通株式会社 情報処理装置、及びその設定切り替え方法
JP5282826B2 (ja) * 2009-09-25 2013-09-04 富士通株式会社 情報処理装置、及びその設定切り替え方法
JP2012185640A (ja) * 2011-03-04 2012-09-27 Nec Corp 障害処理回路を含むマルチノードシステム及び障害処理方法
JP5930046B2 (ja) * 2012-08-17 2016-06-08 富士通株式会社 情報処理装置、及び情報処理装置の制御方法

Similar Documents

Publication Publication Date Title
US11640362B2 (en) Procedures for improving efficiency of an interconnect fabric on a system on chip
EP0226632B1 (en) A packet switching network with multiple packet destinations
US5047917A (en) Apparatus for intrasystem communications within a binary n-cube including buffer lock bit
JPS6360579B2 (ja)
JPH09231187A (ja) 並列計算機のデータ転送方法
JPS6194437A (ja) マルチステージパケツト交換ネツトワーク
JP2509947B2 (ja) ネットワ−ク制御方式
JPH0818565A (ja) データ処理装置
EP0520116A1 (en) Method and apparatus for performing pattern search functions
JP2976675B2 (ja) アレイプロセッサのルーティング方法
EP0365745A2 (en) A method for detecting and avoiding erroneous decombining in combining networks for parallel computing systems
JP2853652B2 (ja) プロセッサ間通信におけるパケット送信方法およびその装置
JP2001202345A (ja) 並列プロセッサ
JPH07262142A (ja) 並列処理制御方式
JP3609908B2 (ja) 計算機接続装置
JP2581286B2 (ja) 網制御方法
JPH0520783B2 (ja)
JP2731738B2 (ja) マルチプロセッサシステム
JP2878160B2 (ja) 競合調停装置
Shepherd et al. Next Generation Transputers and Beyond-1: Transputers and Routers: Components for Concurrent Machines
GB2271203A (en) Digital processing system
Chang et al. Fault-tolerant routing in unique-path multistage Omega network
JPH0367380B2 (ja)
JP2000216787A (ja) 並列計算機、多段結合網、交換スイッチ
JPH0578861B2 (ja)