JP2002297560A - 並列計算機 - Google Patents

並列計算機

Info

Publication number
JP2002297560A
JP2002297560A JP2001104255A JP2001104255A JP2002297560A JP 2002297560 A JP2002297560 A JP 2002297560A JP 2001104255 A JP2001104255 A JP 2001104255A JP 2001104255 A JP2001104255 A JP 2001104255A JP 2002297560 A JP2002297560 A JP 2002297560A
Authority
JP
Japan
Prior art keywords
barrier synchronization
axis
node
storage means
processor
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
JP2001104255A
Other languages
English (en)
Other versions
JP4117721B2 (ja
Inventor
Toshio Kawamura
敏雄 川村
Shinichi Kato
信一 加藤
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 JP2001104255A priority Critical patent/JP4117721B2/ja
Publication of JP2002297560A publication Critical patent/JP2002297560A/ja
Application granted granted Critical
Publication of JP4117721B2 publication Critical patent/JP4117721B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Abstract

(57)【要約】 【課題】 任意の複数グリープからなる矩形以外のノー
ド群に分割してバリア同期を実施可能とする並列計算機
を提供する。 【解決手段】 並列計算機を構成する各プロセッサノー
ド3は、自ノードと同一クロスバ1,2に接続されるノ
ード内の各接続軸毎のバリア同期に参加するノード集合
を記憶する記憶手段4と、自ノードと同一クロスバに接
続されるノードのバリア同期状態を各接続軸毎に記憶す
る記憶手段6と、バリア同期に参加するノード集合形状
が矩形であるか否かを記憶する記憶手段5を備える。記
憶種゛単4,6を比較して、各軸毎にバリア同期を実施
後、記憶手段5を参照し、矩形無効時にはさらに各軸毎
にバリア同期を実施するようにする。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、複数のノードがク
ロスバネットワーク結合方式で接続され、通信ネットワ
ークによってバリア同期処理を実行する機能を有する並
列計算機に関し、特に任意のノードの組み合わせでバリ
ア同期を実施可能とする並列計算機に関するものであ
る。
【0002】
【従来の技術】並列計算機では、複数のノードに割り振
られた並列プログラムに対して、それぞれのノードが平
行して演算処理を実行し、各ノードは、他のノードで実
行されている演算処理がある点まで実行されたことを条
件として次の演算処理に進むように、同期処理が行われ
る。このような同期をとる手法として、バリア同期が一
般に用いられる。クロスバネットワークによるバリア同
期では、並列プログラムを実行しているそれぞれのノー
ドは、演算処理がプログラム上に定められた同期点に到
達すると、バリア同期パケットによって他ノードに同期
点への到達を通知する。すべてのノードが同期点への到
達を通知することでバリア同期が成立する。
【0003】従来、並列計算機ネットワーク結合方式と
しては、例えば特開昭63―124162号公報「並列
計算機の相互結合方式」に記載されているハイパークロ
スバ方式がある。この方式は、多次元直交座標格子点上
に配置されたプロセッサノードを、各座標軸方向に完全
クロスバスイッチにより結合したものであり、任意のプ
ロセッサノード間が効率良く通信される。
【0004】
【発明が解決しようとする課題】複数ノードがハイパー
クロスバネットワーク結合方式等で接続された並列計算
機において、並列プログラムが全プロセッサノード群で
同一の処理を実施するのではなく、分割して処理を実施
し、分割したノード群の単位でバリア同期を実施する場
合がある。しかしながら、従来方式では、バリア同期機
構の制約により、全プロセッサノードもしくは矩形のノ
ード群単位でバリア同期を実施する必要があり、任意に
分割したノード群の単位で同時にバリア同期処理を実施
することができなかった。
【0005】本発明の目的は、複数のプロラッサノード
がクロスバネットワークで接続された並列計算機におい
て、並列プログラムを分割したノード群において実施す
る場合に、ノード群の形状を矩形以外にも適用可能なバ
リア同期制御機構を提供することにある。
【0006】
【課題を解決するための手段】本発明は、並列計算機を
構成する各プロセッサノードが、自ノードと同一クロス
バに接続されるノード内の各接続軸毎のバリア同期に参
加するノード集合を設定記憶するバリア同期参加形状設
定記憶手段(第1記憶手段)と、自ノードと同一クロス
バに接続されるノードのバリア同期状態を各接続軸毎に
記憶するバリア同期状態記憶手段(第2記憶手段)と、
バリア同期に参加するノード集合形状が矩形であるか否
かを設定記憶する矩形分割モード設定記憶手段(第3記
憶手段)を備える。各プロセッサノードは、バリア同期
参加形状設定記憶手段とバリア同期状態記憶手段をとも
に、ある接続軸に接続されたバリア同期に参加したノー
ド間のバリア同期が同期点に到達していることを判定
し、次の接続軸に対してバリア同期を実施し、すべての
接続軸のバリア同期が同期点に到達していることを確認
後、矩形分割モード設定記憶手段を参照し、バリア同期
に参加するノード集合形状が矩形でない場合には、さら
に各接続軸毎にバリア同期を実施するようにする。
【0007】
【発明の実施の形態】以下、本発明の一実施例を図面を
用いて具体的に説明する。図2は、ハイパークロスバ方
式で結合されたネットワークの概念図である。システム
全体は、X軸クロスバスイッチ1−1〜1−3、Y軸ク
ロスバスイッチ2−1〜2−3、プロセッサノード3の
集合として構成される。図2では、各々、X軸方向に3
プロセッサノード、Y軸方向に3プロセッサノードを配
置し、これらのノードをX軸クロスバスイッチ1−1〜
1−3とY軸クロスバスイッチ2−1〜2−3によって
ハイパークロスバ方式で結合したネットワークが構成さ
れている。各ノード3には座標が割り当てられていて、
図2の例では、ノード(1,1)の座標からノード
(3,3)の座標までが識別されている。
【0008】プロセッサノード(1,1)、(2,
1)、(3,1)は、X軸クロスバスイッチ1−1に接
続され、プロセッサノード(1,2)、(2,2)、
(3,2)は、X軸クロスバスイッチ1−2に接続さ
れ、プロセッサノード(1,3)、(2,3)、(3,
3)は、X軸クロスバスイッチ1−3に接続されてい
る。また、プロセッサノード(1,1)、(1,2)、
(1,3)は、Y軸クロスバスイッチ2−1に接続さ
れ、プロセッサノード(2,1)、(2,2)、(2,
3)は、Y軸クロスバスイッチ2−2に接続され、プロ
セッサノード(3,1)、(3,2)、(3,3)は、
Y軸クロスバスイッチ2−3に接続されている。
【0009】図1は、本発明による並列計算機の一実施
例のブロック図であり、特に一つのX軸クロスバスイッ
チ1と一つのY軸クロスバスイッチ2に接続される一つ
のプロセッサノード3の構成例を示す。図1中、プロセ
ッサノード3は、命令プロセサ110と、メモリ111
と、メモリ制御ユニット112と、さらに通信ユニット
113を具備している。ここで、通信ユニット113
は、X軸あるいはY軸に向けて送付されるバリア同期パ
ケットデータを生成するバリア同期パケット生成回路1
30と、X軸クロスバスイッチ1、Y軸クロスバスイッ
チ2とデータ授受を行うための入出力ポート140と、
バリア同期の設定の保持及び状態の制御を行なうバリア
同期管理回路150からなる。バリア同期管理回路15
0は、バリア同期参加形状設定記憶手段4と、矩形分割
モード設定記憶手段5と、バリア同期状態記憶手段6を
有する。
【0010】バリア同期参加形状設定記憶手段4には、
自ノードと同一クロスバスイッチ1,2に接続されるノ
ード内の各接続軸毎のバリア同期に参加するノードの集
合が設定記憶される。矩形分割モード設定記憶手段5に
は、バリア同期に参加するノードの集合状形が矩形であ
るか否かを示すフラグ(ビット)が設定記憶される。バ
リア同期状態記憶手段6は、ノード3と同一クロスバス
イッチ1,2に接続されるノードのバリア同期状態を各
接続軸毎に記憶する。これら記憶手段4,5,6につい
ては後述する。
【0011】本実施例の各プロセッサノード3内のプロ
セッサ110の動作は、メモリ111上のプログラムを
読み出し実行する、従来のマイクロプロセッサの動作と
同様である。なお、図1ではプロセッサ110が1台で
あるが、複数でも構わない。
【0012】バリア同期は、プロセッサ110がメモリ
制御ユニット112を経由してバリア同期管理回路15
0に命令を書き込むことにより起動される。このバリア
同期を起動する前に、バリア同期に参加する全てのプロ
セッサノード3毎に、バリア同期参加形状設定記憶手段
4および矩形分割モード設定記憶手段5に、プロセッサ
110がメモリ制御ユニット112を経由して値を設定
する。
【0013】バリア同期が起動されると、バリア同期パ
ケット生成回路130は、バリア同期管理回路150か
らの宛先情報等をもとにバリア同期パケットを生成す
る。この生成されたバリア同期パケットが、入出力ポー
ト140を介し、まず、X軸クロスバスイッチ1に送付
される。同様に他のノードでもバリア同期が起動され、
X軸クロスバスイッチ1に対してバリア同期パケットが
送付される。バリア同期パケットを受け取ったX軸クロ
スバスイッチ1は、自クロスバスイッチに接続するノー
ドの内、バリア同期パケットの中に含まれる宛先ノード
に対してのみ、そのバリア同期パケットを送付する。各
プロセッサノードは、X軸クロスバスイッチ1から送付
されたバリア同期パケットを入出力ポート140で受信
し、バリア同期管理回路150において、バリア同期状
態記憶手段6に記憶し、これをバリア同期参加形状設定
記憶手段4の設定値と比較することで、自ノードを含め
てX軸クロスバスイッチ1に接続されるすべてのノード
の内、バリア同期参加形状設定記憶手段4に設定され
た、つまりバリア同期に参加している全てのノードから
バリア同期パケットが送付されてくるのを監視する。そ
れらのバリア同期パケットをすべて受信することでX軸
方向の同期が成立し、バリア同期管理回路150は、X
軸同期の成立を検出する。
【0014】X軸同期が検出されると、バリア同期管理
回路150はバリア同期パケット生成回路130に指示
し、バリア同期パケット生成回路130は、次に入出力
ポート140を介し、Y軸クロスバスイッチ2に対して
バリア同期パケットを送付する。他のノードに関しても
同様である。各プロセッサノードは、バリア同期管理回
路150において、同様にY軸方向の同期の成立を監視
する。Y軸方向の同期が成立したプロセッサノードは、
矩形分割モード設定記憶手段5を参照する。ここで、矩
形分割モード設定記憶手段5が、バリア同期に参照する
プロセッサ群の形状が矩形で有効と設定されている場合
は、既にそのプロセッサノードが接続するX軸に関して
同期が成立しているため、バリア同期に参加している全
ノードが同じ同期点に到達したことを検出する。
【0015】バリア同期に参加するプロセッサ群の形状
が矩形でなく、矩形分割モード設定記憶手段5が無効と
設定されていた場合は、バリア同期管理回路150は、
バリア同期パケット生成回路130に指示して、再度X
軸方向の同期、Y軸方向の同期処理を実施し、Y軸方向
の同期が成立した時点でバリア同期に参加している全ノ
ードが同じ同期点に到達したことを検出する。バリア同
期成立を検出したバリア同期管理回路150は、メモリ
制御ユニット112を介してプロセッサ(CPU)11
0にバリア同期成立を通知する。
【0016】次に、図1の構成において、プロセッサノ
ード3におけるバリア同期の起動に関して、図3を用い
て更に詳細に説明する。図3中、図1と同一部分には同
一の符号を付している。131はバリア同期パケットデ
ータ、132はノード座標記憶手段、133はセレク
タ、153,155はそれぞれバリア同期参加形状設定
記憶手段4を構成するX軸バリア同期参加記憶手段とY
軸バリア同期参加記憶手段、156は軸ID決定回路、
157はセレクタである。
【0017】矩形分割モード設定記憶手段5の値、及
び、バリア同期参加形状設定記憶手段4のX軸バリア同
期参加記憶手段153とY軸バリア同期参加記憶手段1
55の値はプログラム実行前にプロセッサ110によっ
て予め設定される。矩形分割モード設定記憶手段5は、
バリア同期に参加するノード群の形状が矩形の場合、値
は0、矩形以外は1である。X軸バリア同期参加記憶手
段153はnビット(nはX軸方向ののノード数)で構
成され、それぞれのビット位置はノードのX座標に対応
し、バリア同期に参加しているプロセッサノードのビッ
ト位置を1とし、他は0に設定する。Y軸バリア同期参
加記憶手段155は同様にnビット(nはY軸方向のノ
ード数)で構成され、それぞれのビット位置はノードの
Y座標に対応し、バリア同期に参加しているプロセッサ
ノードのビット位置を1とし、他は0に設定する。
【0018】プログラムを実行しているプロセッサ11
0は、プログラム上に予め定められた同期点に到達した
とき、バリア同期を起動するためにバリア同期管理回路
150に起動を通知し、バリア同期待ち状態に入る。バ
リア同期管理回路150は、バリア同期の起動を軸ID
決定回路156に通知する。軸ID決定回路156で
は、同期待ちのクロスバがX軸かY軸か及びその回数を
識別するための情報を決定する。本実施例では、同期待
ちのクロスバがX軸方向でかつ1回目のX軸同期であれ
ば軸IDは00、Y軸方向でかつ1回目のY軸同期であ
れば軸IDは01、X軸方向でかつ2回目のX軸同期で
あれば軸IDは10、Y軸方向でかつ2回目のY軸同期
であれば軸IDは11とする。したがってバリア同期が
起動されたときは軸IDの値は00である。
【0019】バリア同期パケット生成回路130内のノ
ード座標記憶手段132はXフィールドとYフィールド
を持ち、自ノードの座標を記憶している。ノード座標記
憶手段132の値はプログラム実行前にプロセッサ11
0によって予め設定される。例えば、図2のノード
(1、1)の場合、ノード座標記憶手段132のXフィ
ールドの値は1、Yフィールドの値は1である。
【0020】バリア同期パケットデータ131は軸ID
フィールド、宛先フィールド、座標フィールドを持つ。
軸IDフィールドには軸ID決定回路156で決定され
た値が格納される。座標フィールドには、ノード座標記
憶手段132のXフィールドの値またはYフィールドの
値が軸ID決定回路156の値によってセレクタ133
で選択されて格納される。セレクタ133は、軸ID決
定回路156の値が00または10の場合はXフィール
ドの値、01または11の場合はYフィールドの値を選
択する。宛先フィールドには、X軸バリア同期参加記憶
手段153の値またはY軸バリア同期参加記憶手段15
5の値がセレクタ157で選択されて格納される。セレ
クタ157は、軸ID決定回路156の値が00または
10の場合は、X軸バリア同期参加記憶手段153の
値、01または11の場合は、Y軸バリア同期参加記憶
手段155の値を選択する。バリア同期パケットデータ
131の各フィールドに値が格納されると、入出力ポー
ト140を介して、バリア同期パケットが、X軸方向ク
ロスバ1あるいはY軸方向クロスバス2に送付される。
【0021】次に、図1の構成において、プロセッサノ
ード3におけるバリア同期パケットを受信し、バリア同
期成立の検出について、図4を用いて更に詳細に説明す
る。図4中、図1と同一部分には同一の符号を付してい
る。151はバリア同期パケット受信データ、152お
よび154はそれぞれバリア同期状態記憶手段6を構成
するX軸バリア同期状態記憶手段とY軸バリア状態記憶
手段、158および159は比較回路である。また、1
53および155はそれぞれ図3で示したバリア同期参
加形状設定記憶手段4を構成するX軸バリア同期参加記
憶手段とY軸バリア同期参加記憶手段、156は軸ID
決定回路である。
【0022】バリア同期パケット受信データ151は軸
IDフィールド、宛先座標フィールドを持ち、それぞれ
のフィールドには、入出力ポート140を介してX軸方
向クロスバ1またはY軸方向クロスバ2から受信した送
信元バリア同期パケットのそれぞれ対応するフィールド
のデータが格納される。図3で説明したように、軸ID
フィールドは、本実施例では同期待ちのクロスバがX軸
方向でかつ1回目のX軸同期であれば00、Y軸方向で
かつ1回目のY軸同期であれば01、X軸方向でかつ2
回目のX軸同期であれば10、Y軸方向でかつ2回目の
Y軸同期であれば11である。また、座標フィールド
は、バリア同期パケット受信データの送信ノードのXあ
るいはY座標をあらわす。
【0023】X軸バリア同期状態記憶手段152はnビ
ット(X軸方向のノード数)で構成され、それぞれのビ
ット位置はノードのX座標に対応する。なお、プログラ
ム開始時には、X軸バリア同期状態記憶手段152のビ
ット列の初期値はオール0がセットされている。バリア
同期パケット受信データ151の軸IDフィールドの値
が00または10の場合、バリア同期パケット受信デー
タ151の座標フィールドの値に対応するX軸バリア同
期状態記憶手段152のビット位置の値が1にセットさ
れる。このX軸バリア同期状態記憶手段152のビット
列の値とX軸バリア同期参加状態記憶手段153の値を
比較回路158において比較し、一致と判定した時、X
軸に関して同期が成立したことを表している。X軸バリ
ア同期状態記憶手段152はX軸に関して同期が成立し
た時点でオール0に再セットされて、次の同期処理の実
施にそなえる。
【0024】Y軸バリア同期状態記憶手段154も同様
にnビット(Y軸方向のノード数)で構成され、それぞ
れのビット位置はY座標に対応し、ビット列の初期値は
オール0である。バリア同期パケット受信データ151
の軸IDフィールドの値が01または11の場合、バリ
ア同期パケット受信データ151の座標フィールドの値
に対応するY軸バリア同期状態記憶手段154のビット
位置の値が1にセットされる。このY軸バリア同期状態
記憶手段154のビット列の値とY軸バリア同期参加状
態記憶手段155の値を比較回路159において比較
し、一致と判定した時、Y軸に関して同期が成立したこ
とを表している。Y軸バリア同期状態記憶手段154
も、同様にY軸に関して同期が成立した時点でオール0
に再セットされて、次の同期処理の実施にそなえる。
【0025】Y軸バリア同期状態記憶手段154のビッ
ト列の値とY軸バリア同期参加状態記憶手段155の値
が比較回路159において一致と判定され、矩形分割モ
ード設定記憶手段5が矩形有効を意味する値0であり、
軸ID決定回路156の値が01である場合、バリア同
期に参照したプロセッサノードが全て同期点に致達した
ことを意味する。矩形分割モード設定記憶手段5が矩形
無効を意味する値1の場合は、再度バリア同期パケット
を送受信して、X軸方向の同期、Y軸方向の同期処理を
実施する。そして、Y軸バリア同期状態記憶手段154
のビット列の値とバリア同期参加状態記憶手段155の
値が比較回路159において一致と判定され、軸ID決
定回路156の値が11になった場合、バリア同期に参
加したプロセッサノードが全て同期点に到達したことを
意味する。
【0026】軸ID決定回路156は、軸IDの状態
と、矩形分割モード設定記憶手段5の値と、比較回路1
59の出力とにより、バリア同期に参加したプロセッサ
ノードが全て同期点に到達したことを検出すると、メモ
リ制御ユニット112を介してプロセッサ110にバリ
ア同期成立を通知する。
【0027】次に、図5から図16を使って具体的な動
作例について説明する。なお、簡単のために、以下の説
明では並列計算機の構成を図2に示した3×3(n=
3)とし、バリア同期に参加するプロセッサノードを3
−1の(1,1)、3−2(2,1)、3−3の(3,
1)、3−4の(1,2)とする。また、プロセッサノ
ード3−1、3−2、3−3、3−4の順にバリア同期
を実施するものとする。なお、実際にはバリア同期は順
不同で実施される。
【0028】まず、バリア同期を起動するに先立ち、プ
ロセッサノード3−1、3−2、3−3、3−4におい
て、図5に示すように、X軸バリア同期参加記憶手段1
53、Y軸バリア同期参加記憶手段155、矩形分割モ
ード設定記憶手段5にそれぞれ値を設定する。ここで、
矩形分割モード設定記憶手段5の値が1は、バリア同期
に参加するプロセッサノード3−1,3−2,3−3,
3−4の集合形状が矩形でないことを示している。軸I
D決定回路156の軸IDの初期値は00である。な
お、X軸バリア同期状態記憶手段152とY軸バリア同
期状態記憶手段154の初期値はオール0である。
【0029】プロセッサノード3−1がバリア同期を起
動すると、プロセッサノード3−1は、X軸方向クロス
バ1−1へ、プロセッサノード3−1、3−2、3−3
宛にバリア同期パケットを送信し、プロセッサノード3
−1,3−2,3−3は、図6のバリア同期パケット受
信データ151(軸ID=00、X座宛先=111、X
座標=1)に示すバリア同期パケットを受信する。バリ
ア同期パケット受信データ151の座標フィールド(X
座標)の値が1であるので、図6に示すように、プロセ
ッサノード3−1、3−2、3−3では、X軸バリア同
期状態記憶手段152のビット1の値が1にセットされ
る。
【0030】次に、プロセッサノード3−2がバリア同
期を起動すると、プロセッサノード3−2は、X軸方向
クロスバ1−1へ、プロセッサノード3−1、3−2、
3−3宛にバリア同期パケットを送信し、プロセッサノ
ード3−1,3−2,3−3は、図7のバリア同期パケ
ット受信データ151(軸ID=00、X宛先=11
1、X座標=2)に示すバリア同期パケットを受信す
る。バリア同期パケット受信データ151の座標フィー
ルド(X座標)の値が2であるので、図7に示すよう
に、プロセッサノード3−1、3−2、3−3では、X
軸バリア同期状態記憶手段152のビット2の値が1に
セットされる。
【0031】次にプロセッサノード3−3がバリア同期
を起動すると、プロセッサノード3−3は、X軸方向ク
ロスバ1−1へ、プロセッサノード3−1、3−2、3
−3宛にバリア同期パケットを送信し、プロセッサノー
ド3−1、3−2、3−3は図8のバリア同期パケット
受信データ151(軸ID=00、X宛先=111、X
座標=3)に示すバリア同期パケットを受信する。バリ
ア同期パケット受信データ151の座標フィールド(X
座標)の値が3であるので、プロセッサノード3−1、
3−2、3−3ではX軸バリア同期状態記憶手段152
のビット3の値が1にセットされる。
【0032】この時、プロセッサノード3−1、3−
2、3−3は、図8に示すようにX軸バリア同期状態記
憶手段152のビット列の値とX軸バリア同期参加記憶
手段153のビット列の値が一致となり、X軸に関して
同期が成立したことを表している。
【0033】図8の状態の後、X軸の同期成立を受け
て、プロセッサノード3−1、3−2、3−3では、Y
軸に向けて送付されるバリア同期パケットデータが生成
される。この時、プロセッサノード3−1,3−2、3
−3の軸ID決定回路156では、軸IDの値が01と
なり、X軸バリア同期状態記憶手段152はオール0に
なる。
【0034】バリア同期パケットは、Y軸に向けてプロ
セッサノード3−1からプロセッサノード3−1と3−
4宛に、プロセッサノード3−2から自プロセッサノー
ド3−2宛に、プロセッサノード3−3から同じく自プ
ロセッサノード3−3宛に送出される。
【0035】プロセッサノード3−1がY軸方向クロス
バ2−1へ、プロセッサノード3−1、3−4宛にバリ
ア同期パケットを送出すると、プロセッサノード3−
1、3−4は、図9のバリア同期パケット受信データ1
51(軸ID=01,Y宛先=110,Y座標=1)に
示すバリア同期パケットを受信する。プロセッサノード
3−2がY軸方向クロスバ2−2へ、プロセットノード
3−2宛にバリア同期パケットを送出すると、プロセッ
サノード3−2は、図9のバリア同期パケット受信デー
タ151(軸ID=01,Y宛先=100,Y座標=
1)に示すバリア同期パケットを受信する。同様に、プ
ロセッサノード3−3がY軸方向クロスバ2−3へ、プ
ロセットノード3−3宛にバリア同期パケットを送出す
ると、プロセッサノード3−3は、図9のバリア同期パ
ケット受信データ151(軸ID=01,Y宛先=10
0,Y座標=1)に示すバリア同期パケットを受信す
る。各バリア同期パケット受信データ151の座標フィ
ールド(Y座標)の値が1であるので、図9に示すよう
に、プロセッサノード3−1、3−2、3−3、3−4
のY軸バリア同期状態記憶手段154のビット1の値が
1にセットされる。
【0036】この時、プロセッサノード3−2、3−3
は、図9に示すように、Y軸バリア同期状態記憶手段1
54のビット列の値とY軸バリア同期参加記憶手段15
5のビット列の値が一致となり、Y軸に関して同期が成
立したことを表している。ただし、矩形モード設定記憶
手段5が矩形無効を示す値1であるため、プロセッサノ
ード3−2、3−3では、再びX軸に向けて送付される
バリア同期パケットデータを生成し送信する。この時、
プロセッサ3−2,3−3の軸ID決定回路156で
は、軸IDの値が10となり、Y軸バリア同期状態記憶
手段154はオール0となる。
【0037】バリア同期パケットは、X軸に向けてプロ
セッサノード3−2からプロセッサノード3−1、3−
2、3−3宛に、プロセッサノード3−3から同じくプ
ロセッサノード3−1、3−2、3−3宛に送信され
る。ここでは説明の便宜上、プロセッサノード3−2、
3−3が送信したパケットの順で到着したとして説明を
続ける。
【0038】プロセッサノード3−2がX軸方向クロス
バ1−1へ、プロセッサノード3−1、3−2、3−3
宛にバリア同期パケットを送信すると、プロセッサノー
ド3−1、3−2、3−3は、図10のバリア同期パケ
ット受信データ151(軸ID=10、X宛先=11
1、X座標=2)に示すリア同期パケットを受信する。
バリア同期パケット受信データ151の座標フィールド
(X座標)の値が2であるので、図10に示すように、
プロセッサノード3−1,3−2,3−3では、X軸バ
リア同期状態記憶手段152のビット2の値が1にセッ
トされる。
【0039】プロセッサノード3−3がX軸方向クロス
バ1−1へ、プロセッサノード3−1、3−2、3−3
宛にバリア同期パケットを送信すると、プロセッサノー
ド3−1、3−2、3−3は、図11のバリア同期パケ
ット受信データ151(軸ID=10、X宛先=11
1、X座標=3)に示すバリア同期パケットを受信す
る。バリア同期パケット受信データ151の座標フィー
ルド(X座標)の値が3であるので、図11に示すよう
に、プロセッサノード3−1,3−2,3−3では、X
軸バリア同期状態記憶手段152のビット3の値が1に
セットされる。
【0040】一方、プロセッサノード3−4がバリア同
期を起動すると、プロセッサノード3−4はX軸クロス
バ1−2へ、自プロセッサノード3−4宛にバリア同期
パケットを送信し、プロセッサノード3−4は、図12
のバリア同期パケット受信データ151(軸ID=0
0、X宛先=100、X座標=1)に示すバリア同期パ
ケットを受信する。バリア同期パケット受信データ15
1の座標フィールド(X座標)の値が1であるので、図
12に示すように、プロセッサノード3−4では、X軸
バリア同期状態記憶手段152のビット1の値が1にセ
ットされる。
【0041】この時、プロセッサノード3−4は、図1
2に示すように、X軸バリア同期状態記憶手段152の
ビット列の値とX軸バリア同期参加記憶手段153のビ
ット列の値が一致となり、X軸に関して同期が成立した
ことを表している。
【0042】図12の状態の後、X軸の同期成立を受け
て、プロセッサノード3−4では、Y軸に向けて送付さ
れるバリア同期パケットデータが生成される。この時、
プロセッサノード3−4の軸ID決定回路156では軸
IDの値が01、X軸バリア同期状態記憶手段152は
オール0となる。
【0043】バリア同期パケットは、プロセッサノード
3−4からY軸方向クロスバ2−1へ、プロセッサノー
ド3−1と3−4宛に送信され、プロセッサノード3−
1、3−4は、図13のバリア同期パケット受信データ
151(軸ID=01、Y宛先=110、Y座標=2)
に示すバリア同期パケットを受信する。バリア同期パケ
ット受信データ151の座標フィールド(Y座標)の値
が2であるので、図13に示すように、プロセッサノー
ド3−1,3−4のY軸バリア同期状態記憶手段154
のビット2の値が1にセットされる。
【0044】この時、プロセッサノード3−1、3−4
は、図13に示すように、Y軸バリア同期状態記憶手段
154のビット列の値とY軸バリア同期参加記憶手段1
55のビット列の値が一致となり、Y軸に関して同期が
成立したことを表している。ただし、矩形モード設定記
憶手段5が矩形無効を示す値1であり、軸ID決定回路
156は軸IDの値が01であるため、2回目のX軸バ
リア同期が起動され、プロセッサノード3−1、3−4
では、X軸に向けてバリア同期パケットデータが生成さ
れる。この時、プロセッサノード3−1,3−4の軸I
D決定回路156では軸IDの値が10、Y軸バリア同
期状態記憶手段154はオール0となる。
【0045】バリア同期パケットは、X軸に向けてプロ
セッサノード3−1からプロセッサノード3−1、3−
2、3−3宛に、プロセッサノード3−4からプロセッ
サノード3−4宛に送信される。
【0046】プロセッサノード3−1がX軸方向クロス
バ1−1へ、プロセッサノード3−1,3−2,3−3
宛にバリア同期パケットを送信すると、プロセッサノー
ド3−1,3−2,3−3は、図14のバリア同期パケ
ット受信データ151(軸ID=10、X宛先=11
1、X座標=1)に示すバリア同期パケットを受信す
る。また、プロセッサノード3−4がX軸方向クロスバ
1−2へ、プロセッサノード3−4宛にバリア同期パケ
ットを送信すると、プロセッサノード3−4は、図14
のバリア同期パケット受信データ151(軸ID=1
0、X宛先=100、X座標=1)に示すバリア同期パ
ケットを受信する。各バリア同期パケット受信データ1
51の座標フィールドの値が1であるので、図14に示
すように、プロセッサノード3−1,3−2,3−3,
3−4のX軸バリア同期状態記憶手段152のビット1
の値が1にセットされる。
【0047】この時、プロセッサノード3−1,3−
2,3−3は、図14に示すように、X軸バリア同期状
態記憶手段152のビット列の値とX軸バリア同期参加
記憶手段153のビット列の値が一致となり、X軸に関
して同期が成立したことを表している。X軸の同期成立
を受けて、プロセッサノード3−1,3−2,3−3で
はY軸に向けて送付されるバリア同期パケットデータが
生成される。この時、プロセッサノード3−1,3−
2,3−3の軸ID決定回路156では軸IDの値が1
1となり、X軸バリア同期状態記憶手段152はオール
0となる。
【0048】上記と同時期に、プロセッサノード3−4
でも、図14に示すように、X軸バリア同期状態記憶手
段152のビット列の値とX軸バリア同期参加記憶手段
153のビット列の値が一致となり、X軸に関して同期
が成立したことを表している。X軸の同期成立を受け
て、プロセッサノード3−4でも、Y軸に向けて送付さ
れるバリア同期パケットデータが生成される。この時、
プロセッサノード3−4の軸ID決定回路156では軸
IDの値が11、X軸バリア同期状態記憶手段152は
オール0となる。
【0049】バリア同期パケットは、Y軸に向けてプロ
セッサノード3−1からプロセッサノード3−1と3−
4宛に、プロセッサノード3−2から自プロセッサノー
ド3−2宛に、プロセッサノード3−3から自プロセッ
サノード3−3宛に、またプロセッサノード3−4から
プロセッサノード3−1と3−4宛に送信される。
【0050】図15に示すように、プロセッサノード3
−1からプロセッサノード3−1と3−4宛てのバリア
同期パケットにより、プロセッサノード3−1と3−4
のY軸バリア同期状態記憶手段154のビット1の値が
1にセットされ、プロセッサノード3−2から自プロセ
ッサノード3−2宛てのバリア同期パケットにより、プ
ロセッサノード3−2のY軸バリア同期状態記憶手段1
54のビット1の値が1にセットされ、プロセッサノー
ド3−3から自プロセッサノード3−3宛てのバリア同
期パケットにより、プロセッサノード3−3のY軸バリ
ア同期状態記憶手段154のビット1の値が1にセット
される。
【0051】続いて、図16に示すように、プロセッサ
ノード3−4からプロセッサノード3−1と3−4宛て
のバリア同期パケットにより、プロセッサノード3−1
と3−4のY軸バリア同期状態記憶手段154のビット
2の値が1にセットされる。
【0052】図16は、バリア同期に参加したプロセッ
サノード3−1,3−2,3−3,3−4に関して、Y
軸バリア同期状態記憶手段154のビット列の値とY軸
バリア同期参加記憶手段155のビット列の値が一致と
なり、Y軸に関して同期が成立したことを表している。
このY軸の同期成立を受け、軸ID決定回路156は、
軸IDの値が11であるため、プロセッサに対してバリ
ア同期の成立を通知する。
【0053】以上のようにして、バリア同期に参加した
プロセッサノード3−1,3−2,3−3,3−4のす
べてのノードが同一の同期点に達したことが通知され
る。なお、例えばバリア同期に参加するプロセッサノー
ドを3−1,3−2,3−3とし、矩形モード設定記憶
手段5を矩形有効を示す値の0とすると、図9の時点で
バリア同期に参加したプロセッサノード3−1,3−
2,3−3がすべて同一の同期点に達したことが通知さ
れることになる。
【0054】以上、本発明の実施例について説明した
が、本発明はこれに限定されるものでないことは云うま
でもない。例えば、実施例では、バリア同期が起動され
ると、バリア同期パケットを、まずX軸に向けて送付す
るとしたが、Y軸から送付することでもよい。また、並
列計算機の構成は3×3である必要はなく、一般にM×
N(M,Nは2以上の整数)の構成に適用可能である。
【0055】
【発明の効果】以上説明したように、本発明の並列計算
機によれば、バリア同期を実施する場合、全ノードをバ
リア同期に参加させる必要がなくなり、また、矩形に存
在するノード以外の形状を選択して実施することが可能
になる。
【図面の簡単な説明】
【図1】本発明が適用される並列計算機の一つのプロセ
ッサノードの構成例を示すブロック図である。
【図2】ハイパークロスバ方式で結合したネットワーク
の概念図である。
【図3】図1の実施例におけるバリア同期パケット送信
に関係する構成の詳細ブロック図である。
【図4】図1の実施例におけるバリア同期パケット受信
に関係する構成の詳細ブロック図である。
【図5】実施例の具体的動作説明図である。
【図6】実施例の具体的動作説明図である。
【図7】実施例の具体的動作説明図である。
【図8】実施例の具体的動作説明図である。
【図9】実施例の具体的動作説明図である。
【図10】実施例の具体的動作説明図である。
【図11】実施例の具体的動作説明図である。
【図12】実施例の具体的動作説明図である。
【図13】実施例の具体的動作説明図である。
【図14】実施例の具体的動作説明図である。
【図15】実施例の具体的動作説明図である。
【図16】実施例の具体的動作説明図である。
【符号の説明】
1 X軸方向クロスバ 2 Y軸方向クロスバ 3 プロセッサノード 4 バリア同期参加形状記憶手段 5 矩形分割モード記憶手段 6 バリア同期状態記憶手段 110 プロセッサ 111 メモリ 112 メモリ制御ユニット 113 通信ユニット 130 バリアパケット生成回路 140 入出力ポート 150 バリア同期管理回路
───────────────────────────────────────────────────── フロントページの続き Fターム(参考) 5B045 BB16 CC06

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 複数のプロセッサノードがクロスバネッ
    トワークで接続された並列計算機において、各プロセッ
    サノードは、自ノードと同一クロスバに接続されるノー
    ド内の各接続軸毎のバリア同期に参加するノード集合を
    記憶する第1記憶手段と、自ノードと同一クロスバに接
    続されるノードのバリア同期状態を各接続軸毎に記憶す
    る第2記憶手段と、バリア同期に参加するノード集合形
    状が矩形であるか否かを記憶する第3記憶手段を具備
    し、任意のノード集合の組み合わせでバリア同期を実施
    することを特徴とする並列計算機。
  2. 【請求項2】 請求項1記載の並列計算機において、各
    プロセッサノードは、前記第1記憶手段と前記第2記憶
    手段をともに、ある接続軸に接続されたバリア同期に参
    加したノード間のバリア同期が同期点に到達しているこ
    とを判定し、次の接続軸に対してバリア同期を実施し、
    すべての接続軸のバリア同期が同期点に到達しているこ
    とを確認後、前記第3記憶手段を参照し、バリア同期に
    参加するノード集合形状が矩形でない場合には、さらに
    各接続軸毎にバリア同期を実施することを特徴とする並
    列計算機。
JP2001104255A 2001-04-03 2001-04-03 並列計算機のバリア同期制御方法 Expired - Fee Related JP4117721B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001104255A JP4117721B2 (ja) 2001-04-03 2001-04-03 並列計算機のバリア同期制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001104255A JP4117721B2 (ja) 2001-04-03 2001-04-03 並列計算機のバリア同期制御方法

Publications (2)

Publication Number Publication Date
JP2002297560A true JP2002297560A (ja) 2002-10-11
JP4117721B2 JP4117721B2 (ja) 2008-07-16

Family

ID=18957142

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001104255A Expired - Fee Related JP4117721B2 (ja) 2001-04-03 2001-04-03 並列計算機のバリア同期制御方法

Country Status (1)

Country Link
JP (1) JP4117721B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008027343A (ja) * 2006-07-25 2008-02-07 Yokogawa Electric Corp 制御装置
JPWO2011087076A1 (ja) * 2010-01-14 2013-05-20 日本電気株式会社 計算機、並列計算機システム、同期方法、及びコンピュータプログラム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008027343A (ja) * 2006-07-25 2008-02-07 Yokogawa Electric Corp 制御装置
JPWO2011087076A1 (ja) * 2010-01-14 2013-05-20 日本電気株式会社 計算機、並列計算機システム、同期方法、及びコンピュータプログラム
JP5780157B2 (ja) * 2010-01-14 2015-09-16 日本電気株式会社 計算機、並列計算機システム、同期方法、及びコンピュータプログラム

Also Published As

Publication number Publication date
JP4117721B2 (ja) 2008-07-16

Similar Documents

Publication Publication Date Title
JP3532037B2 (ja) 並列計算機
US5592610A (en) Method and apparatus for enhancing the fault-tolerance of a network
WO2000027136A1 (en) High performance crossbar switch
JP5460143B2 (ja) データ処理装置、データ処理方法およびプログラム
WO2014113646A1 (en) Automatic deadlock detection and avoidance in a system interconnect by capturing internal dependencies of ip cores using high level specification
JP2002117010A (ja) クラスタ化コンピュータ・システム内のグループのメンバによって受信されたマージ要求を処理する装置及びその方法
US7564860B2 (en) Apparatus and method for workflow-based routing in a distributed architecture router
US9246792B2 (en) Providing point to point communications among compute nodes in a global combining network of a parallel computer
JP2516324B2 (ja) 通信ネットワ―ク及び送信元装置から目標ノ―ドへの接続経路を確立する方法
JP2002297560A (ja) 並列計算機
JP2006527563A (ja) Linネットワークのためのマスタノード
JP4259390B2 (ja) 並列演算処理装置
CN115580572A (zh) 路由方法、路由节点、路由装置和计算机可读存储介质
JP2000224260A (ja) 通信制御装置
JP2559918B2 (ja) 並列計算機における同期制御方式
JPH10336175A (ja) マルチノード情報処理システム
CN112994998A (zh) 一种通讯节点、通讯方法、装置及电子设备
CN117135103B (zh) 片上网络的路由方法、装置、计算机设备及存储介质
JP2007272694A (ja) 通信インターフェース装置及び通信方法
CN113904975B (zh) 双归属链路的实现方法、设备及存储介质
US9336172B2 (en) Parallel computer system, data transfer device, and method for controlling parallel computer system for performing arbitration
JP7027145B2 (ja) 通信装置、通信装置の制御方法およびプログラム
JP7337021B2 (ja) 産業用ネットワークに接続されるスレーブ装置を制御するマスタ装置及び当該マスタ装置に備えられる通信モジュール
JP2010258811A (ja) 通信システム
JP2002176464A (ja) ネットワークインタフェース装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050719

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070216

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070516

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070717

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080416

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080416

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20110502

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees