(57)【要約】【課題】障害診断用に特別なハードウェアを必要とすることなく、マルチプロセッサシステムでの障害診断動作を実行する。【解決手段】メモリ５には、障害診断のためのＰＯＳＴ処理用のタスクテーブルがロードされており、プロセッサ群１のうち１つのＣＰＵがこのタスクテーブルを参照しながら各タスクを順次実行する。さらに、メモリ５には、コマンドフォーマットテーブルがロードされており、このテーブルをプロセッサ群１が逐次更新、参照することによりＰＯＳＴの各タスクの実行完了の可否を判断する【選択図】      図１
2004302731.tif 000002
【特許請求の範囲】
【請求項１】
複数のプロセッサを有する情報処理装置において、
障害診断用の複数のタスクを順次実行していく第１のＣＰＵと、
前記第１のＣＰＵが実行しているタスクの実行状況を監視する第２のＣＰＵと、
前記順次実行されるタスクの内容と、このタスクに対応する監視用データをロードするメモリとを有し、
前記第１のＣＰＵは、実行しているタスク毎に監視用データを更新し、前記第２のＣＰＵは前記監視用データの更新状況を参照して、障害の有無を判別することを特徴とする情報処理装置。
【請求項２】
前記監視用データは、前記タスク処理内容を特定するためのタスク番号と、このタスク番号に応じたタイムアウト値と、タスクの実行状況を示す状況データとを含むことを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記第２のＣＰＵは、前記タイムアウト値を参照して、前記第１のＣＰＵにより前記タイムアウト値に示す時間内に前記状況データを更新されていない場合、障害が発生したと判断することを特徴とする請求項２記載の情報処理装置。
【請求項４】
障害診断用の複数のタスクを順次実行していく第１のＣＰＵと、前記第１のＣＰＵが実行しているタスクの実行状況を監視する第２のＣＰＵと、前記順次実行されるタスクの内容と、このタスクに対応する監視用データをロードするメモリとを有する情報処理装置における障害診断方法において、
前記第１のＣＰＵは、実行しているタスク毎に、監視用データを更新し、前記第２のＣＰＵは前記監視用データの更新状況を参照して、障害の有無を判別することを特徴とする障害診断方法。
【請求項５】
前記監視用データは、前記タスク内容を特定するためのタスク番号と、このタスク番号に応じたタイムアウト値と、タスクの実行状況を示す状況データとを含むことを特徴とする請求項４記載の障害診断方法。
【請求項６】
前記第２のＣＰＵは、前記タイムアウト値を参照して、前記第１のＣＰＵにより前記タイムアウト値に示す時間内に前記状況データを更新されていない場合、障害が発生したと判断することを特徴とする請求項５記載の障害診断方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数のプロセッサを使用した情報処理装置に関し、特に障害発生時に自動的に復旧する機能を有するＰＣサーバ装置に関する。
【０００２】
【従来の技術】
従来よりＰＣサーバ装置では、その信頼性を向上させるため、ハードディスク装置の障害や、ネットワーク障害などの障害発生時に障害内容を診断して、自動的に復旧させる機能（以下ＰＯＳＴ（Ｐｏｗｅｒ  Ｏｎ  Ｓｅｌｆ  Ｔｅｓｔ）と称する）が具備されている。
【０００３】
ＰＯＳＴを実行する際は、システムのＢＩＯＳに保持されているタスクテーブルに従って、その複数のタスクを順に実行していく。通常のＢＩＯＳでは、タスク実行前にそのタスク番号を特定の入出力ポートに出力して、どのタスクを実行中であるかを外部に示す。例えば、外部から各タスクに対応して付与されたタスク番号を、ＬＥＤなどにのＩ／Ｏポートに接続しておくことにより、ＬＥＤの点滅内容で、タスクの内容が判別できるようにしている。従って、システムがハングアップした場合には、ＬＥＤをみることが、どのタスクを実行中にハングアップしたのかが分かる。
【０００４】
最近のＰＣサーバＢＩＯＳでは、ＩＰＭＩ（Ｉｎｔｅｌｌｉｇｅｎｔ  Ｍａｎａｇｅｍｅｎｔ  Ｐｌａｔｆｏｒｍ）と呼ばれる特定のコマンドを使用して、ＢＭＣ（Ｂａｓｅｂａｎｄ  Ｍａｎａｇｅｍｅｎｔ  Ｃｏｎｔｒｏｌｌｅｒ）と呼ばれるプロセッサにタスク番号を通知するようにしている。同時にＢＭＣのタイマーを（設定した時間が経過してもリセットされない場合は、リブートするように）セットする。ＰＯＳＴ途中でハングアップしてしまった場合は、設定した時間経過後リブートしてシステムを復旧する。ＢＭＣはリブート時のタスク番号を保持しているので、これをログデータとして記録する。
【０００５】
【特許文献１】
特開平１０−１４３３８７号公報  （図１）
【０００６】
【発明が解決しようとする課題】
このように、従来の障害診断方式では、必ずＢＭＣのような専用のプロセッサが必要であった。ＢＭＣが存在しないシステムも存在するが、この場合は、システムハングアップした時にリブートすることは可能であるが、どのタスク番号でハングしたのか記録できないなど機能が制限されていた。
【０００７】
そこで、本発明では、ＢＭＣなどの特定のプロセッサを具備しなくともＰＯＳＴの起動障害を監視可能なＰＣサーバを提供することを目的とする。
【０００８】
【課題を解決するための手段】
本発明は、上述した課題を解決するため、複数のプロセッサを有する情報処理装置において、障害診断用の複数のタスクを順次実行していく第１のＣＰＵと、前記第１のＣＰＵが実行しているタスクの実行状況を監視する第２のＣＰＵと、前記順次実行されるタスクの内容と、このタスクに対応する監視用データをロードするメモリとを有し、前記第１のＣＰＵは、実行しているタスク毎に、監視用データを更新し、前記第２のＣＰＵは前記監視用データの更新状況を参照して、障害の有無を判別するものである。
【０００９】
また本発明は、上述した課題を解決するため、前記監視用データは、前記タスク処理内容を特定するためのタスク番号と、このタスク番号に応じたタイムアウト値と、タスクの実行状況を示す状況データとを含むものである。
【００１０】
また本発明は、上述した課題を解決するため、前記第２のＣＰＵは、前記タイムアウト値を参照して、前記第１のＣＰＵにより前記タイムアウト値に示す時間内に前記状況データを更新されていない場合、障害が発生したと判断するものである。
【００１１】
また本発明は上述した課題を解決するため、障害診断用の複数のタスクを順次実行していく第１のＣＰＵと、前記第１のＣＰＵが実行しているタスクの実行状況を監視する第２のＣＰＵと、前記順次実行されるタスクの内容と、このタスクに対応する監視用データをロードするメモリとを有する情報処理装置における障害診断方法において、前記第１のＣＰＵは、実行しているタスク毎に、監視用データを更新し、前記第２のＣＰＵは前記監視用データの更新状況を参照して、障害の有無を判別すものである。
【００１２】
【発明の実施の形態】
以下、図面を用いて、本発明の実施形態を説明する。
図１は、本発明の一実施形態であるＰＣサーバのシステム構成を示すブロック図である。
本実施形態のＰＣサーバは、複数のプロセッサ群１を有する。プロセッサ群１は、ＣＰＵ０〜ｍのＭ個のＣＰＵからなり、ＣＰＵ０は、システムの起動処理を実行するＢＳＰ（Ｂｏｏｔ  ＳｔｒａｐＰｒｏｃｅｓｓｏｒ）であり、ＣＰＵ１〜ＣＰＵｍは、システム起動後のアプリケーションプログラムを実行するＡＰ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｃｅｓｓｏｒ）である。
【００１３】
これらプロセッサ群１は、ホストバス２を介して、ノースブリッジ３に接続されており、メモリバス４を介して接続されるメモリ５や、ＰＣＩバス５を介して接続される各種Ｉ／Ｏデバイス群６の動作制御を実行する。また、メモリ５には、図２に示すようなＰＯＳＴ処理用のタスクテーブルがロードされており、プロセッサ群１のうち１つのＣＰＵがこのタスクテーブルを参照しながら各タスクを順次実行する。
【００１４】
さらに、メモリ５には、図３に示すようなコマンドフォーマットテーブルがロードされており、このテーブルをプロセッサ群１が逐次更新、参照することによりＰＯＳＴの各タスクの実行完了の可否を判断する。
【００１５】
メモリ５は具体的にはＤＩＭＭ（Ｄｕａｌ  Ｉｎｌｉｎｅ  Ｍｅｍｏｒｙ  Ｍｏｄｕｌｅ）である。デバイス群６のデバイスには、アプリケーションプログラムを格納したハードディスク装置や、ＢＩＯＳプログラムを格納したＲＯＭなどが含まれる。
【００１６】
サウスブリッジ７は、その他ＩＳＡバス（図示せず）やＳＭバス８を介して接続されるＩ／Ｏデバイスをプロセッサ群１が動作制御するためのブリッジ回路である。
次に、図２のタスクテーブルの内容について説明する。
タスクテーブルは、タスク毎にその処理内容を記したリストであり、システム起動開始後に、タスク１から順番に実行していき、システムの障害状況を診断する。例えば、最初のタスク１は、チップセットの初期化処理であり、初期化が正常に完了されれば、次のタスク処理に移行する。
【００１７】
そして、各タスクが問題なく実施された場合には、最後にＢＩＯＳセットアップを実施（タスクＮ−１）して、ＯＳの起動処理（タスクＮ）に入り、ＰＯＳＴ動作が完了する。
【００１８】
本実施形態では、タスクテーブルに書かれた各タスクをＣＰＵ０が順次実行していく。そして、ＣＰＵ０のタスク処理の実行が成功したか否かを図３のコマンドフォーマットを利用してＣＰＵ１が監視する。
【００１９】
このタスク処理の実行と監視用に、図３に示すコマンドフォーマットが利用される。このコマンドフォーマットの内容について説明する。
コマンドフォーマットは、オフセット番号、コマンドサイズ、データフィールドが対応付けられたコマンドテーブルリストとなっている。
オフセット番号は、リスト番号として利用されるものである。サイズは、データフィールドの書き込まれるデータのデータサイズである。データフィールドは、各タスク毎に更新されていくデータであり、オフセット１には、実行中のタスク番号が書き込まれる。オフセット２には、タイムアウト値が書き込まれ各タスクをＣＰＵ０が実行したとき、そのタスク実行が所定時間内に完了しなかったことを検出するための時間情報である。このタイムアウト値は、タスク毎にその時間が異なっており、１００ｍｓ単位でそれぞれのタスクに応じたタイムアウト値が書き込まれる。
【００２０】
オフセット３には、タスクの実行が完了したか否かを検出するための参照データであり、ＣＰＵ０が実行中のタスクを正常に完了すると、ビッド１（１ｂ）が書き込まれる。一方、タスク実行中またはタスクの実行を正常完了できないときは、ビット０（０ｂ）が書き込まれた状態となっている。このオフセット３をＣＰＵ１が監視することにより、現在のタスクが完了したか、或いはまだ実行中であるかを判別することができる。そして、ＣＰＵ１は、オフセット２の書かれたタイムアウト値を参照し、このタイムアウト値の時間内に、オフセット３のデータ更新されていない場合には、このタスクが正常に完了しなかったと判断して、図４のオフセット４に示すような、タイムアウトアクションを実行して、障害復旧処理を実行していく。具体的にはＮｏ  Ａｃｔｉｏｎ（復旧処理せずに動作停止維持）、Ｈａｒｄ  Ｒｅｓｅｔ（強制リセット）、Ｐｏｗｅｒ  Ｄｏｗｎ（シャットダウン処理）、Ｐｏｗｅｒ  Ｃｙｃｌｅ（再起動処理）のいずれかであり、各タスク毎にＣＰＵ０がメモリ５にロードされたコマンドフォーマットに書き込んでいく。
【００２１】
以上のように、図３に示すこのコマンドフォーマットは、ＣＰＵ０のからの書き込み指示によりタスク毎に順次更新されていく。即ち、図２に示すタスクテーブルのタスク１からＣＰＵ０が順次タスクを実行していき、１つのタスクの実行が完了すると次のタスクに関するデータに変更される。
【００２２】
このような構成において、本実施形態の動作を説明する。
まず、デバイス群６から読み出されたＢＩＯＳは、ＣＰＵ０から図２に示す最初のタスク番号１を特定のポートに送信するのと同じタイミングで、以下の処理を行う。
【００２３】
（１）ＣＰＵ１をｗａｋｅ（ＣＰＵ１に駆動開始のためのｗａｋｅ割り込み発行）。
（２）ＣＰＵ１へタスク番号を通知
（３）ＣＰＵ１へタイムアウト時間を通知。
（（２）〜（３）の通知は、ＣＰＵ１が、メモリ５に書き込まれたコマンドフォーマットを参照することで実行される。ＣＰＵ０は、メモリ５の特定のアドレスに図３に示すコマンドフォーマットを書き込み、ＣＰＵ１がそのコマンドフォーマットに従った動作を実行するものである）。
【００２４】
（４）ＣＰＵ１へタイマー開始を指示し、ＣＰＵ１がＣＰＵ０のタスク実行の完了状況に関する時間監視をする。
この（４）の動作において、ＣＰＵ１では、コマンドフォーマットのオフセット１に書き込まれた時間内に、ｓｔｏｐまたはｓｔａｒｔ／ｒｅｓｔａｒｔコマンドを受信しない場合に、図４に示すタイムアクション処理を実行する。また後で、障害解析ができるように、フラッシュメモリなどの不揮発性メモリにタイムアウトしたときのタスク番号を記録しておく。
【００２５】
そして、タスク番号２以降のタスクを順次実行していくがその際は、以下のようにタスク番号の通知のみを行う。
（５）ＣＰＵへタスク番号を通知。
（６）ＣＰＵ１へタイムアウト時間を通知。
（７）ＣＰＵ１へタイマー開始を指示。
（この（５）〜（７）の動作は（２）〜（４）と同様の具体的な動作で実行される）
そして、図２に示された最後のタスクであるＯＳ起動直前には、以下の処理を実行する。
（８）ＣＰＵ１にタイマー計測の停止を指示。
（９）ＣＰＵ１をＨＬＴ  Ｓｔａｔｅ（動作停止状態）に移行。
このように、（９）の動作まで完了した場合には、障害がなかったとして、ＯＳが開始され、ＰＣサーバのアプリケーションプログラムの稼働が開始される。
以上説明したように、本実施形態によれば、障害診断用に特別なハードウェアを必要とすることなく、マルチプロセッサシステムでの障害診断動作を実行することができるものである。
【００２６】
【発明の効果】
本発明によれば、障害診断用に特別なハードウェアを必要とすることなく、マルチプロセッサシステムでの障害診断動作を実行することができる。
【図面の簡単な説明】
【図１】本発明の一実施形態におけるＰＣサーバのシステム構成を示すブロック図である。
【図２】同実施形態におけるタスクテーブルの内容を示す図である。
【図３】同実施形態におれるタスク実行中のコマンドフォーマットを説明するための図である。
【図４】同実施形態における、障害発生時の復旧動作を示すコマンドフォーマットを説明するための図である。
【符号の説明】
１…プロセッサ群、２…ホストバス、３…ノースブリッジ、４…メモリバス、５…メモリ、６…デバイス群、７…サウスブリッジ。
【図１】
2004302731.tif 000003
【図２】
2004302731.tif 000004
【図３】
2004302731.tif 000005
【図４】
2004302731.tif 000006