JPH0740253B2 - マルチプロセッサシステムにおける動作監視方法 - Google Patents
マルチプロセッサシステムにおける動作監視方法Info
- Publication number
- JPH0740253B2 JPH0740253B2 JP63211982A JP21198288A JPH0740253B2 JP H0740253 B2 JPH0740253 B2 JP H0740253B2 JP 63211982 A JP63211982 A JP 63211982A JP 21198288 A JP21198288 A JP 21198288A JP H0740253 B2 JPH0740253 B2 JP H0740253B2
- Authority
- JP
- Japan
- Prior art keywords
- processor
- monitoring
- link information
- monitored
- processors
- 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 - Lifetime
Links
Landscapes
- Debugging And Monitoring (AREA)
- Multi Processors (AREA)
Description
【発明の詳細な説明】 (産業上の利用分野) 本発明は、複数のマイクロプロセッサ(以下、単にプロ
セッサという)が共有メモリを介してデータの授受を行
なうマルチプロセッサシステムにおいて、これらのプロ
セッサが相互に監視を行なうための動作監視方法に関す
る。
セッサという)が共有メモリを介してデータの授受を行
なうマルチプロセッサシステムにおいて、これらのプロ
セッサが相互に監視を行なうための動作監視方法に関す
る。
(従来の技術) 従来、この種の動作監視方法として、プロセッサ相互間
で予め決められた手順でデータのやりとりを行ない、そ
の動作が実施されなくなった時にそのプロセッサを異常
として判断する方法がある。
で予め決められた手順でデータのやりとりを行ない、そ
の動作が実施されなくなった時にそのプロセッサを異常
として判断する方法がある。
例えば、第10図に示すように複数のプロセッサ21,22,2
3、共有バス24、共有メモリ25及びバス調停回路26を備
えたマルチプロセッサシステムにおいて、プロセッサ22
の動作をプロセッサ21が監視する場合を例にとると、ま
ずプロセッサ22は、共有メモリ25内の所定のアドレスの
データAに対して一定時間ごとに、 (A)+1→A の演算を施してデータAの内容を更新する。これに対
し、プロセッサ21は上記のデータAを一定時間ごとに読
み出してそれが前回値と異なることを確認する。
3、共有バス24、共有メモリ25及びバス調停回路26を備
えたマルチプロセッサシステムにおいて、プロセッサ22
の動作をプロセッサ21が監視する場合を例にとると、ま
ずプロセッサ22は、共有メモリ25内の所定のアドレスの
データAに対して一定時間ごとに、 (A)+1→A の演算を施してデータAの内容を更新する。これに対
し、プロセッサ21は上記のデータAを一定時間ごとに読
み出してそれが前回値と異なることを確認する。
ここで、仮りにプロセッサ22に障害が発生していわゆる
暴走状態になると、データAの更新が行なわれなくなり
(データAが変化しなくなり)、データAを監視するプ
ロセッサ21によってプロセッサ22の異常を検出すること
ができる。これを相互監視動作のために予め決められた
プロセッサ間で相互に実施することにより、マルチプロ
セッサシステムにおける動作監視を行なっている。
暴走状態になると、データAの更新が行なわれなくなり
(データAが変化しなくなり)、データAを監視するプ
ロセッサ21によってプロセッサ22の異常を検出すること
ができる。これを相互監視動作のために予め決められた
プロセッサ間で相互に実施することにより、マルチプロ
セッサシステムにおける動作監視を行なっている。
(発明が解決しようとする課題) 上記のように相互監視時の監視側及び被監視側の関係が
予め決められた従来の方式では、相互監視を行なうべく
組み合わされたプロセッサの一方、例えばプロセッサ22
が暴走すれば、健全なプロセッサ21によって暴走の発生
を検出することができるが、これと同時に暴走したプロ
セッサ22がもともと行なっていた他の健全なプロセッ
サ、例えばプロセッサ23の動作を監視するべきプロセッ
サがなくなり、プロセッサ23の信頼性も同時に低下する
という問題を有している。
予め決められた従来の方式では、相互監視を行なうべく
組み合わされたプロセッサの一方、例えばプロセッサ22
が暴走すれば、健全なプロセッサ21によって暴走の発生
を検出することができるが、これと同時に暴走したプロ
セッサ22がもともと行なっていた他の健全なプロセッ
サ、例えばプロセッサ23の動作を監視するべきプロセッ
サがなくなり、プロセッサ23の信頼性も同時に低下する
という問題を有している。
これを防ぐ意味で、単一のプロセッサを常に監視側プロ
セッサとしてシステムを構成する複数のプロセッサの動
作監視を行なう方式や、単一のプロセッサがシステムを
構成する他の全てのプロセッサの動作監視を行なう方式
が考えられる。しかるに、前者は一部プロセッサの故障
に対して信頼性を維持する点では有効であるが、後述の
ような監視動作の起動のばらつきに起因する問題に対し
ては改善効果はない。また、後者の場合には、n個のプ
ロセッサで構成されるシステムにおいて、単一のプロセ
ッサが他のn−1個のプロセッサすべての動作監視を行
なう必要があり、システムの規模が大きくなるのに比例
して監視側プロセッサの負荷が大きくなるという欠点が
あった。
セッサとしてシステムを構成する複数のプロセッサの動
作監視を行なう方式や、単一のプロセッサがシステムを
構成する他の全てのプロセッサの動作監視を行なう方式
が考えられる。しかるに、前者は一部プロセッサの故障
に対して信頼性を維持する点では有効であるが、後述の
ような監視動作の起動のばらつきに起因する問題に対し
ては改善効果はない。また、後者の場合には、n個のプ
ロセッサで構成されるシステムにおいて、単一のプロセ
ッサが他のn−1個のプロセッサすべての動作監視を行
なう必要があり、システムの規模が大きくなるのに比例
して監視側プロセッサの負荷が大きくなるという欠点が
あった。
また、電源投入によるパワーオン・リセット直後のよう
に、システムを構成するプロセッサ相互間で起動(前記
の相互監視処理を開始)するタイミングのずれがある場
合、監視側プロセッサが監視動作を開始した時点で被監
視側プロセッサがまだ相互監視動作を開始していない
と、監視側プロセッサは一時的に被監視側プロセッサを
異常と判断してしまうおそれがある。このような誤検出
を防ぐ目的で、被監視側プロセッサがまだ起動していな
い場合にはそれを検出し、起動するまでの間、監視動作
を停止する方法があるが、被監視側プロセッサが起動し
ていないことを判別し、かつその場合には監視動作を行
なわないという処理が新たに必要となり、ソフトウェア
がそれだけ複雑になる。
に、システムを構成するプロセッサ相互間で起動(前記
の相互監視処理を開始)するタイミングのずれがある場
合、監視側プロセッサが監視動作を開始した時点で被監
視側プロセッサがまだ相互監視動作を開始していない
と、監視側プロセッサは一時的に被監視側プロセッサを
異常と判断してしまうおそれがある。このような誤検出
を防ぐ目的で、被監視側プロセッサがまだ起動していな
い場合にはそれを検出し、起動するまでの間、監視動作
を停止する方法があるが、被監視側プロセッサが起動し
ていないことを判別し、かつその場合には監視動作を行
なわないという処理が新たに必要となり、ソフトウェア
がそれだけ複雑になる。
しかも、これとは逆に被監視側プロセッサが相互監視動
作を開始した時点で、監視側プロセッサがまだ相互監視
動作を開始していない場合には、監視側プロセッサが相
互監視動作を開始するまでの間、被監視側プロセッサの
動作を監視するものがなく、このため信頼性の低下を招
くという問題がある。加えて、従来のように複数のプロ
セッサの監視側、被監視側の組み合わせを予め決めてお
く方式では、プロセッサの追加や除去によってシステム
構成が変更されるたびに新たな組み合わせを指定する必
要があり、ソフトウェア設計の負担が増大するという問
題があった。
作を開始した時点で、監視側プロセッサがまだ相互監視
動作を開始していない場合には、監視側プロセッサが相
互監視動作を開始するまでの間、被監視側プロセッサの
動作を監視するものがなく、このため信頼性の低下を招
くという問題がある。加えて、従来のように複数のプロ
セッサの監視側、被監視側の組み合わせを予め決めてお
く方式では、プロセッサの追加や除去によってシステム
構成が変更されるたびに新たな組み合わせを指定する必
要があり、ソフトウェア設計の負担が増大するという問
題があった。
本発明は上記問題点を解決するために提案されたもの
で、その目的とするところは、監視側プロセッサの負荷
増大を招くことがなく、また、起動直後のタイミングの
ずれによる誤検出や信頼性低下を防ぐと共に、システム
構成の変化時にもソフトウェアの変更を伴うことなく相
互監視体制を直ちに構築できるようにしたマルチプロセ
ッサシステムにおける動作監視方法を提供することにあ
る。
で、その目的とするところは、監視側プロセッサの負荷
増大を招くことがなく、また、起動直後のタイミングの
ずれによる誤検出や信頼性低下を防ぐと共に、システム
構成の変化時にもソフトウェアの変更を伴うことなく相
互監視体制を直ちに構築できるようにしたマルチプロセ
ッサシステムにおける動作監視方法を提供することにあ
る。
(課題を解決するための手段) 上記目的を達成するため、本発明は、複数のプロセッサ
と、その共有メモリとから構成されるマルチプロセッサ
システムであって前記プロセッサが相互に監視を行なう
動作監視方法において、共有メモリ内に設けたリンク情
報格納領域に、各プロセッサの監視対象である被監視側
プロセッサを示す監視リンク情報と、各プロセッサを監
視対象とする監視側プロセッサを示す被監視リンク情報
とを格納する領域を各プロセッサごとに設け、かつ、最
後に起動されたプロセッサ(最終起動プロセッサとい
う)を示す最終リンク情報を格納する領域を設け、プロ
セッサが起動される度に、このプロセッサ(新規起動プ
ロセッサという)によってそれまでの最終起動プロセッ
サを監視し、かつ、この最終起動プロセッサを監視して
いた別のプロセッサにより新規起動プロセッサを監視す
るべく、監視リンク情報及び被監視リンク情報を更新し
て相互監視体制を構築すると共に最終リンク情報を新規
起動プロセッサへと更新し、監視側プロセッサが、被監
視プロセッサの異常を検出した際に、この被監視プロセ
ッサ(異常発生プロセッサという)が監視していたプロ
セッサを前記監視側プロセッサの新たな監視対象とする
べく監視リンク情報及び被監視リンク情報を更新して異
常発生プロセッサを除外した相互監視体制を再構築する
と共に、異常発生プロセッサが最終リンク情報により示
されるプロセッサである場合には、最終リンク情報の内
容を前記監視側プロセッサを示す情報に変更するもので
ある。
と、その共有メモリとから構成されるマルチプロセッサ
システムであって前記プロセッサが相互に監視を行なう
動作監視方法において、共有メモリ内に設けたリンク情
報格納領域に、各プロセッサの監視対象である被監視側
プロセッサを示す監視リンク情報と、各プロセッサを監
視対象とする監視側プロセッサを示す被監視リンク情報
とを格納する領域を各プロセッサごとに設け、かつ、最
後に起動されたプロセッサ(最終起動プロセッサとい
う)を示す最終リンク情報を格納する領域を設け、プロ
セッサが起動される度に、このプロセッサ(新規起動プ
ロセッサという)によってそれまでの最終起動プロセッ
サを監視し、かつ、この最終起動プロセッサを監視して
いた別のプロセッサにより新規起動プロセッサを監視す
るべく、監視リンク情報及び被監視リンク情報を更新し
て相互監視体制を構築すると共に最終リンク情報を新規
起動プロセッサへと更新し、監視側プロセッサが、被監
視プロセッサの異常を検出した際に、この被監視プロセ
ッサ(異常発生プロセッサという)が監視していたプロ
セッサを前記監視側プロセッサの新たな監視対象とする
べく監視リンク情報及び被監視リンク情報を更新して異
常発生プロセッサを除外した相互監視体制を再構築する
と共に、異常発生プロセッサが最終リンク情報により示
されるプロセッサである場合には、最終リンク情報の内
容を前記監視側プロセッサを示す情報に変更するもので
ある。
(作用) 本発明は、動作監視を行なうためのプロセッサの監視側
及び被監視側の組み合わせ(関係)は、システム全体が
果たすべき機能におけるプロセッサの関係とは必ずしも
同一のものである必要はないことに着目してなされたも
ので、本発明においては、動作監視を行なうプロセッサ
の組み合わせをシステム構成上のプロセッサの関係から
切り放してリング状になるようにし、システムの起動時
にいわゆる先着順で前記リングを拡大するようにプロセ
ッサを割り当てていくことにより、プロセッサ相互の起
動タイミングのずれに関係なく監視及び被監視動作の可
能なものから相互監視動作に入っていく。
及び被監視側の組み合わせ(関係)は、システム全体が
果たすべき機能におけるプロセッサの関係とは必ずしも
同一のものである必要はないことに着目してなされたも
ので、本発明においては、動作監視を行なうプロセッサ
の組み合わせをシステム構成上のプロセッサの関係から
切り放してリング状になるようにし、システムの起動時
にいわゆる先着順で前記リングを拡大するようにプロセ
ッサを割り当てていくことにより、プロセッサ相互の起
動タイミングのずれに関係なく監視及び被監視動作の可
能なものから相互監視動作に入っていく。
すなわち、複数のプロセッサに起動タイミングのずれが
ある場合には、新たに相互監視体制に加わったプロセッ
サが、直前に相互監視体制に入ったプロセッサを監視す
るように各プロセッサの監視、被監視の関係を組み替え
ていく。
ある場合には、新たに相互監視体制に加わったプロセッ
サが、直前に相互監視体制に入ったプロセッサを監視す
るように各プロセッサの監視、被監視の関係を組み替え
ていく。
更に、一部プロセッサの異常を検出した場合には、既存
の相互監視体制から異常と判定されたプロセッサのみを
除外し、この除外されて切り離された部分をつなぎ合わ
せるように残りのプロセッサでリングを構成するように
相互監視のための新たな組み合わせを再構築することに
より、健全なプロセッサについては常に相互監視体制が
維持されることになる。
の相互監視体制から異常と判定されたプロセッサのみを
除外し、この除外されて切り離された部分をつなぎ合わ
せるように残りのプロセッサでリングを構成するように
相互監視のための新たな組み合わせを再構築することに
より、健全なプロセッサについては常に相互監視体制が
維持されることになる。
(実施例) 以下、図に沿って本発明の一実施例を説明する。
第1図は、複数のプロセッサにより例えば分散処理を行
なうマルチプロセッサシステムを示しており、図中、1
1,12,13,14はプロセッサ、15は共有メモリ、24は共有バ
ス、26はバス調停回路である。各プロセッサ11〜14は、
共有メモリ15を介してデータの授受を行なうが、複数の
プロセッサが共有メモリ15に対して同時にアクセスした
場合に共有バス24上で信号が競合、交錯しないように、
予め決められた優先順位に従ってバス調停回路26により
唯一のプロセッサに対して共有メモリ15へのアクセス権
が与えられ、このプロセッサがアクセスを終了(アクセ
ス権を放棄)するまでの間は他のプロセッサが共有メモ
リ15にアクセスできないようになっている。
なうマルチプロセッサシステムを示しており、図中、1
1,12,13,14はプロセッサ、15は共有メモリ、24は共有バ
ス、26はバス調停回路である。各プロセッサ11〜14は、
共有メモリ15を介してデータの授受を行なうが、複数の
プロセッサが共有メモリ15に対して同時にアクセスした
場合に共有バス24上で信号が競合、交錯しないように、
予め決められた優先順位に従ってバス調停回路26により
唯一のプロセッサに対して共有メモリ15へのアクセス権
が与えられ、このプロセッサがアクセスを終了(アクセ
ス権を放棄)するまでの間は他のプロセッサが共有メモ
リ15にアクセスできないようになっている。
しかして、この実施例では、第2図に示すようなリンク
情報格納領域15aが共有メモリ15内に設けられている。
このリンク情報格納領域15aにおいて、最終リンク情報
とはマルチプロセッサシステムに最後に加わったプロセ
ッサを示す情報、また、各プロセッサ11〜14に対応して
それぞれ設けられた監視リンク情報とは、当該プロセッ
サが監視側である場合に監視する対象となるプロセッサ
(被監視側プロセッサ)を示す情報、更に、被監視リン
ク情報とは当該プロセッサが被監視側である場合にどの
プロセッサ(監視側プロセッサ)によって監視されるか
を示す情報である。そして、これらの最終リンク情報、
監視リンク情報及び被監視リンク情報は、例えば各プロ
セッサ11〜14を識別するための番号等からなるプロセッ
サコードによって構成されるものである。
情報格納領域15aが共有メモリ15内に設けられている。
このリンク情報格納領域15aにおいて、最終リンク情報
とはマルチプロセッサシステムに最後に加わったプロセ
ッサを示す情報、また、各プロセッサ11〜14に対応して
それぞれ設けられた監視リンク情報とは、当該プロセッ
サが監視側である場合に監視する対象となるプロセッサ
(被監視側プロセッサ)を示す情報、更に、被監視リン
ク情報とは当該プロセッサが被監視側である場合にどの
プロセッサ(監視側プロセッサ)によって監視されるか
を示す情報である。そして、これらの最終リンク情報、
監視リンク情報及び被監視リンク情報は、例えば各プロ
セッサ11〜14を識別するための番号等からなるプロセッ
サコードによって構成されるものである。
次に、このマルチプロセッサシステムにおける起動時の
処理を第3図に沿って説明する。
処理を第3図に沿って説明する。
まず、システムの電源投入直後の初期化プログラムの一
部として、共有メモリ15の初期化処理にあてられたプロ
セッサは、始めに初期化処理の要否を判断し(第3図ス
テップS1)、必要な場合には所定の初期化(同S2)終了
の後、リンク情報格納領域15aの最終リンク情報に自ら
のプロセッサコードを設定した上で、同じくリンク情報
格納領域15aの自己の監視リンク情報、被監視リンク情
報の双方に自己のプロセッサコードを設定し(同S3)、
しかる後に他のプロセッサが共有メモリ15を使用しても
よい旨を、例えば共有メモリ15の所定の領域に使用許可
フラグをセットすることによって他のプロセッサに対し
通知する(同S4)。その後、後述する相互監視動作を含
む通常の処理動作を開始する。
部として、共有メモリ15の初期化処理にあてられたプロ
セッサは、始めに初期化処理の要否を判断し(第3図ス
テップS1)、必要な場合には所定の初期化(同S2)終了
の後、リンク情報格納領域15aの最終リンク情報に自ら
のプロセッサコードを設定した上で、同じくリンク情報
格納領域15aの自己の監視リンク情報、被監視リンク情
報の双方に自己のプロセッサコードを設定し(同S3)、
しかる後に他のプロセッサが共有メモリ15を使用しても
よい旨を、例えば共有メモリ15の所定の領域に使用許可
フラグをセットすることによって他のプロセッサに対し
通知する(同S4)。その後、後述する相互監視動作を含
む通常の処理動作を開始する。
共有メモリ15の初期化処理を行なわないプロセッサは、
所定の初期化処理が終了していることを確認し(同S
1)、その後、共有メモリ15の使用が許可されたことを
確認した上で(同S6)ステップ7に移行する。
所定の初期化処理が終了していることを確認し(同S
1)、その後、共有メモリ15の使用が許可されたことを
確認した上で(同S6)ステップ7に移行する。
このステップS7においては、最終リンク情報で指定さ
れたプロセッサコードをリンク情報格納領域15aに設け
られた自己の監視リンク情報に設定する。リンク情報
格納領域15aにおいて、最終リンク情報で指定されたプ
ロセッサに割り当てられた被監視リンク情報に設定され
ているプロセッサコードを、自己の被監視リンク情報に
設定する。最終リンク情報で指定されたプロセッサに
割り当てられた被監視リンク情報に自己のプロセッサコ
ードを設定する。自己のプロセッサコードを最終リン
ク情報に設定する。自己の被監視リンク情報に設定し
たプロセッサ(前記におけるプロセッサコードにかか
るプロセッサ)に割当てられた監視リンク情報に、自己
のプロセッサコードを設定する。しかる後、相互監視動
作を含む通常の処理動作を開始する(同S5)。
れたプロセッサコードをリンク情報格納領域15aに設け
られた自己の監視リンク情報に設定する。リンク情報
格納領域15aにおいて、最終リンク情報で指定されたプ
ロセッサに割り当てられた被監視リンク情報に設定され
ているプロセッサコードを、自己の被監視リンク情報に
設定する。最終リンク情報で指定されたプロセッサに
割り当てられた被監視リンク情報に自己のプロセッサコ
ードを設定する。自己のプロセッサコードを最終リン
ク情報に設定する。自己の被監視リンク情報に設定し
たプロセッサ(前記におけるプロセッサコードにかか
るプロセッサ)に割当てられた監視リンク情報に、自己
のプロセッサコードを設定する。しかる後、相互監視動
作を含む通常の処理動作を開始する(同S5)。
従って、例えばプロセッサ12が共有メモリ15の初期化処
理を実施した後、プロセッサ14→同11の順で相互監視体
制を構築していく過程では、リンク情報格納領域15aの
各リンク情報は第4図(a)→(b)→(c)の順で変
化していくと共に、プロセッサ13が新たに追加される場
合のプロセッサ13の具体的な処理は以下のようになる。
なお、同図においてプロセッサコードは、各プロセッサ
11〜14につきそれぞれ#11,#12,#13,#14により示してあ
る。
理を実施した後、プロセッサ14→同11の順で相互監視体
制を構築していく過程では、リンク情報格納領域15aの
各リンク情報は第4図(a)→(b)→(c)の順で変
化していくと共に、プロセッサ13が新たに追加される場
合のプロセッサ13の具体的な処理は以下のようになる。
なお、同図においてプロセッサコードは、各プロセッサ
11〜14につきそれぞれ#11,#12,#13,#14により示してあ
る。
まず、第4図(c)の最終リンク情報により示される
プロセッサ、すなわち最後に起動されたプロセッサ(最
終起動プロセッサという)11に関するプロセッサコード
(#11)を、第4図(d)に示すごとく、新たに起動さ
れたプロセッサ(新規起動プロセッサという)13に割り
当てられた監視リンク情報に設定する。これにより、プ
ロセッサ13がプロセッサ11を監視することになる。第
4図(c)の最終リンク情報により示されるプロセッサ
11に割り当てられた被監視リンク情報に設定されている
プロセッサコード(#12)を、第4図(d)に示すごと
く、プロセッサ13に割り当てられた被監視リンク情報に
設定する。これにより、プロセッサ12がプロセッサ13を
監視することになる。第4図(c)の最終リンク情報
により示されるプロセッサ11に割り当てられた被監視リ
ンク情報に、第4図(d)に示すごとくプロセッサコー
ド(#13)を設定する。最終リンク情報の内容とし
て、それまでのプロセッサコード(#11)を第4図
(d)のように(#13)に更新する。第4図(d)の
プロセッサ13に割り当てられた被監視リンク情報のプロ
セッサコード(#12)が示すプロセッサ12の監視リンク
情報に、プロセッサコード(#13)を設定する。
プロセッサ、すなわち最後に起動されたプロセッサ(最
終起動プロセッサという)11に関するプロセッサコード
(#11)を、第4図(d)に示すごとく、新たに起動さ
れたプロセッサ(新規起動プロセッサという)13に割り
当てられた監視リンク情報に設定する。これにより、プ
ロセッサ13がプロセッサ11を監視することになる。第
4図(c)の最終リンク情報により示されるプロセッサ
11に割り当てられた被監視リンク情報に設定されている
プロセッサコード(#12)を、第4図(d)に示すごと
く、プロセッサ13に割り当てられた被監視リンク情報に
設定する。これにより、プロセッサ12がプロセッサ13を
監視することになる。第4図(c)の最終リンク情報
により示されるプロセッサ11に割り当てられた被監視リ
ンク情報に、第4図(d)に示すごとくプロセッサコー
ド(#13)を設定する。最終リンク情報の内容とし
て、それまでのプロセッサコード(#11)を第4図
(d)のように(#13)に更新する。第4図(d)の
プロセッサ13に割り当てられた被監視リンク情報のプロ
セッサコード(#12)が示すプロセッサ12の監視リンク
情報に、プロセッサコード(#13)を設定する。
この結果、リンク情報格納領域15aの各リンク情報は、
最終的に第4図(d)のとおりとなる。また、各段階
(第4図(a)〜(d))における各プロセッサ相互の
監視・被監視の関係は第5図(a)〜(d)のようにな
る。すなわち、第5図において、各プロセッサ間の矢印
の根元は監視側、矢印の先は被監視側であり、これらの
相互関係は第4図(a)〜(d)の各段階における各プ
ロセッサの監視リンク情報及び被監視リンク情報に基づ
くものである。また、実線の円で表わされたプロセッサ
は起動中のもの、破線の円で表わされたプロセッサは未
起動のものを示す。
最終的に第4図(d)のとおりとなる。また、各段階
(第4図(a)〜(d))における各プロセッサ相互の
監視・被監視の関係は第5図(a)〜(d)のようにな
る。すなわち、第5図において、各プロセッサ間の矢印
の根元は監視側、矢印の先は被監視側であり、これらの
相互関係は第4図(a)〜(d)の各段階における各プ
ロセッサの監視リンク情報及び被監視リンク情報に基づ
くものである。また、実線の円で表わされたプロセッサ
は起動中のもの、破線の円で表わされたプロセッサは未
起動のものを示す。
次いで、前記リンク情報に基づいた各プロセッサ間の相
互監視動作について説明する。第7図及び第8図は、そ
れぞれ被監視側及び監視側のプロセッサの処理を示すフ
ローチャートである。まず、被監視側のプロセッサは、
第7図に示すように、共有メモリ15内にプロセッサごと
に予め設けられた動作監視用データの内容を一定時間ご
とに1だけ加算(インクリメント)する(ステップS10
1)。従って、この被監視側プロセッサが正常に動作し
ていれば、そのプロセッサの動作監視用データの内容は
一定の時間をかけて変化し続ける。
互監視動作について説明する。第7図及び第8図は、そ
れぞれ被監視側及び監視側のプロセッサの処理を示すフ
ローチャートである。まず、被監視側のプロセッサは、
第7図に示すように、共有メモリ15内にプロセッサごと
に予め設けられた動作監視用データの内容を一定時間ご
とに1だけ加算(インクリメント)する(ステップS10
1)。従って、この被監視側プロセッサが正常に動作し
ていれば、そのプロセッサの動作監視用データの内容は
一定の時間をかけて変化し続ける。
また、第8図において、監視側プロセッサは第7図のフ
ローチャートの処理と同時に、リンク情報格納領域15a
に設けられた自己の監視リンク情報で指定されたプロセ
ッサの動作監視用データの内容を一定期間毎に共有メモ
リ15から読み出し(同S201)、その内容が常に変化して
いることを確認する(同S202)。動作監視用データの内
容が所定の期間を経過しても変化しない場合は、そのプ
ロセッサに障害が生じたものとして他のプロセッサに対
して障害発生を通知する(同S203)と共に、後述のシス
テム再構成処理(同S204)を実施して相互監視体制から
障害の発生したプロセッサを除外する。
ローチャートの処理と同時に、リンク情報格納領域15a
に設けられた自己の監視リンク情報で指定されたプロセ
ッサの動作監視用データの内容を一定期間毎に共有メモ
リ15から読み出し(同S201)、その内容が常に変化して
いることを確認する(同S202)。動作監視用データの内
容が所定の期間を経過しても変化しない場合は、そのプ
ロセッサに障害が生じたものとして他のプロセッサに対
して障害発生を通知する(同S203)と共に、後述のシス
テム再構成処理(同S204)を実施して相互監視体制から
障害の発生したプロセッサを除外する。
第9図は上述した相互監視動作の結果、他のプロセッサ
の障害発生を検出した場合、相互監視体制から障害の発
生したプロセッサを除外するためのシステム再構成処理
のフローチャートを表わしたものであり、実質上、第8
図のステップS204に相当する。すなわち、監視側プロセ
ッサは自己の監視リンク情報で指定されたプロセッサコ
ードで表わされるプロセッサ(すなわち異常が発生した
プロセッサ(異常発生プロセッサという)であり、相互
監視動作の枠組みから外す必要があるプロセッサ)の監
視リンク情報に設定されているプロセッサコードを自己
の監視リンク情報に設定する(ステップS301)と共に、
設定したプロセッサコードにかかるプロセッサの被監視
リンク情報に自己のプロセッサコードを設定する(同S3
02)。
の障害発生を検出した場合、相互監視体制から障害の発
生したプロセッサを除外するためのシステム再構成処理
のフローチャートを表わしたものであり、実質上、第8
図のステップS204に相当する。すなわち、監視側プロセ
ッサは自己の監視リンク情報で指定されたプロセッサコ
ードで表わされるプロセッサ(すなわち異常が発生した
プロセッサ(異常発生プロセッサという)であり、相互
監視動作の枠組みから外す必要があるプロセッサ)の監
視リンク情報に設定されているプロセッサコードを自己
の監視リンク情報に設定する(ステップS301)と共に、
設定したプロセッサコードにかかるプロセッサの被監視
リンク情報に自己のプロセッサコードを設定する(同S3
02)。
つまり監視側プロセッサは、それまで監視対象であった
異常発生プロセッサに代えて、この異常発生プロセッサ
が監視していたプロセッサを以後の監視対象とし、この
新たに監視対象となったプロセッサは、自己を監視する
プロセッサとして前記監視側プロセッサのプロセッサコ
ードを設定することになる。
異常発生プロセッサに代えて、この異常発生プロセッサ
が監視していたプロセッサを以後の監視対象とし、この
新たに監視対象となったプロセッサは、自己を監視する
プロセッサとして前記監視側プロセッサのプロセッサコ
ードを設定することになる。
その後、リンク情報格納領域15aの最終リンク情報の内
容が異常と判定されたプロセッサである場合は(同S30
3)、監視側プロセッサとしての自己のプロセッサコー
ドを新たな最終リンク情報として設定する(同S304)。
容が異常と判定されたプロセッサである場合は(同S30
3)、監視側プロセッサとしての自己のプロセッサコー
ドを新たな最終リンク情報として設定する(同S304)。
前述の第5図(d)で表わされる相互監視の組み合わせ
で、プロセッサ12が最終リンク情報の示すプロセッサ13
の異常を検出してプロセッサ13を相互監視体制から除外
する場合を例にとると、その処理は以下のとおりであ
る。自己(プロセッサ12)の監視リンク情報で指定さ
れたプロセッサ(プロセッサ13)の動作監視のためのデ
ータが一定時間変化しないことから、プロセッサ13の異
常を検出する。プロセッサ13の異常を検出したことを
共有メモリ15内に設けられた故障検出フラグ等を使用し
て他のプロセッサに通知する。リンク情報格納領域15
a内に設けられたプロセッサ13の監視リンク情報に設定
されているプロセッサコード(#11)を自己の監視リン
ク情報に設定すると共に、設定したプロセッサコードで
表わされるプロセッサ11の被監視リンク情報に自己のプ
ロセッサコード(#12)を設定する。最終リンク情報
の内容(#13)が異常と判断されたプロセッサ13に相当
するため、監視側プロセッサとしての自己のプロセッサ
コード(#12)を新たな最終リンク情報の内容として設
定する。
で、プロセッサ12が最終リンク情報の示すプロセッサ13
の異常を検出してプロセッサ13を相互監視体制から除外
する場合を例にとると、その処理は以下のとおりであ
る。自己(プロセッサ12)の監視リンク情報で指定さ
れたプロセッサ(プロセッサ13)の動作監視のためのデ
ータが一定時間変化しないことから、プロセッサ13の異
常を検出する。プロセッサ13の異常を検出したことを
共有メモリ15内に設けられた故障検出フラグ等を使用し
て他のプロセッサに通知する。リンク情報格納領域15
a内に設けられたプロセッサ13の監視リンク情報に設定
されているプロセッサコード(#11)を自己の監視リン
ク情報に設定すると共に、設定したプロセッサコードで
表わされるプロセッサ11の被監視リンク情報に自己のプ
ロセッサコード(#12)を設定する。最終リンク情報
の内容(#13)が異常と判断されたプロセッサ13に相当
するため、監視側プロセッサとしての自己のプロセッサ
コード(#12)を新たな最終リンク情報の内容として設
定する。
この結果、再構成されたシステムの相互監視の関係は第
6図のように変化する。また、異常と判定されたプロセ
ッサ13が正常状態に復帰した場合には、電源投入直後と
同一の手順に従ってこのプロセッサ13が相互監視体制に
組み入れられ、再び第5図(d)の状態に戻る。
6図のように変化する。また、異常と判定されたプロセ
ッサ13が正常状態に復帰した場合には、電源投入直後と
同一の手順に従ってこのプロセッサ13が相互監視体制に
組み入れられ、再び第5図(d)の状態に戻る。
なお、上記システムの再構成処理は、別の監視側、被監
視側プロセッサ間においても同様であり、例えば第5図
(d)において、プロセッサ11がプロセッサ14の異常を
検出した場合にはプロセッサ14がシステムから除去さ
れ、以後、プロセッサ11はプロセッサ12を監視すること
になる。この場合、最終リンク情報(#13)は変化しな
い。
視側プロセッサ間においても同様であり、例えば第5図
(d)において、プロセッサ11がプロセッサ14の異常を
検出した場合にはプロセッサ14がシステムから除去さ
れ、以後、プロセッサ11はプロセッサ12を監視すること
になる。この場合、最終リンク情報(#13)は変化しな
い。
また、上記実施例はシステムを構成するプロセッサが4
つである場合についてのものであるが、本発明は一般に
複数のプロセッサからなるマルチプロセッサシステム全
般に適用することができる。
つである場合についてのものであるが、本発明は一般に
複数のプロセッサからなるマルチプロセッサシステム全
般に適用することができる。
(発明の効果) 以上のように本発明によれば、マルチプロセッサシステ
ムを構成する複数のプロセッサの一部に障害が発生した
場合も、異常と判定されたプロセッサを除外して共有メ
モリを介した相互監視のための組み合わせを新たに再構
築することから、健全なプロセッサ間では障害発生の有
無に関わらず常に相互監視動作を継続できるため、シス
テムの信頼性を高めることができると共に、単一のプロ
セッサが複数ないし多数のプロセッサを監視するもので
はないから、監視側プロセッサの負荷も少なくて済むと
いう効果がある。
ムを構成する複数のプロセッサの一部に障害が発生した
場合も、異常と判定されたプロセッサを除外して共有メ
モリを介した相互監視のための組み合わせを新たに再構
築することから、健全なプロセッサ間では障害発生の有
無に関わらず常に相互監視動作を継続できるため、シス
テムの信頼性を高めることができると共に、単一のプロ
セッサが複数ないし多数のプロセッサを監視するもので
はないから、監視側プロセッサの負荷も少なくて済むと
いう効果がある。
また、電源投入による起動直後のように個々のプロセッ
サの動作を同期させることが困難な場合でも、準備の整
ったプロセッサから順次相互監視の枠組みに組み込まれ
ていくために相互監視動作の抜けがなくなり、その為の
ソフトウェアも極めて単純なものとなってプログラムの
簡略化を図ることができる。
サの動作を同期させることが困難な場合でも、準備の整
ったプロセッサから順次相互監視の枠組みに組み込まれ
ていくために相互監視動作の抜けがなくなり、その為の
ソフトウェアも極めて単純なものとなってプログラムの
簡略化を図ることができる。
更に、相互監視を行なうためのプロセッサの組み合わせ
を固定せずに、いわゆる先着順で決定していくため、シ
ステム構成(プロセッサの数)が変更されてもプロセッ
サの追加・削減のたびごとに新たな組み合わせが構築さ
れていくことから、相互監視のためのソフトウェアはシ
ステムを構成するプロセッサの数に影響されることがな
い。例えば、システム内でプロセッサがひとつしか起動
していない場合でも、システムを構成する全てのプロセ
ッサが起動している場合でも、実行されるソフトウェア
は同一のものでよく(例えば第5図(a)の場合、自分
で自分の動作監視を行なうことになり、そのプロセッサ
の動作が正常である限り実質的な支障はなく、むしろ第
7図と第8図のソフトウェア(監視側・被監視側の処
置)を実行するプログラムレベルが異なる場合は、実行
周期の相違等により、第7図のソフトウェアを実行する
プログラムレベルの動作を第8図のソフトウェアを実行
するプログラムレベルが監視するという効果も生じ
る)、システム変更に対しても柔軟に対応することがで
きる等の効果がある。
を固定せずに、いわゆる先着順で決定していくため、シ
ステム構成(プロセッサの数)が変更されてもプロセッ
サの追加・削減のたびごとに新たな組み合わせが構築さ
れていくことから、相互監視のためのソフトウェアはシ
ステムを構成するプロセッサの数に影響されることがな
い。例えば、システム内でプロセッサがひとつしか起動
していない場合でも、システムを構成する全てのプロセ
ッサが起動している場合でも、実行されるソフトウェア
は同一のものでよく(例えば第5図(a)の場合、自分
で自分の動作監視を行なうことになり、そのプロセッサ
の動作が正常である限り実質的な支障はなく、むしろ第
7図と第8図のソフトウェア(監視側・被監視側の処
置)を実行するプログラムレベルが異なる場合は、実行
周期の相違等により、第7図のソフトウェアを実行する
プログラムレベルの動作を第8図のソフトウェアを実行
するプログラムレベルが監視するという効果も生じ
る)、システム変更に対しても柔軟に対応することがで
きる等の効果がある。
第1図ないし第9図は本発明の一実施例を示すもので、
第1図はマルチプロセッサシステムの構成図、第2図は
リンク情報格納領域の説明図、第3図はマルチプロセッ
サシステムにおける起動時の処理を示すフローチャー
ト、第4図(a),(b),(c),(d)はリンク情
報の変化を示す説明図、第5図(a),(b),
(c),(d)及び第6図はプロセッサ内の相互監視の
関係を示す説明図、第7図は被監視側プロセッサの処理
を示すフローチャート、第8図は監視側プロセッサの処
理を示すフローチャート、第9図はシステム再構成処理
を示すフローチャート、第10図は従来例を説明するため
のマルチプロセッサシステムの構成図である。 11〜14……プロセッサ、15……共有メモリ 15a……リンク情報格納領域、24……共有バス 26……バス調停回路
第1図はマルチプロセッサシステムの構成図、第2図は
リンク情報格納領域の説明図、第3図はマルチプロセッ
サシステムにおける起動時の処理を示すフローチャー
ト、第4図(a),(b),(c),(d)はリンク情
報の変化を示す説明図、第5図(a),(b),
(c),(d)及び第6図はプロセッサ内の相互監視の
関係を示す説明図、第7図は被監視側プロセッサの処理
を示すフローチャート、第8図は監視側プロセッサの処
理を示すフローチャート、第9図はシステム再構成処理
を示すフローチャート、第10図は従来例を説明するため
のマルチプロセッサシステムの構成図である。 11〜14……プロセッサ、15……共有メモリ 15a……リンク情報格納領域、24……共有バス 26……バス調停回路
Claims (1)
- 【請求項1】複数のプロセッサと、その共有メモリとか
ら構成されるマルチプロセッサシステムであって前記プ
ロセッサが相互に監視を行なう動作監視方法において、 共有メモリ内に設けたリンク情報格納領域に、各プロセ
ッサの監視対象である被監視側プロセッサを示す監視リ
ンク情報と、各プロセッサを監視対象とする監視側プロ
セッサを示す被監視リンク情報とを格納する領域を各プ
ロセッサごとに設け、かつ、最後に起動されたプロセッ
サ(最終起動プロセッサという)を示す最終リンク情報
を格納する領域を設け、 プロセッサが起動される度に、このプロセッサ(新規起
動プロセッサという)によってそれまでの最終起動プロ
セッサを監視し、かつ、この最終起動プロセッサを監視
していた別のプロセッサにより新規起動プロセッサを監
視するべく、監視リンク情報及び被監視リンク情報を更
新して相互監視体制を構築すると共に最終リンク情報を
新規起動プロセッサへと更新し、 監視側プロセッサが、被監視プロセッサの異常を検出し
た際に、この被監視プロセッサ(異常発生プロセッサと
いう)が監視していたプロセッサを前記監視側プロセッ
サの新たな監視対象とするべく監視リンク情報及び被監
視リンク情報を更新して異常発生プロセッサを除外した
相互監視体制を再構築すると共に、異常発生プロセッサ
が最終リンク情報により示されるプロセッサである場合
には、最終リンク情報の内容を前記監視側プロセッサを
示す情報に変更することを特徴とするマルチプロセッサ
システムにおける動作監視方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63211982A JPH0740253B2 (ja) | 1988-08-26 | 1988-08-26 | マルチプロセッサシステムにおける動作監視方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63211982A JPH0740253B2 (ja) | 1988-08-26 | 1988-08-26 | マルチプロセッサシステムにおける動作監視方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0259955A JPH0259955A (ja) | 1990-02-28 |
JPH0740253B2 true JPH0740253B2 (ja) | 1995-05-01 |
Family
ID=16614931
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP63211982A Expired - Lifetime JPH0740253B2 (ja) | 1988-08-26 | 1988-08-26 | マルチプロセッサシステムにおける動作監視方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0740253B2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009025965A (ja) * | 2007-07-18 | 2009-02-05 | Hitachi Ltd | フェールオーバにおける引き継ぎ先を自律的に変更する計算機システム及び方法 |
JP2012083891A (ja) * | 2010-10-08 | 2012-04-26 | Buffalo Inc | フェイルオーバシステム、記憶処理装置及びフェイルオーバ制御方法 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08329023A (ja) * | 1995-05-30 | 1996-12-13 | Shikoku Nippon Denki Software Kk | 並列電子計算機システム |
JP2000010949A (ja) * | 1998-06-19 | 2000-01-14 | Nec Corp | リレー型分散ヘルスチェック制御システム及び方法 |
JP3380197B2 (ja) * | 1999-11-30 | 2003-02-24 | エヌ・ティ・ティ・コムウェア株式会社 | 監視対象決定装置およびその記録媒体 |
JP4595512B2 (ja) * | 2004-11-29 | 2010-12-08 | 日本電気株式会社 | マルチプロセッサシステム、マルチプロセッサシステムにおける監視方法、及び、プロセッサ |
WO2008091596A1 (en) | 2007-01-23 | 2008-07-31 | Greenkeepers Of Delaware Llc | Golf tee with rigid stake and flexible crown |
JP2010094787A (ja) * | 2008-10-17 | 2010-04-30 | Yamaha Motor Co Ltd | 電動グリッパを装備するロボットおよび電動グリッパの制御方法 |
JP5822527B2 (ja) * | 2011-05-09 | 2015-11-24 | キヤノン株式会社 | 情報処理装置、その制御方法、および制御プログラム |
-
1988
- 1988-08-26 JP JP63211982A patent/JPH0740253B2/ja not_active Expired - Lifetime
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009025965A (ja) * | 2007-07-18 | 2009-02-05 | Hitachi Ltd | フェールオーバにおける引き継ぎ先を自律的に変更する計算機システム及び方法 |
JP2012083891A (ja) * | 2010-10-08 | 2012-04-26 | Buffalo Inc | フェイルオーバシステム、記憶処理装置及びフェイルオーバ制御方法 |
Also Published As
Publication number | Publication date |
---|---|
JPH0259955A (ja) | 1990-02-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2760363B2 (ja) | 初期化処理装置 | |
WO2016206514A1 (zh) | 启动处理方法及装置 | |
JPH0740253B2 (ja) | マルチプロセッサシステムにおける動作監視方法 | |
CN112199240A (zh) | 一种节点故障时进行节点切换的方法及相关设备 | |
JP2000285030A (ja) | 情報処理装置 | |
JPH0693229B2 (ja) | デ−タ処理装置 | |
JPH0766368B2 (ja) | ブ−トプロセツサ決定方式 | |
EP0509479B1 (en) | Multiprocessor system | |
JP2003167752A (ja) | プログラム更新システム、プログラム更新方法、および、プログラム更新プログラム | |
EP3428799B1 (en) | Data access device and access error notification method | |
JPS6113626B2 (ja) | ||
JP4983806B2 (ja) | 二重化タイマを用いたシステム監視装置、および監視方法 | |
JPH0424838A (ja) | マルチプロセッサの障害管理方式 | |
JP4066950B2 (ja) | コンピュータシステムおよびその保守方法 | |
JP5227653B2 (ja) | 多重化計算機システム、及びその処理方法 | |
JPH05216855A (ja) | マルチcpu制御方式 | |
JPS62200449A (ja) | セマフオ制御方式 | |
JP4853620B2 (ja) | マルチプロセッサシステムと初期立ち上げ方法およびプログラム | |
JP2778344B2 (ja) | 複数プロセッサシステム | |
JPH03138753A (ja) | マルチプロセッサシステムのブートロード装置 | |
JPS5839307A (ja) | プログラマブル・コントロ−ラ | |
JPH01310422A (ja) | マイクロコンピュータのリセット回路 | |
JPS6256544B2 (ja) | ||
JPH07114521A (ja) | マルチマイクロコンピュータシステム | |
JP3110124B2 (ja) | マルチコンピュータシステムにおける障害検出方式 |