JP3547208B2 - Multiprocessor system and configuration method thereof - Google Patents
Multiprocessor system and configuration method thereof Download PDFInfo
- Publication number
- JP3547208B2 JP3547208B2 JP06942895A JP6942895A JP3547208B2 JP 3547208 B2 JP3547208 B2 JP 3547208B2 JP 06942895 A JP06942895 A JP 06942895A JP 6942895 A JP6942895 A JP 6942895A JP 3547208 B2 JP3547208 B2 JP 3547208B2
- Authority
- JP
- Japan
- Prior art keywords
- initial operation
- version
- processor
- information
- operation program
- 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
Links
Images
Landscapes
- Stored Programmes (AREA)
- Multi Processors (AREA)
Description
【0001】
【産業上の利用分野】
本発明は複数のプロセッサが共通バスを介して分散共有メモリに記憶された情報を用いて並列処理を実行するマルチプロセッサシステム及びその構成方法に関する。
【0002】
【従来の技術】
近年、情報処理における高性能データベース検索、科学技術分野における画像処理などの並列処理に対して市場の要求が高まっている。この要求に対応するために複数のプロセッサを接続したマルチプロセッサシステムが提供される。特に、プロセッサとメモリとをプロセッサモジュールとして独立させ、このプロセッサモジュールを共通バスを介して複数結合して並列処理を行うマルチプロセッサシステムが提供される。
【0003】
前記マルチプロセッサシステムにおいては、メモリを1つないし複数のプロセッサのグループ毎に分散させて配置し、各プロセッサが分散メモリをアクセスする。マルチプロセッサシステムは前記共通バスに対する負荷を軽減することで複数のプロセッサにより並列処理を行う。さらに、互いのプロセッサが直接にアクセスできる分散共有メモリをもつマルチプロセッサシステムもある。
【0004】
このような分散共有メモリをもつマルチプロセッサシステムにおいて、いずれかのプロセッサモジュールが異常である場合もある。この場合には、異常であるプロセッサモジュールを縮退し、残りの正常なプロセッサモジュールによってマルチプロセッサシステムを構築する必要があった。
【0005】
また、前記分散メモリや、分散共有メモリをもつマルチプロセッサシステムでは、複数のプロセッサが独立に動作するため、複数のプロセッサの協調動作が重要である。複数のプロセッサが協調動作を行うためには各プロセッサで動作する初期動作プログラムの版数(バージョン)が一致していなければならない。
【0006】
【発明が解決しようとする課題】
しかしながら、作業ミスにより異なる版数のプロセッサモジュールが混在する場合もある。このときに初期動作が行われた場合には、それぞれの設定が異なる。このため、マルチプロセッサシステムを構築した後に協調動作を維持できず、システムが正常に動作できない。
【0007】
また、基本システムの版数が一致するとともに、システムの初期診断、初期設定及びブートを実行するためのプログラムリードオンリーメモリ(PROM)などの書換え不可能な不揮発性メモリからなるブートプログラムメモリの版数も一致していなければならない。
【0008】
しかし、前述したように異なる版数の初期動作プログラムが存在する場合もある。この場合、初期動作プログラムは書換え不可能なプログラムリードオンリーメモリ(PROM)に格納されていたため、初期動作プログラムの版数を同一にするには異なる版数をもつPROMを交換する必要があった。このため、交換作業が大変であった。そこで、異なる版数の初期動作プログラムを同一の版数の初期動作プログラムに書き換え、全ての版数を同一にして全てのプロセッサモジュールでシステムを起動することが望まれていた。
【0009】
本発明の目的は、異なる版数が混在しても同一の版数の初期動作プログラムをもつプロセッサモジュールでシステムを構成することのできるマルチプロセッサシステム及びその構成方法を提供する。
【0010】
【課題を解決するための手段】
本発明のマルチプロセッサシステムは、前記課題を解決するため、以下の手段を採用した。
【0011】
<本発明のマルチプロセッサシステムの要旨>
本発明のマルチプロセッサシステムは図1に示したように複数のプロセッサ12が共通バス6を通して並列処理を実行するマルチプロセッサシステムにおいて、
初期動作部14と、分散共有記憶部8と、決定部19とを備える(請求項1に対応)。要は同一の版数をプロセッサのみを起動するものである。
【0012】
以下、その構成を説明する。
(初期動作部)
初期動作部14は各プロセッサ12に設けられ自己のプロセッサの初期動作が正常か異常かを初期動作プログラムにより診断するもので、初期動作プログラムはフラッシュメモリなどの書換え可能な不揮発性メモリに格納される。
(分散共有記憶部)
分散共有記憶部8は前記各プロセッサ毎に初期動作プログラムで診断された初期動作の診断結果を表す初期動作状態情報及び前記初期動作プログラムの版数を表す版数情報を記憶するもので、例えば、分散共有メモリである。
(決定部)
前記決定部19は分散共有メモリ8に記憶された初期動作状態情報に基づき異常であったプロセッサを縮退するとともに前記版数情報に基づき異なる版数の初期動作プログラムをもつプロセッサを縮退し同一の版数の初期動作プログラムをもつプロセッサでシステムを構成するように決定する。
【0013】
本発明は以下の付加的構成要素を付加しても成立する。その他の付加的構成要素とは、前記決定部19が、システム全体の制御を行うとともに前記複数のプロセッサのシステム構成を決定するシステム制御機構部18である。
【0014】
その他の付加的構成要素とは、前記複数のプロセッサの各々が、前記システム構成決定処理を相互に実行することである。さらに、その他の付加的構成要素とは、前記システム構成を決定する論理を表す構成モード情報を記憶する構成モード情報部20を備え、前記決定部19は、前記構成モード情報部20に記憶された構成モード情報に基づきシステム構成を決定する。
【0015】
さらに、前記構成モード情報部20に構成モード情報を設定する処理、前記設定された構成モード情報を別の構成モード情報に変更する処理の少なくとも一方の処理を行う構成モード設定部21を備える。
【0016】
さらに、前記決定部19がシステム構成決定処理において選択した初期動作プログラムの版数を表すシステム版数情報を格納するシステム版数情報部23と、前記システム構成決定処理において選択されなかった初期動作プログラムデータの版数を表す格納プログラムデータ版数情報を予め記憶する記憶装置25と、前記システム版数情報と前記格納プログラムデータ版数情報とを比較するシステム版数比較部22と、前記システム版数情報が前記格納プログラムデータ版数情報に一致しない場合には、前記システム版数情報を前記格納プログラムデータ版数情報に書換えることにより全てのプロセッサを同一の版数の初期動作プログラムに統一する書換え処理部27とを備える。
【0017】
さらに、前記書換え処理部が初期動作プログラムの書換えを実行するときの書換え処理の動作状態を表す書換え状態情報を各プロセッサ毎に格納する書換え状態情報部28を備える。前記決定部19は、前記初期動作プログラムが異常なプロセッサを認識した場合に前記書換え状態情報部28に格納された書換え状態情報を参照することにより前記異常なプロセッサでシステムを構成してシステム動作を開始する。前記書換え処理部27は、前記書換え処理を再度試行することにより書換え実行中に発生した異常な初期動作プログラムを復旧する。
【0018】
前記書換え状態情報部28は、書換え処理の再度試行を実行する回数を規定するリトライ回数情報を設定する。前記書換え状態情報部28は、各初期動作プログラムを更新する最大更新回数を表す最大更新回数情報を参照して前記リトライ回数を設定する。
【0019】
また、図2に本発明のマルチプロセッサシステム構成方法の原理フローチャートを示す。図2に示すようにこの発明は、複数のプロセッサが共通バスを通して並列処理を実行することによりマルチプロセッサシステムを構成するシステム構成方法において、自己のプロセッサの初期動作が正常か異常かを初期動作プログラムにより診断する初期動作ステップ101と、前記各プロセッサ毎に初期動作プログラムで診断された初期動作の診断結果を表す初期動作状態情報及び前記初期動作プログラムの版数を表す版数情報を分散共有メモリに記憶する記憶ステップ102と、前記分散共有メモリに記憶された初期動作状態情報に基づき異常であったプロセッサを縮退するとともに前記版数情報に基づき異なる版数の初期動作プログラムをもつプロセッサを縮退し同一の版数の初期動作プログラムをもつプロセッサでシステムを構成するように決定する決定ステップ103とを備える。
【0020】
前記複数のプロセッサの各々によって、前記決定ステップは相互に実行される。前記決定ステップのうち、初期動作状態情報に基づき異常なプロセッサの縮退をシステム全体の制御を行うシステム制御機構部によって実行され、版数の異なるプロセッサの縮退を正常なプロセッサによって実行されることである。
【0021】
さらに、前記システム構成を決定する論理を表す構成モード情報を記憶する構成モード情報ステップ104を備え、前記決定ステップ103は、前記記憶された構成モード情報に基づきシステム構成を決定する。
【0022】
さらに、前記構成モード情報を設定する処理、前記設定された構成モード情報を別の構成モード情報に変更する処理の少なくとも一方の処理を行う構成モード設定ステップ105を備える。
【0023】
さらに、前記システム構成決定処理において選択した初期動作プログラムの版数を表すシステム版数情報を格納するシステム版数ステップ111と、前記システム構成決定処理において選択されなかった初期動作プログラムデータの版数を表す格納プログラムデータ版数情報を予め記憶するステップ112と、前記システム版数情報と前記格納プログラムデータ版数情報とを比較するシステム版数比較ステップ113と、前記システム版数情報が前記格納プログラムデータ版数情報に一致しない場合には、前記システム版数情報を前記格納プログラムデータ版数情報に書換えることにより全てのプロセッサを同一の版数の初期動作プログラムに統一する書換え処理ステップ114とを備える。
【0024】
さらに、前記初期動作プログラムの書換えを実行するときの書換え処理の動作状態を表す書換え状態情報を各プロセッサ毎に格納する書換え状態情報ステップ115を備え、前記決定ステップ103は、前記初期動作プログラムが異常なプロセッサを認識した場合に前記書換え状態情報部に格納された書換え状態情報を参照することにより前記異常なプロセッサでシステムを構成してシステム動作を開始し、前記書換え処理ステップは、前記書換え処理を再度試行することにより書換え実行中に発生した異常な初期動作プログラムを復旧する。
【0025】
前記書換え状態情報ステップ115は、書換え処理の再度試行を実行する回数を規定するリトライ回数情報を設定する。前記書換え状態情報ステップ115は、各初期動作プログラムを更新する最大更新回数を表す最大更新回数情報を参照して前記リトライ回数を設定する。
【0026】
【作用】
本発明によれば、各初期動作部14が自己のプロセッサの初期動作が正常か異常かを初期動作プログラムにより診断すると、各プロセッサ毎に初期動作プログラムで診断された初期動作の診断結果を表す初期動作状態情報及び初期動作プログラムの版数を表す版数情報が分散共有記憶部8に記憶される。
【0027】
そして、決定部19は分散共有記憶部8に記憶された初期動作状態情報に基づき異常であったプロセッサを縮退する。また、決定部19は版数情報に基づき異なる版数の初期動作プログラムをもつプロセッサを縮退し同一の版数の初期動作プログラムをもつプロセッサでシステムを構成するように決定する。
【0028】
すなわち、同一の版数をもつ初期動作プログラムのみでシステムを構成するので、プロセッサの協調動作が保証されたシステム立ち上げが可能となる。
また、システム全体を制御するシステム制御機構部18が、複数のプロセッサのシステム構成を決定することもできる。さらに、前記複数のプロセッサの各々が、前記システム構成決定処理を相互に実行することもできる。
【0029】
さらに、構成モード情報部20がシステム構成を決定する論理を表す構成モード情報を記憶し、決定部19は、構成モード情報部20に記憶された構成モード情報に基づきシステム構成を決定するので、予め定められた論理でシステム構成を決定できる。
【0030】
さらに、構成モード設定部21が構成モード情報部20に構成モード情報を設定する処理、前記設定された構成モード情報を別の構成モード情報に変更する処理の少なくとも一方の処理を行うので、運用状態や保守、試験などの状況に合わせたシステム構成を選択できる。
【0031】
さらに、システム版数比較部22は、システム構成決定処理において選択した(例えば、版数がより古い)初期動作プログラムの版数を表すシステム版数情報と、システム構成決定処理において選択されなかった(例えば、版数がより新しい)初期動作プログラムデータの版数を表す格納プログラムデータ版数情報とを比較する。
【0032】
書換え処理部27はシステム版数情報が格納プログラムデータ版数情報に一致しない場合には、システム版数情報(版数がより古い)を格納プログラムデータ版数情報(版数が新しい)に書換えることにより全てのプロセッサを同一の版数の初期動作プログラムに統一する。
【0033】
従って、複数の版数が存在しても、全ての版数を同一にすることができる。
また、決定部19は初期動作プログラムが異常なプロセッサを認識した場合に書換え状態情報部28に格納された書換え状態情報を参照することにより異常なプロセッサでシステム構成してシステム動作を開始する。書換え処理部27は書換え処理を再度試行することにより書換え実行中に発生した異常な初期動作プログラムを復旧する。
【0034】
従って、書換え処理中になんらかの要因で処理が中断されるような場合であっても、異常な初期動作プログラムを復旧することができる。
書換え状態情報部28がリトライ回数情報を設定することで書換え処理が必要以上に試行されるのを防止でき、プロセッサ縮退を実行し、他のプロセッサの書換え処理を継続させることにより書換え処理の信頼性を向上できる。
【0035】
書換え状態情報部28は最大更新回数情報を参照して前記リトライ回数を設定することで初期動作プログラムの更新回数の制限を考慮した復旧処理を行うことができる。
【0036】
【実施例】
以下、本発明のマルチプロセッサシステム及びその構成方法の実施例を図面を参照することにより説明する。
<実施例1>
図3は本発明のマルチプロセッサシステムの実施例1を示す構成ブロック図である。前記マルチプロセッサシステムは、共通バス6に接続される複数のプロセッサモジュール(PM)12−1〜12−3、共通バス6に接続されるシステムメモリ8、システムメモリ8に接続されるシステム制御機構部18、システムメモリ8に接続されるシステム構成決定部19とを備える。前記マルチプロセッサシステムにおいては、複数のプロセッサモジュール12−1〜12−3が共通バス6を通して並列処理を実行する。
【0037】
プロセッサモジュール12−i(i=1〜3)は、中央処理装置(CPU)13−i、初期動作プログラムを格納するFRAM初期動作部14−i、ランダムアクセスメモリ(RAM)15−iを備える。
【0038】
前記RAM15−iは各CPUで設定・診断され、マルチプロセッサとして動作するときにシステムの分散共有メモリとして設定され、システムメモリとして使用される。
【0039】
FRAM初期動作部14−iは初期動作プログラムをFRAM(フラッシュメモリ)に有し自己のプロセッサモジュール12−iの初期動作が正常か異常かを初期動作プログラムにより診断する。前記FRAMは書換え可能な不揮発性メモリである。
【0040】
システムメモリ8は、前記プロセッサモジュール12−iに対応して前記FRAM初期動作部14−i内の初期動作プログラムによって診断された各プロセッサモジュール12−iの診断結果を表す初期動作状態情報16−iと、前記プロセッサモジュール12−iに対応して前記FRAM初期動作部14−i内の初期動作プログラムの版数を表すFRAM版数情報17−i(i=1〜3)とを格納する。
【0041】
前記システム制御機構部18は、前記共通バス6に接続され、前記プロセッサモジュール12−iのCPU13−iとは別に、複数(マルチ)のプロセッサモジュール12−1〜12−3全体を制御するためのCPU180を備える。また、前記システム制御機構部18は、前記システムの電源の制御、リセット処理の制御、システム状態の監視などを実行する。
【0042】
前記システム構成決定部19はシステムメモリ8及びシステム制御機構部18に接続され、内部の図示しないメモリにシステム構成決定プログラムを有しシステムメモリ8に記憶された初期動作状態情報に基づき異常であったプロセッサを縮退する。縮退とは異常であったプロセッサをマルチプロセッサシステム構成から除外することをいう。前記システム構成決定部19は前記版数情報に基づき異なる版数の初期動作プログラムをもつプロセッサを縮退し同一の版数の初期動作プログラムをもつプロセッサモジュールでシステムを構成するように決定する。
【0043】
次に、このように構成された実施例1の動作を図4のフローチャートを参照して説明する。まず、システム制御機構部18によりマルチプロセッサシステムのリセットが実行されると(ステップS1)、各プロセッサモジュール12−1〜12−3はそのリセットを認識する(ステップS2)。そして、FRAM初期動作部14−iは初期動作プログラムにより初期設定、診断等の初期動作を実行する(ステップS3a)。
【0044】
FRAM初期動作部14−iは自己の初期動作プログラムにより自己のプロセッサモジュールを診断及び設定し、その結果が正常であるか異常であるかを判定する(ステップS3b)。
【0045】
結果が正常である場合には、FRAM初期動作部14−iは正常ステータスを作成し(ステップS4a)、その正常ステータスをシステムメモリ8に初期動作状態情報16−iとしてセットする(ステップS5)。
【0046】
一方、結果が異常である場合には、FRAM初期動作部14−iは異常ステータスを作成し(ステップS4b)、その異常ステータスをシステムメモリ8にセットする(ステップS5)。
【0047】
次に、FRAM初期動作部14−iは自己の初期動作プログラムの版数をシステムメモリ8にFRAM版数情報17−iとしてセットする(ステップS6)。
さらに、システム構成決定部19は全てのプロセッサモジュール12−1〜12−3が前記情報をシステムメモリ8に格納した後に、システムメモリ8に格納された情報に基づきマルチプロセッサシステムを構成するプロセッサモジュールを選択する(ステップS7)。
【0048】
前記システム構成決定処理を図5を参照して詳細に説明する。ここでは、システム制御機構部18がステップ71から76までの各プロセッサモジュールの状態情報の監視及び異常モジュールの縮退処理を行い、正常なモジュールのうち任意の1モジュールを選択する。選択されたプロセッサがステップ77から80までの処理を行うもので、システム制御機構部18が行う処理を引き継ぐため、他のモジュールとは異なる処理を実行する。
【0049】
まず、システム制御機構部18はプロセッサモジュール12−1〜12−3の初期動作状態情報を監視する(ステップ71)。そして、一定時間内に前記初期動作状態情報が、システムメモリ8に設定されるかが判断される(ステップS72)。
【0050】
前記情報を設定していないプロセッサモジュールは異常が発生しているとシステム制御機構部18が判断してそのプロセッサモジュールを縮退(システムからの切り離し)を実行する(ステップS73)。
【0051】
次に、システム制御機構部18はシステムメモリ8に記憶されたプロセッサモジュール12−1〜12−3の初期動作状態情報16−1〜16−3を確認する(ステップS74)。システム制御機構部18は初期動作状態情報から異常ステータスが設定されているかどうかを判断する(ステップS75)。システム制御機構部18は異常ステータスが設定されているプロセッサモジュールを縮退する(ステップS76)。そして、正常なプロセッサモジュールのうち、任意の1モジュールを選択する。
【0052】
次に、選択されたプロセッサはシステムメモリ8のFRAM版数情報17−1〜17−3に基づき各プロセッサモジュールの初期動作プログラムの版数を確認し(ステップS77)、全てのプロセッサモジュールの初期動作プログラムの版数が同一かどうかを判断する(ステップS78)。
【0053】
版数の異なる初期動作プログラムが存在する場合には、選択されたプロセッサは版数の異なるプロセッサモジュールに対してプロセッサモジュールの縮退を実行する(ステップS79)。
【0054】
なお、どの版数のプロセッサモジュールを残すかどうかは前記マルチプロセッサシステムによって適宜変えることができる。例えば、最新の版数を残す場合や、あるいは多い版数を残す場合などが考えられる。
【0055】
次に、選択されたプロセッサは、残ったプロセッサモジュールによってマルチプロセッサシステムを構成する(ステップS80)。例えば、分散共有メモリシステムが構築できる。
【0056】
なお、選択されなかったプロセッサモジュールはシステム制御部18が処理を行うのと同様で動作する。
さらに、版数が同一である場合、問題なく全てのモジュールがシステムを構築する。しかし、選択されたモジュール自身が異なる版数である場合(書換え制御時でも)、他のモジュールでシステムを構築する必要がある。
【0057】
この場合、前記選択されたモジュールのプロセッサは、版数の比較により動作すべきモジュールに制御を引き継ぐために、システム制御機構部18が最初に選択したように動作すべき新たなモジュールを選択する。
【0058】
新たに選択されたモジュールはステップS77以降の処理を実行するが、版数の比較により自己を縮退するような状態にならないため、そのままステップS80の処理を実行する。
【0059】
この場合、他のモジュール(版数のチェックにより縮退すべきモジュール)の縮退動作は以下の2通りの方法で縮退できる。
第1の方法は最初にシステム制御機構部18に選択されたモジュールのプロセッサが他のモジュールを縮退し、新たに選択されたモジュールに制御を引き継いだ後に自身も自身を縮退する。この場合、新たに選択されたモジュールはS77以降のチェックを行っても正常に動作し(縮退されずに)、かつ版数の異なるモジュールは存在しない状態となっている。
【0060】
第2の方法は最初にシステム制御機構部18に選択されたモジュールのプロセッサは新たに選択されたモジュールに制御を引き継ぐまでを行い、その後他のモジュール同様の状態に戻る。新たに選択されたモジュールがS77からの処理を行うことで版数のチェックにかかるモジュールが縮退される。
【0061】
以上の処理によりシステム構成決定部19の処理が終了する。図4の説明に戻り、各プロセッサモジュールはソフトウェアをローディングし(ステップS8)、
システムを起動する(ステップS9)。
【0062】
その後に、同一の版数をもった正常なプロセッサモジュールで構成されたマルチプロセッサシステムとして処理を続行する。さらに、システム制御機構部18はマルチプロセッサシステムを構成するプロセッサモジュールを含めシステムを監視する(ステップS10)。
【0063】
このように、異なる版数の初期動作プログラムが混在しても、同一の版数の初期プログラムをもつプロセッサモジュールのみを選択するので、同一版数のプロセッサモジュールにより協調動作を維持しながらマルチプロセッサシステムを正常に立ち上げることができる。
(A)システム制御機構部内のCPUによるシステム構成決定部の動作
次に、システム制御機構部18内のCPUがシステム構成決定部を動作させることによりマルチプロセッサシステムの構成を決定する具体例を図6、図7を参照して説明する。
(a)まず、図6では、プロセッサモジュール12−1〜12−3の内でプロセッサモジュール12−3において初期動作が異常であった場合を説明する。なお、各プロセッサモジュールの初期動作プログラムの版数は全て同一であり、A版であるとする。
【0064】
まず、プロセッサモジュール12−1,12−2において、初期動作部14−1,14−2は初期動作プログラムによりシステムメモリ8に初期動作状態情報として正常ステータスを設定し、かつFRAM版数情報としてA版を設定する(ステップS11a)。
【0065】
次に、プロセッサモジュール12−3において、初期動作部14−3は初期動作プログラムによりシステムメモリ8に初期動作状態情報として異常ステータスを設定し、かつFRAM版数情報としてA版を設定する(ステップS12a)。
【0066】
システム制御機構部18は全てのプロセッサモジュールが初期動作を終了し、各情報をシステムメモリ8に設定するのを待つ(ステップS13)。システム制御機構部18は前記初期動作状態情報が正常かどうかを判定する(ステップS14)。
【0067】
初期動作状態情報が異常である場合には、システム制御機構部18は異常プロセッサの縮退を行い(ステップS15)、ステップS16の処理に進む。一方、初期動作状態情報が正常である場合には、直ちにステップS16の処理に進む。
【0068】
この例では、プロセッサモジュール12−3が異常であるので、ステップS15において、プロセッサモジュール12−3を縮退する。
次に、システム制御機構部18はFRAM版数情報が同一であるかどうかを判定し(ステップS16)、版数が同一でないプロセッサモジュールを含む場合には、同一の版数を選択することにより異常の版数のプロセッサモジュールを縮退する(ステップS17)。
【0069】
残りのプロセッサモジュールでマルチプロセッサシステムの構成を決定する(ステップS18)。この例では、プロセッサモジュール12−1,12−2ともにA版の初期動作プログラムをもつため、プロセッサモジュール12−1,12−2は縮退されずに、マルチプロセッサシステムを構成する。
【0070】
一方、全てのプロセッサモジュールの版数が同一である場合には、それらのプロセッサモジュールでマルチプロセッサシステムの構成が決定される。
このようなシステム制御機構部18の処理が終了した後に、正常なプロセッサモジュール12−1,12−2はマルチプロセッサシステムとして動作するための設定、診断などの動作を開始する(ステップS19)。
【0071】
このようにシステム制御機構部18は異常のプロセッサモジュールを縮退して正常のプロセッサモジュールのみでマルチプロセッサの構成を決定することもできる。
(b)次に、図7を参照して、プロセッサモジュール12−1〜12−3の中でプロセッサモジュール12−1,12−2のFRAM初期動作プログラムの版数がC版であり、プロセッサモジュール12−3の版数がB版であるときのシステム制御機構部18の処理を説明する。なお、初期動作プログラムの版数はアルファベッド順に新しい版数であるとし、C版はB版よりも新しい版数である。
【0072】
まず、プロセッサモジュール12−1,12−2において、初期動作部14−1,14−2は初期動作プログラムによりシステムメモリ8に初期動作状態情報として正常ステータスを設定し、かつFRAM版数情報としてC版を設定する(ステップS11b)。
【0073】
次に、プロセッサモジュール12−3において、初期動作部14−3は初期動作プログラムによりシステムメモリ8に初期動作状態情報として正常ステータスを設定し、かつFRAM版数情報としてB版を設定する(ステップS12b)。
【0074】
システム制御機構部18は全てのプロセッサモジュールが初期動作を終了し、各情報をシステムメモリ8に設定するのを待つ(ステップS13)。システム制御機構部18は前記初期動作状態情報が正常かどうかを判定する(ステップS14)。この例では、初期動作状態情報が全て正常であるので、ステップS15におけるプロセッサモジュールの縮退は行われない。
【0075】
次に、システム制御機構部18はFRAM版数情報が同一であるかどうかを判定する(ステップS16)。この例では、版数が同一でないプロセッサモジュールを含むので、版数を選択するときに例えば、新しい版数を選択する。
【0076】
プロセッサモジュール12−3の版数は、プロセッサモジュール12−1,12−2の版数よりも古いため、プロセッサモジュール12−3を縮退する(ステップS17)。
【0077】
プロセッサモジュール12−1,12−2でマルチプロセッサシステムを構成する(ステップS18)。
このようにシステム制御機構部18は版数の異なる初期動作プログラムが混在しても、同一の版数の初期動作プログラムをもつプロセッサモジュールでマルチプロセッサの構成を決定することもできる。
(B)プロセッサモジュール内のCPUによるシステム構成決定部の動作
次に、プロセッサモジュール内のCPUがシステム構成決定部19を動作させることによりマルチプロセッサシステムの構成を決定する具体例を図8、図9を参照して説明する。この場合、システム制御機構部18はシステム構成の決定に関与しない。
(a)まず、図8において、図6に示したと同様に、プロセッサモジュール12−3の初期動作が異常であった場合を説明する。各プロセッサモジュールの初期動作プログラムの版数は全てA版である。
【0078】
まず、プロセッサモジュール12−1,12−2の初期動作部14−1,14−2はシステムメモリ8に初期動作状態情報として正常ステータスを設定し、かつFRAM版数情報としてA版を設定する(ステップS11a)。プロセッサモジュール12−3の初期動作部14−3はシステムメモリ8に初期動作状態情報として異常ステータスを設定し、かつFRAM版数情報としてA版を設定する(ステップS12a)。
【0079】
次に、各プロセッサモジュールは、他のプロセッサモジュールの情報設定動作を監視し、全てのプロセッサモジュールの情報設定の終了を待つ(ステップS20)。
【0080】
各プロセッサモジュールは全てのプロセッサモジュールの設定が終了したことを確認し、自己のプロセッサモジュールの情報のチェックを開始する。まず、各プロセッサモジュールは自己のプロセッサモジュールの初期動作状態情報をチェックし、異常ステータスをシステムメモリ8に設定している場合には、そのプロセッサを縮退する(ステップS21)。この例では、プロセッサモジュール12−3が縮退する。
【0081】
次に、各プロセッサモジュールはFRAM版数情報のチェックを行い、異常版数のプロセッサモジュールは縮退される(ステップS22)。この場合、各プロセッサモジュールは自己のプロセッサモジュールのFRAM版数情報と他のプロセッサモジュールの版数情報とを比較し、版数が異なる場合には、プロセッサモジュールの縮退が行われる。
【0082】
この例では、A版であるプロセッサモジュール12−1,12−2がマルチプロセッサシステムを構成し(ステップS23)、マルチプロセッサシステムの動作を開始する(ステップS19)。
このように各プロセッサモジュールのCPUがシステム構成決定部19を動作させることによりプロセッサモジュールを縮退して正常のプロセッサモジュールのみでマルチプロセッサの構成を決定することもできる。
(b)次に、図9を参照して、プロセッサモジュール12−1,12−2のFRAM初期動作プログラムの版数がC版であり、プロセッサモジュール12−3の版数がB版であるときの各プロセッサモジュールの処理を説明する。
【0083】
まず、プロセッサモジュール12−1,12−2は初期動作状態情報として正常ステータスを設定し、かつFRAM版数情報としてC版を設定する(ステップS11b)。プロセッサモジュール12−3は初期動作状態情報として正常ステータスを設定し、かつFRAM版数情報としてB版を設定する(ステップS12b)。
【0084】
次に、各プロセッサモジュールは前記ステップ20の処理を行い、さらに、自己のステータスをチェックして異常ステータスのプロセッサモジュールを縮退する(ステップS21)。この例では、異常ステータスはないので、縮退されるプロセッサモジュールはない。
【0085】
次に、各プロセッサモジュールはFRAM版数情報をチェックする。プロセッサモジュール12−3の版数は、プロセッサモジュール12−1,12−2の版数と異なるため、プロセッサモジュール12−3は自己を縮退する(ステップS22)。
【0086】
なお、この例では、古い版数と新しい版数が混在していた場合に新しい版数を選択した。従って、残ったプロセッサモジュール12−1,12−2によりC版の初期動作プログラムをもつマルチプロセッサシステムが構成される。
【0087】
このように版数の異なる初期動作プログラムが混在しても、同一の版数の初期動作プログラムをもつプロセッサモジュールでマルチプロセッサの構成を決定することもできる。
<実施例2>
次に、本発明のマルチプロセッサシステムの実施例2を説明する。図10は実施例2のマルチプロセッサシステムの構成図である。実施例2では、実施例1の構成にさらに、前記システム構成決定部19に接続される構成モード情報メモリ20、前記構成モード情報メモリ20に接続される構成モード設定処理部21とを備える。
【0088】
前記構成モード設定処理部21は構成モード情報メモリ20に構成モード情報を設定するもので、装置のスイッチなどの認識、コマンドによる入力などにより構成モード情報を設定することができる。
【0089】
前記構成モード情報メモリ20はシステム構成を決定する論理を選択するための構成モード情報を格納する。
次に、実施例2の構成モード設定処理部の動作を説明する。図11は実施例2の構成モード設定処理部の動作を示すフローチャートである。この処理はシステム構成決定処理を行う前に行われる。
【0090】
まず、構成モード設定処理部21は構成モード情報を構成モード情報メモリ20に設定する(ステップS24a)。次に、システム構成決定部19は、構成モード情報メモリ20に格納された構成モード情報を参照してシステム構成を決定するための論理を選択する(ステップS24b)。
【0091】
この例では、例えば、システム構成決定部19は、第1ないし第3の3つのシステム構成決定論理からいずれか1つの論理を選択する。例えば、システム構成決定部19は、第1のシステム論理を選択すると、FRAM版数の新しいプロセッサモジュールでマルチプロセッサシステムを構成する(ステップS25)。
【0092】
また、システム構成決定部19は、第2のシステム論理を選択すると、FRAM版数の古いプロセッサモジュールでマルチプロセッサシステムを構成する(ステップS26)。この場合、FRAMのレベルアップ動作時に利用されるように動作する。
【0093】
さらに、システム構成決定部19は、第3のシステム論理を選択すると、FRAM版数を指定し指定されたプロセッサモジュールでマルチプロセッサシステムを構成する(ステップS27)。この場合、試験システム、障害調査、開発、緊急時の運用などに活用できる。
【0094】
以上の処理の後に、システム構成決定部19はFRAM版数情報のチェック、縮退などの処理によりシステム構成決定処理を行う(ステップS7)。S7以降の処理は実施例1の処理と同様である。
【0095】
このように構成モード設定処理部21により容易に構成モード情報を設定、変更できるため、運用状態、保守、試験等のシステム状況に応じてシステム構成を制御することができる。
【0096】
また、前記構成モード設定処理部21を設けずに、構成モード情報メモリ20のみを設けるようにしてもよい。この場合には、構成モード情報メモリ20に予め定められた構成モード情報を格納することで限られた構成モード情報のみを選択してもよい。
<実施例3>
次に、本発明の実施例3を説明する。実施例3は実施例2の構成にさらに図12に示すような構成を追加した。図12において、マルチプロセッサシステムはシステム版数情報部23、格納プログラムデータ版数情報部24、システム版数比較部22、FRAM初期動作プログラムデータ26を記憶する外部記憶装置25、書換え処理部27を備える。
【0097】
システム版数情報部23は、前記システム構成決定部19がシステム構成決定処理において選択した初期動作プログラムの版数を表すシステム版数情報を格納する。
【0098】
格納プログラムデータ版数情報部24は前記外部記憶装置25内のFRAM初期動作プログラムデータ26の版数を表す格納プログラムデータ版数情報を格納する。格納プログラムデータ版数情報は前記システム構成決定処理において選択されなかった初期動作プログラムデータの版数を表す。
【0099】
前記システム版数比較部22は、前記システム版数情報と、前記格納プログラムデータ版数情報とを比較する。システム版数情報部23は例えば、前記システムメモリ8などに設けられる。
【0100】
前記書換え処理部27は前記システム版数比較部22の比較結果により必要に応じてFRAM初期動作プログラムの書換えを実行する。ここでは、前記書換え処理部27は前記システム版数情報が前記格納プログラムデータ版数情報に一致しない場合には、前記システム版数情報を前記格納プログラムデータ版数情報に書換えることにより全てのプロセッサを同一の版数の初期動作プログラムに統一する。
【0101】
次に、図13を参照して実施例3の第1の処理を説明する。この例では、プロセッサモジュール12−1,12−2がB版の初期動作プログラムをもち、プロセッサモジュール12−3がA版の初期動作プログラムをもつ。外部記憶装置25に記憶されているFRAM初期動作プログラムデータはB版である。
【0102】
まず、システム制御機構部18がリセットを実行すると(ステップS1)、各プロセッサモジュールはリセットを認識し(ステップS2)、初期動作を実行する(ステップS3a)。
【0103】
各プロセッサモジュールは自己のプロセッサモジュールを診断及び設定し、その結果を出力し(ステップS3c)、正常または異常のステータスを作成する(ステップS4)。そのステータスをシステムメモリ8に初期動作状態情報16−iとしてセットする(ステップS5)。
【0104】
次に、各プロセッサモジュールは自己の初期動作プログラムの版数をシステムメモリ8にFRAM版数情報17−iとしてセットする(ステップS6)。
この例では、プロセッサモジュール12−1,12−2の対応するシステムメモリ8には、正常ステータスが設定され、かつFRAM版数(B版)が設定される(ステップS11)。プロセッサモジュール12−3の対応するシステムメモリ8には、正常ステータスが設定され、かつFRAM版数(A版)が設定される(ステップS12)。
【0105】
次に、システム構成決定部19は構成モード情報メモリ20に格納された構成モード情報を参照してシステム構成を決定する際に古い版数をもつプロセッサモジュールを選択する論理でシステムを構成する(ステップS7)。この例では、古いA版のプロセッサモジュール12−3を残し、新しいB版のプロセッサモジュール12−1,12−2を縮退する。
【0106】
そして、プロセッサモジュール12−3がマルチプロセッサシステム動作を開始する(ステップS19)。
次に、図14を参照して実施例3の第2の処理を説明する。プロセッサモジュール12−3は自己の初期動作プログラムの版数(A版)をシステム版数情報部23に格納する(ステップS28)。
【0107】
次に、プロセッサモジュール12−3は、外部記憶装置25に記憶されている初期動作プログラムデータ26を読み込み、初期動作プログラムデータ26内の版数情報をチェックし、その版数情報を格納プログラムデータ版数情報部24は格納する(ステップS29)。
【0108】
次に、システム版数比較部22は、前記システム版数情報と格納プログラムデータ版数情報とを比較し版数同士が同一かどうかを判定する(ステップS30)。版数同士が同一である場合には、システムが起動される(ステップS9)。
【0109】
版数同士が異なる場合には、書換え処理部27は書換え処理を実行する(ステップS31)。この例では、プロセッサモジュール12−3がA版であり、格納されている初期動作プログラムデータ24の版数がB版であるので、プロセッサモジュール12−3の初期動作プログラムはA版からB版に書き換えられる。
【0110】
さらに、書換えが終了した後に、プロセッサモジュール12−3は、システム制御機構部18にシステムのリセットを要求する(ステップS32)。
システム制御機構部18はリセット要求によりリセットを実行する(ステップS1)。この例では、リセット後には、B版の初期動作プログラムをもつ3つのプロセッサモジュール12−1〜12−3でシステムが構成され、これら3つのプロセッサモジュールで動作が開始される(ステップS19)。
【0111】
さらに、システム版数情報部23にB版の情報が格納される(ステップS33)。そして、システム版数比較部22がシステム版数情報を初期動作プログラムデータの版数と比較する(ステップS34)。この場合、版数同士が同一の版数であるため、書換え処理は実行せずに正常にシステムを起動する。
【0112】
このように書換え可能なFRAMを用いて、システム版数比較部22は、システム構成決定処理において選択した(例えば、版数がより古い)初期動作プログラムの版数を表すシステム版数情報と、システム構成決定処理において選択されなかった(例えば、版数がより新しい)初期動作プログラムデータの版数を表す格納プログラムデータ版数情報とを比較する。書換え処理部27はシステム版数情報が格納プログラムデータ版数情報に一致しない場合には、システム版数情報(版数がより古い)を格納プログラムデータ版数情報(版数が新しい)に書換えることにより全てのプロセッサを同一の版数の初期動作プログラムに統一する。
【0113】
従って、複数の版数が存在しても、全ての版数を同一にして起動させることができる。
<実施例4>
次に、本発明の実施例4について説明する。図15は実施例4のマルチプロセッサシステムの主要な構成を示す図である。
【0114】
前記書換え処理中になんらかの要因により処理が中断された場合(例えば、停電)、書換え処理が実行されているFRAMは自プログラムの一部が保証されていないため、必要な動作ができない。この場合、リセット後の初期動作時に自プログラムの診断異常である異常ステータスを初期動作状態情報として格納する。
【0115】
しかし、これは書換え処理を再度実行することで復旧が可能な状態であるため、他の異常ステータスとは区別する必要がある。しかし、診断によって書換え中によるFRAMの異常か、単なるFRAMの異常かを区別することが自プロセッサモジュールの診断のみでは判断できない。
【0116】
そこで、図15における構成は図12に示す構成にさらに、書換え状態情報部28を追加した。書換え状態情報部28は例えば、書換え処理部27がFRAMの書換えを実行するときの書換えの状態を表す書換え状態情報を格納する。
【0117】
図16に前記書換え状態情報の詳細を示す。図16において、書換え状態情報は書換えが実行されるFRAMの書換え処理動作の状態であり、プロセッサモジュール毎にフラグによって設定されている。書換え状態情報には、例えば、FRAMの正常状態、イレーズ状態(書換え可能部分に対してイレーズ動作がなされた状態)、ライト中状態(書換え可能部分に対してライト処理を実行中の状態)等の状態情報が設定されている。
【0118】
次に、図17を参照して実施例4の動作を説明する。実施例4では、実施例3のプロセッサモジュール構成の状態で、図13に示された書換え処理実行動作(ステップS31)の処理で異常が発生し、正常に書換え処理を続行できない場合を説明する。
【0119】
まず、プロセッサモジュール12−3のFRAMを書き換える前に書換え状態情報部28はプロセッサモジュール12−3の書換え状態情報を設定する。書換え状態情報部28は例えば、図16に示すように、プロセッサモジュール12−3の処理状態を示す領域にFRAMイレーズ処理動作中、またはライト処理動作中などの異常状態情報を設定する(ステップS35)。
【0120】
書換え処理を実行して最中に(ステップS31)、書換え処理を継続できない異常が発生した場合、例えば、システムの電源が断となった場合に、FRAMの状態はA版でもB版でもない異常状態になってしまう。
【0121】
システム制御機構部18が書換え状態情報から異常の発生を認識すると(ステップS36)、リセットを実行する(ステップS37)。各プロセッサモジュール12−1〜12−3は初期動作を開始する(ステップS3a)。プロセッサモジュール12−3は、FRAMの初期動作プログラムの書換え可能な部分が異常状態であるために初期動作によりFRAMの異常として検出される(ステップS4)。
【0122】
また、プロセッサモジュール12−3のFRAMの初期動作プログラムの版数も不定となってしまうため、システムメモリ8に0版をFRAM版数情報として設定する(ステップS12)。この状態において、システム構成決定部19がシステム構成決定処理を実行し、初期動作状態情報が異常であるプロセッサモジュール12−3を縮退する。
【0123】
次に、システム構成決定部19は書換え処理時に書換え状態情報部28に設定されている書換え状態情報を参照する。そして、システム構成決定部19は、プロセッサモジュール12−3のFRAMの異常が、書換え処理途中で中断されたために発生していることを認識する。
【0124】
そこで、プロセッサモジュール12−3のFRAMを復旧するためにシステム構成決定部19は、プロセッサモジュール12−3以外のプロセッサモジュール12−1,12−2を縮退し、プロセッサモジュール12−3のみでシステムを構成する(ステップS37)。
【0125】
次に、プロセッサモジュール12−3で構成されたシステムにおいて、書換え処理部27は、直ちに書換え処理を実行し、外部記憶装置25の初期動作プログラムデータ26をプロセッサモジュール12−3のFRAMに書き込み、B版のFRAMとして復旧する(ステップS38)。
【0126】
書換え処理が正常に終了した時点で、プロセッサモジュール12−3は書換え状態情報部28内の書換え状態情報をクリアにし(ステップS39)、リセットを要求する(ステップS40)。
【0127】
その後に、全てのプロセッサモジュール12−1〜12−3がB版の初期動作プログラムをもつ状態となり、全てのプロセッサモジュールが選択された3つのプロセッサモジュールのマルチプロセッサシステムとして起動される。
【0128】
このようにシステム構成決定部19は初期動作プログラムが異常なプロセッサを認識した場合に書換え状態情報部28に格納された書換え状態情報を参照することにより異常なプロセッサでシステム構成してシステム動作を開始する。書換え処理部27は書換え処理を再度試行することにより書換え実行中に発生した異常な初期動作プログラムを復旧する。
【0129】
従って、書換え処理中の異常によりFRAMが異常状態となっても、次のリセットによる動作で異常FRAMの復旧を容易に実現できる。
<実施例5>
次に、本発明の実施例5を説明する。図18は実施例5のマルチプロセッサシステムの主要な構成を示す図である。図18における構成は図12に示す構成にさらに、書換え状態情報部28aを追加した。書換え状態情報部28aは例えば、書換え処理部27がFRAMの書換えを実行するときの書換えの状態を表す書換え状態情報を格納する。
【0130】
図19に前記書換え状態情報の詳細を示す。図19において、書換え状態情報28aには各プロセッサモジュールの処理状態情報として書換えが実行される前記FRAMの書換え処理動作の状態と異常発生時に復旧処理を実行するリトライ動作の規定回数を制限するリトライ回数情報が各プロセッサモジュール毎にフラグによって設定されている。
【0131】
次に、図20を参照して実施例5の第1の処理を説明する。まず、プロセッサモジュール12−3において、書換え状態情報部28aは書換え状態情報を設定するときにリトライ回数情報を同時に設定する(ステップS41)。この例では、1回のリトライを許可するためにリトライ回数を1に設定する。
【0132】
次に、プロセッサモジュール12−3が書換え処理を実行している最中に、異常が発生する。すると、プロセッサモジュール12−3に異常が発生したことをシステム制御機構部18が認識し、リセットを実行する。
【0133】
さらに、ステップS2からステップS12までの処理が行なわれた後に、システム構成決定部18は、システム構成決定処理を行う時に、書換え状態情報部28aに設定されている書換え状態情報を参照して、リトライ回数情報がゼロでないことを確認する。
【0134】
この例では、プロセッサモジュール12−3のリトライ回数情報は1となっているので、システム構成決定部18は、プロセッサモジュール12−3を選択する。
【0135】
そして、システム構成決定部18は書換え状態情報部28aに格納されたリトライ回数情報を更新、すなわち、減算する(ステップS42)。この例では、リトライ回数情報は1から0に更新される。次に、プロセッサモジュール12−3のみでシステム動作を開始する(ステップS19)。
【0136】
図21を参照して実施例5の第2の処理を説明する。ステップS19の処理の後に、書換え処理部27はプロセッサモジュール12−3に対してFRAMの書換え処理を実行する(ステップS30)。しかし、この時点では、書換え状態情報部28aに格納された書換え状態情報を更新しない。
【0137】
さらに、プロセッサモジュール12−3のステップS30における異常により処理が正常に終了できなかった場合に、初回の異常時と同様にリセットが実行される。そして、ステップS2からステップS12までの処理が行われた後に、システム構成決定部19はシステム構成決定処理を実行する。
【0138】
システム構成決定部19は、書換え状態情報部28aに格納された書換え状態情報のプロセッサモジュール12−3のリトライ回数がゼロになっていることを認識する。
【0139】
そして、システム構成決定部19は、プロセッサモジュール12−3を異常プロセッサモジュールとして縮退し、他のプロセッサモジュール12−1,12−2に対してシステム構成決定処理を実行する(ステップS43)。この例では、プロセッサモジュール12−1,12−2がB版のシステムとして構成される。
【0140】
なお、システム構成決定部19は、書換え状態情報部28aに格納された書換え状態情報のプロセッサモジュール12−3のリトライ回数がゼロになっていない場合には、プロセッサモジュール12−3以外を縮退するようにシステム構成決定処理を実行する。
【0141】
このようにリトライ回数を書換え状態情報に設定することで書換え処理が必要以上に試行されることを防止でき、プロセッサモジュールの縮退を実行し、他のプロセッサモジュールの書換え処理を継続させることにより書換え処理自身の信頼性を向上できる。
<実施例6>
次に、本発明の実施例6を説明する。図22は実施例6のマルチプロセッサシステムの主要な構成を示す図である。図22における構成は図18に示す構成にさらに、書換え情報部28aに接続される最大更新回数情報部29−1〜29−3を追加した。
【0142】
最大更新回数情報部29−1〜29−3は、各プロセッサモジュール内のFRAMの最大更新回数情報を格納する。各FRAMには書換え、消去等の更新回数にハードウェアとして保証される最大回数が存在する。この回数を越える場合には、書換え、消去等の動作及び動作結果の保証がないため、この回数を越えない範囲でFRAMのプログラム書換えを実行しなければならない。
【0143】
なお、その他の構成は実施例5の構成と同一である。
次に、図23を参照して実施例6の動作を説明する。まず、書換えFRAMの情報が設定される(ステップS41)。
【0144】
次に、書換え状態情報部28aがリトライ回数情報を設定するときに、書換え状態情報部28aは、最大更新回数情報部29−1〜29−3に格納された書換えを行うFRAMの最大更新回数情報を参照する。
【0145】
前記最大更新回数情報は製品を出荷する時に設定される。リトライ回数を設定する際にそのリトライ回数は最大更新回数よりも多くならないように設定される(ステップS44)。例えば、最大更新回数が3回であるときには、リトライ回数は4回以上を設定しない。
【0146】
次に、書換え処理部27は、書換え処理を実行される際、例えばイレーズ動作、ライト動作などの更新にあたる作業を実行する毎に、前記最大更新回数情報を更新(減算)する(ステップS45)。
【0147】
このような処理によりFRAMの最大更新回数を考慮したFRAMの復旧処理を実行するので、最大更新回数を越えたときに発生する異常に対して余計な復旧処理を行わなくて済む。
【0148】
【発明の効果】
本発明によれば、決定部は分散共有メモリに記憶された初期動作状態情報に基づき異常であったプロセッサを縮退し、版数情報に基づき異なる版数の初期動作プログラムをもつプロセッサを縮退し同一の版数の初期動作プログラムをもつプロセッサでシステムを構成するように決定する。
【0149】
すなわち、同一の版数をもつ初期動作プログラムのみでシステムを構成するので、プロセッサの協調動作が保証されたシステム立ち上げが可能となる。
【図面の簡単な説明】
【図1】本発明のマルチプロセッサシステムを示す原理図である。
【図2】本発明のマルチプロセッサシステム構成方法を示す原理フローチャートである。
【図3】本発明の実施例1のマルチプロセッサシステムを示す構成図である。
【図4】実施例1のマルチプロセッサシステムの処理を示すフローチャートである。
【図5】システム構成決定部によるシステム構成決定処理を示すフローチャートである。
【図6】システム制御機構部が異常なプロセッサモジュールを縮退する具体的なシステム構成決定処理を示すフローチャートである。
【図7】システム制御機構部が異なる版数のプロセッサモジュールを縮退する具体的なシステム構成決定処理を示すフローチャートである。
【図8】各プロセッサモジュールが異常なプロセッサモジュールを縮退する具体的なシステム構成決定処理を示すフローチャートである。
【図9】各プロセッサモジュールが異なる版数のプロセッサモジュールを縮退する具体的なシステム構成決定処理を示すフローチャートである。
【図10】本発明の実施例2のマルチプロセッサシステムを示す構成図である。
【図11】実施例2のマルチプロセッサシステムの処理を示すフローチャートである。
【図12】実施例3のマルチプロセッサシステムの主要な構成を示す図である。
【図13】実施例3のマルチプロセッサシステムの第1の処理を示すフローチャートである。
【図14】実施例3のマルチプロセッサシステムの第2の処理を示すフローチャートである。
【図15】実施例4のマルチプロセッサシステムの主要な構成を示す図である。
【図16】実施例4の書換え状態情報の詳細を示す図である。
【図17】実施例4のマルチプロセッサシステムの処理を示すフローチャートである。
【図18】実施例5のマルチプロセッサシステムの主要な構成を示す図である。
【図19】実施例5の書換え状態情報の詳細を示す図である。
【図20】実施例5のマルチプロセッサシステムの第1の処理を示すフローチャートである。
【図21】実施例5のマルチプロセッサシステムの第2の処理を示すフローチャートである。
【図22】実施例6のマルチプロセッサシステムの主要な構成を示す図である。
【図23】実施例6のマルチプロセッサシステムの処理を示すフローチャートである。
【符号の説明】
6・・共通バス
8・・システムメモリ
12−1〜12−3・・プロセッサモジュール(PM)
13−1〜13−3,180・・CPU
15−1〜15−3・・RAM
16−1〜16−3・・初期動作状態情報
17−1〜17−3・・FRAM版数情報
18・・システム制御機構部
19・・システム構成決定部
20・・構成モード情報メモリ
21・・構成モード設定処理部
22・・システム版数比較部
23・・システム版数情報部
24・・格納プログラムデータ版数情報部
25・・外部記憶装置
26・・FRAMプログラム
27・・書換え処理部
28,28a・・書換え状態情報部
19−1〜19−3・・最大更新回数情報部[0001]
[Industrial applications]
The present invention relates to a multiprocessor system in which a plurality of processors execute parallel processing using information stored in a distributed shared memory via a common bus, and a configuration method thereof.
[0002]
[Prior art]
In recent years, market demand has increased for parallel processing such as high-performance database retrieval in information processing and image processing in the field of science and technology. To cope with this demand, a multiprocessor system in which a plurality of processors are connected is provided. In particular, there is provided a multiprocessor system in which a processor and a memory are made independent as processor modules, and a plurality of these processor modules are connected via a common bus to perform parallel processing.
[0003]
In the multiprocessor system, memories are distributed and arranged in groups of one or more processors, and each processor accesses the distributed memory. The multiprocessor system performs parallel processing by a plurality of processors by reducing the load on the common bus. In addition, some multiprocessor systems have a distributed shared memory that can be directly accessed by each processor.
[0004]
In a multiprocessor system having such a distributed shared memory, one of the processor modules may be abnormal. In this case, it is necessary to degenerate the abnormal processor module and construct a multiprocessor system using the remaining normal processor modules.
[0005]
Further, in a multiprocessor system having the distributed memory or the distributed shared memory, since a plurality of processors operate independently, cooperative operation of the plurality of processors is important. In order for a plurality of processors to perform a cooperative operation, the versions (versions) of the initial operation programs that operate on each processor must match.
[0006]
[Problems to be solved by the invention]
However, different versions of processor modules may be mixed due to a work mistake. When the initial operation is performed at this time, the respective settings are different. Therefore, the cooperative operation cannot be maintained after the multiprocessor system is constructed, and the system cannot operate normally.
[0007]
In addition, the versions of the basic system are the same, and the version of the boot program memory including a non-rewritable non-volatile memory such as a program read only memory (PROM) for executing initial diagnosis, initial setting and boot of the system. Must also match.
[0008]
However, as described above, there may be cases where different versions of the initial operation program exist. In this case, since the initial operation program is stored in a non-rewritable program read only memory (PROM), it is necessary to exchange PROMs having different versions to make the same version number of the initial operation program. For this reason, replacement work was difficult. Therefore, it has been desired to rewrite different versions of the initial operation programs with the same version of the initial operation programs, to make all versions the same, and to start the system with all processor modules.
[0009]
The present inventionEyesSpecifically, the present invention provides a multiprocessor system in which a system can be configured with processor modules having the same version of the initial operation program even if different versions are mixed, and a configuration method thereof..
[0010]
[Means for Solving the Problems]
The multiprocessor system of the present invention employs the following means in order to solve the above problems.
[0011]
<Summary of Multiprocessor System of the Present Invention>
The multiprocessor system of the present invention is a multiprocessor system in which a plurality of
An
[0012]
Hereinafter, the configuration will be described.
(Initial operation section)
The
(Distributed shared storage unit)
The distributed shared
(Decision unit)
The deciding
[0013]
The present invention can be realized by adding the following additional components. The other additional components are a system
[0014]
The other additional component means that each of the plurality of processors mutually executes the system configuration determination processing.You.Further, the other additional components include a configuration
[0015]
Furthermore, a configuration
[0016]
Further, a system
[0017]
Further, a rewrite
[0018]
The rewriting
[0019]
FIG. 2 is a flow chart showing the principle of a method for configuring a multiprocessor system according to the present invention. As shown in FIG. 2, the present invention relates to a system configuration method for configuring a multiprocessor system in which a plurality of processors execute parallel processing through a common bus, and determines whether the initial operation of its own processor is normal or abnormal. The initial operation step 101 for diagnosing the initial operation state, and the initial operation state information indicating the diagnosis result of the initial operation diagnosed by the initial operation program for each processor and the version information indicating the version number of the initial operation program are stored in the distributed shared memory. The storage step 102 stores the same processor by degenerating a processor having an abnormality based on the initial operation state information stored in the distributed shared memory and degenerating a processor having an initial operation program of a different version number based on the version number information. A system with a processor having an initial operation program of And a
[0020]
The determining step is performed by each of the plurality of processors.You.In the deciding step, the abnormal processor degeneration based on the initial operation state information is executed by a system control mechanism unit which controls the entire system, and the degeneration of processors having different versions is executed by a normal processor.You.
[0021]
The apparatus further comprises a configuration mode information step 104 for storing configuration mode information representing logic for determining the system configuration. The
[0022]
The apparatus further includes a configuration mode setting step 105 for performing at least one of a process of setting the configuration mode information and a process of changing the set configuration mode information to another configuration mode information.You.
[0023]
Further, a system version number step 111 for storing system version number information indicating the version number of the initial operation program selected in the system configuration determination process, and a version number of the initial operation program data not selected in the system configuration determination process. A storage program data version information to be stored in advance 112; a system version number comparison step 113 for comparing the system version information with the storage program data version information; If the version information does not match, the system version information is rewritten to the stored program data version information, thereby rewriting all processors to the same version of the initial operation program.You.
[0024]
Further, there is provided a rewrite state information step 115 for storing, for each processor, rewrite state information indicating an operation state of a rewrite process at the time of executing the rewrite of the initial operation program. When a recognizable processor is recognized, a system is configured by the abnormal processor by referring to the rewrite state information stored in the rewrite state information unit, and a system operation is started. Restore the abnormal initial operation program that occurred during rewriting by trying again.You.
[0025]
The rewriting state information step 115 sets retry number information that defines the number of times that retrying of rewriting processing is performed.You.The rewriting state information step 115 sets the number of retries with reference to maximum update number information indicating the maximum number of updates for updating each initial operation program.You.
[0026]
[Action]
According to the present invention, when each
[0027]
Then, the deciding
[0028]
That is, since the system is configured only with the initial operation programs having the same version number, the system can be started up in which the cooperative operation of the processors is guaranteed.
Further, the system
[0029]
Further, the configuration
[0030]
Further, the configuration
[0031]
Further, the system
[0032]
If the system version information does not match the stored program data version information, the rewriting
[0033]
Therefore, even if a plurality of versions exist, all versions can be made the same.
Further, when the initial operation program recognizes the abnormal processor, the determining
[0034]
Therefore, even if the processing is interrupted for some reason during the rewriting processing, the abnormal initial operation program can be restored.
By setting the retry count information in the rewrite
[0035]
The rewriting
[0036]
【Example】
Hereinafter, embodiments of a multiprocessor system and a configuration method of the present invention will be described with reference to the drawings.
<Example 1>
FIG. 3 is a configuration block
[0037]
The processor module 12-i (i = 1 to 3) includes a central processing unit (CPU) 13-i, an FRAM initial operation unit 14-i for storing an initial operation program, and a random access memory (RAM) 15-i.
[0038]
The RAM 15-i is set and diagnosed by each CPU, set as a distributed shared memory of the system when operating as a multiprocessor, and used as a system memory.
[0039]
The FRAM initial operation section 14-i has an initial operation program in an FRAM (flash memory) and diagnoses whether the initial operation of its own processor module 12-i is normal or abnormal by the initial operation program. The FRAM is a rewritable nonvolatile memory.
[0040]
The
[0041]
The system
[0042]
The system
[0043]
Next, the operation of the first embodiment thus configured will be described with reference to the flowchart of FIG. First, when the reset of the multiprocessor system is executed by the system control mechanism unit 18 (step S1), each of the processor modules 12-1 to 12-3 recognizes the reset (step S2). Then, the FRAM initial operation unit 14-i executes an initial operation such as an initial setting and a diagnosis by an initial operation program (step S3a).
[0044]
The FRAM initial operation unit 14-i diagnoses and sets its own processor module according to its own initial operation program, and determines whether the result is normal or abnormal (step S3b).
[0045]
If the result is normal, the FRAM initial operation unit 14-i creates a normal status (step S4a), and sets the normal status in the
[0046]
On the other hand, if the result is abnormal, the FRAM initial operation unit 14-i creates an abnormal status (step S4b), and sets the abnormal status in the system memory 8 (step S5).
[0047]
Next, the FRAM initial operation unit 14-i sets the version number of its own initial operation program in the
Further, after all the processor modules 12-1 to 12-3 store the information in the
[0048]
The system configuration determination processing will be described in detail with reference to FIG. Here, the system
[0049]
First, the
[0050]
The
[0051]
Next, the system
[0052]
Next, the selected processor checks the version number of the initial operation program of each processor module based on the FRAM version number information 17-1 to 17-3 of the system memory 8 (step S77), and the initial operation of all the processor modules. It is determined whether the version numbers of the programs are the same (step S78).
[0053]
If there is an initial operation program with a different version number, the selected processor executes processor module degeneration for the processor module with a different version number (step S79).
[0054]
It should be noted that which version of the processor module is to be left can be appropriately changed depending on the multiprocessor system. For example, the case where the latest version number is left or the case where a large version number is left are considered.
[0055]
Next, the selected processor forms a multiprocessor system with the remaining processor modules (step S80). For example, a distributed shared memory system can be constructed.
[0056]
The unselected processor modules operate in the same manner as the processing performed by the
Further, when the version numbers are the same, all modules construct a system without any problem. However, if the selected module itself has a different version number (even during rewrite control), it is necessary to construct a system with other modules.
[0057]
In this case, the processor of the selected module selects a new module to operate as first selected by the system
[0058]
The newly selected module executes the processing of step S77 and thereafter, but the processing of step S80 is executed as it is because the module is not degraded by comparing the version numbers.
[0059]
In this case, the reduction operation of another module (a module to be reduced by checking the version number) can be reduced by the following two methods.
In the first method, the processor of the module initially selected by the
[0060]
In the second method, the processor of the module selected by the
[0061]
With the above processing, the processing of the system
The system is started (Step S9).
[0062]
Thereafter, the processing is continued as a multiprocessor system including normal processor modules having the same version number. Further, the
[0063]
As described above, even if the initial operation programs of different versions are mixed, only the processor modules having the same version of the initial program are selected, so that the multi-processor system can maintain the cooperative operation by the processor modules of the same version. Can be started normally.
(A) Operation of the system configuration determining unit by the CPU in the system control mechanism unit
Next, a specific example in which the CPU in the system
(A) First, FIG. 6 illustrates a case where the initial operation of the processor module 12-3 among the processor modules 12-1 to 12-3 is abnormal. It is assumed that the version numbers of the initial operation programs of each processor module are all the same and are the A version.
[0064]
First, in the processor modules 12-1 and 12-2, the initial operation units 14-1 and 14-2 set a normal status as initial operation state information in the
[0065]
Next, in the processor module 12-3, the initial operation unit 14-3 sets the abnormal status as the initial operation state information in the
[0066]
The
[0067]
If the initial operation state information is abnormal, the system
[0068]
In this example, since the processor module 12-3 is abnormal, the processor module 12-3 is degenerated in step S15.
Next, the system
[0069]
The configuration of the multiprocessor system is determined by the remaining processor modules (step S18). In this example, since both the processor modules 12-1 and 12-2 have the A version of the initial operation program, the processor modules 12-1 and 12-2 are not degenerated and form a multiprocessor system.
[0070]
On the other hand, when the version numbers of all the processor modules are the same, the configuration of the multiprocessor system is determined by those processor modules.
After the processing of the
[0071]
As described above, the system
(B) Next, referring to FIG. 7, among the processor modules 12-1 to 12-3, the version number of the FRAM initial operation program of the processor modules 12-1 and 12-2 is C, and The processing of the system
[0072]
First, in the processor modules 12-1 and 12-2, the initial operation sections 14-1 and 14-2 set a normal status as initial operation state information in the
[0073]
Next, in the processor module 12-3, the initial operation unit 14-3 sets the normal status as the initial operation state information in the
[0074]
The
[0075]
Next, the system
[0076]
Since the version number of the processor module 12-3 is older than the version numbers of the processor modules 12-1 and 12-2, the processor module 12-3 is degenerated (step S17).
[0077]
A multiprocessor system is configured by the processor modules 12-1 and 12-2 (step S18).
As described above, even when the initial operation programs having different versions are mixed, the system
(B) Operation of the system configuration determining unit by the CPU in the processor module
Next, a specific example in which the CPU in the processor module operates the system
(A) First, in FIG. 8, a case where the initial operation of the processor module 12-3 is abnormal as in FIG. 6 will be described. The version numbers of the initial operation programs of each processor module are all A versions.
[0078]
First, the initial operation units 14-1 and 14-2 of the processor modules 12-1 and 12-2 set the normal status in the
[0079]
Next, each processor module monitors the information setting operation of the other processor modules, and waits for the completion of the information setting of all the processor modules (step S20).
[0080]
Each processor module confirms that all the processor modules have been set, and starts checking the information of its own processor module. First, each processor module checks the initial operation state information of its own processor module, and if an abnormal status is set in the
[0081]
Next, each processor module checks the FRAM version number information, and the processor module having the abnormal version number is degenerated (step S22). In this case, each processor module compares the FRAM version number information of its own processor module with the version number information of another processor module, and if the version numbers are different, the processor module is degenerated.
[0082]
In this example, the A-version processor modules 12-1 and 12-2 constitute a multiprocessor system (step S23), and start operation of the multiprocessor system (step S19).
In this way, the CPU of each processor module operates the system
(B) Next, referring to FIG. 9, when the version number of the FRAM initial operation program of the processor modules 12-1 and 12-2 is the C version and the version number of the processor module 12-3 is the B version The processing of each processor module will be described.
[0083]
First, the processor modules 12-1 and 12-2 set the normal status as the initial operation state information, and set the C version as the FRAM version number information (step S11b). The processor module 12-3 sets the normal status as the initial operation state information, and sets the B version as the FRAM version number information (step S12b).
[0084]
Next, each processor module performs the processing of the
[0085]
Next, each processor module checks the FRAM version number information. Since the version number of the processor module 12-3 is different from the version numbers of the processor modules 12-1 and 12-2, the processor module 12-3 degenerates itself (step S22).
[0086]
In this example, when the old version number and the new version number are mixed, the new version number is selected. Therefore, the remaining processor modules 12-1 and 12-2 constitute a multiprocessor system having a C-version initial operation program.
[0087]
Thus, even if the initial operation programs of different versions coexist, the configuration of the multiprocessor can be determined by the processor modules having the same version of the initial operation programs.
<Example 2>
Next, a second embodiment of the multiprocessor system of the present invention will be described. FIG. 10 is a configuration diagram of the multiprocessor system according to the second embodiment. In the second embodiment, the configuration of the first embodiment further includes a configuration
[0088]
The configuration
[0089]
The configuration
Next, the operation of the configuration mode setting processing unit according to the second embodiment will be described. FIG. 11 is a flowchart illustrating the operation of the configuration mode setting processing unit according to the second embodiment. This process is performed before performing the system configuration determination process.
[0090]
First, the configuration mode
[0091]
In this example, for example, the system
[0092]
Further, when selecting the second system logic, the system
[0093]
Further, when the third system logic is selected, the system
[0094]
After the above processing, the system
[0095]
As described above, since the configuration mode information can be easily set and changed by the configuration mode
[0096]
Alternatively, only the configuration
<Example 3>
Next, a third embodiment of the present invention will be described. In the third embodiment, a configuration as shown in FIG. 12 is further added to the configuration of the second embodiment. 12, the multiprocessor system includes a system
[0097]
The system
[0098]
The stored program data
[0099]
The system
[0100]
The
[0101]
Next, a first process according to the third embodiment will be described with reference to FIG. In this example, the processor modules 12-1 and 12-2 have the B version of the initial operation program, and the processor module 12-3 has the A version of the initial operation program. The FRAM initial operation program data stored in the
[0102]
First, when the system
[0103]
Each processor module diagnoses and sets its own processor module, outputs the result (step S3c), and creates a normal or abnormal status (step S4). The status is set as initial operation state information 16-i in the system memory 8 (step S5).
[0104]
Next, each processor module sets the version number of its own initial operation program in the
In this example, the normal status is set in the
[0105]
Next, the system
[0106]
Then, the processor module 12-3 starts the multiprocessor system operation (Step S19).
Next, a second process according to the third embodiment will be described with reference to FIG. The processor module 12-3 stores the version (version A) of its own initial operation program in the system version information section 23 (step S28).
[0107]
Next, the processor module 12-3 reads the initial
[0108]
Next, the system
[0109]
If the version numbers are different, the
[0110]
Further, after the rewriting is completed, the processor module 12-3 requests the system
The
[0111]
Further, the B version information is stored in the system version information section 23 (step S33). Then, the system
[0112]
Using the rewritable FRAM as described above, the system version
[0113]
Therefore, even if there are a plurality of versions, all the versions can be activated with the same version.
<Example 4>
Next, a fourth embodiment of the present invention will be described. FIG. 15 is a diagram illustrating a main configuration of the multiprocessor system according to the fourth embodiment.
[0114]
If the process is interrupted for some reason during the rewriting process (for example, a power failure), the FRAM in which the rewriting process is being performed cannot perform necessary operations because a part of its own program is not guaranteed. In this case, at the time of the initial operation after the reset, an abnormal status, which is a diagnosis abnormality of the own program, is stored as initial operation state information.
[0115]
However, since this is a state in which recovery can be performed by executing the rewriting process again, it is necessary to distinguish it from other abnormal statuses. However, it is not possible to discriminate whether an abnormality of the FRAM due to rewriting or a mere abnormality of the FRAM by diagnosis only by diagnosis of the own processor module.
[0116]
Therefore, the configuration in FIG. 15 further includes a rewriting
[0117]
FIG. 16 shows details of the rewrite state information. In FIG. 16, the rewrite state information is the state of the rewrite processing operation of the FRAM in which the rewrite is executed, and is set by a flag for each processor module. The rewriting state information includes, for example, a normal state of the FRAM, an erasing state (a state where the erasing operation is performed on the rewritable part), a writing state (a state where the writing process is being executed on the rewritable part), and the like. State information is set.
[0118]
Next, the operation of the fourth embodiment will be described with reference to FIG. Fourth Embodiment In the fourth embodiment, a case will be described in which, in the state of the processor module configuration of the third embodiment, an abnormality occurs in the processing of the rewrite processing execution operation (step S31) shown in FIG. 13 and the rewrite processing cannot be continued normally.
[0119]
First, before rewriting the FRAM of the processor module 12-3, the rewrite
[0120]
During the execution of the rewriting process (step S31), if an abnormality occurs in which the rewriting process cannot be continued, for example, when the system power is turned off, the state of the FRAM is neither A version nor B version. It will be in a state.
[0121]
When the system
[0122]
Further, since the version number of the initial operation program of the FRAM of the processor module 12-3 is also undefined, the 0th version is set as the FRAM version number information in the system memory 8 (step S12). In this state, the system
[0123]
Next, the system
[0124]
Therefore, in order to restore the FRAM of the processor module 12-3, the system
[0125]
Next, in the system configured by the processor module 12-3, the
[0126]
When the rewriting process is completed normally, the processor module 12-3 clears the rewriting state information in the rewriting state information section 28 (Step S39) and requests a reset (Step S40).
[0127]
Thereafter, all the processor modules 12-1 to 12-3 have the B version of the initial operation program, and all the processor modules are activated as a multiprocessor system of the selected three processor modules.
[0128]
As described above, when the initial operation program recognizes the abnormal processor, the system
[0129]
Therefore, even if the FRAM is in an abnormal state due to an abnormality during the rewriting process, recovery of the abnormal FRAM can be easily realized by the next reset operation.
<Example 5>
Next, a fifth embodiment of the present invention will be described. FIG. 18 is a diagram illustrating a main configuration of the multiprocessor system according to the fifth embodiment. In the configuration in FIG. 18, a rewrite state information unit 28a is added to the configuration shown in FIG. The rewriting state information section 28a stores, for example, rewriting state information indicating a rewriting state when the rewriting
[0130]
FIG. 19 shows details of the rewrite state information. In FIG. 19, the rewrite state information 28a includes, as the processing state information of each processor module, the state of the rewrite processing operation of the FRAM and the number of retries for limiting the specified number of retries for performing the recovery processing when an abnormality occurs. Information is set by a flag for each processor module.
[0131]
Next, a first process according to the fifth embodiment will be described with reference to FIG. First, in the processor module 12-3, the rewrite state information unit 28a simultaneously sets retry count information when setting rewrite state information (step S41). In this example, the number of retries is set to 1 to permit one retry.
[0132]
Next, an abnormality occurs while the processor module 12-3 is executing the rewriting process. Then, the system
[0133]
Further, after performing the processing from step S2 to step S12, when performing the system configuration determination processing, the system
[0134]
In this example, since the retry count information of the processor module 12-3 is 1, the system
[0135]
Then, the system
[0136]
A second process according to the fifth embodiment will be described with reference to FIG. After the processing in step S19, the
[0137]
Further, when the processing cannot be completed normally due to the abnormality in step S30 of the processor module 12-3, the reset is executed as in the case of the first abnormality. Then, after the processes from step S2 to step S12 are performed, the system
[0138]
The system
[0139]
Then, the system
[0140]
When the number of retries of the processor module 12-3 of the rewrite state information stored in the rewrite state information unit 28a is not zero, the system
[0141]
By setting the number of retries in the rewrite state information in this way, it is possible to prevent the rewrite processing from being attempted more than necessary, execute the degeneration of the processor module, and continue the rewrite processing of the other processor modules to perform the rewrite processing. You can improve your own reliability.
<Example 6>
Next, a sixth embodiment of the present invention will be described. FIG. 22 is a diagram illustrating a main configuration of the multiprocessor system according to the sixth embodiment. In the configuration in FIG. 22, maximum update number information sections 29-1 to 29-3 connected to the rewrite information section 28a are added to the configuration shown in FIG.
[0142]
The maximum update count information sections 29-1 to 29-3 store the maximum update count information of the FRAM in each processor module. Each FRAM has a maximum number of updates, such as rewriting and erasing, which is guaranteed as hardware. If the number of times exceeds this number, there is no guarantee of operations such as rewriting and erasing, and the operation result. Therefore, the program rewriting of the FRAM must be executed within the number of times that does not exceed this number.
[0143]
The other configuration is the same as the configuration of the fifth embodiment.
Next, the operation of the sixth embodiment will be described with reference to FIG. First, information of the rewrite FRAM is set (step S41).
[0144]
Next, when the rewrite state information section 28a sets the retry count information, the rewrite state information section 28a stores the maximum update count information of the FRAM for rewriting stored in the maximum update count information sections 29-1 to 29-3. See
[0145]
The maximum update count information is set when the product is shipped. When setting the number of retries, the number of retries is set so as not to be larger than the maximum number of updates (step S44). For example, when the maximum number of updates is three, the number of retries is not set to four or more.
[0146]
Next, when executing the rewriting process, the rewriting
[0147]
Since the FRAM restoration process is performed in consideration of the maximum number of updates of the FRAM by such a process, it is not necessary to perform an extra restoration process for an abnormality that occurs when the maximum number of updates is exceeded.
[0148]
【The invention's effect】
According to the present invention, the deciding unit degenerates an abnormal processor based on the initial operation state information stored in the distributed shared memory, and degenerates processors having different versions of the initial operation program based on the version number information to thereby determine the same processor. Is determined to constitute a system with a processor having an initial operation program of the version number.
[0149]
That is, since the system is composed only of the initial operation programs having the same version number, the system can be started up in which the cooperative operation of the processors is guaranteed..
[Brief description of the drawings]
FIG. 1 is a principle diagram showing a multiprocessor system of the present invention.
FIG. 2 is a principle flowchart showing a multiprocessor system configuration method of the present invention.
FIG. 3 is a configuration diagram illustrating a multiprocessor system according to a first embodiment of the present invention.
FIG. 4 is a flowchart illustrating processing of the multiprocessor system according to the first embodiment.
FIG. 5 is a flowchart illustrating a system configuration determining process performed by a system configuration determining unit.
FIG. 6 is a flowchart illustrating a specific system configuration determination process in which the system control mechanism degenerates an abnormal processor module;
FIG. 7 is a flowchart illustrating a specific system configuration determination process in which a system control mechanism unit degenerates processor modules of different versions.
FIG. 8 is a flowchart illustrating a specific system configuration determination process in which each processor module degenerates an abnormal processor module.
FIG. 9 is a flowchart illustrating a specific system configuration determination process in which each processor module degenerates a different version of the processor module;
FIG. 10 is a configuration diagram illustrating a multiprocessor system according to a second embodiment of the present invention.
FIG. 11 is a flowchart illustrating processing of the multiprocessor system according to the second embodiment.
FIG. 12 is a diagram illustrating a main configuration of a multiprocessor system according to a third embodiment.
FIG. 13 is a flowchart illustrating a first process of the multiprocessor system according to the third embodiment.
FIG. 14 is a flowchart illustrating a second process of the multiprocessor system according to the third embodiment.
FIG. 15 is a diagram illustrating a main configuration of a multiprocessor system according to a fourth embodiment.
FIG. 16 is a diagram illustrating details of rewrite state information according to the fourth embodiment.
FIG. 17 is a flowchart illustrating processing of the multiprocessor system according to the fourth embodiment.
FIG. 18 is a diagram illustrating a main configuration of a multiprocessor system according to a fifth embodiment.
FIG. 19 is a diagram illustrating details of rewrite state information according to the fifth embodiment.
FIG. 20 is a flowchart illustrating a first process of the multiprocessor system according to the fifth embodiment.
FIG. 21 is a flowchart illustrating a second process of the multiprocessor system according to the fifth embodiment.
FIG. 22 is a diagram illustrating a main configuration of a multiprocessor system according to a sixth embodiment.
FIG. 23 is a flowchart illustrating processing of the multiprocessor system according to the sixth embodiment.
[Explanation of symbols]
6. Common bus
8. System memory
12-1 to 12-3: Processor module (PM)
13-1 to 13-3, 180 CPU
15-1 to 15-3 RAM
16-1 to 16-3: Initial operation state information
17-1 to 17-3 ... FRAM version number information
18. System control mechanism
19. System configuration decision unit
20 .. Configuration mode information memory
21. Configuration mode setting processing section
22 ・ ・ System version number comparison section
23-System version information section
24 ・ ・ Stored program data version information section
25 .. External storage device
26 FRAM program
27..Rewriting processing unit
28, 28a ··· Rewriting status information section
19-1 to 19-3 ... maximum update count information section
Claims (4)
前記各プロセッサに設けられ自己のプロセッサの初期動作が正常か異常かを初期動作プログラムにより診断する初期動作部と、
前記各プロセッサ毎に初期動作プログラムで診断された初期動作の診断結果を表す初期動作状態情報及び前記初期動作プログラムの版数を表す版数情報を記憶する分散共有記憶部と、
前記分散共有記憶部に記憶された初期動作状態情報に基づき異常であったプロセッサを縮退するとともに、前記版数情報に基づいて、全てのプロセッサの初期動作プログラムの版数が同一かどうかを判断し、異なる版数の初期動作プログラムが存在する場合に、どの版数の初期動作プログラムをもつプロセッサでシステムを構成するかを決定するシステム構成決定処理を行う決定部とを備えるマルチプロセッサシステム。In a multiprocessor system in which a plurality of processors execute parallel processing through a common bus,
An initial operation unit provided in each processor to diagnose whether the initial operation of its own processor is normal or abnormal by an initial operation program,
A distributed shared storage unit that stores initial operation state information indicating a diagnosis result of an initial operation diagnosed by an initial operation program for each processor and version number information indicating a version number of the initial operation program;
Based on the initial operation state information stored in the distributed shared storage unit, the abnormal processor is degenerated , and based on the version information, it is determined whether the versions of the initial operation programs of all processors are the same. And a determination unit that performs a system configuration determination process for determining which version of the initial operation program is to be used to configure the system when there are different versions of the initial operation program .
前記異なる版数の初期動作プログラムが存在する場合に、前記決定部が、前記論理及び版数情報に基づいて、どの版数の初期動作プログラムをもつプロセッサでシステムを構成するかを決定する請求項1に記載のマルチプロセッサシステム。 When the different version of the initial operation program is present, comprising a configuration mode information unit that stores configuration mode information representing logic to determine which version of the processor having the initial operation program configures the system ,
When the different versions of the initial operation program exist, the determination unit determines which version of the processor having the initial operation program is to be configured based on the logic and the version number information. 2. The multiprocessor system according to 1.
自己のプロセッサの初期動作が正常か異常かを初期動作プログラムにより診断する初期動作ステップと、
前記各プロセッサ毎に初期動作プログラムで診断された初期動作の診断結果を表す初期動作状態情報及び前記初期動作プログラムの版数を表す版数情報を分散共有メモリに記憶する記憶ステップと、
前記分散共有メモリに記憶された初期動作状態情報に基づき異常であったプロセッサを縮退するとともに、前記版数情報に基づいて、全てのプロセッサの初期動作プログラムの版数が同一かどうかを判断し、異なる版数の初期動作プログラムが存在する場合に、どの版数の初期動作プログラムをもつプロセッサでシステムを構成するように決定する決定ステップとを備えるマルチプロセッサシステム構成方法。In a system configuration method for configuring a multiprocessor system by executing parallel processing by a plurality of processors through a common bus,
An initial operation step of diagnosing whether the initial operation of its own processor is normal or abnormal by an initial operation program,
A storage step of storing, in a distributed shared memory, initial operation state information indicating a diagnosis result of an initial operation diagnosed by an initial operation program for each processor and version information indicating a version number of the initial operation program;
Degenerate the processor that was abnormal based on the initial operation state information stored in the distributed shared memory, and based on the version number information, determine whether the versions of the initial operation programs of all processors are the same, A determining step of determining which version of the initial operation program is to be used to configure the system when there are different versions of the initial operation program .
初期動作プログラムをもつプロセッサでシステムを構成するかを決定する論理を表す構成モード情報を記憶する構成モード情報ステップを備え、
前記決定ステップは、前記異なる版数の初期動作プログラムが存在する場合に、前記論理及び版数情報に基づいて、どの版数の初期動作プログラムをもつプロセッサでシステムを構成するかを決定する請求項3に記載のマルチプロセッサシステム構成方法。 If there are different versions of the initial operation program,
Comprising a configuration mode information step of storing configuration mode information representing logic for determining whether to configure a system with a processor having an initial operation program ,
The determining step, when the initial operation programs of different versions exist, determines which version of the processor having the initial operation program is to be configured based on the logic and the version number information. 4. The method for configuring a multiprocessor system according to item 3 .
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP06942895A JP3547208B2 (en) | 1995-03-28 | 1995-03-28 | Multiprocessor system and configuration method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP06942895A JP3547208B2 (en) | 1995-03-28 | 1995-03-28 | Multiprocessor system and configuration method thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH08263450A JPH08263450A (en) | 1996-10-11 |
JP3547208B2 true JP3547208B2 (en) | 2004-07-28 |
Family
ID=13402351
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP06942895A Expired - Fee Related JP3547208B2 (en) | 1995-03-28 | 1995-03-28 | Multiprocessor system and configuration method thereof |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3547208B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007116491A1 (en) * | 2006-03-31 | 2007-10-18 | Fujitsu Limited | Definition information managing program, definition information managing device, and definition information managing method |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5293141B2 (en) * | 2008-12-16 | 2013-09-18 | 日本電気株式会社 | Redundant system |
JP6212972B2 (en) * | 2013-06-19 | 2017-10-18 | 株式会社リコー | Information processing system, software update method, and program |
-
1995
- 1995-03-28 JP JP06942895A patent/JP3547208B2/en not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007116491A1 (en) * | 2006-03-31 | 2007-10-18 | Fujitsu Limited | Definition information managing program, definition information managing device, and definition information managing method |
JP4829293B2 (en) * | 2006-03-31 | 2011-12-07 | 富士通株式会社 | Definition information management program, definition information management device, and definition information management method |
Also Published As
Publication number | Publication date |
---|---|
JPH08263450A (en) | 1996-10-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7900036B2 (en) | System and method for implementing boot/recovery on a data processing sysem | |
JP4868216B2 (en) | Firmware update circuit and firmware update method | |
US6308265B1 (en) | Protection of boot block code while allowing write accesses to the boot block | |
US8930931B2 (en) | Information processing apparatus using updated firmware and system setting method | |
US7007192B2 (en) | Information processing system, and method and program for controlling the same | |
JP4456653B2 (en) | Information processing system and method for starting / recovering the system | |
JPH0816408A (en) | Information processor | |
US10922071B2 (en) | Centralized off-board flash memory for server devices | |
JPH06208477A (en) | Fault-tolerant computer with online re-incorporation and interruption / restart | |
JP3547208B2 (en) | Multiprocessor system and configuration method thereof | |
JP5279981B2 (en) | Update control program, update control method, and update control apparatus | |
JP2000293376A (en) | Circuit and method for switching boot program | |
JPH10187454A (en) | Bios reloading system | |
JP6911591B2 (en) | Information processing device, control device and control method of information processing device | |
JP2010198314A (en) | Information management device | |
JPH11154099A (en) | Data processor | |
JP5233869B2 (en) | Processing system and method for executing program executed by processing apparatus | |
JP2853593B2 (en) | Download device | |
JPS6229820B2 (en) | ||
JP2019159882A (en) | Controller and data storage method | |
CN117785554A (en) | Device power-down data retention method, system, device and readable storage medium | |
JP2000347758A (en) | Information processor | |
JPH11353008A (en) | Programmable operation display device and data transfer method therefor | |
JP5953976B2 (en) | Firmware exchange support program, firmware exchange support method, and processing apparatus | |
JP2001282464A (en) | Firmware management system of disk array device and its managing method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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: 20040406 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040413 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |