JPH1145229A - 分散メモリ型マルチプロセッサシステムにおけるプロセスの停止方式 - Google Patents

分散メモリ型マルチプロセッサシステムにおけるプロセスの停止方式

Info

Publication number
JPH1145229A
JPH1145229A JP10143780A JP14378098A JPH1145229A JP H1145229 A JPH1145229 A JP H1145229A JP 10143780 A JP10143780 A JP 10143780A JP 14378098 A JP14378098 A JP 14378098A JP H1145229 A JPH1145229 A JP H1145229A
Authority
JP
Japan
Prior art keywords
node
stop
thread
management process
stop request
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
JP10143780A
Other languages
English (en)
Other versions
JP3077669B2 (ja
Inventor
Atsuhisa Ootani
敦久 大谷
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 JP10143780A priority Critical patent/JP3077669B2/ja
Publication of JPH1145229A publication Critical patent/JPH1145229A/ja
Application granted granted Critical
Publication of JP3077669B2 publication Critical patent/JP3077669B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】ノード間でデータの送受信を行なう並列処理プ
ロセスに対して、効率的にチェックポイント採取のため
の停止処理を行えるようにする。 【解決手段】複数のノードを相互結合網により結合し、
ノード毎に並列処理プロセスの各スレッドを備える分散
メモリ型マルチプロセッサシステムにおいて、ノード毎
に並列処理プロセスのスレッドを管理する管理プロセス
を備え、チェックポイント要求コマンドが入力された場
合に、ノード番号の最も若いノードの管理プロセスが、
自ノード内のスレッドに対して停止要求を行ない、自ノ
ード内のスレッドが停止した後、次のノード番号を有す
るノードの管理プロセスに停止要求を行ない、並列処理
プロセス内の全ノードのスレッドが停止するまでノード
番号順に、ノードの管理プロセスが自ノード内のスレッ
ドに対する停止要求と、次のノード番号を有するノード
の管理プロセスに対する停止要求を行なう。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、プロセス停止方式
に関し、特に、ネットワークに接続された複数のノード
を含み、各ノードが並列処理を行うスレッド群を保持す
る、分散メモリ型マルチプロセッサシステムにおいて実
行されるチェックポイント処理におけるプロセス停止方
式に関する。
【0002】
【従来の技術】特開平8−263317号公報には、チ
ェックポイント処理における同期制御(排他制御)に関
係する複数のプロセスの停止順序を制御するためのチェ
ックポイント/リスタート処理システムが開示されてい
る。
【0003】また、特開平2−287858号公報に
は、分散処理システムにおけるリスタートシステムが開
示されている。このリスタートシステムにおいては、あ
るプロセッサ中の通信制御部が他のプロセッサ群とデー
タの送受信を行う際には必ず、該通信制御部にそのよう
な処理を行わせるプログラムがチェックポイントデータ
としてセーブされる。
【0004】
【発明が解決しようとする課題】しかしながら、特開平
8−263317号公報記載の技術は、密結合型マルチ
プロセッサシステムに適用されるもので、分散メモリ型
マルチプロセッサシステムに適用されるものではない。
分散メモリ型マルチプロセッサシステムにおいて個々の
プロセッサは、他のプロセッサ群のいずれのプロセスか
らもアクセスできない固有の(ローカル)メモリを保持
している。もし、特開平8−263317号公報記載の
チェックポイント/リスタート処理システムをこの分散
メモリ型マルチプロセッサシステムに適用したとする
と、異なるプロセッサ群上の複数のプロセスはチェック
ポイント処理のための同期処理を実行することができな
い可能性がある。なぜならば、あるプロセッサ中のある
プロセス(同期処理の一方)が停止状態である場合、メ
モリを共有していない他のプロセッサ群上のプロセス群
は先のプロセスが停止状態であることを認識することが
できないからである。そのような状況においては、他の
プロセッサ群上のプロセス群は、その停止状態のプロセ
スからの(返却されるはずのない)応答を待ち続けてし
まうという問題点がある。
【0005】また、特開平2−287858号公報記載
の技術においては、チェックポイントデータを任意のタ
イミングでセーブできないという問題点がある。さら
に、チェックポイントデータをセーブする頻度が並列処
理の性能を低下させる要因となる可能性がある。
【0006】本発明の目的は、分散メモリ型マルチプロ
セッサシステムのノード数が多い場合でも、ノード間で
データの送受信を行なう並列処理プロセスに対して、効
率的にチェックポイント採取のための停止処理を行える
ようにする分散メモリ型マルチプロセッサシステムにお
けるプロセスの停止方式を提供することにある。
【0007】本発明の他の目的は、分散メモリ型マルチ
プロセッサシステム上において、ノード間でデータの送
受信を行なう並列処理プロセスの通常の処理において
は、同プロセスの性能を低下させないように、チェック
ポイント/リスタートの機能を実現する分散メモリ型マ
ルチプロセッサシステムにおけるプロセスの停止方式を
提供することにある。
【0008】本発明のさらに他の目的は、分散メモリ型
マルチプロセッサシステム上において、ノード間でデー
タの送受信を行なう並列処理プロセスに対して、任意の
時点で、チェックポイント採取が行えるようにする分散
メモリ型マルチプロセッサシステムにおけるプロセスの
停止方式を提供することにある。
【0009】
【課題を解決するための手段】本発明の第1の分散メモ
リ型マルチプロセッサシステムにおけるプロセス停止方
式は、複数のノードを相互結合網により結合し、各ノー
ドに並列処理の対象のスレッドを備える分散メモリ型マ
ルチプロセッサシステムにおいて、前記各ノードが並列
処理の対象のスレッドを管理する管理プロセスを備え、
全ノードのいずれかにチェックポイント要求コマンドが
入力された場合に、ノード番号の最も若い前記ノードの
管理プロセスが、自ノード内の前記スレッドに対して停
止要求を行ない、自ノード内のスレッドが停止した後、
次のノード番号を有する前記ノードの管理プロセスに停
止要求を行ない、並列処理の対象の全ノードのスレッド
が停止するまで、前記ノードの管理プロセスが、ノード
番号順に、自ノード内の前記スレッドに対する停止要求
と次のノード番号を有する前記ノードの管理プロセスに
対する停止要求とを行なうことを特徴とする。
【0010】本発明の第2の分散メモリ型マルチプロセ
ッサシステムにおけるプロセス停止方式は、第1の分散
メモリ型マルチプロセッサシステムにおけるプロセス停
止方式において、前記管理プロセスが、停止要求に基づ
いて自ノード内のスレッドに対して停止要求を行なうノ
ード内停止要求手段と、自ノード内の全スレッドが停止
するまで待ち合わせるノード内停止待ち合わせ手段と、
自ノード内の全スレッドから停止通知を受けた場合に、
次のノード番号のノードの管理プロセスに対して停止要
求を行なうノード間停止要求手段とを備えることを特徴
とする。
【0011】本発明の第3の分散メモリ型マルチプロセ
ッサシステムにおけるプロセス停止方式は、第2の分散
メモリ型マルチプロセッサシステムにおけるプロセス停
止方式において、前記管理プロセスが、全ノードのスレ
ッドが停止するまで待ち合わせるノード間停止待ち合わ
せ手段と、全ノードのスレッドが停止した後、各ノード
に全ノードのスレッドが停止したことを通知するノード
間停止手段とを備えることを特徴とする。
【0012】本発明の第4の分散メモリ型マルチプロセ
ッサシステムにおけるプロセス停止方式は、第3の分散
メモリ型マルチプロセッサシステムにおけるプロセス停
止方式において、前記ノードのスレッドが、ノード間で
のデータの送受信処理の同期をとるためのノード間同期
手段と、前記管理プロセスのノード内停止要求手段によ
る停止要求が発行されているかどうかを示す情報を格納
するチェックポイント情報と、他のノードに対してデー
タの送受信を行なう送受信手段と、自ノードの前記管理
プロセスに対して自スレッドが停止したことを通知した
後自スレッドを停止させる停止手段とを備え、前記ノー
ド間同期手段は、ノード間のデータ送受信において、デ
ータ送受信の同期処理がタイムオーバーになった場合
に、前記チェックポイント情報に基づいて停止要求が発
行されているかどうかを調べ、停止要求が発行されてい
れば、自ノードのノード番号と相手ノードのノード番号
を比較し、自ノードのノード番号の方が若い場合に、前
記停止手段により自スレッドの停止を行なうことを特徴
とする。
【0013】本発明の第5の分散メモリ型マルチプロセ
ッサシステムにおけるプロセス停止方式は、第2の分散
メモリ型マルチプロセッサシステムにおけるプロセス停
止方式において、前記管理プロセスが、前記並列処理プ
ロセスのスレッドが存在する前記ノードのノード番号を
記述したノード番号表を備え、前記管理プロセスの前記
ノード間停止要求手段は、前記ノード番号表によって次
に若いノード番号のノードの管理プロセスに対して停止
要求を行なうことを特徴とする。
【0014】本発明の第6の分散メモリ型マルチプロセ
ッサシステムにおけるプロセス停止方式は、第4の分散
メモリ型マルチプロセッサシステムにおけるプロセス停
止方式において、前記管理プロセスが、前記並列処理プ
ロセスのスレッドが存在する前記ノードのノード番号を
記述したノード番号表を備え、前記スレッドの前記ノー
ド間同期手段は、前記ノード番号表によって自ノードの
ノード番号と相手ノードのノード番号を比較することを
特徴とする。
【0015】本発明の第7の分散メモリ型マルチプロセ
ッサシステムにおけるプロセス停止方式は、第4の分散
メモリ型マルチプロセッサシステムにおけるプロセス停
止方式において、ノード間のデータの送受信において、
送信終了の情報と受信終了の情報をセットするノード間
通信情報を備え、前記ノード間同期手段は、所定時間内
に前記ノード間通信情報に前記送信終了及び受信終了の
情報がセットされている場合に同期を確立し、所定時間
内にセットされない場合に、前記チェックポイント情報
に基づいて停止要求が発行されているかどうかを調べ、
停止要求が発行されていれば、自ノードのノード番号と
相手ノードのノード番号を比較し、自ノードのノード番
号の方が若い場合に、前記停止手段により自スレッドの
停止を行なうことを特徴とする。
【0016】
【発明の実施の形態】以下、本発明の実施の形態につい
て図面を参照して詳細に説明する。
【0017】本発明の対象となるハードウェアは、1つ
のプロセッサと1つのローカルメモリの組を1つのノー
ドとして、または複数のプロセッサが1つのメモリを共
有するという共有メモリ型マルチプロセッサを1つのノ
ードとして、複数のノードが相互結合網により結合され
ている分散メモリ型マルチプロセッサシステムである。
また、データの送受信時の同期または排他制御のため
に、各ノードから参照できるノード間通信領域を持つこ
とを前提とする。
【0018】図1に、本発明の実施の形態による分散メ
モリ型マルチプロセッサシステムの全体構成を示す。図
1において、本システムは、マスタースレッドが存在す
るノードであるマスターノード10と、マスタースレッ
ドが存在するノード以外のスレーブスレッドのみが存在
するスレーブノード20と、ノード間通信領域30を備
えて構成される。
【0019】マスターノード10は、マスタースレッド
50aと、マスターノード内のスレッドを管理する管理
プロセス60aを含む。
【0020】スレーブノード20は、スレーブスレッド
50bと、スレーブノード内のスレッドを管理する管理
プロセス60bを含む。
【0021】マスターノード10及びスレーブノード2
0のマスタースレッド50a及びスレーブスレッド50
bは、それぞれノード間でのデータの送受信を行なう送
信手段50−1及び受信手段50−2と、データの送受
信時に送信手段50−1及び受信手段50−2から使わ
れる、相手ノードとの同期をとるためのノード間同期手
段50−3と、安全な停止位置であると判断された時
に、管理プロセス60a、60bに停止通知を行なった
後、スレッドを停止させる停止手段50−4と、チェッ
クポイント情報50−5を含む。
【0022】マスターノード10及びスレーブノード2
0内の管理プロセス60a、60bは、それぞれ自ノー
ドに停止要求が発行された時に、管理するスレッドに対
してチェックポイント要求フラグを設定することによっ
て停止要求を行なうノード内停止要求手段60−1と、
停止要求を行なったスレッドが停止するまで待ち合わせ
るノード内停止待ち合わせ手段60−2と、管理プロセ
ス60a、60bが管理するスレッドから停止通知を受
けた後、ノード番号が次のノードの管理プロセスに対し
て停止要求が発行されたことを通知するノード間停止要
求手段60−3と、全ノード内の停止対象のスレッドが
停止するまで待ち合わせるノード間停止待ち合わせ手段
60−4と、全ノード内の停止対象のスレッドが停止し
た後、各ノードの管理プロセスに全ノードが停止したこ
とを通知するノード間停止手段60−5と、並列処理プ
ロセスの起動時に、ユーザによって指定された最大使用
ノード数に基づいて作られる、並列処理プロセスのスレ
ッドが存在するノードのノード番号を格納するノード番
号表60−6を含む。
【0023】ノード間通信領域30は、送信手段50−
1及び受信手段50−2によるノード間のデータ送受信
において、ノード間同期手段50−3が両者の同期をと
るために用いるノード間通信情報30−1を含む。
【0024】本発明の実施形態の特徴は、マスターノー
ド10とスレーブノード20間でデータの送受信を行な
っている時に停止要求が発行された場合、送信手段50
−1及び受信手段50−2から使われるノード間同期手
段50−3が、相手ノードが既にチェックポイントによ
る停止要求により停止しているかどうかを自ノード内で
判断できるように構成したことにある。
【0025】次に、図1及び図2を参照して、上述のよ
うに構成される本発明の実施の形態の動作について説明
する。
【0026】図1の構成では、スレーブノード20が1
つの場合を示しているが、実際には複数のスレーブノー
ドが存在する場合も想定している。
【0027】並列処理プロセスの起動時において、最初
に、現在使用できる最も若い番号のノードをマスターノ
ード10とし、このマスターノード10に管理プロセス
60aが生成される。この管理プロセス60aは、ユー
ザによって指定された最大使用ノード数に基づいて、ス
レーブノードとして使用する全てのノードを決定し、そ
れらのノード及びマスターノード10のノード番号をノ
ード番号表60−6に記述する。
【0028】次に、マスターノード10内の管理プロセ
ス60aは、ノード番号表60−6に記載されているス
レーブノード20内の管理プロセス60bとの接続を確
立し、ノード番号表60−6をスレーブノード20の管
理プロセス60bのノード番号表60−6へ複写する。
そして、マスターノード10及びスレーブノード20の
管理プロセス60a、60bによって、並列処理プロセ
スのマスタースレッド50a、スレーブスレッド50b
がそれぞれ生成され、ノード間でのデータの送受信を行
ないながら計算を進める。
【0029】その後、利用者から入力されたチェックポ
イント要求コマンドにより、この並列処理プロセスにチ
ェックポイントが要求されると、チェックポイントの処
理が開始される。
【0030】図4を参照すると、チェックポイント要求
コマンドが利用者によりノードiに入力されると、その
チェックポイント要求コマンドはそのチェックポイント
要求コマンドを送る相手のマスターノード0を決定する
ために、ノードiのノード間停止要求手段60−3に入
力される。ノードiのノード間停止要求手段60−3
は、ノード番号表60−6を参照してマスターノード0
の管理プロセスへ、チェックポイント要求コマンドを指
示する信号を送る。ノードiは、並列処理システムにお
けるプロセス群を常に監視する特別ノードである。ノー
ドiは、マスターノード0と区別されてもされなくても
良い。ノードiがマスターノード0と同一の場合には、
チェックポイント要求コマンドは利用者によりマスター
ノード0へ入力される。
【0031】マスターノード10の管理プロセス60a
のノード間停止要求手段60−3を介してチェックポイ
ントによる停止要求が通知されると、この管理プロセス
60aは、ノード内停止要求手段60−1によりマスタ
ースレッド50aに対して停止要求を行ない、ノード内
停止待ち合わせ手段60−2により、マスタースレッド
50aが停止するまで待ち合わせる。
【0032】ノード内停止要求手段60−1からの停止
要求を受けたマスタースレッド50aは、他のノードと
データの送受信中でなければ、停止要求を認識した時点
(例えば、割り込み処理の終了時)で、停止手段50−
4により管理プロセス60aに対し停止通知を行なって
停止する。
【0033】この後、停止要求を受けたマスターノード
10の管理プロセス60aは、ノード間停止要求手段6
0−3を用いて、ノード番号表60−6からマスターノ
ード10の次に若いノード番号のノードがスレーブノー
ド20であることを調べ、スレーブノード20の管理プ
ロセス60bに対して停止要求を行なう。そして、マス
ターノード10の管理プロセス60aは、ノード間停止
待ち合わせ手段60−4により、チェックポイント対象
の並列処理プロセス内の全ノードのスレッドが停止する
まで待ち合わせる。
【0034】マスターノード10から停止要求を受けた
スレーブノード20の管理プロセス60bは、ノード内
停止要求手段60−1を用いてスレーブノード20内の
スレーブスレッド50bに対して停止要求を行ない、ノ
ード内停止待ち合わせ手段60−2により、スレーブス
レッド50bが停止するまで待ち合わせる。
【0035】この時、スレーブスレッド50bが、他の
ノードとデータの送受信中でなければ、マスタースレッ
ド50aと同様に、上記停止要求を認識した時点で、停
止手段50−4により、管理プロセス60bに対し停止
通知を行なって停止する。
【0036】次に、上記スレーブスレッド50bが、デ
ータの送受信中の場合について、説明する。
【0037】図2は、マスタースレッド50aとスレー
ブスレッド50bがデータの送受信を行なっている場合
であって、マスタースレッド50aは、受信手段50−
2により受信処理を始める前に既に停止要求を受けて停
止中で、スレーブスレッド50bは、停止要求を受ける
前に送信手段50−1により送信処理を開始したが、マ
スタースレッド50aが既に停止しているので、送信処
理を終わることができない場合の動作の一例を示してい
る。
【0038】データの送受信中のスレッドは、ノード間
の同期をとるために、ノード間同期手段50−3によ
り、あらかじめ設定された一定時間のループをしながら
相手ノードのスレッドが、送信手段50−1または受信
手段50−2によりデータの送受信処理を始めたかどう
かをノード間通信情報30−1内のフラグを繰り返し参
照して調べる。
【0039】このループ中にノード間の同期がとれたこ
とが確認できた場合は、送信手段50−1または受信手
段50−2によるデータの送受信が終わった時点で、停
止手段50−4により、スレーブノード20の管理プロ
セス60bに停止通知を行ない停止する。
【0040】しかし、この一定時間のループ中にノード
間の同期がとれず、タイムオーバーになることがある。
このため、ノード間同期手段50−3では、図2のよう
に相手側のノード(マスターノード10)のノード番号
が自ノード(スレーブノード20)のノード番号より若
い場合、相手側のノードのスレッドは停止要求により既
に停止している可能性があるので、停止要求が発行され
ているかどうかを確認し、発行されている場合は、デー
タの送受信処理内で、停止手段50−4により、スレー
ブノード20の管理プロセス60bに停止通知を行ない
停止する。
【0041】相手側のノードのノード番号より自ノード
のノード番号の方が若い場合は、相手ノードのスレッド
が停止している可能性はないので、データの送受信処理
内では停止せず、相手ノードのスレッドとの同期がとれ
るまでさらに待ち合わせる。そして、送信手段50−1
または受信手段50−2によるデータの送受信処理が終
了した時点で、停止手段50−4により、スレーブノー
ド20の管理プロセス60bに停止通知を行ない停止す
る。
【0042】以上のどれかの処理によって、停止通知を
受けたスレーブスレッド50bの管理プロセス60b
は、ノード番号表60−6を参照して、次のスレーブス
レッドがある場合は、ノード間停止要求手段60−3に
より、次に若いノード番号のノードの管理プロセスに対
して、さらに停止要求を行ない、ノード間停止待ち合わ
せ手段60−4により、チェックポイント対象プロセス
内の全ノードのスレッドが停止するまで待ち合わせる。
【0043】次のスレーブスレッドがない場合は、スレ
ーブノード20の管理プロセス60bが、マスターノー
ド10の管理プロセス50aにノード間停止通知手段6
0−5により、全ノードのスレッドが停止したことを通
知する。さらに、マスターノード20から順次全ノード
にノード間停止通知手段60−5により、全ノードのス
レッドが停止したことを通知する。
【0044】これによって、各マスターノード10及び
スレーブノード20の管理プロセス60a、60bは、
リスタートファイルの作成処理に移ることができる。
【0045】リスタート時の処理については、上記の処
理によって、チェックポイントの停止時にノード間での
同期のずれが生じていないことが保証されているので、
例えば、特開平8−263317号公報のような分散メ
モリ型マルチプロセッサシステムを対象としないチェッ
クポイント/リスタートの処理方式から、容易に実現可
能である。つまり、マスターノード10の管理プロセス
60aがスレーブノード20の管理プロセス60bとの
接続を確立し、その管理プロセスへリスタート要求が発
行されたことを通知する。そして、各ノード内の管理プ
ロセスは、特開平8−263317号公報に記述された
りスタートの処理方式をノード毎に適用し、スレーブノ
ード20の管理プロセス60bは、管理するノードのり
スタートが終了した時点で、マスターノード10の管理
プロセス60aへ通知することにより実現できる。
【0046】図3は、送信手段50−1及び受信手段5
0−2によるデータの送受信処理で使用されるノード間
同期手段50−3の処理内容を説明するフローチャート
である。
【0047】チェックポイント要求が発行されていな
い、通常の並列処理プロセスの処理ににおけるデータの
送受信処理では、図3に従って以下のような処理が行な
われる。
【0048】送信側のノードでは、送信手段50−1か
らノード間同期手段50−3によって、ノード間通信情
報30−1に送信データが用意できたことを示すフラグ
をセットし、同時にノード間通信情報30−1を参照し
て(ステップ301)、受信側ノードによって受信終了
フラグがセットされているかどうかをチェックする(ス
テップ302)。
【0049】受信終了フラグがセットされていない場合
は、受信側のノードとの同期がまだとれていないので、
一定の時間が経過してタイムオーバーになっているかど
うかを判定し(ステップ303)、タイムオーバーにな
っていなければ、再びノード間通信情報30−1を参照
して、ノード間の同期が取れるまで、ステップ301〜
303の処理を繰り返すことにより待ち合わせる。
【0050】受信側のノードにおいては、受信手段50
−2からノード間同期手段50−3によって、ノード間
通信情報30−1を参照して(ステップ301)、送信
データが用意できたことを示すフラグがセットされてい
るかどうかをチェックする(ステップ302)。フラグ
がセットされていない場合は、送信側のノードと同様
に、送信側との同期がまだとれていないので、一定の時
間が経過してタイムオーバーになっているかどうかを判
定し(ステップ303)、タイムオーバーになっていな
ければ、再びノード間通信情報30−1を参照して、同
期が取れるまで、ステップ301〜303の処理を繰り
返して待ち合わせる。
【0051】次に、送信側または受信側のどちらかのノ
ードが、同期待ちで上記のステップ301〜303の処
理を繰り返している時に、チェックポイントの停止要求
が発行された場合は、以下ような処理を行なう。例え
ば、図2に示したように、受信側のマスタースレッド5
0aが、受信手段50−2により受信処理を始める前に
チェックポイントにより停止した場合、送信側のスレー
ブスレッド50bのノードは、ステップ301〜303
の処理を繰り返しているうちにタイムオーバーになる。
【0052】この後、スレーブノード20の管理プロセ
ス60bからノード内停止要求手段60−1によって、
チェックポイント要求フラグがチェックポイント情報5
0−5に設定されているかどうかを調べる(ステップ3
04)。チェックポイント要求フラグが設定されていれ
ば、ノード番号表60−6を参照して受信側ノードのノ
ード番号と送信側ノードのノード番号を比較し(ステッ
プ305)、送信側ノードのノード番号の方が若い場合
は、既にチェックポイントにより停止していると判断で
きるので、停止手段50−4によりスレーブノード20
の管理プロセス60bに通知を行ない停止する(ステッ
プ306)。
【0053】上記の実施の形態では、マスタースレッド
10が存在するノードを最も若いノード番号に配置し、
若いノード番号のノードから順に停止要求行なうので、
現在停止要求が発行されているノードのスレッドは、ど
のノードのスレッドが既に停止していて、どのノードが
停止していないかを知ることができる。このため、適切
な停止位置であるかどうかを自ノード内で判断すること
ができる。
【実施例】次に、本発明の具体的な実施例について詳細
に説明する。
【0054】この実施例では、マスターノード10がノ
ード番号0、スレーブノード20がノード番号1にそれ
ぞれ割り当てられているものとする。
【0055】図2は、マスターノード10のマスタース
レッド50aとスレーブノード20のスレーブスレッド
50bがデータの送受信をしようとしている場合で、マ
スタースレッド50aは、受信手段50−2により受信
処理を始める前に既に停止要求を受けて停止中で、スレ
ーブスレッド50bは、停止要求を受ける前に送信手段
50−1により送信処理を開始したが、マスタースレッ
ド50aが既に停止しているので、送信処理を終わるこ
とができない場合の動作例を示している。
【0056】この場合、スレーブスレッド50bは、ノ
ード間の同期をとるために、ノード間同期手段50−3
により、あらかじめ設定された一定時間のループをしな
がらマスタースレッド50aが、受信手段50−2によ
りデータの受信処理を始めたかどうかをノード間通信情
報30−1内のフラグを繰り返し参照して調べる。
【0057】しかし、マスタースレッド50aは、既に
チェックポイントの停止要求により停止しており、受信
処理を始めることはない。このため、図3に示したよう
に、ステップ301〜303のステップを繰り返してい
る間にタイムオーバーを起こして、ステップ304へ進
み、スレーブスレッド50b内のチェックポイント情報
50−5を参照して、チェックポイント要求フラグが設
定されていることを確認する。
【0058】次に、ステップ305において、受信側の
ノードであるマスターノード50aはノード番号0、送
信側のノードであるスレーブスノード50bはノード番
号1に割り当てられているので、受信側ノードのノード
番号の方が若いため、スレーブスレッド50bは、マス
ターノード50aは既に停止していると判断し、ステッ
プ309で停止手段50−4によりスレーブスレッド5
0bの管理プロセス60bに停止通知を行ない停止す
る。
【0059】以上好ましい実施の形態と実施例をあげて
本発明を説明したが、本発明は必ずしも上記実施の形態
及び実施例の内容に限定されるものではない。本発明の
実施の形態では、2ノードで、スレーブスレッドが1ス
レッドの場合の並列処理プロセスについて説明したが、
複数のスレーブノードを有する場合にも適用でき、ノー
ド数の制限はない。
【0060】また、各ノード内のスレッド数について
も、マスターノード、スレーブノード共に複数のスレッ
ドを有する場合にも適用でき、スレッド数に制限はな
い。ただし、管理プロセスは、スレッド数が増加しても
各ノードに1つでよい。この場合、管理プロセスは、そ
のノード内の全てのスレッドから停止手段50−4によ
り、停止通知を受けた後、ノード間停止要求手段60−
3により、次のノードの管理プロセスへ停止通知が発行
されたことを通知する。
【0061】さらに、ノード間のデータの送受信につい
ても、任意のノード間での送受信中の場合について適用
できる。
【0062】
【発明の効果】以上説明したように本発明の分散メモリ
型マルチプロセッサシステムにおけるプロセス停止方式
によれば、以下に述べる効果が得られる。
【0063】第1に、最若番ノードから順に停止処理を
行なうため、データの送受信処理内のノード間同期手段
で、相手ノードが既に停止しているかどうかを通信等の
手段で相手ノードの状態を調べることなく、知ることが
できるので、自ノードが停止できるかどうかを自ノード
内で判断することができるため、多くのノードを有する
分散メモリ型マルチプロセッサシステムにおいて、多く
のスレッドを有する並列処理プロセス内で、データの送
受信を行なっている時にチェックポイントのための停止
要求が発行された場合でも、高々ノード数に比例したオ
ーダーの手間で停止させることができるため、効率的に
停止処理を行なうことができる。
【0064】第2に、チェックポイント要求が発行され
た時のみ、停止処理を含むチェックポイントの処理を行
なうため、分散メモリ型マルチプロセッサシステムにお
いて動作する並列処理プロセスの通常の処理に、チェッ
クポイントのための停止処理が影響を与えることがなく
性能の低下がない。
【0065】第3に、チェックポイント要求は、外部コ
マンドによって発行されるため、分散メモリ型マルチプ
ロセッサシステムにおいて動作する並列処理プロセスに
対して、任意の時点でチェックポイント採取を行える。
【図面の簡単な説明】
【図1】 本発明の実施の形態における分散メモリ型マ
ルチプロセッサシステムの全体構成を示すブロック図で
ある。
【図2】 本発明の実施の形態におけるノード間のデー
タ送受信中の具体的な操作を説明する図である。
【図3】 本発明の実施の形態におけるノード間同期手
段の具体的な処理内容を説明するフローチャートであ
る。
【図4】 本発明の実施の形態における特別ノードとマ
スターノードとの関係を示すブロック図である。
【符号の説明】
10 マスターノード 20 スレーブノード 30 ノード間通信領域 30−1 ノード間通信情報 50a マスタースレッド 50b スレーブスレッド 50−1 送信手段 50−2 受信手段 50−3 ノード間同期手段 50−4 停止手段 50−5 チェックポイント情報 60a、60b 管理プロセス 60−1 ノード内停止要求手段 60−2 ノード内停止待ち合わせ手段 60−3 ノード間停止要求手段 60−4 ノード間停止待ち合わせ手段 60−5 ノード間停止通知手段 60−6 ノード番号表

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】 複数のノードを相互結合網により結合
    し、各ノードに並列処理の対象のスレッドを備える分散
    メモリ型マルチプロセッサシステムにおいて、 前記各ノードが並列処理の対象のスレッドを管理する管
    理プロセスを備え、 全ノードのいずれかにチェックポイント要求コマンドが
    入力された場合に、ノード番号の最も若い前記ノードの
    管理プロセスが、自ノード内の前記スレッドに対して停
    止要求を行ない、自ノード内のスレッドが停止した後、
    次のノード番号を有する前記ノードの管理プロセスに停
    止要求を行ない、 並列処理の対象の全ノードのスレッドが停止するまで、
    前記ノードの管理プロセスが、ノード番号順に、自ノー
    ド内の前記スレッドに対する停止要求と次のノード番号
    を有する前記ノードの管理プロセスに対する停止要求と
    を行なうことを特徴とする分散メモリ型マルチプロセッ
    サシステムにおけるプロセス停止方式。
  2. 【請求項2】 前記管理プロセスが、停止要求に基づい
    て自ノード内のスレッドに対して停止要求を行なうノー
    ド内停止要求手段と、自ノード内の全スレッドが停止す
    るまで待ち合わせるノード内停止待ち合わせ手段と、自
    ノード内の全スレッドから停止通知を受けた場合に、次
    のノード番号のノードの管理プロセスに対して停止要求
    を行なうノード間停止要求手段とを備えることを特徴と
    する請求項1に記載の分散メモリ型マルチプロセッサシ
    ステムにおけるプロセス停止方式。
  3. 【請求項3】 前記管理プロセスが、全ノードのスレッ
    ドが停止するまで待ち合わせるノード間停止待ち合わせ
    手段と、全ノードのスレッドが停止した後、各ノードに
    全ノードのスレッドが停止したことを通知するノード間
    停止手段とを備えることを特徴とする請求項2に記載の
    分散メモリ型マルチプロセッサシステムにおけるプロセ
    ス停止方式。
  4. 【請求項4】 前記ノードのスレッドが、ノード間での
    データの送受信処理の同期をとるためのノード間同期手
    段と、前記管理プロセスのノード内停止要求手段による
    停止要求が発行されているかどうかを示す情報を格納す
    るチェックポイント情報と、他のノードに対してデータ
    の送受信を行なう送受信手段と、自ノードの前記管理プ
    ロセスに対して自スレッドが停止したことを通知した後
    自スレッドを停止させる停止手段とを備え、 前記ノード間同期手段は、ノード間のデータ送受信にお
    いて、データ送受信の同期処理がタイムオーバーになっ
    た場合に、前記チェックポイント情報に基づいて停止要
    求が発行されているかどうかを調べ、停止要求が発行さ
    れていれば、自ノードのノード番号と相手ノードのノー
    ド番号を比較し、自ノードのノード番号の方が若い場合
    に、前記停止手段により自スレッドの停止を行なうこと
    を特徴とする請求項3に記載の分散メモリ型マルチプロ
    セッサシステムにおけるプロセス停止方式。
  5. 【請求項5】 前記管理プロセスが、前記並列処理プロ
    セスのスレッドが存在する前記ノードのノード番号を記
    述したノード番号表を備え、 前記管理プロセスの前記ノード間停止要求手段は、前記
    ノード番号表によって次に若いノード番号のノードの管
    理プロセスに対して停止要求を行なうことを特徴とする
    請求項2に記載の分散メモリ型マルチプロセッサシステ
    ムにおけるプロセス停止方式。
  6. 【請求項6】 前記管理プロセスが、前記並列処理プロ
    セスのスレッドが存在する前記ノードのノード番号を記
    述したノード番号表を備え、 前記スレッドの前記ノード間同期手段は、前記ノード番
    号表によって自ノードのノード番号と相手ノードのノー
    ド番号を比較することを特徴とする請求項4に記載の分
    散メモリ型マルチプロセッサシステムにおけるプロセス
    停止方式。
  7. 【請求項7】 ノード間のデータの送受信において、送
    信終了の情報と受信終了の情報をセットするノード間通
    信情報を備え、 前記ノード間同期手段は、所定時間内に前記ノード間通
    信情報に前記送信終了及び受信終了の情報がセットされ
    ている場合に同期を確立し、所定時間内にセットされな
    い場合に、前記チェックポイント情報に基づいて停止要
    求が発行されているかどうかを調べ、停止要求が発行さ
    れていれば、自ノードのノード番号と相手ノードのノー
    ド番号を比較し、自ノードのノード番号の方が若い場合
    に、前記停止手段により自スレッドの停止を行なうこと
    を特徴とする請求項4に記載の分散メモリ型マルチプロ
    セッサシステムにおけるプロセス停止方式。
JP10143780A 1997-05-30 1998-05-26 分散メモリ型マルチプロセッサシステムにおけるプロセスの停止方式 Expired - Fee Related JP3077669B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10143780A JP3077669B2 (ja) 1997-05-30 1998-05-26 分散メモリ型マルチプロセッサシステムにおけるプロセスの停止方式

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP9-158017 1997-05-30
JP15801797 1997-05-30
JP10143780A JP3077669B2 (ja) 1997-05-30 1998-05-26 分散メモリ型マルチプロセッサシステムにおけるプロセスの停止方式

Publications (2)

Publication Number Publication Date
JPH1145229A true JPH1145229A (ja) 1999-02-16
JP3077669B2 JP3077669B2 (ja) 2000-08-14

Family

ID=26475421

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10143780A Expired - Fee Related JP3077669B2 (ja) 1997-05-30 1998-05-26 分散メモリ型マルチプロセッサシステムにおけるプロセスの停止方式

Country Status (1)

Country Link
JP (1) JP3077669B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007280383A (ja) * 2006-04-02 2007-10-25 Mentor Graphics Corp 並列演算の分散
US8468287B2 (en) 2007-08-22 2013-06-18 Nec Corporation Information processor and information processing method
KR20160070984A (ko) * 2014-12-11 2016-06-21 고려대학교 산학협력단 하둡 플랫폼을 이용한 전산유체역학의 시뮬레이션 장치 및 방법
JP2019179447A (ja) * 2018-03-30 2019-10-17 キヤノン株式会社 電子機器、電子機器の制御方法、及びプログラム

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6385942A (ja) * 1986-09-30 1988-04-16 Toshiba Corp 並列プログラムのデバツグ支援装置
JPH02264352A (ja) * 1989-04-05 1990-10-29 Hitachi Ltd マルチプロセッサ同期方式
JPH02287858A (ja) * 1989-04-28 1990-11-27 Toshiba Corp 分散処理システムのリスタート方式
JPH07200441A (ja) * 1993-12-28 1995-08-04 Nec Corp 分散処理システムにおけるシステム起動または停止統括 システム
JPH09138754A (ja) * 1995-09-11 1997-05-27 Toshiba Corp 分散チェックポイント生成方法および同方法が適用される計算機システム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6385942A (ja) * 1986-09-30 1988-04-16 Toshiba Corp 並列プログラムのデバツグ支援装置
JPH02264352A (ja) * 1989-04-05 1990-10-29 Hitachi Ltd マルチプロセッサ同期方式
JPH02287858A (ja) * 1989-04-28 1990-11-27 Toshiba Corp 分散処理システムのリスタート方式
JPH07200441A (ja) * 1993-12-28 1995-08-04 Nec Corp 分散処理システムにおけるシステム起動または停止統括 システム
JPH09138754A (ja) * 1995-09-11 1997-05-27 Toshiba Corp 分散チェックポイント生成方法および同方法が適用される計算機システム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007280383A (ja) * 2006-04-02 2007-10-25 Mentor Graphics Corp 並列演算の分散
US8468287B2 (en) 2007-08-22 2013-06-18 Nec Corporation Information processor and information processing method
KR20160070984A (ko) * 2014-12-11 2016-06-21 고려대학교 산학협력단 하둡 플랫폼을 이용한 전산유체역학의 시뮬레이션 장치 및 방법
JP2019179447A (ja) * 2018-03-30 2019-10-17 キヤノン株式会社 電子機器、電子機器の制御方法、及びプログラム

Also Published As

Publication number Publication date
JP3077669B2 (ja) 2000-08-14

Similar Documents

Publication Publication Date Title
US6192391B1 (en) Process stop method and apparatus for a distributed memory multi-processor system
US6141720A (en) Method and apparatus for coordination of a shared object in a distributed system
US5991793A (en) Resource allocation method in computer system
US6950820B2 (en) Maintaining consistency of a global resource in a distributed peer process environment
JPH04271454A (ja) 疎結合計算機システム
JPH1027108A (ja) スレッド実行方法
WO1998003912A1 (en) Method and apparatus for coordination of a shared object in a distributed system
US5473762A (en) Method and system for pipelining bus requests
US5864699A (en) Method and apparatus for mutual exclusion in self-directed distributed systems
US5258982A (en) Method of excluding inactive nodes from two-phase commit operations in a distributed transaction processing system
JP3077669B2 (ja) 分散メモリ型マルチプロセッサシステムにおけるプロセスの停止方式
JP2701806B2 (ja) ファイル同期方式
JP2001022720A (ja) マルチプロセッサシステム
JP2001067257A (ja) 分散ノード間排他更新装置
JP5449471B2 (ja) 共有データに対する更新処理の同期処理方法、データ共有システムおよびデータ共有プログラム
JP2693460B2 (ja) 分散ネットワーク・システム
JP2002207714A (ja) マルチプロセッサ装置
JPH04128957A (ja) マルチプロセッサシステムにおける共有資源の排他制御方法
JPH09190417A (ja) マルチプロセッサシステム
JP2022115672A (ja) 多重系処理システム及び多重系処理システムの制御方法
JPS603027A (ja) コンピユ−タ処理システムにおける資源管理方式
Kawsar et al. An efficient token based algorithm for mutual exclusion in distributed system
CN117311913A (zh) 一种分布式事务处理方法、装置、设备及存储介质
CN117827385A (zh) 数据库集群的事务管理方法、可读存储介质和计算机设备
JPH0318958A (ja) マルチプロセッサシステム

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20000516

LAPS Cancellation because of no payment of annual fees