(57)【要約】【課題】キャッシュおよびＣＰＵの状況に応じて、システムの稼動を継続するべきか適切な判断をすることを課題とする。【解決手段】キャッシュウェイ縮退監視装置１のソフトウェア１０は、ＣＰＵが使用されている割合を示すＣＰＵ使用率を計測する。また、キャッシュウェイ縮退監視装置１のハードウェア２０は、キャッシュにヒットした回数を示すキャッシュヒット数を計測する。そして、ソフトウェア１０は、キャッシュの縮退が発生した場合には、計測されたＣＰＵ使用率と、ハードウェア２０によって計測されたキャッシュヒット数とが所定の閾値を超えているか否かを監視する。【選択図】        図１
2008210142.tif 000002
【特許請求の範囲】
【請求項１】
複数のウェイで構成されるキャッシュの縮退を制御し、当該縮退制御されたキャッシュの障害状況を監視するキャッシュウェイ縮退監視装置であって、
ＣＰＵが使用されている割合を示すＣＰＵ使用率を計測するＣＰＵ使用率計測手段と、
前記キャッシュにヒットした回数を示すキャッシュヒット数を計測するキャッシュヒット数計測手段と、
キャッシュの縮退が発生した場合には、前記ＣＰＵ使用率計測手段によって計測された前記ＣＰＵ使用率と、前記キャッシュヒット数計測手段によって計測された前記キャッシュヒット数とが所定の閾値を超えているか否かを監視する監視手段と、
を備えることを特徴とするキャッシュウェイ縮退監視装置。
【請求項２】
前記ＣＰＵ使用率計測手段によって計測された前記ＣＰＵ使用率をハードウェア内のＣＰＵ使用率格納部に格納するＣＰＵ使用率格納手段と、
前記キャッシュヒット数計測手段によって計測された前記キャッシュヒット数をハードウェア内のキャッシュヒット数格納部に格納するキャッシュヒット数格納手段とをさらに備え、
前記監視手段は、前記ＣＰＵ使用率格納部に格納された前記ＣＰＵ使用率と、前記キャッシュヒット数格納部に格納された前記キャッシュヒット数とが所定の閾値を超えているか否かを監視することを特徴とする請求項１に記載のキャッシュウェイ縮退監視装置。
【請求項３】
前記監視手段によって監視された前記ＣＰＵ使用率および前記キャッシュヒット数が前記所定の閾値に近い場合には、前記監視手段の監視周期をソフトウェアが段階的に変更する周期変更手段をさらに備え、
前記監視手段は、前記周期変更手段によって変更された前記監視周期に基づいて、前記ＣＰＵ使用率および前記キャッシュヒット数が所定の閾値を超えているか否かを監視することを特徴とする請求項１に記載のキャッシュウェイ縮退監視装置。
【請求項４】
前記監視手段によって監視された前記ＣＰＵ使用率および前記キャッシュヒット数が前記所定の閾値に近い場合には、前記監視手段の監視周期をハードウェアが段階的に変更する周期変更手段をさらに備え、
前記監視手段は、前記周期変更手段によって変更された前記監視周期に基づいて、前記ＣＰＵ使用率および前記キャッシュヒット数が所定の閾値を超えているか否かを監視することを特徴とする請求項１に記載のキャッシュウェイ縮退監視装置。
【請求項５】
複数のウェイで構成されるキャッシュの縮退を制御し、当該縮退制御されたキャッシュの障害状況を監視するキャッシュウェイ縮退監視方法であって、
ＣＰＵが使用されている割合を示すＣＰＵ使用率を計測するＣＰＵ使用率計測工程と、
前記キャッシュにヒットした回数を示すキャッシュヒット数を計測するキャッシュヒット数計測工程と、
キャッシュの縮退が発生した場合には、前記ＣＰＵ使用率計測工程によって計測された前記ＣＰＵ使用率と、前記キャッシュヒット数計測工程によって計測された前記キャッシュヒット数とが所定の閾値を超えているか否かを監視する監視工程と、
を含んだことを特徴とするキャッシュウェイ縮退監視方法。
【請求項６】
複数のウェイで構成されるキャッシュの縮退を制御し、当該縮退制御されたキャッシュの障害状況を監視するキャッシュウェイ縮退監視方法をコンピュータに実行させるキャッシュウェイ縮退監視プログラムであって、
ＣＰＵが使用されている割合を示すＣＰＵ使用率を計測するＣＰＵ使用率計測手順と、
前記キャッシュにヒットした回数を示すキャッシュヒット数を計測するキャッシュヒット数計測手順と、
キャッシュの縮退が発生した場合には、前記ＣＰＵ使用率計測手順によって計測された前記ＣＰＵ使用率と、前記キャッシュヒット数計測手順によって計測された前記キャッシュヒット数とが所定の閾値を超えているか否かを監視する監視手順と、
をコンピュータに実行させることを特徴とするキャッシュウェイ縮退監視プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、複数のウェイで構成されるキャッシュの縮退を制御し、当該縮退制御されたキャッシュの障害状況を監視するキャッシュウェイ縮退監視装置、キャッシュウェイ縮退監視方法およびキャッシュウェイ縮退監視プログラムに関する。
【背景技術】
【０００２】
従来より、ブロック（Ｂｌｏｃｋ）と呼ばれる記憶単位をインデックス数分含んだウェイ（Ｗａｙ）を並列に設けられたウェイ構成のキャッシュメモリが知られている。このようなキャッシュメモリを縮退制御（データ格納領域のいずれかを使用不可能な状態に制御）する技術が実施されている。
【０００３】
具体的には、キャッシュメモリ内に発生した訂正可能なエラーの回数をウェイごとにカウントしておき、そのエラー回数が所定の閾値に達したウェイを縮退制御する（例えば、特許文献１参照）。そして、このような縮退制御がなされたキャッシュメモリのマルチプロセッサシステムを停止して、ボード交換を行う復旧作業を実施する。
【０００４】
【特許文献１】特開平２−３０２８５６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、上記した特許文献１の技術では、縮退制御がなされると、サービス提供が可能な状態（例えば、ＣＰＵ使用率が低い状態）でもボード交換を行うこととなり、システムの稼動を継続できないという課題があった。
【０００６】
そこで、この発明は、上述した従来技術の課題を解決するためになされたものであり、キャッシュメモリの状態に応じて、システムの稼動を継続して運転することを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するため、請求項１に係る発明は、複数のウェイで構成されるキャッシュの縮退を制御し、当該縮退制御されたキャッシュの障害状況を監視するキャッシュウェイ縮退監視装置であって、ＣＰＵが使用されている割合を示すＣＰＵ使用率を計測するＣＰＵ使用率計測手段と、前記キャッシュにヒットした回数を示すキャッシュヒット数を計測するキャッシュヒット数計測手段と、キャッシュの縮退が発生した場合には、前記ＣＰＵ使用率計測手段によって計測された前記ＣＰＵ使用率と、前記キャッシュヒット数計測手段によって計測された前記キャッシュヒット数とが所定の閾値を超えているか否かを監視する監視手段と、を備えることを特徴とする。
【０００８】
また、請求項２に係る発明は、上記の発明において、前記ＣＰＵ使用率計測手段によって計測された前記ＣＰＵ使用率をハードウェア内のＣＰＵ使用率格納部に格納するＣＰＵ使用率格納手段と、前記キャッシュヒット数計測手段によって計測された前記キャッシュヒット数をハードウェア内のキャッシュヒット数格納部に格納するキャッシュヒット数格納手段とをさらに備え、前記監視手段は、前記ＣＰＵ使用率格納部に格納された前記ＣＰＵ使用率と、前記キャッシュヒット数格納部に格納された前記キャッシュヒット数とが所定の閾値を超えているか否かを監視することを特徴とする。
【０００９】
また、請求項３に係る発明は、上記の発明において、前記監視手段によって監視された前記ＣＰＵ使用率および前記キャッシュヒット数が前記所定の閾値に近い場合には、前記監視手段の監視周期をソフトウェアが段階的に変更する周期変更手段をさらに備え、前記監視手段は、前記周期変更手段によって変更された前記監視周期に基づいて、前記ＣＰＵ使用率および前記キャッシュヒット数が所定の閾値を超えているか否かを監視することを特徴とする。
【００１０】
また、請求項４に係る発明は、上記の発明において、前記監視手段によって監視された前記ＣＰＵ使用率および前記キャッシュヒット数が前記所定の閾値に近い場合には、前記監視手段の監視周期をハードウェアが段階的に変更する周期変更手段をさらに備え、前記監視手段は、前記周期変更手段によって変更された前記監視周期に基づいて、前記ＣＰＵ使用率および前記キャッシュヒット数が所定の閾値を超えているか否かを監視することを特徴とする。
【００１１】
また、請求項５に係る発明は、複数のウェイで構成されるキャッシュの縮退を制御し、当該縮退制御されたキャッシュの障害状況を監視するキャッシュウェイ縮退監視方法であって、ＣＰＵが使用されている割合を示すＣＰＵ使用率を計測するＣＰＵ使用率計測工程と、前記キャッシュにヒットした回数を示すキャッシュヒット数を計測するキャッシュヒット数計測工程と、キャッシュの縮退が発生した場合には、前記ＣＰＵ使用率計測工程によって計測された前記ＣＰＵ使用率と、前記キャッシュヒット数計測工程によって計測された前記キャッシュヒット数とが所定の閾値を超えているか否かを監視する監視工程と、を含んだことを特徴とする。
【００１２】
また、請求項６に係る発明は、複数のウェイで構成されるキャッシュの縮退を制御し、当該縮退制御されたキャッシュの障害状況を監視するキャッシュウェイ縮退監視方法をコンピュータに実行させるキャッシュウェイ縮退監視プログラムであって、ＣＰＵが使用されている割合を示すＣＰＵ使用率を計測するＣＰＵ使用率計測手順と、前記キャッシュにヒットした回数を示すキャッシュヒット数を計測するキャッシュヒット数計測手順と、キャッシュの縮退が発生した場合には、前記ＣＰＵ使用率計測手順によって計測された前記ＣＰＵ使用率と、前記キャッシュヒット数計測手順によって計測された前記キャッシュヒット数とが所定の閾値を超えているか否かを監視する監視手順と、をコンピュータに実行させることを特徴とする。
【発明の効果】
【００１３】
請求項１、５または６の発明によれば、ＣＰＵが使用されている割合を示すＣＰＵ使用率を計測し、キャッシュにヒットした回数を示すキャッシュヒット数を計測し、キャッシュの縮退が発生した場合には、計測されたＣＰＵ使用率と、計測されたキャッシュヒット数とが所定の閾値を超えているか否かを監視するので、例えば、キャッシュ縮退状態であっても、サービスの負荷状態が低負荷状態（ＣＰＵの使用率が低い状態）である場合には、システムの稼動を停止しない結果、キャッシュおよびＣＰＵの状況に応じて、キャッシュが使えない状態（システムとしての処理能力を満足できない状態）を判定し、システムの稼動を継続するべきか適切な判断をすることが可能である。
【００１４】
また、請求項２の発明によれば、計測されたＣＰＵ使用率をハードウェア内のＣＰＵ使用率格納部に格納し、計測されたキャッシュヒット数をハードウェア内のキャッシュヒット数格納部に格納し、ＣＰＵ使用率格納部に格納されたＣＰＵ使用率と、キャッシュヒット数格納部に格納されたキャッシュヒット数とが所定の閾値を超えているか否かを監視するので、ハードウェアが自立して、システムの稼動を継続するべきか否かの判断をすることが可能である。
【００１５】
また、請求項３の発明によれば、監視されたＣＰＵ使用率およびキャッシュヒット数が所定の閾値に近い場合には、監視周期をソフトウェアが段階的に変更し、変更された監視周期に基づいて、ＣＰＵ使用率およびキャッシュヒット数が所定の閾値を超えているか否かを監視するので、例えば、キャッシュの縮退が頻繁に発生するような場合には、監視周期を短くする結果、システムのサービスが満足できない状態になる前に、ソフトウェアによる迅速な障害検出が可能である。
【００１６】
また、請求項４の発明によれば、監視されたＣＰＵ使用率およびキャッシュヒット数が所定の閾値に近い場合には監視周期をハードウェアが段階的に変更し、変更された監視周期に基づいて、ＣＰＵ使用率およびキャッシュヒット数が所定の閾値を超えているか否かを監視するので、例えば、キャッシュの縮退が頻繁に発生するような場合には、監視周期を短くする結果、システムのサービスが満足できない状態になる前に、ハードウェアによる迅速な障害検出が可能である。
【発明を実施するための最良の形態】
【００１７】
以下に添付図面を参照して、この発明に係るキャッシュウェイ縮退監視装置、キャッシュウェイ縮退監視方法およびキャッシュウェイ縮退監視プログラムの実施例を詳細に説明する。
【実施例１】
【００１８】
以下の実施例では、実施例１に係るキャッシュウェイ縮退監視装置の概要および特徴、キャッシュウェイ縮退監視装置の構成および処理の流れを順に説明し、最後に実施例１による効果を説明する。
【００１９】
［実施例１に係るキャッシュウェイ縮退監視装置の概要および特徴］
まず最初に、図１を用いて、実施例１に係るキャッシュウェイ縮退監視装置の概要および特徴を説明する。図１は、実施例１に係るキャッシュウェイ縮退監視装置の概要および特徴を説明するための図である。
【００２０】
実施例１のキャッシュウェイ縮退監視装置１では、複数のウェイで構成されるキャッシュの縮退を制御し、当該縮退制御されたキャッシュの障害状況を監視することを概要とする。そして、このキャッシュウェイ縮退監視装置１では、キャッシュおよびＣＰＵの状況に応じて、システムの稼動を継続するべきか適切な判断をする点に主たる特徴がある。
【００２１】
この主たる特徴について具体的に説明すると、キャッシュウェイ縮退監視装置１は、ハードウェアを制御およびソフトウェア処理を行なうソフトウェア（周期監視スレッド）１０と、縮退制御やキャッシュヒットカウント計測を行うハードウェア２０とで構成される。
【００２２】
このソフトウェア１０は、キャッシュの縮退によるサービスの限界を予めテーブルとして記憶する閾値情報テーブル（後に図４を用いて詳述）１５を備える。また、ハードウェア２０は、ハードウェア２０によって計測されたキャッシュ縮退の情報を記憶するキャッシュウェイ状態レジスタ２３と、ハードウェア２０によって計測されたキャッシュヒット数を記憶するキャッシュヒットカウンタ２４とを記憶する。
【００２３】
このような構成のもと、キャッシュウェイ縮退監視装置１のソフトウェア１０は、ＣＰＵが使用されている割合を示すＣＰＵ使用率を計測する（図１の（１）参照）。具体的には、ソフトウェア１０は、ソフトウェア１０のサービス処理が行なわれているかをアイドルスレッドの動作時間より計測する。
【００２４】
また、キャッシュウェイ縮退監視装置１のハードウェア２０は、キャッシュにヒットした回数を示すキャッシュヒット数を計測する（図１の（２）参照）。具体的には、ハードウェア２０は、アクセスを受け付けたデータがキャッシュ内にある場合には、キャッシュヒットカウンタをインクリメントする。
【００２５】
そして、ソフトウェア１０は、キャッシュの縮退が発生した場合には（図１の（３）参照）、計測されたＣＰＵ使用率と、ハードウェア２０によって計測されたキャッシュヒット数とが所定の閾値を超えているか否かを監視する（図１の（４）参照）。
【００２６】
具体的には、ハードウェア２０は、キャッシュの縮退が発生した場合には、キャッシュウェイ状態レジスタ２３の該当ビットをオンにする。そして、ソフトウェア１０は、キャッシュウェイ状態レジスタ２３からビット情報を周期的に読み出し、ビットがオンである場合には、ＣＰＵ使用率およびキャッシュヒット数が閾値情報テーブル１５に記憶されている閾値を超えているかを監視する。
【００２７】
その後、ソフトウェア１０は、ＣＰＵ使用率およびキャッシュヒット数が閾値情報テーブル１５に記憶されている閾値を超えていると判定した場合には、縮退発生の原因を履歴情報として記憶し、ボードの交換を図示しない出力部に表示する。
【００２８】
このように、キャッシュウェイ縮退監視装置１は、例えば、キャッシュ縮退状態であっても、サービスの負荷状態が低負荷状態（ＣＰＵの使用率が低い状態）である場合には、システムの稼動を停止しない結果、上記した主たる特徴のごとく、キャッシュおよびＣＰＵの状況に応じて、キャッシュが使えない状態（システムとしての処理能力を満足できない状態）を判定し、システムの稼動を継続するべきか適切な判断をすることが可能である。
【００２９】
［マルチプロセッサシステムの構成］
次に、図２を用いて、図１に示したキャッシュウェイ縮退監視装置１が適用されるマルチプロセッサシステム１００の構成を説明する。図２は、実施例１に係るマルチプロセッサシステムの構成を示すブロック図である。同図に示すように、このマルチプロセッサシステム１００は、ＣＰＵ（キャッシュウェイ縮退監視装置）１、ウェイ構成であるキャッシュ２、ＣＰＵ１によってアクセスされるデータを記憶するＭＭ（メインメモリ）３、ＰＣＩバスを送受信するデータを中継して変換するＰｒｏ−ＰＣＩＢｕｓＢｒｉｄｇｅ４、ＰＣＩバスに接続された複数のＰＣＩＤｅｖｉｃｅ５ａ〜５ｘおよび他プロセッサ制御部７で構成され、他プロセッサ制御部７を介して他のプロセッサと接続されている。
【００３０】
［キャッシュウェイ縮退監視装置の構成］
次に、図３および図４を用いて、図１に示したキャッシュウェイ縮退監視装置１の構成を説明する。図３は、実施例１に係るキャッシュウェイ縮退監視装置１の構成を示すブロック図であり、図４は、閾値情報テーブルの一例を説明するための図である。図３に示すように、このキャッシュウェイ縮退監視装置１は、ソフトウェア（周期監視スレッド）１０とハードウェア２０とで構成される。
【００３１】
このソフトウェア１０は、障害監視部１１、ＣＰＵ使用率計測部１２、障害処理部１３、ボード交換報知部１４および閾値情報テーブル１５を備える。ハードウェア２０は、キャッシュヒット数計測部２１、縮退制御部２２、キャッシュウェイ状態レジスタ２３およびキャッシュヒットカウンタ２４を備える。以下にこれらの各部の処理を説明する。
【００３２】
閾値情報テーブル１５は、キャッシュの縮退によるサービスの限界を予めテーブルとして記憶する。具体的には、閾値情報テーブル１５は、図４に示すように、ＣＰＵ使用率、キャッシュウェイ状態レジスタのビット、キャッシュヒットカウンタの閾値をそれぞれ対応付けて記憶し、後述する障害判定処理の際に参照される。
【００３３】
つまり、キャッシュウェイ状態レジスタのビットが「１」である場合に、計測されたＣＰＵ使用率に対応するキャッシュヒット率よりもハードウェアによって計測されたキャッシュヒット率が高いか否かを判定して、障害処理を行うかを判断する。具体的な例を挙げて説明すると、後述する障害監視部１１は、キャッシュ縮退レジスタが「ＯＮ＝１」となり、ＣＰＵ使用率が７５％の場合、キャッシュヒットカウンタが６０００回以上ヒットしていれば、キャッシュが満足に使えない状態であると判断する。
【００３４】
障害監視部１１は、キャッシュの縮退が発生した場合には、計測されたＣＰＵ使用率と、ハードウェア２０によって計測されたキャッシュヒット数とが所定の閾値を超えているか否かを監視する。具体的には、障害監視部１１は、キャッシュウェイ状態レジスタ２３からビット情報を読み出し、正常であることを示すビット「０」である場合には、所定の時間ごとにキャッシュウェイ状態レジスタ２３からビット情報を読み出す処理を繰り返す。
【００３５】
そして、障害監視部１１は、キャッシュウェイ状態レジスタ２３からビット情報を読み出し、異常であることを示すビット「１」である場合には、キャッシュヒットカウンタ２４からキャッシュヒット数を読み出す。続いて、障害監視部１１は、ＣＰＵ使用率計測部１２にＣＰＵの使用率を計測する指示を通知し、ＣＰＵ使用率計測部１２によって計測されたＣＰＵ使用率を取得し、閾値情報テーブル１５を参照して障害処理判定を行う。
【００３６】
つまり、障害監視部１１は、障害処理として、閾値情報テーブル１５を参照し、計測されたＣＰＵ使用率に対応するキャッシュカウンタ数の閾値を、キャッシュヒットカウンタ２４から読み出されたキャッシュヒット数の値が超えているかを判定する。
【００３７】
この結果、障害監視部１１は、キャッシュカウンタ数の閾値をキャッシュヒット数の値が超えていない場合には、その後周期的にキャッシュヒットカウンタ２４からキャッシュヒット数を読み出して障害判定処理を繰り返し行う。そして、障害監視部１１は、キャッシュカウンタ数の閾値をキャッシュヒット数の値が超えた場合には、障害処理を行う指示を障害処理部１３に通知する。
【００３８】
ＣＰＵ使用率計測部１２は、キャッシュウェイ縮退監視装置１のソフトウェア１０によってＣＰＵが使用されている割合を示すＣＰＵ使用率を計測する。具体的には、ＣＰＵ使用率計測部１２は、障害監視部１１からＣＰＵの使用率を計測する指示を受け付けると、アイドルスレッドの動作時間からＣＰＵ使用率を計測し、計測されたＣＰＵ使用率を障害監視部１１に通知する。
【００３９】
障害処理部１３は、縮退発生の原因を履歴情報として図示しない記憶部に記憶する障害処理を行う。具体的には、障害処理部１３は、障害処理を行う指示を障害監視部１１から受け付けると、縮退発生の原因を履歴情報として図示しない記憶部に記憶する障害処理を行い、ボード交換報知部１４にボード交換の報知の指示を通知する。
【００４０】
ボード交換報知部１４は、キャッシュが使えない状態（システムとしての処理能力を満足できない状態）である場合に、ボード交換する旨を図示しない所定の出力部で報知する。具体的には、ボード交換報知部１４は、障害処理部１３からボード交換の報知の指示を受け付けると、ボード交換する旨を図示しない所定の出力部で報知する。
【００４１】
ハードウェア２０のキャッシュウェイ状態レジスタ２３は、ハードウェア２０によって計測されたキャッシュ縮退の情報を記憶する。具体的には、キャッシュウェイ状態レジスタ２３は、キャッシュの縮退が発生した場合に、該当ビットをオンにして記憶する。
【００４２】
キャッシュヒットカウンタ２４は、ハードウェア２０によって計測されたキャッシュヒット数を記憶する。具体的には、キャッシュヒットカウンタ２４は、アクセスを受け付けたデータがキャッシュ内にある場合には、キャッシュヒットカウンタをインクリメントする。そして、キャッシュヒットカウンタ２４は、キャッシュの縮退が発生した場合に、障害監視部１１によってキャッシュヒット数が読み出される。
【００４３】
キャッシュヒット数計測部２１は、キャッシュにヒットした回数を示すキャッシュヒット数を計測する。具体的には、ハードウェア２０は、アクセスを受け付けたデータがキャッシュ内にある場合には、キャッシュヒットカウンタをインクリメントする。
【００４４】
縮退制御部２２は、キャッシュに故障が発生した場合に、縮退を制御する。具体的には、縮退制御部２２は、キャッシュの縮退が発生した場合には、キャッシュウェイ状態レジスタ２３の該当ビットをオンにする。
【００４５】
［キャッシュウェイ縮退監視装置による処理］
次に、図５を用いて、実施例１に係るキャッシュウェイ縮退監視装置１による処理を説明する。図５は、実施例１に係るキャッシュウェイ縮退監視装置１の処理動作を示すフローチャートである。
【００４６】
同図に示すように、キャッシュウェイ縮退監視装置１のソフトウェア１０は、障害処理を行う判定に用いる閾値の初期設定を閾値情報テーブル１５に対して行う（ステップＳ１０１）。そして、ソフトウェア１０は、キャッシュウェイ状態レジスタ２３からビット情報を読み出し（ステップＳ１０２）、正常であることを示すビット「０」である場合には（ステップＳ１０３）、所定の時間ごとにキャッシュウェイ状態レジスタ２３からビット情報を読み出す処理を繰り返す（ステップＳ１０４、ステップＳ１０５）。
【００４７】
そして、ソフトウェア１０は、キャッシュウェイ状態レジスタ２３からビット情報を読み出し（ステップＳ１０６）、異常であることを示すビット「１」である場合には（ステップＳ１０７）、キャッシュヒットカウンタ２４からキャッシュヒット数を読み出す（ステップＳ１０８、ステップＳ１０９）。続いて、ソフトウェア１０は、計測されたＣＰＵ使用率を取得し、閾値情報テーブル１５を参照して障害処理判定を行う（ステップＳ１１０）。
【００４８】
この結果、ソフトウェア１０は、キャッシュカウンタ数の閾値をキャッシュヒット数の値が超えていない場合には（ステップＳ１１０）、その後周期的にキャッシュヒットカウンタ２４からキャッシュヒット数を読み出して障害判定処理を繰り返し行う（ステップＳ１１１、ステップＳ１１２）。そして、ソフトウェア１０は、キャッシュカウンタ数の閾値をキャッシュヒット数の値が超えた場合には（ステップＳ１１３）、縮退発生の原因を履歴情報として所定の記憶部に記憶する障害処理を行い（ステップＳ１１４）、ボード交換報知部１４にボード交換の報知の指示を通知する（ステップＳ１１５）。
【００４９】
[実施例１の効果]
上述してきたように、ＣＰＵが使用されている割合を示すＣＰＵ使用率を計測し、キャッシュにヒットした回数を示すキャッシュヒット数を計測し、キャッシュの縮退が発生した場合には、計測されたＣＰＵ使用率と、計測されたキャッシュヒット数とが所定の閾値を超えているか否かを監視するので、例えば、キャッシュ縮退状態であっても、サービスの負荷状態が低負荷状態（ＣＰＵの使用率が低い状態）である場合には、システムの稼動を停止しない結果、キャッシュおよびＣＰＵの状況に応じて、キャッシュが使えない状態（システムとしての処理能力を満足できない状態）を判定し、システムの稼動を継続するべきか適切な判断をすることが可能である。
【実施例２】
【００５０】
ところで、上記の実施例１では、ソフトウェアがシステムの稼動を継続するべきかを判定する障害判定を行う場合を説明したが、本発明はこれに限定されるものではなく、ハードウェアが障害判定を行うようにしてもよい。
【００５１】
そこで、以下の実施例２では、ハードウェアが障害判定を行い、その判定結果をソフトウェアに通知する場合として、図６および図７を用いて、実施例２におけるキャッシュウェイ縮退監視装置１ａの概要と特徴、構成および処理について説明する。図６は、実施例２に係るキャッシュウェイ縮退監視装置１ａの概要および特徴を説明するための図であり、図７は、実施例２に係るキャッシュウェイ縮退監視装置１ａの処理手順を説明するためのフローチャートである。
【００５２】
まず最初に、実施例２に係るキャッシュウェイ縮退監視装置１ａの概要および特徴を説明する。図６に示すように、キャッシュウェイ縮退監視装置１ａのハードウェア２０ａは、実施例１と同様に、キャッシュウェイ状態レジスタ２３ａおよびキャッシュヒットカウンタ２４ａを備える。そして、実施例１とは異なり、実施例２に係るハードウェア２０ａは、ＣＰＵ使用率を格納するＣＰＵ使用率情報レジスタ２５ａと、ソフトウェアによって設定されたキャッシュの縮退によるサービスの限界を記憶する閾値情報テーブル２６ａとを備える点が相違する。
【００５３】
そして、実施例１とは異なり、実施例２に係るキャッシュウェイ縮退監視装置１ａのソフトウェア１０ａは、測定したＣＰＵ使用率を周期的にＣＰＵ使用率情報レジスタ２５ａに設定する。続いて、キャッシュウェイ縮退監視装置１ａのハードウェア２０ａは、ＣＰＵ使用率情報レジスタ２５ａに格納されたＣＰＵ使用率と、キャッシュヒットカウンタ２４ａに格納されたキャッシュヒット数とが閾値情報テーブル２６ａに格納された所定の閾値を超えているか否かを周期的に監視する。
【００５４】
その結果、ハードウェア２０ａは、所定の閾値を超えた場合には、障害処理を行う旨を指示するウェイ縮退通知をソフトウェア１０ａに通知する。そして、ウェイ縮退通知を受け付けたソフトウェア１０ａは、縮退発生の原因を履歴情報として記憶し、ボードの交換を図示しない出力部に表示する。
【００５５】
次に、図７を用いて実施例２に係るキャッシュウェイ縮退監視装置１ａの処理について説明する。実施例２の処理は、図５に示した実施例１に係るキャッシュウェイ縮退監視装置１の処理と比較して、ソフトウェアがシステムの稼動を継続するべきかを判定する障害判定を行う点が相違する。
【００５６】
すなわち、図７に示すように、キャッシュウェイ縮退監視装置１ａのソフトウェア１０ａは、閾値情報テーブル２６ａに閾値情報を設定した後（ステップＳ２０１）、ＣＰＵ使用率の計測を開始する（ステップＳ２０２）。そして、ソフトウェア１０ａは、測定したＣＰＵ使用率を周期的にＣＰＵ使用率情報レジスタ２５ａに設定する（ステップＳ２０３）。
【００５７】
そして、ハードウェア２０ａは、ＣＰＵ使用率情報レジスタ２５ａに格納されたＣＰＵ使用率と、キャッシュヒットカウンタ２４ａに格納されたキャッシュヒット数とが閾値情報テーブル２６ａに格納された所定の閾値を超えているか否かを周期的に監視し（ステップＳ２０４）、その結果、所定の閾値を超えた場合には、障害処理を行う旨を指示するウェイ縮退通知をソフトウェア１０ａに通知する（ステップＳ２０５）。
【００５８】
そして、ウェイ縮退通知を受け付けたソフトウェア１０ａは、縮退発生の原因を履歴情報として記憶する障害処理を行い（ステップＳ２０６）、ボードの交換を出力部で報知する（ステップＳ２０７）。
【００５９】
このように、上記の実施例２では、計測されたＣＰＵ使用率をハードウェア内のＣＰＵ使用率情報レジスタ２５ａに格納し、計測されたキャッシュヒット数をハードウェア内のキャッシュヒットカウンタ２４ａに格納し、ＣＰＵ使用率情報レジスタ２５ａに格納されたＣＰＵ使用率と、キャッシュヒットカウンタ２４ａに格納されたキャッシュヒット数とが所定の閾値を超えているか否かを監視するので、ハードウェアが自立して、システムの稼動を継続するべきか否かの判断をすることが可能である。
【実施例３】
【００６０】
ところで、上記の実施例１では、キャッシュの縮退が発生した場合に、ソフトウェア１０が一定の周期でハードウェア２０からキャッシュヒット数を読み出す場合を説明したが、本発明はこれに限定されるものではなく、ソフトウェア１０がキャッシュヒット数を読み出すタイミングを調整するようにしてもよい。
【００６１】
そこで、以下の実施例３では、ソフトウェア１０ｂがキャッシュヒット数を読み出すタイミングを調整する場合として、図８を用いて、実施例３におけるキャッシュウェイ縮退監視装置１ｂの概要と特徴について説明する。図８は、実施例３に係るキャッシュウェイ縮退監視装置１ｂの概要および特徴を説明するための図である。
【００６２】
同図に示すように、実施例３に係るキャッシュウェイ縮退監視装置１ｂは、実施例１と同様に、ＣＰＵ使用率およびキャッシュヒット数が閾値情報テーブル１５ｂに記憶されている閾値を超えているかを監視し、ＣＰＵ使用率およびキャッシュヒット数が所定の閾値に近い場合には、監視周期をソフトウェア１０ｂが段階的に変更する。
【００６３】
例えば、キャッシュウェイ縮退監視装置１ｂは、ＣＰＵ使用率およびキャッシュヒット数が所定の閾値に近い場合には、サービスが満足できない状態になる前に障害を迅速に検出するため、監視周期を短くする。
【００６４】
このように、上記の実施例３では、監視されたＣＰＵ使用率およびキャッシュヒット数が所定の閾値に近い場合には、監視周期をソフトウェアが段階的に変更し、変更された監視周期に基づいて、ＣＰＵ使用率およびキャッシュヒット数が所定の閾値を超えているか否かを監視するので、例えば、キャッシュの縮退が頻繁に発生するような場合には、監視周期を短くする結果、システムのサービスが満足できない状態になる前に、ソフトウェアによる迅速な障害検出が可能である。
【実施例４】
【００６５】
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では実施例４として本発明に含まれる他の実施例を説明する。
【００６６】
（１）監視タイミング
また、上記の実施例３では、ソフトウェアがキャッシュヒット数を読み出すタイミングを調整する場合を説明したが、本発明はこれに限定されるものではなく、ハードウェア２０ｃがキャッシュヒット数を読み出すタイミングを調整するようにしてもよい。
【００６７】
具体的には、図９に示すように、ハードウェア２０ｃは、監視タイミングに関する情報をソフトウェア１０ｃに通知し、ソフトウェア１０ｃがＣＰＵ使用率をＣＰＵ使用率情報レジスタ２５ｃに設定する周期を制御する。
【００６８】
このように、監視されたＣＰＵ使用率およびキャッシュヒット数が所定の閾値に近い場合には監視周期をハードウェアが段階的に変更し、変更された監視周期に基づいて、ＣＰＵ使用率およびキャッシュヒット数が所定の閾値を超えているか否かを監視するので、例えば、キャッシュの縮退が頻繁に発生するような場合には、監視周期を短くする結果、システムのサービスが満足できない状態になる前に、ハードウェアによる迅速な障害検出が可能である。
【００６９】
（２）システム構成等
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、障害監視部１１と障害処理部１３を統合してもよい。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【００７０】
また、本実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、閾値情報テーブルに格納される閾値は、任意に変更するようにしてもよい。
【００７１】
なお、本実施例で説明したキャッシュウェイ縮退監視方法は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。このプログラムは、インターネットなどのネットワークを介して配布することができる。また、このプログラムは、ハードディスク、フレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することもできる。
【００７２】
（付記１）複数のウェイで構成されるキャッシュの縮退を制御し、当該縮退制御されたキャッシュの障害状況を監視するキャッシュウェイ縮退監視装置であって、
ＣＰＵが使用されている割合を示すＣＰＵ使用率を計測するＣＰＵ使用率計測手段と、
前記キャッシュにヒットした回数を示すキャッシュヒット数を計測するキャッシュヒット数計測手段と、
キャッシュの縮退が発生した場合には、前記ＣＰＵ使用率計測手段によって計測された前記ＣＰＵ使用率と、前記キャッシュヒット数計測手段によって計測された前記キャッシュヒット数とが所定の閾値を超えているか否かを監視する監視手段と、
を備えることを特徴とするキャッシュウェイ縮退監視装置。
【００７３】
（付記２）前記ＣＰＵ使用率計測手段によって計測された前記ＣＰＵ使用率をハードウェア内のＣＰＵ使用率格納部に格納するＣＰＵ使用率格納手段と、
前記キャッシュヒット数計測手段によって計測された前記キャッシュヒット数をハードウェア内のキャッシュヒット数格納部に格納するキャッシュヒット数格納手段とをさらに備え、
前記監視手段は、前記ＣＰＵ使用率格納部に格納された前記ＣＰＵ使用率と、前記キャッシュヒット数格納部に格納された前記キャッシュヒット数とが所定の閾値を超えているか否かを監視することを特徴とする付記１に記載のキャッシュウェイ縮退監視装置。
【００７４】
（付記３）前記監視手段によって監視された前記ＣＰＵ使用率および前記キャッシュヒット数が前記所定の閾値に近い場合には、前記監視手段の監視周期をソフトウェアが段階的に変更する周期変更手段をさらに備え、
前記監視手段は、前記周期変更手段によって変更された前記監視周期に基づいて、前記ＣＰＵ使用率および前記キャッシュヒット数が所定の閾値を超えているか否かを監視することを特徴とする付記１に記載のキャッシュウェイ縮退監視装置。
【００７５】
（付記４）前記監視手段によって監視された前記ＣＰＵ使用率および前記キャッシュヒット数が前記所定の閾値に近い場合には、前記監視手段の監視周期をハードウェアが段階的に変更する周期変更手段をさらに備え、
前記監視手段は、前記周期変更手段によって変更された前記監視周期に基づいて、前記ＣＰＵ使用率および前記キャッシュヒット数が所定の閾値を超えているか否かを監視することを特徴とする付記１に記載のキャッシュウェイ縮退監視装置。
【００７６】
（付記５）複数のウェイで構成されるキャッシュの縮退を制御し、当該縮退制御されたキャッシュの障害状況を監視するキャッシュウェイ縮退監視方法であって、
ＣＰＵが使用されている割合を示すＣＰＵ使用率を計測するＣＰＵ使用率計測工程と、
前記キャッシュにヒットした回数を示すキャッシュヒット数を計測するキャッシュヒット数計測工程と、
キャッシュの縮退が発生した場合には、前記ＣＰＵ使用率計測工程によって計測された前記ＣＰＵ使用率と、前記キャッシュヒット数計測工程によって計測された前記キャッシュヒット数とが所定の閾値を超えているか否かを監視する監視工程と、
を含んだことを特徴とするキャッシュウェイ縮退監視方法。
【００７７】
（付記６）複数のウェイで構成されるキャッシュの縮退を制御し、当該縮退制御されたキャッシュの障害状況を監視するキャッシュウェイ縮退監視方法をコンピュータに実行させるキャッシュウェイ縮退監視プログラムであって、
ＣＰＵが使用されている割合を示すＣＰＵ使用率を計測するＣＰＵ使用率計測手順と、
前記キャッシュにヒットした回数を示すキャッシュヒット数を計測するキャッシュヒット数計測手順と、
キャッシュの縮退が発生した場合には、前記ＣＰＵ使用率計測手順によって計測された前記ＣＰＵ使用率と、前記キャッシュヒット数計測手順によって計測された前記キャッシュヒット数とが所定の閾値を超えているか否かを監視する監視手順と、
をコンピュータに実行させることを特徴とするキャッシュウェイ縮退監視プログラム。
【産業上の利用可能性】
【００７８】
以上のように、本発明に係るキャッシュウェイ縮退監視装置、キャッシュウェイ縮退監視方法およびキャッシュウェイ縮退監視プログラムは複数のウェイで構成されるキャッシュの縮退を制御し、当該縮退制御されたキャッシュの障害状況を監視する場合に有用であり、特に、キャッシュおよびＣＰＵの状況に応じて、システムの稼動を継続するべきか適切な判断をすることに適する。
【図面の簡単な説明】
【００７９】
【図１】実施例１に係るキャッシュウェイ縮退監視装置１の概要および特徴を説明するための図である。
【図２】実施例１に係るマルチプロセッサシステム１００の構成を示すブロック図である。
【図３】実施例１に係るキャッシュウェイ縮退監視装置１の構成を示すブロック図である。
【図４】閾値情報テーブルの一例を説明するための図である。
【図５】実施例１に係るキャッシュウェイ縮退監視装置１の処理動作を示すフローチャートである。
【図６】実施例２に係るキャッシュウェイ縮退監視装置１ａの概要および特徴を説明するための図である。
【図７】実施例２に係るキャッシュウェイ縮退監視装置１ａの処理手順を説明するためのフローチャートである。
【図８】実施例３に係るキャッシュウェイ縮退監視装置１ｂの概要および特徴を説明するための図である。
【図９】実施例４に係るキャッシュウェイ縮退監視装置１ｃの概要および特徴を説明するための図である。
【符号の説明】
【００８０】
１、１ａ、１ｂ、１ｃ  キャッシュウェイ縮退監視装置
１０、１０ａ、１０ｂ、１０ｃ  ソフトウェア
１１  障害監視部
１２  ＣＰＵ使用率計測部
１３  障害処理部
１４  ボード交換報知部
１５  閾値情報テーブル
２０、２０ａ、２０ｂ、２０ｃ  ハードウェア
２１  キャッシュヒット数計測部
２２  縮退制御部
２３  キャッシュウェイ状態レジスタ
２４  キャッシュヒットカウンタ
１００  マルチプロセッサシステム
【図１】
2008210142.tif 000003
【図２】
2008210142.tif 000004
【図３】
2008210142.tif 000005
【図４】
2008210142.tif 000006
【図５】
2008210142.tif 000007
【図６】
2008210142.tif 000008
【図７】
2008210142.tif 000009
【図８】
2008210142.tif 000010
【図９】
2008210142.tif 000011