JP3482897B2 - クラスタ型並列計算機システムおよびプロセッサ間バリア同期方法 - Google Patents

クラスタ型並列計算機システムおよびプロセッサ間バリア同期方法

Info

Publication number
JP3482897B2
JP3482897B2 JP01244399A JP1244399A JP3482897B2 JP 3482897 B2 JP3482897 B2 JP 3482897B2 JP 01244399 A JP01244399 A JP 01244399A JP 1244399 A JP1244399 A JP 1244399A JP 3482897 B2 JP3482897 B2 JP 3482897B2
Authority
JP
Japan
Prior art keywords
barrier synchronization
barrier
node
synchronization
value
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.)
Expired - Fee Related
Application number
JP01244399A
Other languages
English (en)
Other versions
JP2000215182A (ja
Inventor
宏之 荒木
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 JP01244399A priority Critical patent/JP3482897B2/ja
Publication of JP2000215182A publication Critical patent/JP2000215182A/ja
Application granted granted Critical
Publication of JP3482897B2 publication Critical patent/JP3482897B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、複数プロセッサを
持つノードからなるクラスタ型並列計算機システムに関
し、特に、ノード間にまたがり、かつ、ノード内の複数
のプロセッサが参加するプロセッサ間バリア同期に関す
る。
【0002】
【従来の技術】従来のプロセッサ間バリア同期方法の一
例が、特開平7-234841号公報に記載されている。以下、
同公報を引用しながら、従来の技術について説明する。
【0003】並列計算機システムでは、各要素プロセッ
サ同士が一定の処理を終えたことを互いに確認し合いな
がら共同して処理を進めてゆくための同期機構が不可欠
である。この要請に応えるものとして、同期をとるべき
全てのプロセッサがプログラムのバリアと呼ばれる一定
の段階に到達したことが保証されてはじめて、各々次の
段階に進めるようなバリア同期と呼ばれる手法が知られ
ている。
【0004】同上公報記載の「並列処理計算機」におい
ては、ノード間接続網に接続されたバリア同期制御装置
14(図7に示す)を有し、図8に示すように、各ノードP
内には同期制御部32を有する。バリア同期制御装置14
は、各ノードPの同期制御部32からのバリア同期確認信
号52を入力するANDゲート60およびグループフェーズレ
ジスタ58を持つ。また、各ノードPの同期制御部32は図
9に示すように、プロセッサフェーズレジスタ61および
バリア同期制御装置14内のグループフェーズレジスタ58
からのグループフェーズ信号56が入力する一致判定回路
62を持っている。
【0005】初期状態においては、各ノードPのプロセ
ッサフェーズレジスタ60が「0」、バリア同期制御装置1
4のグループフェーズレジスタ58が「1」である状態にし
ておく。同期を行なうに当って、同期に参加する各ノー
ドPでは、プログラムがバリアに到達すると命令実行機
構30がプロセッサフェーズレジスタ61のビットを反転し
「1」にする。ビットの反転が起こると、一致判定回路6
2によりグループフェーズレジスタ58とプロセッサフェ
ーズレジスタ61の値との比較結果が「真」となり、バリ
ア同期制御装置14内のANDゲート60に送られる。参加す
る各ノードPからの信号が全て「真」になると、ANDゲ
ート60の出力は「真」になり、バリア成立信号54が
「真」になって各ノードPへ配信されバリア同期が成立
する。
【0006】同時に、バリア同期制御装置14はグループ
フェーズレジスタ58のビットを反転し「0」にする。反
転されたビットは各ノードPの同期制御部32に送られ、
一致判定回路60により、今度はすでに「1」になってい
るプロセッサフェーズレジスタ61の値と不一致が検出さ
れて「偽」がバリア同期制御装置32に送られ、次回のバ
リア同期待ちの状態になる。
【0007】なお、図9におけるANDゲート64は、本発
明とは直接に関係しないため、その説明は省略し、一致
判定回路62における出力はそのままANDゲート64の出力
とした。
【0008】
【発明が解決しようとする課題】しかしながら、上述し
た従来の技術では、ノード内にバリアに参加する複数の
プロセッサが存在しているときに、バリア同期をノード
内とノード間とに階層化する必要があり処理が複雑にな
るという問題点がある。その理由は、プロセッサフェー
ズレジスタ60を個々の参加プロセッサが更新すると、ビ
ットの反転が複数回起き、バリア同期が破綻するか、あ
るいは最初にビットを反転したプロセッサの状態だけを
もってノード間のバリア同期の成立となり、やはり破綻
するかのいずれかになるためである。
【0009】したがって、本発明の目的は、クラスタ間
にまたがるプロセッサ間同期を階層化することなく高速
にできるクラスタ型並列計算機システムおよびプロセッ
サ間バリア同期方法を提供することにある。
【0010】
【課題を解決するための手段】本発明のクラスタ型並列
計算機システムは、一つ以上のプロセッサを有するノー
ドがノード間ネットワークで結合されているクラスタ型
並列計算機システムにおいて、前記ノード間ネットワー
クに接続されたバリア同期手段に、バリア同期に参加す
るノード内プロセッサ数を記憶する手段と、前記記憶す
る手段の値が初期値としてコピーされ、バリア同期に参
加する各プロセッサからのバリア同期要求毎に1つ減算
されるカウント手段と、該カウント値が0になった時点
でバリア同期成立通知を前記ノードに対して発行する手
段と、同時に前記コピーを再び行う手段とを有し、前記
バリア同期手段は、バリア毎に1つづつ設けられ、ノー
ド内の各プロセッサは、このバリア同期成立通知によ
り、ノード上のバリア毎に割り当てられた状態レジスタ
の割り当てられたビットが反転するのを確認することに
よりバリア同期の成立を検出することを特徴とする。
【0011】また、本発明のプロセッサ間バリア同期方
法は、一つ以上のプロセッサを有するノードがノード間
ネットワークで結合されているクラスタ型並列計算機シ
ステムにおけるプロセッサ間バリア同期方法において、
バリア同期に参加するプロセッサ数をバリア毎に1つづ
初期値として保持する手順と、前記初期値を、バリア
毎に1つづつ設けられたカウント手段に設定する手順
と、前記バリア同期に参加するプロセッサからの同期要
求に従い前記カウント手段の値を1つ減算する手順と、
前記カウント手段の値が0になった時点でバリア同期の
成立を検出する手順と、バリア同期の成立を前記バリア
同期に参加するプロセッサを一つ以上含むノードに通知
するとともに前記初期値を前記カウント手段に設定する
手順と、前記バリア同期に参加するプロセッサが、ノー
ド内の状態レジスタの値を読手順と、前記バリア同期
成立通知によって前記状態レジスタの値を更新する手順
とを有し、前記プロセッサは該状態レジスタの更新によ
ってバリア同期が成立したことを検出することを特徴と
する
【0012】本発明では、図9におけるプロセッサフェ
ーズレジスタ61に相当する部分を、ノード内の各プロセ
ッサは更新せず、図7のバリア同期制御装置14に相当す
る部分が、バリア同期が成立した時点で更新するように
したことを特徴としている。すなわち、バリア同期の要
求は、各プロセッサから直接にバリア同期制御装置に送
られ、ここで同期を判定して、ノード上の値を変更する
ので、ノード内にバリア同期に参加するプロセッサが複
数存在していても、正しくバリア同期を判定できるとい
う効果が得られるのである。
【0013】
【発明の実施の形態】次に、本発明の実施の形態につい
て図面を参照して詳細に説明する。
【0014】図1を参照すると、本発明のクラスタ型並
列計算機システムの一実施例が示されている。
【0015】図1において、バリア同期装置1は、本シ
ステム中に一つ以上存在し、一つ以上バリア同期管理部
10と、ノード間ネットワーク3を介してからバリア同期
要求40を受け付け、また、同期の成立を通知するための
通信装置31と、バリア同期要求40に対応するバリア同期
管理部10を識別し、メッセージを振り分けるID選択部15
とを有する。さらに、各バリア同期管理部10は、バリア
同期用のカウンタ11と、その初期値を保持するレジスタ
12と、バリア同期成立判定部13と、減算器16とを有し、
各ノード2上の各プロセッサ21からのバリア同期要求40
にしたがって、バリア同期の成立を判定し、その同期通
知41を通信装置31を介して行なう。
【0016】ノード2は、クラスタ型並列計算機システ
ムの構成要素であり、一つ以上のプロセッサ21を有する
演算用の計算機である。各ノード2は、バリア同期の状
態を得るための状態レジスタ22およびバリア同期装置1
との通信のための通信装置23を含む。
【0017】次に、図1のクラスタ型並列計算機システ
ムにおけるプロセッサ間同期の動作を図2により説明す
る。
【0018】バリア同期に先立ち、バリア同期に参加す
る各プロセッサ21は、バリア同期に参加するプロセッサ
21の同期グループを決定(ステップS200)し、ノード2
上のOSにグループ構成を与え、バリア同期管理部10の一
つを割り当てるように要求する(ステップS201)。
【0019】要求を受けたOSは、他ノード2のOSと調停
しバリア同期管理部10の空いているものを確保する(ス
テップS210)。次に、OSはバリア同期用IDを付与し(ス
テップS211)、バリア同期装置1にグループのプロセッ
サ数とバリア同期用IDを通知する(ステップS212)。最
後に、OSは状態レジスタ22の空いている1ビットをバリ
ア同期用IDにマッピングし、バリア同期グループの各プ
ロセッサ21に、割り当てられたバリア同期用IDと状態レ
ジスタ22のビット位置を通知する(ステップS213)。
【0020】バリア同期装置1は、要求待ち中(ステッ
プS220)に、OSからの通知を受けると(ステップS212)、
通知されたバリア同期用IDに、空いているバリア同期管
理部10をマッピングし(ステップS221)、マッピングさ
れたバリア同期管理部10に初期値を渡し初期化を要求す
る(ステップS222)。
【0021】ステップS221でマッピングされたバリア同
期管理部10は、要求待ち中(ステップS230)に、初期化
要求を受け取ると、レジスタ12に渡された値を設定する
(ステップS231)。バリア同期管理部10は、レジスタ12
に初期値が設定されると、その値をカウンタ11にコピー
し(ステップS232)、バリア同期完了通知待ち(ステッ
プS230)となる。このとき、バリア同期管理部10はクラ
スタ間で一意に決定されねばならないが、状態レジスタ
22のどのビットと、割り当てられたバリア同期管理部10
とがマッピングされているかはノード2毎に異なってい
ても構わない。
【0022】各プロセッサ21は計算処理(ステップS20
2)が進み同期点に到達したら(ステップS203)、バリ
ア同期の開始にあたって割り当てられた状態レジスタ22
のビット位置からその値を読み出す(ステップS204)。
次に、プロセッサ21は通信装置23を通してバリア同期装
置1にバリア同期要求40のメッセージを送信する(ステ
ップS205)。
【0023】バリア同期装置1では、要求待ち中(ステ
ップS220)に、各プロセッサ21からステップS205で送信
されたバリア同期要求40メッセージが到着すると、ID選
択部15が要求に対応するバリア同期管理部10を選び(ス
テップS223)、バリア同期要求40のメッセージを渡す
(ステップS222)。
【0024】バリア同期管理部10では、要求待ち中(ス
テップS230)に、バリア同期要求40のメッセージが渡さ
れると、減算器16がカウンタ11の値をマイナス1する
(ステップS233)。そして、その結果値が0となったら
バリア同期に参加するすべてのプロセッサ21からバリア
同期要求メッセージが届いたことになるので、バリア同
期が成立する。0でなければ、再びメッセージ待ちの状
態(ステップS230)になる(ステップS234)。
【0025】バリア同期が成立した場合、バリア同期管
理部10は各ノード2に対してバリア同期完了通知41を発
行する(ステップS235)。バリア同期完了通知41を発行
すると同時に、バリア同期管理部10は、レジスタ12の値
をカウンタ11に再びコピーし(ステップS232)、バリア
同期要求待ちの状態(ステップS230)になる。バリア同
期同期完了通知41は、各ノード2上の通信装置23によっ
て受信され、バリア同期IDにマッピングされた状態レジ
スタ22のビットを反転する。
【0026】バリア同期要求40のメッセージ40を発行し
た(S205)プロセッサ21は、状態レジスタ22の割り当てら
れたビット位置を適宜読み出しているが、ステップS235
による状態レジスタビット反転の結果により、ステップ
S204で読み出された値と異なる値が読み出された時点で
バリア同期の成立を検出する(ステップS206,S207)。
【0027】このように、上記実施例では、バリア同期
用の状態レジスタ22の更新をバリア同期装置1からのバ
リア同期完了通知41でのみ行なうので、ノード内の参加
する各プロセッサ21がそれぞれに直接にバリア同期要求
40を発行し、直接に状態レジスタ22を参照することによ
り、それぞれのプロセッサ21が独自にバリア同期の完了
を検出することができる。したがって、バリア同期を階
層化する必要はなく、それぞれのプロセッサ21が同じ手
順でバリア同期を行なうことができるのである。
【0028】次に、本発明のクラスタ型計算機システム
の第2の実施例について説明する。この実施例は、その
基本的構成は第1の実施例の通りであるが、バリア同期
装置1のようなハードウェアを用いず、図3に示すよう
に、ソフトウェアのみで同等の機能を実現する。
【0029】バリア同期管理ノード5は、バリア同期ID
で識別されるバリア同期用のカウンタ51と、レジスタ52
と、同期成立判定部53とからなるバリア同期管理プロセ
ス50を一つ以上有し、またノード間ネットワーク3を介
して他のノード2と通信するための通信装置23を備えて
いる。バリア同期管理ノード5はシステム中に任意の数
だけ存在して構わない。
【0030】各ノード2は一つ以上のプロセッサ21から
なる演算用の計算機であり、ノード間ネットワーク3を
介して他のノード2と通信するための通信装置23と、バ
リア同期ID毎に生成されるバリア状態変数25とを持つ。
バリア通信装置23は他ノード上のメモリに対してDMAを
行なう機能を持っている。
【0031】次に、図3の実施例の動作を図4のフロー
チャートにより説明する。バリア同期に先立ち、バリア
同期に参加する各プロセッサ21はバリア同期に参加する
プロセッサ21のグループを決定(ステップT200)し、参
加するプロセッサ21が存在しているノード2に一つのバ
リア状態変数25を生成し、0で初期化する(ステップT20
1)。そして、バリア同期管理ノード5にグループ構成と
ともに通知し、バリア同期管理プロセス50を割り当てる
ように要求する(ステップT202)。
【0032】バリア同期管理ノード5は同期待ち中(ス
テップT220)のID識別部55が、この要求を受け、新規の
バリア同期用IDを発行し、バリア同期管理プロセス50を
生成し、バリア同期用IDを各プロセッサ21に通知する
(ステップT221)。
【0033】バリア同期管理プロセス50は、生成される
と、内部のレジスタ52に与えられた値を設定し、それを
同じく内部のカウンタ51にもコピーし、さらに状態変数
57を各ノード2のバリア状態変数25と同じ0で初期化し
(ステップT230)、要求待ち(ステップT231)となる。
【0034】各プロセッサ21は、計算処理(ステップT2
03)が進み同期点に到達したら(ステップT204)、バリ
ア同期の開始にあたって、バリア状態変数25の値を読み
出す(ステップT205)。次に、プロセッサ21は通信装置
23を通してバリア同期管理ノード5にバリア同期要求メ
ッセージ40を送信する(ステップT206)。
【0035】バリア同期管理ノード5では、ID識別部55
が要求待ち中(ステップT220)に各プロセッサ21からス
テップT206で送信されたバリア同期要求40のメッセージ
が到着すると、要求に対応するバリア同期管理プロセス
50を選び(ステップT222)、それにバリア同期要求40メ
ッセージを渡す(ステップT223)。
【0036】バリア同期管理プロセス50では要求待ち中
(ステップT231)に、バリア同期要求40のメッセージが
渡されると、カウンタ51の値を-1する(ステップT23
3)。その結果値が0となったらバリア同期に参加するす
べてのプロセッサ21からメッセージがバリア同期管理プ
ロセス50に届いたことになるので、バリア同期が成立す
る。0でなければ、再びメッセージ待ちの状態(ステッ
プT231)になる(ステップT234)。
【0037】バリア同期が成立した場合、バリア同期管
理プロセス50は状態変数57の値を+1して、その値を各ノ
ード2上のバリア状態変数25に対して、バリア同期完了
の同期通知41として、通信装置23のDMA機能を利用して
書き込む(ステップT235)。また、バリア同期管理プロ
セス50はバリア同期完了通知41を発行する(ステップT2
36)と同時に、レジスタ52の値をカウンタ51に再びコピ
ーし(ステップT232)、バリア同期要求待ちの状態(ス
テップT230)になる。
【0038】ステップT206でバリア同期要求メッセージ
40を発行したプロセッサ21は、バリア状態変数25の値を
適宜読み出しているが、ステップT235による同期状態変
数25の書き込み結果により、ステップT204で読み出され
た値と異なる値が読み出された時点でバリア同期の成立
を検出する(ステップT207,T208)。
【0039】このように、上記実施例では、バリア状態
変数25の更新を初期化を除いてバリア同期管理プロセス
50からのバリア同期完了の同期通知41でのみ行なうの
で、ノード2内の参加する各プロセッサ21がそれぞれに
直接にバリア同期要求40を発行し、直接にバリア状態変
数25を参照することで、それぞれのプロセッサ21が独自
にバリア同期の完了を検出することができる。したがっ
て、バリア同期を階層化する必要はなく、それぞれのプ
ロセッサ21が同じ手順でバリア同期を行なうことができ
る。
【0040】次に、本発明の第3の実施例として、クラ
スタシステムが他ノードのメモリに対してアトミック演
算機能を持っている場合の例を図5に示す。本実施例
は、第2実施例と同様の構成を持つが、システムが他ノ
ードのメモリに対してアトミック演算機能を持っている
ために、同期管理プロセス50が状態変数57を持つ必要が
なくなっている。
【0041】これは、同期に参加している各ノード2上
のバリア状態変数25の値を変化させるために、変化前の
状態を記憶しておく必要がないためである。なぜなら、
アトミック演算機能を使って、各ノード2上のバリア状
態変数25の値を+1するなどして、元の値を知らなくても
値を変更できるためである。
【0042】第3の実施例の処理の流れを図6に示す。
バリア同期に先立ち、バリア同期に参加する各プロセッ
サ21はバリア同期に参加するプロセッサ21のグループを
決定(ステップU200)し、参加するプロセッサ21が存在
しているノード2に一つバリア状態変数25を生成(ステ
ップU201)し、バリア同期管理ノード5にグループ構成
とともに通知し、バリア同期管理プロセス50を割り当て
るように要求する(ステップU202)。
【0043】バリア同期管理ノード5は同期待ち中(ス
テップU220)のID識別部55が要求を受け、新規のバリア
同期用IDを発行し、バリア同期管理プロセス50を生成
し、バリア同期用IDを各プロセッサ21に通知する(ステ
ップU221)。
【0044】バリア同期管理プロセス50は、生成される
と、内部のレジスタ52を与えられた初期値に設定し、そ
れを同じく内部のカウンタ51にもコピーし、さらに状態
変数57を各ノード2のバリア状態変数25と同じ0で初期化
し(ステップU230)、要求待ち(ステップU231)とな
る。
【0045】各プロセッサ21は計算処理(ステップU20
3)が進み同期点に到達したら(ステップU204)、はバ
リア同期の開始にあたってバリア状態変数25の値を読み
出し(ステップU205)、通信装置23を通してバリア同期
管理ノード5にバリア同期要求40のメッセージを送信す
る(ステップU206)。
【0046】バリア同期管理ノード5では、ID管理部55
が要求待ち中(ステップU220)に各プロセッサ21からス
テップU205で送信されたバリア同期要求40のメッセージ
が到着すると、要求に対応するバリア同期管理プロセス
50を選び(ステップU222)、バリア同期要求メッセージ
40を渡す(ステップU223)。
【0047】バリア同期管理プロセス50では、要求待ち
中(ステップU230)に、バリア同期要求40のメッセージ
が渡されると、カウンタ51の値を-1する(ステップU23
3)。その結果値が0となったらバリア同期に参加するす
べてのプロセッサ21からメッセージがバリア同期管理プ
ロセス50に届いたことになるので、バリア同期が成立す
る。0でなければ、再びメッセージ待ちの状態(ステッ
プU230)になる(ステップU234)。
【0048】バリア同期が成立した場合、バリア同期管
理プロセス50は、システムの他ノードに対するアトミッ
ク演算機能を利用して各ノード2上のバリア状態変数25
に対して+1し、バリア同期完了通知41とする。バリア同
期管理プロセス50は、バリア同期完了通知41を発行する
(ステップU235)と同時に、レジスタ52の値をカウンタ
51に再びコピーし(ステップU232)バリア同期要求待ち
の状態(ステップU230)になる。
【0049】バリア同期要求メッセージ40を発行したプ
ロセッサ21は、バリア状態変数25の値を適宜読み出して
いるが、上述のアトミック機能による同期状態変数25の
書き込み結果により、ステップU204で読み出された値と
異なる値が読み出された時点でバリア同期の成立を検出
する(ステップU207,U208)。
【0050】このように、上記実施例では、バリア状態
変数25の更新を初期化を除いてバリア同期管理プロセス
50からのバリア同期完了通知41でのみ行なうので、ノー
ド内の参加する各プロセッサ21がそれぞれに直接にバリ
ア同期要求40を発行し、直接にバリア状態変数25を参照
することで、それぞれのプロセッサ21が独自にバリア同
期の完了を検出することができる。
【0051】このとき、各ノード2の同期状態変数25は
必ずしも初期化されて同じ値になっている必要はない。
アトミック演算によりバリア同期管理プロセス50によっ
てその時点での状態(値)に+1されるので、バリア同期
開始直前の値をその都度記憶し(ステップU205)、その
値とバリア状態変数25の値とを比較(ステップU207)し
ていればよいのである。したがって、バリア同期を階層
化する必要はなく、それぞれのプロセッサ21が同じ手順
でバリア同期を行なうことができる。
【0052】なお、以上に説明したプロセッサ間バリア
同期方法をプログラミングして、半導体メモリ,磁気デ
ィスク等の記録媒体に記録し、コンピュータに読み込ま
せて実行させるようにしてもよい。
【0053】
【発明の効果】以上説明したように、本発明において
は、バリア同期の状態を表す値の更新を同期状態を管理
する部分からのみ行なうようにしたため、クラスタにま
たがるバリア同期を階層化することなく高速に行なえる
とい効果がある。
【図面の簡単な説明】
【図1】 本発明のクラスタ型並列計算機システムの第
1実施例を示すブロック図。
【図2】 図1の第1実施例の動作を示すフローチャー
ト。
【図3】 本発明のクラスタ型並列計算機システムの第
2実施例を示すブロック図。
【図4】 図3の第2実施例の動作を示すフローチャー
ト。
【図5】 本発明のクラスタ型並列計算機システムの第
3実施例を示すブロック図。
【図6】 図5の第3施例の動作を示すフローチャー
ト。
【図7】 従来の並列処理計算機におけるバリア同期制
御装置のブロック図。
【図8】 従来の並列処理計算機におけるノードのブロ
ック図。
【図9】 従来の並列処理計算機における同期制御部の
ブロック図。
【符号の説明】
1 バリア同期装置 2 ノード 3 ノード間ネットワーク 5 バリア同期管理ノード 10 バリア同期管理部 11 カウンタ 12 レジスタ 13 同期成立判定部 15 ID選択部 16 減算器 21 CPU(プロセッサ) 22 状態レジスタ 23 通信装置 25 バリア状態変数 26 アトミック演算器 29 ディスク装置 31 通信装置 40 バリア同期要求 41 バリア同期完了通知 42 初期値設定 50 バリア同期管理プロセス 51 カウンタ 52 レジスタ 53 同期成立判定部 55 ID識別部 57 状態変数 58 CPU(プロセッサ) 59 ディスク装置
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平6−149752(JP,A) 特開 平8−235143(JP,A) 特開 平7−152694(JP,A) 特開 平10−49507(JP,A) 特開 平9−6734(JP,A) 斉藤秀樹 他,イベント対応型キャッ シュ・コヒーレンス制御方式とそのバリ ア同期への応用,情報処理学会研究報 告,日本,1992年 8月19日,Vol. 92 No.64(92−ARC−95),p. 9−16

Claims (4)

    (57)【特許請求の範囲】
  1. 【請求項1】一つ以上のプロセッサを有するノードがノ
    ード間ネットワークで結合されているクラスタ型並列計
    算機システムにおいて、 前記ノード間ネットワークに接続されたバリア同期手段
    に、バリア同期に参加するノード内プロセッサ数を記憶
    する手段と、前記記憶する手段の値が初期値としてコピ
    ーされ、バリア同期に参加する各プロセッサからのバリ
    ア同期要求毎に1つ減算されるカウント手段と、該カウ
    ント値が0になった時点でバリア同期成立通知を前記ノ
    ードに対して発行する手段と、同時に前記コピーを再び
    行う手段とを有し、前記バリア同期手段は、バリア毎に1つづつ設けられ、 ノード内の各プロセッサは、このバリア同期成立通知に
    より、ノード上のバリア毎に割り当てられた状態レジス
    タの割り当てられたビットが反転するのを確認すること
    によりバリア同期の成立を検出することを特徴とするク
    ラスタ型並列計算機システム。
  2. 【請求項2】一つ以上のプロセッサを有するノードがノ
    ード間ネットワークで結合されているクラスタ型並列計
    算機システムにおいて、 前記ノード間ネットワークに接続されたバリア同期管理
    ノード上で走行するバリア同期プロセスを有し、 前記バリア同期プロセスは、バリア毎に1つづつ設けら
    れ、 前記バリア同期プロセスは、生成されると状態変数の初
    期値を“0”とする処理を行い、バリア同期に参加する
    ノード内プロセッサ数を記憶する処理と、前記ノード内
    プロセッサ数が初期値としてコピーされ、バリア同期に
    参加する各プロセッサからのバリア同期要求毎に1つ減
    算されるカウント処理と、該カウント値が0になった時
    点でバリア同期管理プロセス内の前記状態変数を1つ増
    数し、その値を前記ノード内の状態変数に書き込み、同
    時に前記コピーを再び行う処理とを有し、 ノード内の各プロセッサは、ノード内のバリア毎の状態
    変数の更新を確認することによりバリア同期の成立を検
    出することを特徴とするクラスタ型並列計算機システ
    ム。
  3. 【請求項3】一つ以上のプロセッサを有するノードがノ
    ード間ネットワークで結合されているクラスタ型並列計
    算機システムにおけるプロセッサ間バリア同期方法にお
    いて、 バリア同期に参加するプロセッサ数をバリア毎に1つづ
    初期値として保持する手順と、 前記初期値を、バリア毎に1つづつ設けられたカウント
    手段に設定する手順と、 前記バリア同期に参加するプロセッサからの同期要求に
    従い前記カウント手段の値を1つ減算する手順と、 前記カウント手段の値が0になった時点でバリア同期の
    成立を検出する手順と、 バリア同期の成立を前記バリア同期に参加するプロセッ
    サを一つ以上含むノードに通知するとともに前記初期値
    を前記カウント手段に設定する手順と、 前記 バリア同期に参加するプロセッサが、ノード内の状
    態レジスタの値を読手順と、 前記バリア同期成立通知によって前記状態レジスタの値
    を更新する手順とを有し、 前記プロセッサは該状態レジスタの更新によってバリア
    同期が成立したことを検出することを特徴とするプロセ
    ッサ間バリア同期方法。
  4. 【請求項4】一つ以上のプロセッサを有するノードがノ
    ード間ネットワークで結合されているクラスタ型並列計
    算機システムにおけるプロセッサ間バリア同期方法であ
    って、 バリア同期に参加するプロセッサ数をバリア毎に1つづ
    初期値として保持する手順と、 前記初期値を、バリア毎に1つづつ設けられたカウント
    手段に設定する手順と、 前記バリア同期に参加するプロセッサからの同期要求に
    従い前記カウント手段の値を1つ減算する手順と、 前記カウント手段の値が0になった時点でバリア同期の
    成立を検出する手順と、 バリア同期の成立を前記バリア同期に参加するプロセッ
    サを一つ以上含むノードに通知するとともに前記初期値
    を前記カウント手段に設定する手順と、 記バリア同期に参加するプロセッサが、ノード内の状
    態レジスタの値を読手順と、 前記バリア同期成立通知によって前記状態レジスタの値
    を更新する手順とを有する方法をコンピュータに実行さ
    せるためのプログラムを記録したコンピュータ読み込み
    可能な記録媒体。
JP01244399A 1999-01-20 1999-01-20 クラスタ型並列計算機システムおよびプロセッサ間バリア同期方法 Expired - Fee Related JP3482897B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP01244399A JP3482897B2 (ja) 1999-01-20 1999-01-20 クラスタ型並列計算機システムおよびプロセッサ間バリア同期方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP01244399A JP3482897B2 (ja) 1999-01-20 1999-01-20 クラスタ型並列計算機システムおよびプロセッサ間バリア同期方法

Publications (2)

Publication Number Publication Date
JP2000215182A JP2000215182A (ja) 2000-08-04
JP3482897B2 true JP3482897B2 (ja) 2004-01-06

Family

ID=11805467

Family Applications (1)

Application Number Title Priority Date Filing Date
JP01244399A Expired - Fee Related JP3482897B2 (ja) 1999-01-20 1999-01-20 クラスタ型並列計算機システムおよびプロセッサ間バリア同期方法

Country Status (1)

Country Link
JP (1) JP3482897B2 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3807250B2 (ja) 2001-05-18 2006-08-09 日本電気株式会社 クラスタシステム、コンピュータ及びプログラム
FR2939922B1 (fr) * 2008-12-16 2011-03-04 Bull Sas Gestionnaire physique de barriere de synchronisation entre processus multiples
WO2010109761A1 (ja) * 2009-03-25 2010-09-30 日本電気株式会社 並列処理システム、並列処理方法、ネットワークスイッチ装置、及び並列処理プログラムの記録媒体
US8904118B2 (en) 2011-01-07 2014-12-02 International Business Machines Corporation Mechanisms for efficient intra-die/intra-chip collective messaging
US20120179896A1 (en) 2011-01-10 2012-07-12 International Business Machines Corporation Method and apparatus for a hierarchical synchronization barrier in a multi-node system
US9195550B2 (en) 2011-02-03 2015-11-24 International Business Machines Corporation Method for guaranteeing program correctness using fine-grained hardware speculative execution
WO2012124078A1 (ja) * 2011-03-16 2012-09-20 富士通株式会社 同期方法、マルチコアプロセッサシステム、および同期システム
US8463960B2 (en) * 2011-08-08 2013-06-11 Arm Limited Synchronisation of data processing systems
JP5549694B2 (ja) * 2012-02-23 2014-07-16 日本電気株式会社 超並列計算機、同期方法、同期プログラム
JP2013137833A (ja) * 2013-04-08 2013-07-11 Waseda Univ マルチプロセッサシステムおよびマルチプロセッサシステムの同期方法
US20190332420A1 (en) * 2018-04-27 2019-10-31 Advanced Micro Devices, Inc. Feedback guided split workgroup dispatch for gpus
GB2575293B (en) 2018-07-04 2020-09-16 Graphcore Ltd Data Through Gateway

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
斉藤秀樹 他,イベント対応型キャッシュ・コヒーレンス制御方式とそのバリア同期への応用,情報処理学会研究報告,日本,1992年 8月19日,Vol.92 No.64(92−ARC−95),p.9−16

Also Published As

Publication number Publication date
JP2000215182A (ja) 2000-08-04

Similar Documents

Publication Publication Date Title
JP3482897B2 (ja) クラスタ型並列計算機システムおよびプロセッサ間バリア同期方法
KR100457146B1 (ko) 비정형 메모리 액세스 데이터 프로세싱 시스템을 위한 인터럽트 아키텍쳐
CN100418058C (zh) 管理计算机内的计算机程序的临界区锁的方法
JP4040704B2 (ja) データ処理システムおよび方法
JP2539021B2 (ja) 保留バスに割り込み要求を送る割り込み要求発生ノ―ド
JPS5924462B2 (ja) 共有メモリのアクセス制御方式
JPH0679305B2 (ja) 保留バスを用いて割り込みに応じる装置及び方法
JP2007249960A (ja) キャッシュライン・ポーリングを実行する方法、装置、プログラム及び情報処理システム
US10459771B2 (en) Lightweight thread synchronization using shared memory state
WO2014206078A1 (zh) 内存访问方法、装置及***
US7779172B2 (en) Activator, DMA transfer system, DMA transfer method
JP3092566B2 (ja) パイプライン方式のバスを用いたメモリ制御方式
US8230117B2 (en) Techniques for write-after-write ordering in a coherency managed processor system that employs a command pipeline
JP5213485B2 (ja) マルチプロセッサシステムにおけるデータ同期方法及びマルチプロセッサシステム
EP0217350B1 (en) Data transfer control unit and system
JP2001222466A (ja) マルチプロセッサ・システムと共有メモリ制御システム及び方法並びに記録媒体
JP2006085428A (ja) 並列処理システム、インタコネクションネットワーク、ノード及びネットワーク制御プログラム
US20190227838A1 (en) System and method for batch accessing
JP3446653B2 (ja) データ転送装置
CN107102898B (zh) 一种基于numa架构的内存管理、构建数据结构的方法及装置
JP2008511890A (ja) アトミック・オペレーションを用いて情報単位を変更する方法及び装置
JPH07141302A (ja) 並列計算機における負荷分散方法
JP2970082B2 (ja) 仮想クラスタ間通信処理装置
JP2908273B2 (ja) ベクトル処理装置
JPH04305746A (ja) キャッシュメモリ制御装置

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20020806

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20030916

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

Free format text: PAYMENT UNTIL: 20071017

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20081017

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20091017

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20091017

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20101017

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20111017

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20121017

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20131017

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees