JP2012194615A - プロセス間同期方法 - Google Patents

プロセス間同期方法 Download PDF

Info

Publication number
JP2012194615A
JP2012194615A JP2011056049A JP2011056049A JP2012194615A JP 2012194615 A JP2012194615 A JP 2012194615A JP 2011056049 A JP2011056049 A JP 2011056049A JP 2011056049 A JP2011056049 A JP 2011056049A JP 2012194615 A JP2012194615 A JP 2012194615A
Authority
JP
Japan
Prior art keywords
host
synchronization
standby
synchronous
waiting
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
JP2011056049A
Other languages
English (en)
Other versions
JP5605279B2 (ja
Inventor
Takeo Ogawa
武雄 小川
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2011056049A priority Critical patent/JP5605279B2/ja
Publication of JP2012194615A publication Critical patent/JP2012194615A/ja
Application granted granted Critical
Publication of JP5605279B2 publication Critical patent/JP5605279B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Hardware Redundancy (AREA)

Abstract


【課題】 常用系及び待機系ホストを具備するフォールトトレラントシステム構成の計算機システムにおいて、プロセス間同期処理を行う場合、待機系の全てのホストが起動しないと同期待ちが解除されない、常用系と待機系ホストの切り替えによって再起動したホストでは同期解除がされないなどの問題があった。
【解決手段】 常用系と待機系ホストを区別して、同期呼び出し数を計上する同期監視装置を用意し、各常用系ホストの同期呼び出し数の総数が、予め規定された数と同じになったときに常用系ホストの同期待ちを解除するとともに、待機系ホストはさらに待機系ホストの同期待ち数が、待機系ホストと対をなす常用系ホストの同期待ち数と一致したとき、待機系ホストの同期待ちの解除が行われるようにする。
【選択図】 図1

Description

この発明は、複数のプロセス間で同期を取って処理を行う計算機システムのプロセス間同期方法に関するものである。
従来のプロセス間同期方法は、バリア同期に参加するプロセッサについて、あらかじめ同期ポイントの総数を同期管理部に設定しておき、各プロセッサからのバリア同期要求が発生する毎にカウンタによって同期ポイントへの到達数を計数し、カウンタの計数値が同期ポイントの総数に到達したときに、バリア同期成立通知を発行して、各プロセッサにおける同期待ちを解除していた(例えば、特許文献1参照)。
特開2000−215182号公報
しかしながら従来のプロセス間同期方法は、常用系及び待機系のホストプロセッサからなる、フォールトトレラントシステム(Fault tolerant system)構成を組んだ計算機システムへの適用についてまで、想定されたものではない。このため、待機系の全てのホストプロセッサが起動しないと、同期待ちが解除されないという問題があった。
また、常用系と待機系のホストプロセッサが切り替わる場合、切り替わるホストプロセッサが再起動し初期化されるので、この再起動したホストプロセッサでは同期待ちの解除がなされないという問題が発生する。この問題を解決するためには、所定のタイムアウト時間を設定し、当該タイムアウト時間に達した場合は常用系と待機系が切り替わり再起動していると判断して、強制的に同期待ちの解除をかけるようにする必要がある。
しかし、当該タイムアウト時間は、ホストプロセッサの再起動後に同期ポイントに至るまでの到達時間を考慮して、通常十分に長い時間が設定される。このため、タイムアウト時間が到達するまでは何れのホストプロセッサも同期待ちの解除がなされないことから、同期が完了するまでの時間が無駄に延びてしまうという問題がある。
この発明は係る課題を解決するために成されたものであり、常用系及び待機系のフォールトトレラントシステム構成の計算機システムにおいて、タイムアウトに依存しないプロセス間同期方法を得ることを目的とする。
この発明によるプロセス間同期方法は、常用系及び待機系ホストからなる組を複数組備えるとともに、同期監視装置を備えた計算機システムにおいて、異なる組のプロセス間で同期待ちの状態から同期待ち解除の状態を得てタイミング調整を行い、プロセス間の同期を取るプロセス間同期方法であって、上記各ホストが同期待ちを解除するまでに実行する所定のタスク数の進行に応じて、各ホストが発する同期呼び出し数を、それぞれの組毎に常用系及び待機系を区別して計数するステップと、上記常用系ホストの発した同期呼び出し数の計数値の全組の総数が、予め規定された値に一致したときに、常用系ホストの同期待ちを解除するステップと、上記待機系ホストの発した同期呼び出し数の計数値が、当該待機系ホストと同一組の常用系ホストの同期待ちが解除されるときの同期呼び出し数の計数値と同じになったとき、待機系ホストの同期待ちを解除するステップと、を備えたものである。
この発明によれば、常用系ホストの同期待ちの解除条件が待機系ホストの同期待ちの解除条件に依存しないので、不要なタイムアウト待ちを無くすことができ、タイムアウトに依存しないプロセス間同期方法を得ることができる。
実施の形態1による常用系及び待機系のフォールトトレラントシステムをなす計算機システムの構成を示す図である。 実施の形態1による同期監視装置の動作例を示すフローチャートである。 実施の形態1による同期監視装置が常用待機切り替えを検出した場合の処理フローを示す図である。 実施の形態2による同期監視装置の動作例を示すフローチャートである。 実施の形態3による同期監視装置の処理フローを示す図である。
実施の形態1.
図1は、この発明に係る実施の形態1による常用系及び待機系のフォールトトレラントシステムをなす計算機システムの構成を示す図であり、(a)は計算機システムの全体構成を示し、(b)は計算機システムに設けられた同期監視装置の構成を示し、(c)は同期監視装置に設けられた記憶部の一部のデータ領域の構成例を示す図である。
図1(a)において、実施の形態1の計算機システムは、常用系ホスト群3aと、待機系ホスト群3bと、同期監視装置2と、ネットワーク6から構成されたフォールトトレラントシステムをなしている。フォールトトレラントシステムは、その構成部品の一部が故障しても正常に処理を続行するシステムであり、この例では1対の常用系と待機系のホストを設けることで、何れか一方のホストが故障しても故障していない他方のホストに切り替わり、処理が正常に継続するようにシステムが構成されている。ここでのホストとは、ネットワーク6を介して別の機器やコンピュータ、プロセッサにサービスや処理能力などを提供するコンピュータ若しくはプロセッサである。常用系ホスト群3a及び待機系ホスト群3bの各ホストは、ネットワーク6を介して異なる所属グループ(組)間でプロセス間通信を行い、共有情報へのアクセス時に衝突がないように、プロセス間で同期を取って、相互に情報のやり取りを行っている。ネットワーク6は、LAN(Local Area Network)ケーブルや、電話回線、光回線や、プロセッサ間を接続するデータバスであっても良い。
図1(a)の例では、常用系及び待機系のフォールトトレラントシステムをなす計算機システムの形態として、常用系に3つのホストがあるという想定で説明を行う。この場合、待機系は必然的に、常用系と対をなす3つのホストが存在することになる。
この常用系ホスト群3aを、ホスト1a、ホスト1c、ホスト1eとする。また、常用系と対をなす待機系ホスト群3bを、ホスト1b、ホスト1d、ホスト1fとする。
常用系ホスト群3aの各ホスト1a、1c、1eと、待機系ホスト群3bの各ホスト1b、1d、1fは、それぞれネットワーク6に接続される。
常用系ホストと対を成す待機系ホストを同一のグループ(組)とするようにグループ化し、ホスト1aとホスト1bをグループ4a、ホスト1cとホスト1dをグループ4b、ホスト1eとホスト1fをグループ4cとして、複数の異なる所属グループにグループ分けする。
各グループは、1つの常用系ホストと対を成す1つの待機系ホストで構成されていることになる。
なお、各グループに属する常用系及び待機系のホストは、それぞれ2つ以上設けられても良く、またグループ数も2つ若しくは3つ以上の複数個設けられても良い
常用系ホスト群3aの各ホスト1a、1c、1eと、待機系ホスト群3bの各ホスト1b、1d、1fは、何れかのホストに異常が生じた場合、計算機システムに設けられた制御部(図示せず)がその異常を検出し、それぞれ同一のグループ内で、常用系ホストと待機系ホストを互いに切り替えるように自動的に制御される。
また、常用系ホストと待機系ホストが切り替わるとき、異常が生じて切替えられる方のホストは再起動が行われ、遂行中のプロセスの進行が初期化される(リスタートされる)。
各ホスト1a〜1fは、そのプロセッサに設定されたプログラムにしたがって、予め設定されたプロセスを順次遂行していく。各ホスト1a〜1fに設定されたプログラムは、一群のプロセスからなる複数のタスクから構成される。各ホスト1a〜1fは、所定のタスクの処理を完了することで予め設定された「同期ポイント」に到達すると、同期呼び出しを発する。この同期ポイントは、各ホスト1a〜1fにおいてそれぞれ規定のタスクが完了する毎に設定されている。すなわち、各ホスト1a〜1fは順次タスクを処理し、同期ポイントに到達する都度、同期呼び出しを発する。
ホスト1a〜1f間でプロセス間同期が行われるまでの間に、各ホストは同期待ちの状態を得る。例えば、各ホスト1a〜1fがそれぞれ所要数の同期呼び出しを発呼し、異なるホスト間でプロセス間同期を実行すべきタイミングである「同期待ちポイント」に到達すると、各ホスト1a〜1fはホスト情報を含むメッセージを送信して同期待ちの状態となる。その後、後述する同期監視装置2によって、各ホスト1a〜1fの同期待ちの解除がなされる。
各ホスト1a〜1fは、同期待ちが解除されると、異なるグループ間で各所属ホストの処理するプロセス間の同期を取って、共有情報へのアクセスに衝突がないように相互に同期タイミングを取りながら並列処理を行うことで、異なるグループ間の各所属ホストの協調作業により、所定の一連のタスクが遂行される。
なお、ホスト間でプロセス間同期が行われるまでの間に、各ホストが発する同期呼び出しの数(以下、同期呼び出し数と呼ぶ)は通常ホスト毎に異なり、各ホストの同期待ち時間は必ずしも一様ではない。
同期監視装置2は、ネットワーク6を介して各ホスト(1a〜1f)に接続される。また、図2(b)に示すように同期監視装置2は、主要な処理を行うメイン制御部(図示せず)と、同期呼び出し認識部21と、記憶部22と、再起動認識部23と、書き込み部24と、同期待ち判定部25と、同期待ち解除指示部26を具備している。
同期監視装置2の同期呼び出し認識部21は、各ホスト(1a〜1f)からの同期呼び出しを認識する手段である。同期呼び出し認識部21は、常用系ホスト群3aと待機系ホスト群3bを区別して、各ホスト1a〜1fからの同期呼び出しを認識する。
同期監視装置2の保持する記憶部22は、常用系ホスト群3aと待機系ホスト群3bに接続され、各ホストのシステム状態を記録及び再生する。また、図2(c)に示すように、記憶部22が保持する一部のデータ領域には、各グループ(4a〜4c)の常用系及び待機系毎に区分けされたカウンタからなる、マトリクス表7が構成されている。このマトリクス表7のカウンタには、グループ(4a〜4c)毎に、常用系及び待機系別の「同期呼び出し数」のカウント値(同期呼び出しの発生数を累積した計数値)がそれぞれ計上され、記憶保持される。マトリクス表7への値の書き込みは書き込み部24によって行われる。
また、図2(c)に示すように、記憶部22が保持するデータ領域には、同期呼び出し総数領域8が設定されている。この同期呼び出し総数領域8には、常用系だけの呼び出し数の総和で設定される「同期呼び出し総数」の値が記憶保持される。同期呼び出し総数領域8への値の書き込みは書き込み部24によって行われる。
同期監視装置2の再起動認識部23は、各ホスト1a〜1fが再起動したことを認識する手段である。再起動認識部23は、常用系から待機系へのホストの切り替わりのタイミングで、切り替わりによって新たに待機系となる元の常用系ホストの再起動を認識すると、マトリクス表7のデータ領域にアクセスし、切替えられる元の常用系ホストが属するグループにおける、待機系ホストのプロセス間同期呼び出し数を、0にリセットする。なお、常用系と待機系の切り替えが起こると、切り替わった方のホストは新たに常用系となり、切替えられて再起動する方のホストは新たに待機系となる。
また、同期監視装置2の同期待ち判定部25は、タスクが同期待ちになったことを判定する手段である。例えば、何れかのホストのタスクが同期待ちポイントに到達したら、当該ホストのタスクは同期監視装置2の同期待ち判定部25に自身のホスト情報を含むメッセージを送信することで、同期待ち判定部25は当該タスクが同期待ちになったことを認識して、判定が行われる。
同期監視装置2の同期待ち解除指示部26は、同期待ち解除の条件が整うと、同期待ち解除の命令を任意のホストに指示する手段である。例えば、同期監視装置2は、同期待ち判定部25によってタスクが同期待ちになったことが判定され、かつ同期待ち解除の条件が整ったことを認識すると、ホストへ同期待ち解除を指示するメッセージを送信する。ホスト側では、このメッセージを受信すると同期待ちを解除する。
次に、実施の形態1による同期監視装置2の動作の一例について、以下に説明する。
この動作例では、常用系ホスト1aは同期待ちが必要なタスク数(以下、同期待ち数と呼ぶ)が3つあり、ホスト1cは同期待ち数が4つあり、ホスト1eは同期待ち数が2つあるとした場合を想定する。
つまり、ホスト間でプロセス間同期を行うタイミングに到達して、同期待ちが解除される「同期待ち解除の条件」は、同期待ち状態になったタスクの総数が9になったときである。この値は、常用系ホスト1aの同期待ち数3と、常用系ホスト1bの同期待ち数4と、常用系ホスト1aの同期待ち数2の和に相当する(すなわち、9=3+4+2である)。
この同期呼び出し総数が例えば9であることは、システム設計時に確定する情報であるため、同期監視装置2は、予めプロセス間同期の同期呼び出し総数を9として記憶するために、書き込み部24により同期呼び出し総数領域8にこのプロセス間同期の呼び出し総数の値9を書き込んでいる。
なお、同期待ち数は、同期待ちが解除されるまでの間に、各ホスト1a〜1fが必要とする同期呼び出し数の計数値に相当する。タスクが同期待ちになったときは、「同期呼び出し数」の計数値は、同期待ち数に一致することとなる。
図2は、実施の形態1による同期監視装置2の動作例を示すフローチャートである。
図において、同期監視装置2は、同期呼び出し認識部21にて、各ホスト1a〜1fからの同期呼び出しがなされたか否かを監視する処理を行う(ステップS100)。
監視の結果、同期呼び出しがなされたことを検出すると、記憶部22にアクセスして、同期呼び出しを実施したホストのマトリクス表7における、該当するカウンタの「同期呼び出し数」のカウント値を、1つインクリメント(カウントアップ)する(ステップS101)。
次に、同期監視装置2は、ホストが常用系ホスト群3aと待機系ホスト群3bの何れに属するホストであるかを判定する(ステップS102)。
ステップS102の判定の結果、常用系ホスト群3aに属する常用系ホストであった場合は、マトリクス表7にアクセスし、全グループの常用系ホスト1a、1c、1eに対応したカウンタの同期呼び出し数の総和を求め、求めた総和に基づいて、常用系ホストの「同期待ちの解除条件」を満足するか否かの判定を行う(ステップS103)。
ここでは、「全グループの常用系ホストの同期呼び出し数の総和が、同期呼び出し総数領域8に記憶された値(予め設定された同期呼び出し総数)に一致している」ことが、常用系ホストの同期待ちの解除条件を満足する判定条件となる。
ステップS103の判定の結果、常用系ホストの同期待ちの解除条件が満足される、すなわち「全グループの常用系ホストの同期呼び出し数の総和が同期呼び出し総数領域8の値に一致」となった段階で、同期監視装置2の同期待ち解除指示部26は、常用系ホスト群3aの全てのホスト1a、1c、1eに対して、同期待ちの解除の命令を指示する(ステップS104)。
また、「全グループの常用系ホストの同期呼び出し数の総和が同期呼び出し総数領域8の値に不一致」となった場合は、ステップS100に立ち戻り、引き続き同期呼び出し認識部21による監視処理が行われる。
一方、ステップS102の判定の結果、待機系ホスト群3bに属する待機系ホストであった場合は、同期監視装置2がステップS105の処理を行う。
ステップS105では、待機系ホストが「同期待ちの解除条件」を満足しているか否かの判定が行われる。
この待機系ホストの「同期待ちの解除条件」は、常用系ホストとは異なる。
ここでの「同期待ちの解除条件」は、「常用系ホストが同期解除済みの状態であって、かつその状態で待機系ホストの属するグループの対をなす常用系ホストの同期呼び出し数の計数値(この場合同期待ち数となる)と同じ数の同期呼び出し数の計数値が、マトリクス表7のカウンタに設定されている」こととなっている。
また、この場合、同期監視装置2の同期待ち判定部25によって、タスクが同期待ちになったことが認識されたときに、「常用系ホストが同期解除済み」の状態となる。
判定の結果、待機系ホストが「同期待ちの解除条件」を満足している場合、その待機系ホストに対してのみ同期が解除される(ステップS106)。
ここで、同期監視装置2は、グループごとに常用系の同期呼び出し数のカウント値(計数値)を集計しているので、待機系が同期状態を解除するのに必要な、同期待ち数を認識することができる。
例えば、待機系の同期解除の条件となる、全総数で9回の同期呼び出しを行ったときの、各ホストの同期呼び出し数の計数値(すなわち同期待ち数)の内訳は、グループ4aが3、グループ4bが4、グループ4cが2となる。
したがって、待機系のホスト1bは、常用系のホスト1aの同期が解除されているという条件と、同期待ち数が3となった場合に、同期待ちが解除される。同様に、待機系のホスト1dは、同期待ち数が4となったとき、待機系のホスト1fは、同期待ち数が2となったときに、それぞれ同期監視装置2の同期待ち解除指示部26によって同期待ちの解除がなされる。
なお、一度、常用系の同期解除条件が成立すると、マトリクス表7の各常用系ホストにおける、同期呼び出し総数を得るための同期待ち数の値は、固定化する。常用系と待機系の切り替えなどで、ホストが再起動する場合は、再起動する側のホストは新たに待機系となって起動する。
図3は、同期監視装置2が常用系と待機系の切り替えを検出した場合の処理について示している。
同期監視装置2の再起動認識部23は、常用系と待機系の切り替えによって、新たに待機系となる元の常用系ホストの再起動を検出すると、待機系の同期呼び出し数を0にリセットする(ステップS200)。
新たに待機系となる元の常用系ホストが再起動してくると、図2と同じ処理によって、新たな待機系ホストの同期呼び出し数の計数値が、待機系の同期待ちの解除条件と一致して、待機系ホストの同期呼び出し数の計数値が常用系ホストの同期待ち数と同じ値になると、同期待ちが解除される。
ここで、常用系と待機系の区別は、最初の起動時にはホストにあらかじめ割り振られているが、ホストに対して常に固定化されているものではなく、上記した通り、常用系と待機系の切り替えによって、同じグループ内のホストで役割が切り替わることとなる。
常用系ホストの同期待ちの解除条件は待機系ホストの同期待ちの解除条件に依存しないため、待機系ホストが異常となっても同期待ちが解除されない状態にはならない。このため、常用系ホストさえ条件が整えば、同期待ちの解除が達成され、不要なタイムアウト待ちを無くすことができる。
なお、待機系ホストの同期待ち解除は、常用系ホストの同期待ちの解除よりも遅れることがあり得る。このため実施の形態1では、常用系ホストが同期待ちの解除後、即座に異常を発生すると待機系ホストへの切り替え時に、待機系ホストが同期待ちの解除条件に到達していないことから、その切り替えに支障をきたすことが可能性としてあり得る。
しかし、同じグループのホストでは同じ処理が実行されている関係上、常用系ホストが同期待ちの解除に到達するタイミングよりそれほど遅れることなく、待機系ホストが同期待ちの解除の条件に到達することが想定される。このため、常用系ホストの同期待ちの解除の直後に、常用系ホストの異常が発生して常用系と待機系のホストの切り替えが発生しない限りは、このような事象が問題となることはなく、その可能性は僅少であり実質的な問題はない。
以上説明した通り、実施の形態1によるプロセス間同期方法は、常用系及び待機系ホストからなる組を複数組備えるとともに、同期監視装置を備えた計算機システムにおいて、異なる組のプロセス間で同期待ちの状態から同期待ち解除の状態を得てタイミング調整を行い、プロセス間の同期を取るプロセス間同期方法であって、上記各ホストが同期待ちを解除するまでに実行する所定のタスク数の進行に応じて、各ホストが発する同期呼び出し数を、それぞれの組毎に常用系及び待機系を区別して計数するステップと、上記常用系ホストの発した同期呼び出し数の計数値の全組の総数が、予め規定された値に一致したときに、常用系ホストの同期待ちを解除するステップと、上記待機系ホストの発した同期呼び出し数の計数値が、当該待機系ホストと同一組の常用系ホストの同期待ちが解除されるときの同期呼び出し数の計数値と同じになったとき、待機系ホストの同期待ちを解除するステップと、を備えたことを特徴とする。
これによって、常用系ホストの同期待ちの解除条件が待機系ホストの同期待ちの解除条件に依存しないので、不要なタイムアウト待ちを無くすことができ、タイムアウトに依存しないプロセス間同期方法を得ることができるという効果が得られる。
実施の形態2.
この発明に係る実施の形態2による計算機システムの同期監視装置2では、常用系ホストの同期待ちの解除条件として、実施の形態1の条件と合わせて、同じグループ内の待機系ホストの同期待ちの解除条件が揃ったことを、条件に加えている。
図4は、実施の形態2による同期監視装置2の動作を示すフローチャートである。
図2で説明した実施の形態1のフローチャートと比べて、実施の形態2では、ステップS104がステップS104−2に代わっている。なお、その他のステップは同じであるので、説明を略す。
図4のステップS104−2では、ステップS103の条件が成立することに加えて、同じグループの常用系ホストと対を成す待機系ホストの同期待ちの解除条件が成立している場合のみ、該当する常用系ホストの同期待ちが解除されるように、条件判定の処理が行われる。すなわちこの場合、同じグループの常用系ホストと対を成す待機系ホストとの間で、同期呼び出し数のカウント値(計数値)が一致することとなる。
実施の形態2では、常用系ホストは対となる待機系ホストの同期待ちが解除されるまで待機するため、同期待ちが解除された直後に、常用系ホストで異常が発生したときは、待機系ホストへの切り替えが発生しても、待機系ホストが同期ポイントに到達していることを確実に保証することができる。
このように実施の形態2では、待機系ホストが異常などによって同期ポイントに規定数到達できないケースを想定して、常用系ホストが待機系ホストの同期待ち数への到達を待機できる最大タイムアウト時間を規定して、タイムアウトが発生した場合には、待機系の同期待ちが完了するのを待つことなく、同期待ちを解除するための仕組みを備えたことを特徴する。
このようにすることで、不必要に長いタイムアウト時間によるフォールトトレラントシステムのハングアップを回避することができる。また、実施の形態2では、従来のプロセス間同期方法と比べて、タイムアウト待ちの範囲を同一のグループ内に限定できるため、より短い適切なタイムアウト時間を設定できるので、より適切に同期待ちの解除を行うことができるようになる。
以上説明した通り、実施の形態2によるプロセス間同期方法は、複数のホストから構成される組を複数組備えるとともに、同期監視装置を備えた計算機システムにおいて、異なる組のプロセス間で同期待ちの状態から同期待ち解除の状態を得てタイミング調整を行い、プロセス間の同期を取るプロセス間同期方法であって、上記各ホストが同期待ちを解除するまでに実行する所定のタスク数の進行に応じて、各ホストが発する同期呼び出し数を、それぞれの組毎かつホスト毎に区別して計数するステップと、同じ組内で上記各ホストの発した同期呼び出し数の計数値の最大値を選び、当該最大値について全組の総和を取り、当該総和が予め規定された値に一致したときに、組毎に当該最大値を与えるそれぞれのホストを常用系ホストとして、常用系ホストの同期待ちを解除するステップと、同じ組内で上記常用系ホスト以外となったホストを待機系ホストとし、当該待機系ホストの発した同期呼び出し数の計数値が、当該待機系ホストと同一組の常用系ホストの同期待ちが解除されるときの同期呼び出し数の計数値と同じになったとき、当該待機系ホストの同期待ちを解除するステップと、を備えたことを特徴とする。
これによって、タイムアウト待ちの範囲を同一のグループ内に限定できるため、より短い適切なタイムアウト時間を設定できるという効果が得られる。
実施の形態3.
この発明に係る実施の形態3による計算機システムでは、ホストの起動時に、グループ内のどちらのホストが常用系と待機系になるのかを予め決めることなしに同期待ちを開始して、同期監視装置2が、全グループの何れかのホストの同期呼び出し数のカウント値(計数値)の総和が予め設定された同期呼び出し総数に到達したことを検出したときに、各グループで最大の同期呼び出し数(この場合同期待ち数になる)に到達したものを常用系ホストと定義して、常用系ホストの同期待ちを解除することを特徴とする。このようにすることで、同期が取れるまでに要する時間を最短にすることができる。
つまり、実施の形態3では、常用系及び待機系ホストが動的に決定され、最も早く同期待ちの解除の条件がそろったものを常用系ホストとするため、常用系ホストの同期待ちの解除にかかる時間も最も早くできる。
図5は、実施の形態3による計算機システムの同期監視装置2の処理を示すフローチャートである。
ステップS300では、各ホストからの同期呼び出しを受けて、同期呼び出しを受け付けると、マトリクス表7の該当ホストの同期呼び出し数のカウンタを1インクリメントする。
しかし、該当ホストが常用系か待機系の何れであるかは確定していないので、暫定常用系または暫定待機系としてカウンタをインクリメントする(ステップS301)。
次に、各グループの同期呼び出し数のカウンタのカウント値(計数数)が最大値となる値を抽出し、全グループから抽出された各カウント値の最大値を合計する計算を行って、計算された合計値が規定数の同期呼び出し総数領域8の値と一致しているか否かを確認する(ステップS302)。
確認の結果、これが一致した場合は、同期待ちの解除に必要な組み合わせがあることを示すため、各グループ内で同期呼び出し数のカウント値の最大値を与えるホストを、常用系ホストとして扱う。
このとき、もしも暫定待機系ホストのカウンタ値が最大値になっている場合は、マトリクス表7の常用系の値と待機系の値を入れ替える(ステップS303)。
これで常用系の同期待ちの解除条件が揃うので、常用系に確定したホストの同期待ちを解除する(ステップS304)。
この後の処理は、実施の形態1で説明した図2のフローチャートと同じ処理フローとなるので、説明を略す。
以上説明した通り、実施の形態3によるプロセス間同期方法は、複数のホストから構成される組を複数組備えるとともに、同期監視装置を備えた計算機システムにおいて、異なる組のプロセス間で同期待ちの状態から同期待ち解除の状態を得てタイミング調整を行い、プロセス間の同期を取るプロセス間同期方法であって、上記各ホストが同期待ちを解除するまでに実行する所定のタスク数の進行に応じて、各ホストが発する同期呼び出し数を、それぞれの組毎かつホスト毎に区別して計数するステップと、同じ組内で上記各ホストの発した同期呼び出し数の計数値の最大値を選び、当該最大値について全組の総和を取り、当該総和が予め規定された値に一致したときに、組毎に当該最大値を与えるそれぞれのホストを常用系ホストとして、常用系ホストの同期待ちを解除するステップと、同じ組内で上記常用系ホスト以外となったホストを待機系ホストとし、当該待機系ホストの発した同期呼び出し数の計数値が、当該待機系ホストと同一組の常用系ホストの同期待ちが解除されるときの同期呼び出し数の計数値と同じになったとき、当該待機系ホストの同期待ちを解除するステップと、を備えたことを特徴とする。
これによって、実施の形態1の効果に加えて、同期が取れるまでに要する時間を最短にすることができるという効果が得られる。
信頼性が求められる計算機システムでは、一部の計算機が故障しても処理が継続できるように、フォールトトレラントシステムを構成する。一方、規模の大きな計算機システムでは、各計算機間でプログラムが連携するために、同期を取りながら並列処理を行う必要性がある。
上記実施の形態1乃至3で説明したプロセス間同期方法は、フォールトトレラントシステムをなした計算機システムを構成する、各計算機間のプログラムについて、同期処理を行うために利用することが可能である。
1a〜1f ホスト、2 同期監視装置、3a 常用系を構成するホスト群、3b 待機系を構成するホスト群、4a〜4c 常用系及び待機系のグループ(組)を構成するホスト群、5a 常用系の同期解除指示、5b 待機系の同期解除指示、6 同期呼び出し指示、7 マトリクス表、8 同期呼び出し総数領域。

Claims (3)

  1. 常用系及び待機系ホストからなる組を複数組備えるとともに、同期監視装置を備えた計算機システムにおいて、異なる組のプロセス間で同期待ちの状態から同期待ち解除の状態を得てタイミング調整を行い、プロセス間の同期を取るプロセス間同期方法であって、
    上記各ホストが同期待ちを解除するまでに実行する所定のタスク数の進行に応じて、各ホストが発する同期呼び出し数を、それぞれの組毎に常用系及び待機系を区別して計数するステップと、
    上記常用系ホストの発した同期呼び出し数の計数値の全組の総数が、予め規定された値に一致したときに、常用系ホストの同期待ちを解除するステップと、
    上記待機系ホストの発した同期呼び出し数の計数値が、当該待機系ホストと同一組の常用系ホストの同期待ちが解除されるときの同期呼び出し数の計数値と同じになったとき、待機系ホストの同期待ちを解除するステップと、
    を備えたプロセス間同期方法。
  2. 複数のホストから構成される組を複数組備えるとともに、同期監視装置を備えた計算機システムにおいて、異なる組のプロセス間で同期待ちの状態から同期待ち解除の状態を得てタイミング調整を行い、プロセス間の同期を取るプロセス間同期方法であって、
    上記各ホストが同期待ちを解除するまでに実行する所定のタスク数の進行に応じて、各ホストが発する同期呼び出し数を、それぞれの組毎かつホスト毎に区別して計数するステップと、
    同じ組内で上記各ホストの発した同期呼び出し数の計数値の最大値を選び、当該最大値について全組の総和を取り、当該総和が予め規定された値に一致したときに、組毎に当該最大値を与えるそれぞれのホストを常用系ホストとして、常用系ホストの同期待ちを解除するステップと、
    同じ組内で上記常用系ホスト以外となったホストを待機系ホストとし、当該待機系ホストの発した同期呼び出し数の計数値が、当該待機系ホストと同一組の常用系ホストの同期待ちが解除されるときの同期呼び出し数の計数値と同じになったとき、当該待機系ホストの同期待ちを解除するステップと、
    を備えたプロセス間同期方法。
  3. 常用系及び待機系ホストからなる組を複数組備えるとともに、同期監視装置を備えた計算機システムにおいて、異なる組のプロセス間で同期待ちの状態から同期待ち解除の状態を得てタイミング調整を行い、プロセス間の同期を取るプロセス間同期方法であって、
    上記各ホストが同期待ちを解除するまでに実行する所定のタスク数の進行に応じて、各ホストが発する同期呼び出し数を、それぞれの組毎に常用系及び待機系を区別して計数するステップと、
    上記常用系ホストの発した同期呼び出し数の計数値の全組の総数が、予め規定された値に一致し、なおかつ常用系ホストと同一組の待機系ホストの同期呼び出し数の計数値が、常用系ホストの同期呼び出し数の計数値と一致したときに、常用系ホストの同期待ちを解除するステップと、
    上記待機系ホストの発した同期呼び出し数の計数値が、当該待機系ホストと同一組の常用系ホストの同期待ちが解除されるときの同期呼び出し数の計数値と同じになったとき、待機系ホストの同期待ちを解除するステップと、
    を備えたプロセス間同期方法。
JP2011056049A 2011-03-15 2011-03-15 プロセス間同期方法 Active JP5605279B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011056049A JP5605279B2 (ja) 2011-03-15 2011-03-15 プロセス間同期方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011056049A JP5605279B2 (ja) 2011-03-15 2011-03-15 プロセス間同期方法

Publications (2)

Publication Number Publication Date
JP2012194615A true JP2012194615A (ja) 2012-10-11
JP5605279B2 JP5605279B2 (ja) 2014-10-15

Family

ID=47086490

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011056049A Active JP5605279B2 (ja) 2011-03-15 2011-03-15 プロセス間同期方法

Country Status (1)

Country Link
JP (1) JP5605279B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021002054A1 (ja) * 2019-07-04 2021-01-07 株式会社日立製作所 計算機システム及びプログラム実行方法
CN114978296A (zh) * 2022-08-01 2022-08-30 成都星联芯通科技有限公司 设备切换方法、装置、地球站及可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08249199A (ja) * 1995-03-15 1996-09-27 N T T Data Tsushin Kk プロセス間遅延時間解消方法
JPH096734A (ja) * 1995-06-21 1997-01-10 Nec Corp バリア同期装置
JP2004030204A (ja) * 2002-06-25 2004-01-29 Jmnet Inc 負荷分散装置及びそれに接続するノードコンピュータ

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08249199A (ja) * 1995-03-15 1996-09-27 N T T Data Tsushin Kk プロセス間遅延時間解消方法
JPH096734A (ja) * 1995-06-21 1997-01-10 Nec Corp バリア同期装置
JP2004030204A (ja) * 2002-06-25 2004-01-29 Jmnet Inc 負荷分散装置及びそれに接続するノードコンピュータ

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021002054A1 (ja) * 2019-07-04 2021-01-07 株式会社日立製作所 計算機システム及びプログラム実行方法
JP2021012481A (ja) * 2019-07-04 2021-02-04 株式会社日立製作所 計算機システム及びプログラム実行方法
JP7157709B2 (ja) 2019-07-04 2022-10-20 株式会社日立製作所 計算機システム及びプログラム実行方法
CN114978296A (zh) * 2022-08-01 2022-08-30 成都星联芯通科技有限公司 设备切换方法、装置、地球站及可读存储介质

Also Published As

Publication number Publication date
JP5605279B2 (ja) 2014-10-15

Similar Documents

Publication Publication Date Title
CN110224871A (zh) 一种Redis集群的高可用方法及装置
US8032786B2 (en) Information-processing equipment and system therefor with switching control for switchover operation
WO2017067484A1 (zh) 一种虚拟化数据中心调度系统和方法
US9052833B2 (en) Protection of former primary volumes in a synchronous replication relationship
WO2016202051A1 (zh) 一种通信系统中管理主备节点的方法和装置及高可用集群
CN110166355B (zh) 一种报文转发方法及装置
JP2006072591A (ja) 仮想計算機制御方法
JP2010067042A (ja) 計算機切り替え方法、計算機切り替えプログラム及び計算機システム
US20100268687A1 (en) Node system, server switching method, server apparatus, and data takeover method
US20180077007A1 (en) Redundant storage solution
WO2017215430A1 (zh) 一种集群内的节点管理方法及节点设备
WO2012097588A1 (zh) 数据存储方法、设备和系统
CN112799786A (zh) 微服务实例的退出方法、装置、设备及存储介质
US20130238787A1 (en) Cluster system
JP2014106660A (ja) 並列計算機、並列計算機の制御プログラム及び並列計算機の制御方法
JP5605279B2 (ja) プロセス間同期方法
JP5201134B2 (ja) 二重化システム、切替プログラムおよび切替方法
JPWO2019049433A1 (ja) クラスタシステム、クラスタシステムの制御方法、サーバ装置、制御方法、及びプログラム
JP2010044553A (ja) データ処理方法、クラスタシステム、及びデータ処理プログラム
WO2011116672A1 (zh) 为共享代码段打补丁的方法及装置
CN110351122B (zh) 容灾方法、装置、系统与电子设备
WO2021238579A1 (zh) 存储系统管理sata硬盘的方法及存储系统
CN116074187A (zh) 主备链路切换方法及装置、电子设备、存储介质
JP5691248B2 (ja) タスク引継プログラム、処理装置及びコンピュータ・システム
JP5636695B2 (ja) フォールトトレラントシステム及び仮想マシン構築方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130918

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20140326

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140411

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140513

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140704

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: 20140729

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140811

R151 Written notification of patent or utility model registration

Ref document number: 5605279

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250