(57)【要約】      （修正有）【課題】起動時の診断時間を短縮する故障情報管理プログラム、起動試験方法及び並列処理装置を提供する。【解決手段】故障情報管理装置２の集計部２５が、一定時間毎に演算ユニット４の各ハードウェア部位の故障率を算出し、２次データ記憶部２２を更新する。そして、故障率算出部２６が、電源制御装置３からの要求に基づいて、２次データ記憶部２２を用いて演算ユニット４の起動時の故障率を各ハードウェア部位について算出し、電源制御装置３に応答する。そして、電源制御装置３は、起動指示と共にハードウェア部位毎の起動時の故障率を各演算ユニット４に通知する。【選択図】図４
2018092333.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
診断対象装置から受信した故障情報に基づいて前記診断対象装置の部位毎に計算した故障率を、時間情報及び部位と対応付けて実績情報として記憶し、
前記診断対象装置が起動される際に、前記実績情報と現在時刻を基に起動時の各部位の故障率を算出して前記診断対象装置に通知
する処理を実行させることを特徴とする故障情報管理プログラム。
【請求項２】
前記起動時の故障率を算出する処理は、前記実績情報のうち直近の３つの故障率を基に算出することを特徴とする請求項１に記載の故障情報管理プログラム。
【請求項３】
前記コンピュータに、
前記故障情報に含まれる故障発生時刻と故障発生部位に基づいて２４時間あたりの故障率を部位毎に算出して前記実績情報として格納する処理
をさらに実行させることを特徴とする請求項１又は２に記載の故障情報管理プログラム。
【請求項４】
前記コンピュータに、
前記起動時の故障率を通知された前記診断対象装置が該故障率に応じて行った起動時試験により検出した故障の情報を受信して記憶部に格納する処理
をさらに実行させ、
前記実績情報を算出する処理は、前記記憶部に格納された情報を前記故障情報として用いて前記実績情報を算出することを特徴とする請求項３に記載の故障情報管理プログラム。
【請求項５】
診断対象装置と該診断対象装置の故障情報を管理する故障情報管理装置とを有するシステムによる起動試験方法において、
前記故障情報管理装置が、
診断対象装置から受信した故障情報に基づいて前記診断対象装置の部位毎に計算した故障率を、時間情報及び部位と対応付けて実績情報として記憶し、
前記診断対象装置が起動される際に、前記実績情報と現在時刻を基に起動時の各部位の故障率を算出して前記診断対象装置に通知し、
前記診断対象装置が、
通知された故障率に応じた起動時試験を行う
ことを特徴とする起動試験方法。
【請求項６】
並列に演算を実行する複数の演算装置と該複数の演算装置の故障情報を管理する故障情報管理装置を有する並列処理装置において、
前記故障情報管理装置は、
演算装置から受信した故障情報に基づいて前記演算装置の部位毎に計算した故障率を、時間情報及び部位と対応付けて実績情報として記憶する記憶部と、
前記演算装置が起動される際に、前記実績情報と現在時刻を基に起動時の各部位の故障率を算出して前記演算装置に通知する算出部とを有し、
前記演算装置は、
通知された故障率に応じた起動時試験を行う試験部
を有することを特徴とする並列処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、故障情報管理プログラム、起動試験方法及び並列処理装置に関する。
【背景技術】
【０００２】
近年、複数の演算ユニットが接続され、接続された演算ユニットが協調して演算を行う並列処理装置が利用されている。並列処理装置では、演算ユニット内の電源を制御するＢＭＣ（Baseboard  Management  Controller）が演算ユニットを起動すると、ハードウェアの初期化及び診断を行うＰＯＳＴ（Power  On  Self-Test）と呼ばれるプログラムがＣＰＵ（Central  Processing  Unit）上で実行される。その後ＯＳ（Operating  System）が起動され、演算ユニットが各種演算を行うことが可能となる。
【０００３】
ＰＯＳＴは、演算ユニットに含まれるＣＰＵ、主記憶装置といったハードウェアを正常に使用できることを確認するために診断処理を行う。診断処理でハードウェアの故障を検出した場合、ＰＯＳＴは、故障結果をＢＭＣに通知する。
【０００４】
なお、印刷装置内部において重大な障害が発生した場合にその旨を記憶し、障害が発生した後の電源投入時には、印刷装置内部の自己診断を通常の電源投入時より詳細に行うことで、通常時の自己診断に要する時間を短くする技術がある。
【０００５】
また、被試験体の自己診断結果と試験項目の順序を対応付けたデータを記憶し、自己診断結果に応じて試験項目の並べ替えを行うことで、故障個所を検出する可能性の高い試験項目から試験を実行し、故障検出時間を短縮する技術がある。
【０００６】
また、被検査対象機器を検査する検査回路の自己診断の内容を検査ＮＧの内容により設定変更可能とすることで、検査装置の信頼性を保つ技術がある。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平１０−３５０６１号公報
【特許文献２】特開２００１−２０１５２７号公報
【特許文献３】特開２００９−１３９３１３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
ＰＯＳＴによる診断では、故障を確実に検出するためには、診断処理をより詳細に行うことが必要であるが、診断処理をより詳細に行えば行うほど診断に時間がかかり、演算ユニットが演算を開始する時間が遅くなる。従来は、ＰＯＳＴの診断の詳細度は、ハードウェアの構成に応じて静的に決められていたため、常に診断に所定の時間がかかるという問題がある。
【０００９】
本発明は、１つの側面では、診断時間を短縮することを目的とする。
【課題を解決するための手段】
【００１０】
１つの態様では、故障情報管理プログラムは、コンピュータに、診断対象装置から受信した故障情報に基づいて診断対象装置の部位毎に計算した故障率を、時間情報及び部位と対応付けて実績情報として記憶させる。そして、故障情報管理プログラムは、コンピュータに、診断対象装置が起動される際に、実績情報と現在時刻を基に起動時の各部位の故障率を算出して診断対象装置に通知する処理を実行させる。
【発明の効果】
【００１１】
１つの側面では、本発明は、診断時間を短縮することができる。
【図面の簡単な説明】
【００１２】
【図１】図１は、時間と故障率の関係（バスタブ曲線）を示す図である。
【図２】図２は、診断箇所を変える方法を説明するための図である。
【図３】図３は、診断箇所内で診断の詳細度を変える方法を説明するための図である。
【図４】図４は、実施例に係る並列処理装置の構成を示す図である。
【図５】図５は、１次データの一例を示す図である。
【図６】図６は、２次データの一例を示す図である。
【図７】図７は、起動時における故障率の算出方法を説明するための図である。
【図８】図８は、診断テーブルの一例を示す図である。
【図９Ａ】図９Ａは、ＰＯＳＴからＢＭＣへの故障情報通知のデータフォーマットの一例を示す図である。
【図９Ｂ】図９Ｂは、ＯＳからＢＭＣへの故障情報通知のデータフォーマットの一例を示す図である。
【図９Ｃ】図９Ｃは、ＢＭＣから故障情報管理装置への故障情報通知のデータフォーマットの一例を示す図である。
【図１０】図１０は、故障個所コードの一例を示す図である。
【図１１】図１１は、ユーザによる起動指示から故障情報の記録までの処理のフローを示すシーケンス図である。
【図１２】図１２は、運用時に故障が検出された場合の処理のフローを示すシーケンス図である。
【図１３】図１３は、格納部による処理のフローを示すフローチャートである。
【図１４】図１４は、集計部による処理のフローを示すフローチャートである。
【図１５】図１５は、故障率算出部による処理のフローを示すフローチャートである。
【図１６】図１６は、故障情報を通知された時のＢＭＣの処理のフローを示すフローチャートである。
【図１７】図１７は、ＰＯＳＴによる処理のフローを示すフローチャートである。
【図１８】図１８は、実施例に係る故障情報管理プログラムを実行するコンピュータのハードウェア構成を示す図である。
【発明を実施するための形態】
【００１３】
以下に、本願の開示する故障情報管理プログラム、起動試験方法及び並列処理装置の実施例を図面に基づいて詳細に説明する。なお、この実施例は開示の技術を限定するものではない。
【実施例】
【００１４】
まず、実施例に係る診断方法について図１〜図３を用いて説明する。図１は、時間と故障率の関係（バスタブ曲線）を示す図である。ここで、故障率とは、単位時間あたりにハードウェアが故障する割合である。図１に示すように、故障率は、時間の経過と共に、バスタブのような曲線で遷移する。
【００１５】
バスタブ曲線は、以下の３つの期間に分けられる。
（１）初期故障期：主に製造上の欠陥による故障で、故障率は時間の経過と共に減少する。
（２）偶発故障期：故障が時間の経過によらずほぼ一定になる。
（３）磨耗故障期：故障率は磨耗により時間の経過と共に増大する。
【００１６】
そこで、実施例に係る診断では、初期故障期及び摩耗故障期のように故障率が高い場合は診断の詳細度を上げ、偶発故障期のように故障率が低い場合には診断の詳細度を下げる。すなわち、実施例に係る診断は、故障率に基づいて診断の詳細度を動的に変える。
【００１７】
診断の詳細度を変える方法には、診断箇所を変える方法と、診断箇所内での診断の詳細度を変える方法がある。図２は、診断箇所を変える方法を説明するための図である。図２において、診断箇所故障比率は、全体の中で各診断箇所が故障する比率を示す。各診断箇所の故障率は、全体の故障率に診断箇所故障比率を掛けた値となる。診断実施条件は、各診断箇所の診断を実施する条件を示す。
【００１８】
全体の故障率を０．１０％とすると、診断箇所αの故障率は０．１０×４０／１００＝０．０４％であり、診断箇所βの故障率は０．１０×３０／１００＝０．０３％である。また、診断箇所γの故障率は０．１０×２０／１００＝０．０２％であり、診断箇所δの故障率は０．１０×１０／１００＝０．０１％である。
【００１９】
したがって、診断箇所αと診断箇所βの診断は、診断実施条件を満たすので、実施される。一方、診断箇所γと診断箇所δの診断は、診断実施条件を満たさないので、実施されない。
【００２０】
図３は、診断箇所内で診断の詳細度を変える方法を説明するための図である。図３は、ＣＰＵのコアから主記憶装置へのアクセス診断を行う場合を示す。コアから主記憶装置へのアクセスを確認するためには、本来Ｌ１キャッシュへのアクセス、Ｌ２キャッシュへのアクセス、主記憶装置へのアクセス診断を順に実施する必要がある。
【００２１】
しかし、故障率が低い場合には、Ｌ１キャッシュ、Ｌ２キャッシュへのアクセス診断を行わずにいきなり主記憶装置へのアクセス診断を行う。一方、故障率が高い場合には、コアからＬ１キャッシュへのアクセス診断、コアからＬ１キャッシュを介したＬ２キャッシュへのアクセス診断、コアからＬ１キャッシュ及びＬ２キャッシュを介した主記憶装置へのアクセス診断を全て行う。このように、主記憶装置へのアクセス診断において、診断の詳細度を変えることで、診断箇所を変えることなく、診断を減らすことができる。
【００２２】
次に、実施例に係る並列処理装置の構成について説明する。図４は、実施例に係る並列処理装置の構成を示す図である。図４に示すように、実施例に係る並列処理装置１は、故障情報管理装置２と、電源制御装置３と、演算ユニット＃０〜演算ユニット＃９９９で表される１０００個の演算ユニット４を有する。なお、ここでは、並列処理装置１は１０００個の演算ユニット４を有するが、並列処理装置１はより多くのあるいはより少ない演算ユニット４を有してよい。また、故障情報管理装置２と電源制御装置３をまとめて１台の装置としてもよい。
【００２３】
故障情報管理装置２は、演算ユニット４で発生した故障に関する情報を管理する。電源制御装置３は、演算ユニット４の電源を制御する。演算ユニット４は、他の演算ユニット４と連携して演算処理を行う。
【００２４】
故障情報管理装置２は、１次データ記憶部２１と、２次データ記憶部２２と、搭載数記憶部２３と、格納部２４と、集計部２５と、故障率算出部２６とを有する。
【００２５】
１次データ記憶部２１は、各演算ユニット４で発生した故障のログを１次データとして記憶する。図５は、１次データの一例を示す図である。図５に示すように、１次データは、故障検出時間と故障個所を故障毎に示すデータである。
【００２６】
故障検出時間は、故障が検出された日時である。故障検出時間は、ＹＹＹＹＭＭＤＤＨＨＭＭＳＳで表される。ＹＹＹＹは西暦年を表す。ＭＭは月を表す。ＤＤは日にちを表す。ＨＨは時間を表す。ＭＭは分を表す。ＳＳは秒を表す。故障個所は、故障が検出されたハードウェア部位である。故障個所は、ＰＣＩ（Peripheral  Component  Interconnect）、主記憶装置、ＣＰＵ等である。故障が発生する毎に１次データにエントリが追加される。
【００２７】
２次データ記憶部２２は、一定時間毎の故障個所毎の故障率を２次データとして記憶する。図６は、２次データの一例を示す図である。図６に示すように、２次データは、期間毎に各ハードウェア部位の故障率と算出時刻を示すデータである。期間は、例えば、０時から２４時までの２４時間である。算出時刻は、故障率が算出された時刻である。算出時刻は、ＹＹＹＹＭＭＤＤＨＨで表される。
【００２８】
故障率は一定期間毎に算出され、２次データにエントリが追加される。なお、図６では、ハードウェア部位としてＣＰＵ４２、主記憶装置４３、ＰＣＩＲＣ（ＰＣＩ  Root  Complex）４４のみを示すが、２次データ記憶部２２は、ＨＤＤＣｔｒｌ４５等の他のハードウェア部位についても故障率を記憶する。
【００２９】
搭載数記憶部２３は、演算ユニット＃０〜演算ユニット＃９９９に搭載されているハードウェア部位の個数を記憶する。すなわち、搭載数記憶部２３は、演算ユニット＃０〜演算ユニット＃９９９に搭載されているＣＰＵ数、主記憶装置数、ＰＣＩＲＣ数等を記憶する。
【００３０】
格納部２４は、各演算ユニット４から故障情報を受信して１次データ記憶部２１に故障検出時間と故障個所を１次データ記憶部２１に格納する。
【００３１】
集計部２５は、一定時間毎の１次データから２次データの１つのエントリを作成し、２次データ記憶部２２に格納する。すなわち、集計部２５は、一定時間毎に各故障個所の故障発生数を集計し、各故障個所の故障率を計算して２次データ記憶部２２に追加する。
【００３２】
故障率算出部２６は、電源制御装置３から故障率の取得要求を受信すると、２次データに基づいて起動時における故障率を算出して電源制御装置３に応答する。故障率算出部２６は、故障個所毎に故障率を算出して電源制御装置３に応答する。
【００３３】
図７は、起動時における故障率の算出方法を説明するための図である。故障率算出部２６は、２次データの中で現在から直近の３つの故障率を用いて、最小二乗法により時刻と故障率の近似１次直線ｙ＝ａｘ＋ｂを求める。
【００３４】
図７では、現在から直近の３つの故障率を時刻の順にｘ0、ｘ1、ｘ2とし、対応する故障率をｙ0、ｙ1、ｙ2としている。起動時の故障率を求めるために直近の故障率を３つ使用する理由は、偶発故障期から磨耗故障期に変わって故障率が急増する時にいち早く故障率の上昇に対応するためである。
【００３５】
なお、近似直線を求める際、計算結果が発散するのを防ぐため、故障率算出部２６は、ｘ0が基準となるように変数を変換する。すなわち、ｉ＝０，１，２について、故障率算出部２６は、ｕi＝ｘi−ｘ0、ｖi＝ｙiとする。そして、故障率算出部２６は、３点の最小二乗法により、近似直線の係数を以下の式（１）により算出する。
【００３６】
【数１】
2018092333.tif 000003
【００３７】
故障率算出部２６は、算出した近似直線を用いて、起動時の故障率として現在時刻ｘtの故障率ｙtをｙt＝ａ×(ｘt−ｘ0)＋ｂにより求める。なお、２次データのエントリ数が３つに満たない場合、故障率算出部２６は、起動時の故障率を１００％とする。すなわち、稼働直後で十分な故障情報がない場合、演算ユニット４は、詳細度を最大にして診断を行う。
【００３８】
図４に戻って、電源制御装置３は、電源制御部３１を有する。電源制御部３１は、演算ユニット４のＢＭＣ４１に起動又は停止を指示する。電源制御部３１は、ＢＭＣ４１に起動を指示する際に、故障率をＢＭＣ４１に送信する。
【００３９】
演算ユニット４は、ＢＭＣ４１と、ＣＰＵ４２と、主記憶装置４３と、ＰＣＩＲＣ４４と、ＨＤＤ（Hard  Disk  Drive）Ｃｔｌｒ４５と、ＨＤＤ４６と、故障率記憶部４７とを有する。
【００４０】
ＢＭＣ４１は、演算ユニット４内の電源を制御する。また、ＢＭＣ４１は、電源制御部３１から起動指示と共に故障率を受け取ると、受け取った故障率を故障率記憶部４７に格納する。
【００４１】
ＣＰＵ４２は、主記憶装置４３からプログラムを読み出して実行する中央処理装置である。ＣＰＵ４２は、ＣＰＵ故障通知部４２ａを有する。ＣＰＵ故障通知部４２ａは、ＣＰＵ４２で故障を検出するとＯＳ４ａ又はＰＯＳＴ４ｂに通知するハードウェアである。なお、演算ユニット４は、複数のＣＰＵ４２を有してもよい。
【００４２】
ＣＰＵ４２では、ＯＳ４ａ及びＰＯＳＴ４ｂが実行される。ＰＯＳＴ４ｂは、ＢＭＣ４１から起動指示がＣＰＵ４２に通知されると起動され、演算ユニット４のハードウェアの初期化と診断を実施する。ＰＯＳＴ４ｂは、診断テーブル４ｃを有する。診断テーブル４ｃは、ハードウェア部位毎に診断詳細度を定義したテーブルである。
【００４３】
図８は、診断テーブル４ｃの一例を示す図である。図８に示すように、診断テーブル４ｃは、ハードウェア部位毎に診断内容と診断実施条件を対応付けるテーブルである。診断内容は、診断の詳細度に応じた診断の内容である。各診断内容は、診断箇所、診断箇所毎の詳細度が異なる。診断実施条件は、対応する診断内容を実施する条件である。例えば、ＰＯＳＴ４ｂは、ＣＰＵ４２については、故障率が０．００５％以上の場合、診断Ｃ＃１の内容の診断を行う。
【００４４】
ＰＯＳＴ４ｂは、故障を検出すると、ＢＭＣ４１に故障情報を通知する。図９Ａは、ＰＯＳＴ４ｂからＢＭＣ４１への故障情報通知のデータフォーマットの一例を示す図である。図９Ａにおいて、０〜３１はビット位置を示す。図９Ａに示すように、ＰＯＳＴ４ｂからＢＭＣ４１への故障情報通知は１２バイトのデータである。最初の８バイトは、故障検出時刻を示しており、１９７０年１月１日０時からの経過時間で表す。次の４バイトのうちビット位置０〜７の１バイトは、故障個所コードを示す。故障個所コードは、故障個所を示すコードである。
【００４５】
図１０は、故障個所コードの一例を示す図である。図１０に示すように、例えば、ＣＰＵ４２のコードの値は０ｘ０１である。ここで、「０ｘ」は、１６進数であることを表す。
【００４６】
ＢＭＣ４１は、ＰＯＳＴ４ｂ又はＯＳ４ａから故障を通知されると、故障情報を故障情報管理装置２に通知する。なお、ＯＳ４ａは、演算ユニット４の運用時に検出された故障をＢＭＣ４１に通知する。図９Ｂは、ＯＳ４ａからＢＭＣ４１への故障情報通知のデータフォーマットの一例を示す図である。
【００４７】
図９Ｂに示すように、ＯＳ４ａからＢＭＣ４１への故障情報通知は１２バイトのデータである。最初の８バイトは、故障検出時刻を示しており、１９７０年１月１日０時からの経過時間で表す。次の４バイトのうちビット位置０〜７の１バイトは、故障個所コードを示す。
【００４８】
図９Ｃは、ＢＭＣ４１から故障情報管理装置２への故障情報通知のデータフォーマットの一例を示す図である。図９Ｃに示すように、ＢＭＣ４１から故障情報管理装置２への故障情報通知は１２バイトのデータである。最初の８バイトは、故障検出時刻を示しており、１９７０年１月１日０時からの経過時間で表す。次の４バイトのうちビット位置０〜７の１バイトは、故障個所コードを示す。
【００４９】
図４に戻って、主記憶装置４３は、プログラムやプログラムの実行途中結果などを記憶するメモリである。ＰＣＩＲＣ４４は、ＰＣＩ接続のルートとなるデバイスであり、ＣＰＵ４２に接続する。ＨＤＤＣｔｌｒ４５は、ＨＤＤ４６を制御するコントローラである。ＨＤＤ４６は、プログラムやデータを格納するディスク装置である。
【００５０】
故障率記憶部４７は、ＢＭＣ４１が電源制御装置３から受け取った故障率を記憶する。故障率記憶部４７は、演算装置４のハードウェア部位毎に故障率を記憶する。
【００５１】
次に、ユーザによる起動指示から故障情報の記録までの処理のフローについて説明する。図１１は、ユーザによる起動指示から故障情報の記録までの処理のフローを示すシーケンス図である。
【００５２】
図１１に示すように、電源制御装置３は、ユーザから起動指示を受け取る（１）と、故障情報管理装置２に故障率を要求する（２）。すると、故障情報管理装置２は、ハードウェア部位毎に起動時の故障率を算出し（３）、算出した故障率を電源制御装置３へ応答する（４）。そして、電源制御装置３は、全演算ユニット４のＢＭＣ４１に故障率の通知及び起動指示を行う（５）。なお、図１１は、全演算ユニット４を代表して演算ユニット＃ｓだけを示す。ここで、ｓは０から９９９のいずれかの整数である。
【００５３】
ＢＭＣ４１は、故障率記憶部４７への故障率の格納とＣＰＵ４２への起動指示を行う（６）。ＣＰＵ４２は、故障率記憶部４７の故障率と診断テーブル４ｃとを用いて実施する診断内容を特定し、診断を実施する（７）。診断実施条件を満たす診断内容がない場合には、ＣＰＵ４２は診断を実施しない。
【００５４】
そして、故障を検出すると、ＣＰＵ４２は、ＢＭＣ４１に故障情報を通知する（８）。図１１において、ｏｐｔで示される四角は、故障が検出された場合を示す。故障情報を通知されたＢＭＣ４１は、故障情報管理装置２に故障情報を通知する（９）。そして、故障情報管理装置２が、１次データの情報を更新する（１０）。
【００５５】
このように、故障情報管理装置２が、ハードウェア部位毎に故障率を算出し、電源制御装置３が、演算ユニット＃ｓに故障率を起動指示と共に通知することで、並列処理装置１は、診断の詳細度を動的に変更することができる。
【００５６】
次に、運用時に故障が検出された場合の処理のフローについて説明する。図１２は、運用時に故障が検出された場合の処理のフローを示すシーケンス図である。図１２に示すように、ＯＳ４ａ又はＣＰＵ故障通知部４２ａは、故障を検出すると、故障情報をＢＭＣ４１に通知する（１）。すると、ＢＭＣ４１は、故障情報管理装置２に故障情報を通知する（２）。そして、故障情報管理装置２が、１次データの情報を更新する（３）。
【００５７】
このように、ＯＳ４ａ又はＣＰＵ故障通知部４２ａが故障を検出するとＢＭＣ４１が故障情報を故障情報管理装置２に通知することで、故障情報管理装置２は、運用時の故障情報を収集することができる。
【００５８】
次に、格納部２４による処理のフローについて説明する。図１３は、格納部２４による処理のフローを示すフローチャートである。図１３に示すように、格納部２４は、ＢＭＣ４１から故障情報を受け取ると、故障情報で１次データ記憶部２１を更新する（ステップＳ１）。
【００５９】
このように、格納部２４がＢＭＣ４１から送信された故障情報を用いて１次データ記憶部２１を更新することで、故障情報管理装置２は、故障情報を１次データとして蓄積することができる。
【００６０】
次に、集計部２５による処理のフローについて説明する。図１４は、集計部２５による処理のフローを示すフローチャートである。集計部２５は、一定時間毎に図１４に示す処理をハードウェア部位毎に実行する。
【００６１】
図１４に示すように、集計部２５は、１次データに基づいて一定時間内に検出された故障の件数を集計する（ステップＳ１１）。そして、集計部２５は、並列処理装置１に搭載されたハードウェア個数で故障検出件数を割ることによって故障率を算出する（ステップＳ１２）。ここで、ハードウェア個数は、搭載数記憶部２３に記憶される。そして、集計部２５は、算出した故障率で２次データ記憶部２２を更新する（ステップＳ１３）。
【００６２】
このように、集計部２５が一定時間内に検出された故障の件数に基づいて一定時間毎の故障率を算出することによって、故障情報管理装置２は、起動時の故障率を精度よく算出することができる。
【００６３】
次に、故障率算出部２６による処理のフローについて説明する。図１５は、故障率算出部２６による処理のフローを示すフローチャートである。図１５に示すように、故障率算出部２６は、２次データのエントリ数は３以上であるか否かを判定する（ステップＳ２１）。
【００６４】
そして、２次データのエントリ数が３以上である場合には、故障率算出部２６は、２次データの中で直近の３つの故障率から近似直線を求め、求めた近似直線を用いて起動時の故障率を算出する（ステップＳ２２）。一方、２次データのエントリ数が３以上でない場合には、故障率算出部２６は、起動時の故障率を１００％とする（ステップＳ２３）。そして、故障率算出部２６は、起動時の故障率を電源制御装置３に通知する（ステップＳ２４）。
【００６５】
このように、故障率算出部２６は、直近の３つの故障率を用いて起動時の故障率を算出することで、起動時の故障率を精度よく算出することができる。
【００６６】
次に、故障情報を通知された時のＢＭＣ４１の処理のフローについて説明する。図１６は、故障情報を通知された時のＢＭＣ４１の処理のフローを示すフローチャートである。図１６に示すように、ＢＭＣ４１は、故障情報管理装置２に故障情報を通知する（ステップＳ３１）。
【００６７】
このように、ＢＭＣ４１が、故障情報管理装置２に故障情報を通知することで、故障情報管理装置２は、故障情報を１次データとして蓄積することができる。
【００６８】
次に、ＰＯＳＴ４ｂによる処理のフローについて説明する。図１７は、ＰＯＳＴ４ｂによる処理のフローを示すフローチャートである。なお、ＰＯＳＴ４ｂは、各ハードウェア部位について図１７に示す処理を実行する。
【００６９】
図１７に示すように、ＰＯＳＴ４ｂは、故障率記憶部４７から診断対象のハードウェア部位の故障率ｘを取得する（ステップＳ４１）。そして、ＰＯＳＴ４ｂは、診断対象のハードウェア部位に関して診断テーブル４ｃの各診断内容について、ステップＳ４２〜ステップＳ４６の処理を実行する。
【００７０】
すなわち、ＰＯＳＴ４ｂは、診断テーブル４ｃから診断実施条件の閾値αを取得する（ステップＳ４２）。そして、ＰＯＳＴ４ｂは、故障率ｘが閾値α以上であるか否かを判定し（ステップＳ４３）、故障率ｘが閾値α以上でない場合には、次の診断内容について処理を行う。
【００７１】
一方、故障率ｘが閾値α以上である場合には、ＰＯＳＴ４ｂは、診断内容の診断を実施し（ステップＳ４４）、故障を検出したか否かを判定する（ステップＳ４５）。そして、故障を検出した場合には、ＢＭＣ４１に故障情報を通知する（ステップＳ４６）。
【００７２】
このように、ＰＯＳＴ４ｂは、起動時の故障率と診断テーブル４ｃに基づいて各診断内容の診断を実施するか否かを判定することによって、診断の詳細度を動的に変更し、診断時間を短縮することができる。
【００７３】
上述してきたように、実施例では、故障情報管理装置２の集計部２５が、一定時間毎に各ハードウェア部位の故障率を算出し、２次データ記憶部２２を更新する。そして、故障率算出部２６が、電源制御装置３からの要求に基づいて、２次データ記憶部２２を用いて演算ユニット４の起動時の故障率を各ハードウェア部位について算出し、電源制御装置３に応答する。そして、電源制御装置３は、起動指示と共にハードウェア部位毎の起動時の故障率を各演算ユニット４に通知する。したがって、各演算ユニット４は、起動時の故障率に基づいて診断内容を動的に変えることで、起動時の診断時間を短縮することができる。
【００７４】
また、実施例では、故障率算出部２６は、直近の３つの故障率に基づいて起動時の故障率を算出するので、起動時の故障率を正確に算出することができる。
【００７５】
また、実施例では、集計部２５が、１次データを用いて２４時間等の一定期間毎に各ハードウェア部位の故障率を算出して２次データ記憶部２２を更新するので、故障率算出部２６は、直近の故障率を用いて起動時の故障率を算出することができる。
【００７６】
また、実施例では、格納部２４が、各演算ユニット４が実施した診断により検出された故障の情報を受信して１次データ記憶部２１を更新するので、起動時の診断結果を故障率の算出に反映することができる。
【００７７】
なお、実施例では、故障情報管理装置２について説明したが、故障情報管理装置２が有する構成をソフトウェアによって実現することで、同様の機能を有する故障情報管理プログラムを得ることができる。そこで、故障情報管理プログラムを実行するコンピュータについて説明する。
【００７８】
図１８は、実施例に係る故障情報管理プログラムを実行するコンピュータのハードウェア構成を示す図である。図１８に示すように、コンピュータ５０は、メインメモリ５１と、ＣＰＵ５２と、ＬＡＮ（Local  Area  Network）インタフェース５３と、ＨＤＤ５４とを有する。また、コンピュータ５０は、スーパーＩＯ（Input  Output）５５と、ＤＶＩ（Digital  Visual  Interface）５６と、ＯＤＤ（Optical  Disk  Drive）５７とを有する。
【００７９】
メインメモリ５１は、プログラムやプログラムの実行途中結果などを記憶するメモリである。ＣＰＵ５２は、メインメモリ５１からプログラムを読み出して実行する中央処理装置である。ＣＰＵ５２は、メモリコントローラを有するチップセットを含む。
【００８０】
ＬＡＮインタフェース５３は、コンピュータ５０をＬＡＮ経由で他のコンピュータに接続するためのインタフェースである。ＨＤＤ５４は、プログラムやデータを格納するディスク装置であり、スーパーＩＯ５５は、マウスやキーボードなどの入力装置を接続するためのインタフェースである。ＤＶＩ５６は、液晶表示装置を接続するインタフェースであり、ＯＤＤ５７は、ＤＶＤの読み書きを行う装置である。
【００８１】
ＬＡＮインタフェース５３は、ＰＣＩエクスプレス（ＰＣＩｅ）によりＣＰＵ５２に接続され、ＨＤＤ５４及びＯＤＤ５７は、ＳＡＴＡ（Serial  Advanced  Technology  Attachment）によりＣＰＵ５２に接続される。スーパーＩＯ５５は、ＬＰＣ（Low  Pin  Count）によりＣＰＵ５２に接続される。
【００８２】
そして、コンピュータ５０において実行される故障情報管理プログラムは、ＤＶＤに記憶され、ＯＤＤ５７によってＤＶＤから読み出されてコンピュータ５０にインストールされる。あるいは、故障情報管理プログラムは、ＬＡＮインタフェース５３を介して接続された他のコンピュータシステムのデータベースなどに記憶され、これらのデータベースから読み出されてコンピュータ５０にインストールされる。そして、インストールされた故障情報管理プログラムは、ＨＤＤ５４に記憶され、メインメモリ５１に読み出されてＣＰＵ５２によって実行される。
【００８３】
また、実施例では、並列処理装置１について説明したが、本発明はこれに限定されるものではなく、起動時に故障診断が行われる他の装置にも同様に適用することができる。
【符号の説明】
【００８４】
１    並列処理装置
２    故障情報管理装置
３    電源制御装置
４    演算ユニット
４ａ    ＯＳ
４ｂ    ＰＯＳＴ
４ｃ    診断テーブル
２１    １次データ記憶部
２２    ２次データ記憶部
２３    搭載数記憶部
２４    格納部
２５    集計部
２６    故障率算出部
３１    電源制御部
４１    ＢＭＣ
４２    ＣＰＵ
４２ａ    ＣＰＵ故障通知部
４３    主記憶装置
４４    ＰＣＩＲＣ
４５    ＨＤＤＣｔｌｒ
４６    ＨＤＤ
４７    故障率記憶部
５０    コンピュータ
５１    メインメモリ
５２    ＣＰＵ
５３    ＬＡＮインタフェース
５４    ＨＤＤ
５５    スーパーＩＯ
５６    ＤＶＩ
５７    ＯＤＤ
【図１】
2018092333.tif 000004
【図２】
2018092333.tif 000005
【図３】
2018092333.tif 000006
【図４】
2018092333.tif 000007
【図５】
2018092333.tif 000008
【図６】
2018092333.tif 000009
【図７】
2018092333.tif 000010
【図８】
2018092333.tif 000011
【図９Ａ】
2018092333.tif 000012
【図９Ｂ】
2018092333.tif 000013
【図９Ｃ】
2018092333.tif 000014
【図１０】
2018092333.tif 000015
【図１１】
2018092333.tif 000016
【図１２】
2018092333.tif 000017
【図１３】
2018092333.tif 000018
【図１４】
2018092333.tif 000019
【図１５】
2018092333.tif 000020
【図１６】
2018092333.tif 000021
【図１７】
2018092333.tif 000022
【図１８】
2018092333.tif 000023