(57)【要約】      （修正有）【課題】未知の問題を含め、クラスタシステムにおける性能面での特異なノードを効率よく調査できるようにする。【解決手段】性能データ解析手段３により、クラスタシステム１を構成する各ノード１ａ，１ｂ，・・・の性能データが格納された性能データ記憶手段２ａ，２ｂ，・・・から、各ノード１ａ，１ｂ，・・・の性能データが収集される。次に、分類手段４により、所定の分類条件に従って、性能データ解析手段３が収集した性能データに基づいてノード１ａ，１ｂ，・・・それぞれが複数のグループに分類される。さらに、グループ性能値計算手段５により、各グループに分類されたノードの性能データに基づいてグループ毎の性能データが統計処理され、各グループの性能データ種別毎の統計値が計算される。そして、性能値対比表示手段６により、各グループの統計値が性能データ種別毎にグループ間で対比して表示される。【選択図】図１
2007207173.tif 000002
【特許請求の範囲】
【請求項１】
クラスタシステムの性能を分析するための性能分析プログラムにおいて、
コンピュータを、
前記クラスタシステムを構成する各ノードの複数種別の性能データが格納された性能データ記憶手段から前記ノードそれぞれの前記性能データを収集し、収集した前記性能データに基づいて前記ノードそれぞれの性能値を解析する性能データ解析手段、
所定の分類条件に従って、前記性能データ解析手段が収集した前記性能データを統計処理することによって前記ノードそれぞれを複数のグループに分類する分類手段、
前記グループに分類された前記ノードの前記性能データに基づいて前記グループ毎の前記性能データを統計処理し、前記グループそれぞれの性能データ種別毎の統計値を計算するグループ性能値計算手段、
前記グループそれぞれの前記統計値を性能データ種別毎に前記グループ間で対比して表示する性能データ対比表示手段、
として機能させることを特徴とする性能分析プログラム。
【請求項２】
前記性能データ解析手段は、前記ノードそれぞれで実行される関数の実行時間を示すプロファイリングデータを前記性能データとして収集し、
前記分類手段は、関数の実行時間によって前記ノードを分類することを特徴とする請求項１記載の性能分析プログラム。
【請求項３】
前記性能データ解析手段は、前記ノードそれぞれのＣＰＵにおける命令の実行状況を示すデータを前記性能データとして収集し、
前記分類手段は、前記ＣＰＵにおける命令の実行状況によって前記ノードを分類することを特徴とする請求項１記載の性能分析プログラム。
【請求項４】
前記性能データ解析手段は、前記ノードそれぞれにおけるオペレーティングシステムの動作状況を示す前記性能データを収集し、
前記分類手段は、前記オペレーティングシステムの動作状況によって前記ノードを分類することを特徴とする請求項１記載の性能分析プログラム。
【請求項５】
性能データ対比表示手段は、任意の前記グループの統計値を１としたときの、他の前記グループの統計値の値を前記グループ間で対比して表示することを特徴とする請求項１記載の性能分析プログラム。
【請求項６】
前記性能データ対比表示手段は、前記グループそれぞれの棒グラフで表示した統計値に対して、前記グループに属するノード毎の性能データの分散状況を示すバーを表示することを特徴とする請求項１記載の性能分析プログラム。
【請求項７】
コンピュータにより、クラスタシステムの性能を分析するための性能分析方法において、
性能データ解析手段が、前記クラスタシステムを構成する各ノードの複数種別の性能データが格納された性能データ記憶手段から前記ノードそれぞれの前記性能データを収集し、収集した前記性能データに基づいて前記ノードそれぞれの性能値を解析し、
分類手段が、所定の分類条件に従って、前記性能データ解析手段が収集した前記性能データを統計処理することによって前記ノードそれぞれを複数のグループに分類し、
グループ性能値計算手段が、前記グループそれぞれに分類された前記ノードの前記性能データに基づいて前記グループ毎の前記性能データを統計処理し、前記グループそれぞれの前記性能データ種別毎の統計値を計算し、
性能データ対比表示手段が、前記グループそれぞれの前記統計値を前記性能データ種別毎に前記グループ間で対比して表示する、
ことを特徴とする性能分析方法。
【請求項８】
前記性能データ解析手段は、前記ノードそれぞれで実行される関数の実行時間を示すプロファイリングデータを前記性能データとして収集し、
前記分類手段は、関数の実行時間によって前記ノードを分類することを特徴とする請求項７記載の性能分析方法。
【請求項９】
クラスタシステムの性能を分析するための性能分析装置において、
前記クラスタシステムを構成する各ノードの複数種別の性能データが格納された性能データ記憶手段から前記ノードそれぞれの前記性能データを収集し、収集した前記性能データに基づいて前記ノードそれぞれの性能値を解析する性能データ解析手段と、
所定の分類条件に従って、前記性能データ解析手段が収集した前記性能データを統計処理することによって前記ノードそれぞれを複数のグループに分類する分類手段と、
前記グループそれぞれに分類された前記ノードの前記性能データに基づいて前記グループ毎の前記性能データを統計処理し、前記グループそれぞれの性能データ種別毎の統計値を計算するグループ性能値計算手段と、
前記グループそれぞれの前記統計値を前記性能データ種別毎に前記グループ間で対比して表示する性能データ対比表示手段と、
を有することを特徴とする性能分析装置。
【請求項１０】
前記性能データ解析手段は、前記ノードそれぞれで実行される関数の実行時間を示すプロファイリングデータを前記性能データとして収集し、
前記分類手段は、関数の実行時間によって前記ノードを分類することを特徴とする請求項９記載の性能分析装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はクラスタシステムにおける性能分析プログラム、性能分析方法、および性能分析装置に関し、特に複数のノードから採取される性能データを統計処理することで性能分析を行う性能分析プログラム、性能分析方法、および性能分析装置に関する。
【背景技術】
【０００２】
Ｒ＆Ｄ（Research and Development）、ＨＰＣ（High Performance Computing）、バイオインフォマティックスなどの分野において、複数の計算機をネットワークで接続し、１つの仮想計算機システムを構成して並列処理を行う“クラスタシステム”の利用が進んでいる。クラスタシステムは、複数の計算機（ノード）をネットワークで接続し、１つの仮想計算機システムとして機能させたものである。クラスタシステムでは、与えられた処理を、各ノードで並列に処理する。
【０００３】
クラスタシステムは、低コストで高性能なシステムを構築できる反面、要求性能が高まるほど構成されるノードが増大するといった問題がある。このため、多数のノードの動作状況を把握するための技術が必要となっている。
【０００４】
そこで、クラスタシステムを運用する際に、適宜クラスタシステムの性能分析を行うことが考えられる。例えば、複数の計算機上でのプロセスの動作性能に基づいて、プロセスのスケジューリングを行うことができる（特許文献１参照）。
【０００５】
また、性能分析を行うことで、例えば、クラスタシステムを構成するノードの１つに何らかの障害が発生した場合に、その障害の発生を迅速に検出することが可能となる。性能分析を行うシステムとして、例えば、クラスタシステムに関する各種統計情報を表示するシステムが考えられている（非特許文献１参照）。
【０００６】
ただし、クラスタシステムを構成する個々のノード上では、独立してオペレーティングシステムおよびアプリケーションが動作している。このため、システム全体として評価しようとした場合に、ノード数分の様々な情報が採取されることになる。すると、大規模クラスタシステムにおいては処理すべき情報量が膨大となり、各ノードの動作状況を個別に判断し、その中から問題を有するノードを検出することは困難である。
【０００７】
そのため、従来のクラスタシステムの評価手法は、代表的なノードの性能値の比較から動作を推測することが主となる。また、問題点の抽出においても、個々のノード上で採取するデータに閾値を設け、その閾値を超えたものを特定するといった手法が取られていた。また、各ノードのデータを統計処理して分類することにより、性能評価において重要な特徴を抽出しようとする試みも行われている（非特許文献２参照）。
【特許文献１】特開２００３−６１７５号公報
【非特許文献１】Intel Trace Analyzer、[online]、インテル株式会社、［平成１８年１月１３日検索］、インターネット<URL:http://www.intel.com/cd/software/products/ijkk/jpn/cluster/224160.htm>
【非特許文献２】Dong H. Ahn and Jeffrey S. Vetter,”Scalable Analysis Techniques for Microprocessor Performance Counter Metrics” [online]、２００２年、［平成１８年１月１３日検索］、インターネット、<URL: http://citeseer.ist.psu.edu/ahn02scalable.html>
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかし、従来の評価手法ではいずれの方法を用いたとしても、大規模なクラスタシステムを構成する多数のノードから、性能面において注目すべきノードを特定することが難しかった。
【０００９】
例えば、閾値を利用する手法では既知の問題においては有効であるが、これまでと動作の異なる未知の問題には対処できない。すなわち、閾値を利用するには、どのような情報がどの程度の値になったときに異常と判断すべきかを、予め解析しておかなければならない。しかし、システムの障害等は、予期しない原因で発生する場合が多々ある。ハードウェア性能が日々進歩し、セキュリティ対策等のシステム運用方法を適宜改善しなければならない現状において、全ての障害原因を予測するのは不可能である。
【００１０】
なお、非特許文献１では、性能データを利用した自動的なグループ化機能は提供されていない。そのため、多数のノードから構成されるクラスタシステムの場合には膨大なデータをユーザが手探りで評価しなればならない。
【００１１】
また、非特許文献２では、分類結果を単純に開発者にフィードバックさせる、あるいは分類結果を他のシステムへ入力することを目的としている。そのため、分類したグループ間の情報を比較することまでは考慮していない。
【００１２】
本発明はこのような点に鑑みてなされたものであり、未知の問題を含め、クラスタシステムにおける性能面での特異なノードを効率よく調査することができる性能分析プログラム、性能分析方法、および性能分析装置を提供することを目的とする。
【課題を解決するための手段】
【００１３】
本発明では上記課題を解決するために、図１に示すような性能分析プログラムが提供される。本発明に係る性能分析プログラムは、クラスタシステム１の性能を分析するために、図１に示す機能をコンピュータに実行させることができる。
【００１４】
性能データ解析手段３は、クラスタシステム１を構成する各ノード１ａ，１ｂ，・・・の性能データが格納された性能データ記憶手段２ａ，２ｂ，・・・から、各ノード１ａ，１ｂ，・・・の複数種別の性能データを収集する。分類手段４は、所定の分類条件に従って、性能データ解析手段３が収集した性能データを統計処理することによってノード１ａ，１ｂ，・・・それぞれを複数のグループに分類する。グループ性能値計算手段５は、グループそれぞれに分類されたノードの性能データに基づいてグループ毎の性能データを統計処理し、各グループの性能データ種別毎の統計値を計算する。性能値対比表示手段６は、グループそれぞれの統計値を性能データ種別毎にグループ間で対比して表示する。
【００１５】
このような性能分析プログラムを実行するコンピュータでは、性能データ解析手段３により、クラスタシステム１を構成する各ノード１ａ，１ｂ，・・・の性能データが格納された性能データ記憶手段２ａ，２ｂ，・・・から、各ノード１ａ，１ｂ，・・・の性能データが収集される。次に、分類手段４により、所定の分類条件に従って、ノード１ａ，１ｂ，・・・それぞれが複数のグループに分類される。さらに、グループ性能値計算手段５により、各グループに分類されたノードの性能データに基づいてグループ毎の性能データが統計処理され、各グループの性能データ種別毎の統計値が計算される。そして、性能値対比表示手段６により、各グループの統計値が性能データ種別毎にグループ間で対比して表示される。
【発明の効果】
【００１６】
本発明では、性能データに応じたノードを複数のグループに分類し、各グループの性能値を対比して表示するようにしたため、問題のあるノードがどのグループに属するのかを容易に判断することができる。その結果、未知の問題を含め、クラスタシステムにおける性能面での特異なノードを効率よく調査することができる。
【発明を実施するための最良の形態】
【００１７】
以下、本発明の実施の形態を図面を参照して説明する。
図１は、本実施の形態の概略を示す図である。クラスタシステム１は、複数のノード１ａ，１ｂ，・・・で構成される。各ノード１ａ，１ｂ，・・・は、性能データ記憶手段２ａ，２ｂ，・・・を有している。性能データ記憶手段２ａ，２ｂ，・・・には、対応するノード１ａ，１ｂ，・・・の性能に関するデータが格納される。
【００１８】
そして、クラスタシステム１の個々のノード１ａ，１ｂ，・・・が同一の動作をすると仮定し、分析を行うために、性能データ解析手段３、分類手段４、グループ性能値計算手段５、および性能値対比表示手段６が設けられている。
【００１９】
性能データ解析手段３は、クラスタシステム１を構成する各ノード１ａ，１ｂ，・・・の性能データ（ノードから採取可能な性能に関するデータ）が格納された性能データ記憶手段２ａ，２ｂ，・・・から、各ノード１ａ，１ｂ，・・・の性能データを収集する。なお、性能データ解析手段３は、採取した性能データを解析し、性能データの種類に応じて性能データを加工することもできる。例えば、性能データ解析手段３は、採取時間内の合計値あるいは単位時間の平均値を性能値（性能データに基づく性能の解析結果として得られる数値）として算出する。
【００２０】
分類手段４は、所定の分類条件に従って、性能データ解析手段３が収集した性能データを統計処理することによりノード１ａ，１ｂ，・・・それぞれを複数のグループに分類する。グループ数は、例えば、初期値（デフォルト値）が決まっており、ユーザからの指定が無い場合には、各ノードが初期値の数（例えば「２」）のグループに分類される。分類のグループ数がユーザによって指定された場合、各ノードが指定された数のグループに分類される。
【００２１】
グループ性能値計算手段５は、各グループに分類されたノードの性能データに基づいてグループ毎の性能データを統計処理し、各グループの性能データ種別毎の統計値を計算する。例えば、グループ性能値計算手段５は、性能データ種別毎に、各グループに属するノード群の平均値等をグループの性能値として算出する。
【００２２】
性能値対比表示手段６は、各グループの統計値を性能データ種別毎にグループ間で対比して表示する。例えば、性能値対比表示手段６は、グループ毎の性能値を棒グラフで示した分類結果画面７を表示する。この時、棒グラフは、性能データの種別毎に纏められる。性能データ種別毎の各グループの性能値が容易に比較できる。
【００２３】
このようなシステムによれば、性能データ解析手段３により、クラスタシステム１を構成する各ノード１ａ，１ｂ，・・・の性能データが格納された性能データ記憶手段２ａ，２ｂ，・・・から、各ノード１ａ，１ｂ，・・・の性能データが収集される。次に、分類手段４により、所定の分類条件に従って、性能データ解析手段３が収集した性能データの解析処理が行われ、ノード１ａ，１ｂ，・・・それぞれが複数のグループに分類される。さらに、グループ性能値計算手段５により、各グループに分類されたノードの性能データに基づいてグループ毎の性能データが統計処理され、各グループの性能データ種別毎の統計値が計算される。そして、性能値対比表示手段６により、各グループの統計値が性能データ種別毎にグループ間で対比して表示される。
【００２４】
その結果、実行時に採取した各ノードの性能データが統計処理され、ノードが任意の数のグループに分類され、個々のノードではなく分類されたグループ間の性能比較が行われる。グループに分けて性能比較を行うことにより、多数のノードを個別に性能評価するよりも、処理負荷が軽減される。しかも、グループ毎の性能値を対比表示することで、特異な性能値を有するグループを容易に特定することができる。そして、特定されたグループをさらに分類すれば、何らかの問題を有しているノードを容易に特定することができる。すなわち、ノードに発生する問題が、既知であるか未知であるかに関係なく、何らかの問題を有するノードが容易に特定できる。
【００２５】
次に、本実施の形態の詳細を説明する。
図２は、本実施の形態のシステム構成例を示す図である。クラスタシステム２００は、複数のノード２１０，２２０，２３０，・・・で構成されている。ノード２１０，２２０，２３０，・・・には、ネットワーク１０を介して管理サーバ１００が接続されている。管理サーバ１００は、クラスタシステム２００から性能データを収集して、統計処理を行う。
【００２６】
図３は、本実施の形態に用いる管理サーバのハードウェア構成例を示す図である。管理サーバ１００は、ＣＰＵ（Central Processing Unit）１０１によって装置全体が制御されている。ＣＰＵ１０１には、バス１０７を介してＲＡＭ（Random Access Memory）１０２、ハードディスクドライブ（ＨＤＤ:Hard Disk Drive）１０３、グラフィック処理装置１０４、入力インタフェース１０５、および通信インタフェース１０６が接続されている。
【００２７】
ＲＡＭ１０２には、ＣＰＵ１０１に実行させるＯＳ（Operating System）のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、ＲＡＭ１０２には、ＣＰＵ１０１による処理に必要な各種データが格納される。ＨＤＤ１０３には、ＯＳやアプリケーションプログラムが格納される。
【００２８】
グラフィック処理装置１０４には、モニタ１１が接続されている。グラフィック処理装置１０４は、ＣＰＵ１０１からの命令に従って、画像をモニタ１１の画面に表示させる。入力インタフェース１０５には、キーボード１２とマウス１３とが接続されている。入力インタフェース１０５は、キーボード１２やマウス１３から送られてくる信号を、バス１０７を介してＣＰＵ１０１に送信する。
【００２９】
通信インタフェース１０６は、ネットワーク１０に接続されている。通信インタフェース１０６は、ネットワーク１０を介して、他のコンピュータとの間でデータの送受信を行う。
【００３０】
以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。なお、図３には、管理サーバ１００のハードウェア構成のみが示されているが、各ノード２１０，２２０，２３０，・・・も同様のハードウェアで実現できる。
【００３１】
図４は、性能分析を行うための機能を示すブロック図である。図４には、ノード２１０と管理サーバ１００との機能が示されている。
ノード２１０は、マシン情報取得部２１１、性能データ取得部２１２、および性能データ記憶部２１３を有している。
【００３２】
マシン情報取得部２１１は、ＯＳ等で提供されている機能を用いて、数値で表現可能なノード２１０のマシン構成情報（ハードウェア性能データ）を、性能データとして取得する。ハードウェア性能データとしては、ＣＰＵ数、ＣＰＵ動作周波数、キャッシュサイズなどがある。マシン情報取得部２１１は、採取したマシン情報を性能データ記憶部２１３に格納する。このようなマシン情報は、クラスタシステムが性能の異なるマシンから構成されている場合やクラスタシステム間の性能値を比較する場合に、分類対象として利用される。
【００３３】
性能データ取得部２１２は、ノード２１０が実際に処理を実行することで測定できる性能データ（実行性能データ）を取得する。実行性能データとしては、例えば、ＩＰＣ（Instruction Per Cycle:１サイクルあたりに実行可能な命令数）といったＣＰＵレベルの実行性能を示すデータや、実行時間やキャッシュミスなどのイベントの発生回数を関数レベルで集計したデータ（プロファイリングデータ）がある。これらのデータは、プロファイリングツール等の各種システム管理ツールを使用することで収集可能である。性能データ取得部２１２は、採取した性能データを性能データ記憶部２１３に格納する。
【００３４】
性能データ記憶部２１３は、ハードウェア性能データや実行性能データを、性能データとして格納する。
管理サーバ１００は、クラスタ性能値計算部１１１、クラスタ性能値出力部１１２、性能データ解析部１１３、分類条件指定部１１４、分類対象選択部１１５、性能データ分類部１１６、クラスタ分散状況出力部１１７、グループ性能値計算部１１８、グラフ作成部１１９、および分類結果出力部１２０、グループ選択部１２１、およびグループ分散状況出力部１２２を有している。
【００３５】
クラスタ性能値計算部１１１は、各ノード２１０，２２０，２３０，・・・の性能データ記憶部から性能データを取得し、クラスタ全体の性能値を計算する。計算結果は、クラスタ性能値出力部１１２と性能データ解析部１１３とに渡される。
【００３６】
クラスタ性能値出力部１１２は、クラスタ性能値計算部１１１から受け取ったクラスタシステム２００の性能値を、モニタ１１等に出力する。
性能データ解析部１１３は、各ノード２１０，２２０，２３０，・・・の性能データ記憶部から性能データを採取し、性能データを必要に応じて加工する。加工された性能データは、性能データ分類部１１６に渡される。
【００３７】
分類条件指定部１１４は、ユーザからの操作に基づく分類条件の入力を受け付ける。分類条件指定部１１４は、入力された分類条件を、分類対象選択部１１５に渡す。
分類対象選択部１１５は、分類条件指定部１１４から渡された分類条件に基づいて、分類対象項目を選択する。選択した分類対象項目は、性能データ分類部１１６に渡される。
【００３８】
性能データ分類部１１６は、階層的にグループを構成していく階層的グループ化の手法を用いてノードを分類する。ここで、階層的グループ化（階層的クラスタ分析）とは、統計解析において、大量のデータを入力とし、類似するデータ同士を、少数のグループにまとめる手法であり、階層的にグループを構成していくものである。分類結果は、クラスタ分散状況出力部１１７とグループ性能値計算部１１８とに渡される。
【００３９】
クラスタ分散状況出力部１１７は、クラスタシステム２００全体での各種性能データの分散状況を、モニタ１１等に出力する。
グループ性能値計算部１１８は、分類されたグループ毎の性能値を計算する。計算された性能値は、グラフ作成部１１９とグループ選択部１２１に渡される。
【００４０】
グラフ作成部１１９は、グループ毎の性能値を視覚的に分かりやすく比較するために、性能値を示すグラフを作成する。作成したグラフデータは、分類結果出力部１２０に渡される。
【００４１】
分類結果出力部１２０は、グラフデータに基づいて、モニタ１１にグラフを表示する。
グループ選択部１２１は、分類結果出力部１２０により出力された結果から１つのグループを選択する。
【００４２】
グループ分散状況出力部１２２は、グループ選択部１２１により選択されたグループにおける性能値の分散状況を表すグラフを作成し出力する。
このような構成のシステムにおいて、クラスタシステム２００の性能分析が行われる。その際、分類するグループ数や分類対象とする項目を変更しながらグループ間の性能比較を繰り返すことで、より確実に障害を有するノードを検出できる。例えば、クラスタシステムが設計通りの性能を発揮できない場合、以下のような手順で性能分析を行う。
【００４３】
図５は、性能分析手順を示すフローチャートである。図５に示したのは、ＣＰＵレベルの性能データを用いた分類により異常ノード群と注目すべき性能項目を抽出し、さらにプロファイリングデータを用いた分類により異常ノード群と異常な関数群の特定を行う場合の例である。以下、図５に示す処理をステップ番号に沿って説明する。
【００４４】
［ステップＳ１］クラスタシステムの各ノードの性能データ取得部が、ＣＰＵレベルの性能データを採取し、性能データ記憶部に格納する。
［ステップＳ２］管理サーバ１００の性能データ解析部１１３は、各ノードの性能データ記憶部から、性能データ取得部が採取した性能データを収集する。
【００４５】
［ステップＳ３］性能データ分類部１１６は、性能データの統計処理結果に基づいて、ノードを複数のグループに分類する。グループ化においては、例えば、階層的なグループ化を行うことができる。
【００４６】
［ステップＳ４］グループ性能値計算部１１８は、各グループの性能値を計算する。計算された性能値に基づいて、グラフ作成部１１９がグループ間の性能値を比較するグラフを作成し、分類結果出力部１２０が表示する。ユーザは、表示された分類結果に基づいて、異常な性能のグループ、または異常な性能項目があるか否かを判断する。異常なグループまたは性能項目が見つかれば、処理がステップＳ６に進められる。異常な性能項目が見つからなければ、処理がステップＳ５に進められる。
【００４７】
［ステップＳ５］ユーザは、分類条件指定部１１４または分類対象選択部１１５に対して、グループ数や対象性能項目を変更する操作入力を行う。すると、変更されたグループ数や対象性能項目が、分類条件指定部１１４または分類対象選択部１１５から性能データ分類部１１６に渡される。その後、処理がステップＳ３に進められ、ノードの再分類が行われる。
【００４８】
このように、まず、ＣＰＵレベルの性能データを採取し、これを用いて分類して異常なノード群の抽出が試みられる。最初はデフォルトの分類条件（例えば、グループ数２、ＣＰＵ毎の推奨性能項目群）で分類され、グループ内の分散状況とグループ間の性能差が確認される。
【００４９】
グループ間の性能差が小さく、かつ各グループの分散が小さければ、分類は終了する。すなわち、異常ノード群はないと判断される。
グループ間の性能差が大きく、各グループの分散が小さければ分類は終了する。すなわち、性能が極端に悪いグループ内に、何らかの問題があると判断される。
【００５０】
グループ内の分散が大きければ、グループ数を増やして、再分類が行われることとなる。また、グループ間の性能差が大きければ、性能の悪いグループに注目する。さらに、性能差の大きい性能項目に注目し、分類時に使用する測定データを性能差の大きな項目のみに絞ってみることも考えられる。
【００５１】
このように、ＣＰＵの性能データに基づいて問題のグループを特定した後、処理がステップＳ６以降に進められる。
［ステップＳ６］クラスタシステムの各ノードの性能データ取得部が、問題のある性能項目に関するプロファイリングデータを採取し、性能データ記憶部に格納する。
【００５２】
［ステップＳ７］管理サーバ１００の性能データ解析部１１３は、各ノードの性能データ記憶部から、性能データ取得部が採取したプロファイリングデータを収集する。
［ステップＳ８］性能データ分類部１１６は、プロファイリングデータの統計処理結果に基づいて、ノードを複数のグループに分類する。グループ化においては、例えば、階層的なグループ化を行うことができる。
【００５３】
［ステップＳ９］グループ性能値計算部１１８は、各グループの性能値を計算する。計算された性能値に基づいて、グラフ作成部１１９がグループ間の性能値を比較するグラフを作成し、分類結果出力部１２０が表示する。ユーザは、表示された分類結果に基づいて、異常な性能のグループ、または異常な関数があるか否かを判断する。異常なグループまたは関数が見つかれば、処理が終了する。異常な関数が見つからなければ、処理がステップＳ１０に進められる。
【００５４】
［ステップＳ１０］ユーザは、分類条件指定部１１４または分類対象選択部１１５に対して、グループ数や対象関数を変更する操作入力を行う。すると、変更されたグループ数や対象関数が、分類条件指定部１１４または分類対象選択部１１５から性能データ分類部１１６に渡される。その後、処理がステップＳ８に進められ、ノードの再分類が行われる。
【００５５】
このように、実行時間あるいは問題の性能項目（例えば、キャッシュミス回数等）について、プロファイリングデータを採取し、分類する。最初はデフォルトの分類条件（例えば、グループ数２、上位１０関数の実行時間あるいは測定した性能項目の発生回数）で分類し、グループ内の分散状況とグループ間の性能差を確認する。確認の方法は、ＣＰＵレベルの性能データと同様である。再分類時に使用する関数の数や対象関数を変えることもできる。
【００５６】
例えば、ＣＰＵレベルの分析で、他のグループと比較してキャッシュミス率が大きいグループが見つかったら、キャッシュミス回数のプロファリングデータを採取する。関数毎のキャッシュミス回数による分類を行うことにより、キャッシュミスがどのノードのどの関数の実行時に多く発生しているのかを特定できる。
【００５７】
代表的な性能指標であるＣＰＩ（１命令の実行に要するＣＰＵクロックサイクル数）の値が悪いグループが見つかり、原因となりうる他の性能項目が見当たらなければ、実行時間のプロファイリングデータを採取する。関数毎の実行時間による分類を行うことにより、正常ノード群と比べて実行時間がかかっているノードと関数を特定できる。
【００５８】
図６は、データ分類処理の流れを示す図である。性能データ解析部１１３が、クラスタシステムを構成する各ノードで必要な性能データ９１，９２，・・・，９ｎを採取し、性能データテーブル３０１に纏める（ステップＳ２１）。性能データ分類部１１６は、各ノードで採取されたデータをまとめ、単位の異なる性能データを比較するために正規化を行い、正規化データテーブル３０２を生成する（ステップＳ２２）。なお、図６では最大値と最小値で正規化している（最大値が１、最小値が０となるように各データの値を変更する計算を行う）。性能データ分類部１１６は、統計処理ツールに正規化したデータを入力し、ノード間の距離行列を求め、距離行列３０３を生成する（ステップＳ２３）。性能データ分類部１１６は、この距離行列と分類するグループ数をツールに入力し、階層的グループ化の分類結果３０４を得る（ステップＳ２４）。
【００５９】
分類の手法としては、グループを形成する核となる対象を設定してグループを構成していく、K-means法などの非階層的手法もあり、この手法を用いてもよい。K-means法による分類ツールを利用する場合には、距離行列とグループ数を入力として与える。
【００６０】
このように分類された各グループの性能値を比較することで、障害のノードを含むグループを特定することができる。
以下、クラスタシステムを構成するノードから取得する性能データが、関数の実行時間を示すプロファイリングデータの場合、ＣＰＵの性能データの場合、およびＯＳから得られるシステムレベルの性能データの場合に分けて、グループ分けしたときの性能値の比較例を具体的に説明する。
【００６１】
まず、プロファイリングデータを用いてノードを分類する例について説明する。ある一定期間内あるいはあるアプリケーションの実行時に、各ノードで実行された関数の内訳を調べることは、ユーザにとってわかりやすく、チューニングすべき箇所を特定しやすい。
【００６２】
まず、性能データ解析部１１３において、各ノード２１０，２２０，２３０，・・・から関数の実行時間などを採取する。
図７は、１ノード分のプロファイリングデータの例を示す図である。プロファイリングデータ２１の１行目には、実行時間の種類別内訳とＣＰＵ内訳が示されている。「Total:119788」は、プロファイリングデータ２１を採取する間の総演算時間を示している。「OS:72850」は、ＯＳの関数の処理に要した時間を示している。「USER:46927」は、ユーザプロセスで実行された関数の処理に要した時間を示している。「CPU0:59889」、「CPU1:59888」は、２つ搭載されたＣＰＵそれぞれの演算時間を示している。
【００６３】
２行目には、ＯＳレベル関数（カーネル関数）とユーザ（USER）レベル関数（ユーザ定義関数）の実行比率が示されている。３行目以降には、関数情報が示されている。関数情報は、「Total」、「ratio」、「CPU0」、「CPU1」、および「関数名」で表される。「Total」は、対応する関数の処理に要した実行時間である。「ratio」は、対応する関数の処理に振り分けられた処理時間の割合である。「CPU0」、「CPU1」は、個々のＣＰＵによって対応する関数の処理を行った時間である。「関数名」は、実行された関数の名称である。このようなプロファイリングデータ２１がノード分収集される。
【００６４】
性能データ解析部１１３は、採取した性能データを解析し、全関数あるいはカーネル関数やユーザ定義関数等の関数タイプ毎に関数の実行時間でソートする。図７の例では、全関数がソートされた結果が出力されている。そこで、性能データ解析部１１３は、たとえば、性能データを、カーネル関数とユーザ定義関数に分けて集計する。
【００６５】
性能データ解析部１１３は、ソートの結果、上位から一定個数の関数のデータのみを性能データ分類部１１６への入力とする。通常、関数レベルではかなりの数の関数が実行されるが、そのすべてが均等に実行されるということはなく、一部の関数の実行に時間を要することが多い。そのため、本実施の形態では、実行時間に占める割合が多い関数のみを分類の対象とする。
【００６６】
クラスタ性能値計算部１１１では、クラスタシステムの性能値が算出される。クラスタシステムの性能値としては、各性能データの全ノードの平均値や全ノードの合計値が考えられる。クラスタ性能値計算部１１１で算出されたクラスタシステムの性能データは、クラスタ性能値出力部１１２で出力される。これにより、ユーザは、クラスタシステムの動作概要を把握することができる。
【００６７】
性能値を算出する対象性能データについては、分類に使用するデフォルト値を用いてもよいし、分類条件指定部１１４でユーザが指定したものを用いてもよい。
図８は、プロファイリングデータの概要の表示例を示す図である。プロファイリングデータ概要表示画面３０には、８ノードで構成されているクラスタシステムのプロファイリングデータの概要として、各ノードの種類別実行時間比率、クラスタ全体の実行時間による関数ランキングなどを表示している。これにより、クラスタシステムの大まかな動作が把握できる。
【００６８】
分類条件指定部１１４では、性能データの正規化方法、ノードを分類する際のグループの数、および分類に使用する関数タイプと関数の数等に関し、ユーザからの指定入力を受け付ける。なお、予め注目すべき関数やノードがわかっている場合も考えられる。その場合、直接関数名やノード名で指定可能にしてもよい。
【００６９】
分類条件指定部１１４が受け付けた正規化方法に基づいて、性能データ分類部１１６が性能データの測定値を正規化する。例えば、各測定値を、クラスタシステムを構成するノード群の中の最大値／最小値あるいは平均値／標準偏差で正規化する。なお、関数の実行時間の場合には単位が同じなので、正規化は必ずしも必要ではない。
【００７０】
また、性能データに基づくノードの分類は、例えば、異常なノード群を発見することを目的として実行される。その場合、適当と思われるグループ数は２つである。すなわち、２グループに分類して、グループ間に性能差がなければ異常なノードは存在しないと考えられる。
【００７１】
ノードのグループ化では、性能の似たノードを同一グループに纏める。そのため、指定グループ数に分類した結果、グループ間に性能差があり、各グループ内の分散が大きくなければ、グループ数は適切と考えられる。
【００７２】
グループ内の分散が大きい（グループ内のノードの性能に共通性がない）場合には、さらにグループ数を増やして分類する。グループ間にあまり性能差がない（近い性能のノードが異なるグループに属している）場合にはグループ数を減らして分類する。
【００７３】
また、管理ノードと計算ノードに分かれている場合やマシンに性能の差があるノードにより構成されている場合など、予めノードの動作パターンがわかっている場合がある。この場合には、そのパターンに従って予想されるグループ数を指定するとよい。
【００７４】
分類の結果、グループ分けが正しくない場合かつグループ内の分散が大きい場合には、さらにグループ数を増やして分類する。このように分類を繰り返すことにより、クラスタシステムの挙動が明らかになってくる。
【００７５】
分類対象選択部１１５は、性能データ解析部１１３で解析された性能データのうち、分類条件指定部１１４を用いてユーザから指定された条件に合致する性能データのみを選択する。条件の指定がなければ、分類対象選択部１１５は、デフォルトで設定された値を使用する。デフォルトの値としては、例えば、グループ数は２、関数は全関数の上位１０関数、ノードは全ノードが考えられる。
【００７６】
性能データ分類部１１６は、階層的にグループを構成していく階層的グループ化の手法を用いてノードを分類する。分類手法を提供するツールはすでに存在しており、既存の分類ツールを使用する。
【００７７】
具体的には、性能データ分類部１１６は、指定された性能データに対して指定された正規化を行い、正規化したデータ間の距離を計算し、距離行列を求める。性能データ分類部１１６は、この距離行列と分類するグループ数、クラスタ間の距離の定義の仕方を分類ツールの入力として与え、指定された数のグループにノードを分類する。クラスタ間の距離の定義方法としては、最短距離法、最長距離法、などがある。距離の定義方法についても、ユーザが指定できるようにしてもよい。
【００７８】
グループ性能値計算部１１８は、分類された各グループの性能値を算出する。グループの性能値としては、グループに属するノード群の性能データの平均値、グループを代表するノードの値、グループに属する全ノードの合計値などが考えられる。代表ノードは各性能データにおいて平均的な値を持つノードとすることが考えられる。
【００７９】
ノードのグループ分けとグループ性能値計算部１１８において算出された各グループの性能値は、分類結果出力部１２０で出力される。このとき、グラフ作成部１１９により、性能データ毎にグループ間の比較が可能なグラフを作成し、作成されたグラフを出力できる。グラフを出力すると、分類結果がわかりやすくなる。
【００８０】
また、分類結果としては、性能データ毎に各グループの値を並べるだけでもよいが、ノード数が一番多いグループの性能値を基準として、その他のグループの性能値の割合をグラフで表してもよい。これにより、グループ間の比較が容易となる。
【００８１】
図９は、分類結果の表示例を示す図である。図９の分類結果表示画面４０には、図８で使用したプロファイリングデータをもとに、平均値／標準偏差で正規化し、全関数の上位１０関数の実行時間を対象として２グループに分類した結果が表示されている。
【００８２】
グループ表示部４０ａには、各グループのグループ名、各グループのノード数、および各グループに属するノード名が表示されている。図９の例では、７つのノードと１つのノードに分類されている。
【００８３】
グラフ表示ボタン４０ｂが押されることで、分散状態表示画面５０（図１０参照）が表示される。また、平行座標表示の色分け指示用のチェックボックス４０ｄによって、グラフ内での色分けの基準を指定することができる。例えば、「グループ」が選択された場合、グループ毎に異なる色で表示される。
【００８４】
再表示ボタン４０ｃが押下されると、グラフ４０ｆの再表示が行われる。また、エラーバーの種別選択用のチェックボックス４０ｅによって、エラーバー４０ｇとして、標準偏差を表示するのか、最大値・最小値を表示するのかを選択することができる。
【００８５】
図９に示すグラフ４０ｆは各グループの性能値の平均値を示す棒グラフである。また、グラフ４０ｆの、グループの分散状況として標準偏差範囲が黒のエラーバー４０ｇで表されている。エラーバー４０ｇは、棒フラグに重畳表示されている。なお、図９の例では、Group2には、１つのノードしか属していないため、標準偏差範囲は存在しない。
【００８６】
この例では、アイドルの状況（1:cpu＿idle）が異なるが、それほど大きな違いはないということがわかる。
グループ選択部１２１は、ユーザらの操作入力に応じて、分類結果出力部１２０により出力された結果から１つのグループを選択する。グループ選択部１２１によりグループが選択されると、選択されたグループにおける性能値の分散状況を表すグラフがグループ分散状況出力部１２２で作成され、出力される。グループの分散状況を表すグラフとしては、グループに属するノード群の性能値を棒グラフ、ノード数が多い場合には度数分布表をヒストグラムで表すことも有効と考えられる。このグラフによりグループ内の分散状況を把握し、分散が大きい場合にはグループ数を増やして再度分類してみるとよい。
【００８７】
また、クラスタ分散状況出力部１１７により各ノードの性能値の分散状況を見ることもできる。クラスタ分散状況出力部１１７は、性能データ分類部１１６により分類されたグループ毎に色分けしたグラフを作成し出力する。グラフとしては、各性能値を正規化してグラフ化する平行座標表示、各性能データの分布を表す散布図が有効と考えられる。
【００８８】
図１０は、分散状況の表示例を示す図である。分散状況表示画面５０には、図９で分類したデータに対する平行座標表示例が示されている。図１０において、０が平均、±１が標準偏差範囲を表す。実行時間が大きい関数から順に表示している。例えば、グループ１に分類されたノードの折れ線５１を見ると、他のノードと比較して、１番目と７番目の関数の実行時間が少なく、４番目から６番目、８番目から１０番目の関数の実行時間が多いことがわかる。
【００８９】
次に、ＣＰＵから得られる性能データを用いてノードを分類する例について説明する。性能データ取得部２１２では、実行命令数やキャッシュミス回数等のＣＰＵから得られる性能データを採取する。
【００９０】
性能データ解析部１１３では、採取した性能データを解析し、実行命令数に占めるキャッシュミス回数の割合を示すキャッシュミス率等の性能値を算出する。
図１１は、ＣＰＵの性能データの例を示す。性能データ６０には、何らかのイベントをカウントした実際の数だけでなく、割合を示す数値として得られるものもある。ノード毎のイベントの発生割合に関して、算出済みであれば再度計算する必要はない。ただし、グループ内での統計値を出す際には、各ノードの値を集計することが必要である。
【００９１】
クラスタ性能値計算部１１１では、クラスタシステムの性能値として、例えば各性能データの全ノードの平均値や全ノードの合計値を計算する。なお、ＣＰＵから得られるデータには割合（％）で表されるものもあるため、その場合、平均値が使用される。
【００９２】
クラスタ性能値出力部１１２では、ＣＰＵの性能を表す代表的な性能項目であるＣＰＩやＣＰＵ使用率などの平均値を表示する。
分類条件指定部１１４では、性能データの正規化方法、ノードを分類するグループの数、分類に使用する性能項目をユーザが指定できるようにする。予め注目すべきノードがわかっている場合も考えられるので、対象ノードの指定を可能にしてもよい。測定値の正規化には、クラスタシステムを構成するノード群の中の最大値／最小値あるいは平均値／標準偏差での正規化がある。ＣＰＵから得られるデータでは性能項目によって値の単位やスケールが異なるため、正規化が必要である。
【００９３】
分類対象選択部１１５では、分類条件指定部によりユーザから指定された条件に合致する性能データのみを選択する。指定がなければ、デフォルトの値を使用する。デフォルトの値としては、グループ数は２、ノードは全ノード、性能項目としては、ＣＰＩ、ＣＰＵ使用率、バス使用率、実行命令数に対する分岐命令数の割合を示す分岐率、分岐命令に対する分岐予測ミス率、命令数に対する命令ＴＬＢ（Ｉ−ＴＬＢ）ミス発生率、命令数に対するデータＴＬＢ（Ｄ−ＴＬＢ）ミス発生率、キャッシュミス率、２次キャッシュミス率などが挙げられる。性能項目はＣＰＵの種類によって採取可能なものが異なる場合もあり、デフォルト値も性能項目の異なるＣＰＵ毎に用意する。
【００９４】
グループ性能値計算部１１８で算出するグループの性能値としては、一般的にはグループに属するノード群の性能データの平均値、グループを代表するノードの値、グループに属する全ノードの合計値などが考えられるが、ＣＰＵから得られるデータでは性能項目によって割合（％）で表すものもあるため、グループに属する全ノードの合計値は適さない。
【００９５】
図１２は、ＣＰＵの性能データに基づく分類結果表示画面を示す図である。この分類結果表示画面４１は、８ノードから構成されるクラスタシステムで採取されたＣＰＵの性能データのうち、１１項目をもとに２つのグループに分類した結果の表示例である。
【００９６】
この例では、４ノードずつに分けられ、Group2のＣＰＵ使用率がほとんど０であることからGroup2に属するノード群では何も実行されていなかったことがわかる。なお、分類結果表示画面４１では、グループ分散状況を最大値／最小値の範囲を示すエラーバー４１ａで表現している。
【００９７】
なお、図１２の例では、Ｄ−ＴＬＢミス発生率（図中、「Ｄ−ＴＬＢ」と表記）のグループ内分散が大きいが、値（平均値0.02、最小値0.05、最大値0.57）が小さいため、気にすることはない。また、任意のグラフがマウスカーソル４１ｂで指し示されたとき、グループの値の概要（平均値、最小値、最大値、標準偏差など）がツールチップ４１ｃで表示される。これにより、詳細な内容がわかりやすくなる。
【００９８】
図１３は、ＣＰＵの性能データに基づいて３グループに分類したときの分類結果表示画面を示す図である。この例は、図１２に示したデータを３グループに分類したものである。図１３の分類結果表示画面４２では、何も実行されていないグループから１つのノードが分かれており、このノードがＤ−ＴＬＢミス発生率の分散を大きくしていたことがわかる。
【００９９】
図１２、図１３を比較すると、処理が実行されているノード群とそうでないノード群を識別するのであれば、２グループに分ければよいことがわかる。また、ある性能データの分散が大きい時に、その原因となるノードを知りたいときには、分類するグループ数を増やせばよいことがわかる。
【０１００】
図１４は、散布状況を示す図である。この散布状況は、クラスタ分散状況出力部１１７により作成される。この例は、平均値／標準偏差で正規化した２つの性能項目の値から１つの散布図を作成し、分類に使用した各性能項目の散布図を、散布状況表示画面７０内に並べたものである。散布図内では、例えば、グループ毎に色分けした点で各ノードの性能データをプロットする。これによって、グループの傾向を見ることができる。例えば、赤でプロットされた点がＣＰＩの低い値に集中していれば、そのグループのＣＰＩが小さいことがわかる。
【０１０１】
次に、システムレベルの性能データ（オペレーティングシステムの動作状況を示す）を用いてノードを分類する場合の例について説明する。以下、最初に説明した例と異なる部分についてのみ説明する。
【０１０２】
性能データ取得部２１２では、メモリ使用量、入出力されたデータ量等のシステムレベルの性能データを採取する。これらのデータはＯＳで提供されているコマンドや既存ツール等を使用すれば、収集可能である。
【０１０３】
通常これらのデータは一定時間毎に採取されるので、性能データ解析部１１３では、採取した性能データを解析し、採取時間内の合計値あるいは単位時間の平均値を性能値として算出する。
【０１０４】
図１５は、性能データの例を示す図である。性能データ８０の先頭行がヘッダ、２行目以降が各日時における採取データである。この例では１秒間隔にデータを採取している。
採取されている性能データは、ノード全体のＣＰＵ使用率内訳、ノードに搭載されたＣＰＵ毎のＣＰＵ使用率内訳、ディスク毎の入出力量、メモリ使用量など様々なデータを採取可能である。
【０１０５】
クラスタ性能値計算部１１１では、クラスタシステムの性能値として各性能データの全ノードの平均値や全ノードの合計値が考えられるが、システムレベルのデータは割合（％）で表すものもあるため、平均値を使用する。
【０１０６】
また、クラスタ性能値出力部１１２では、代表的な性能項目のクラスタの平均値を表示する。その際には、ＣＰＵ、ＨＤＤなどのように１ノードに複数存在する資源については各資源の平均値と全体の平均値を表示し、ユーザが確認できるようにする。ディスクに対する入出力量のように合計値を求めることができるものはディスク全体の合計値とクラスタの合計値を表示してもよい。
【０１０７】
この際、分類条件指定部１１４では、性能データの正規化方法、ノードを分類するグループの数、分類に使用する性能項目をユーザが指定できるようにする。予め注目すべきノードがわかっている場合も考えられるので、対象ノードの指定を可能にしてもよい。
【０１０８】
測定値の正規化には、クラスタシステムを構成するノード群の中の最大値／最小値あるいは平均値／標準偏差での正規化がある。システムレベルのデータでは性能項目によって値の単位やスケールが異なるため、正規化が必要である。
【０１０９】
分類対象選択部１１５では、分類条件指定部１１４によりユーザから指定された条件に合致する性能データのみを選択する。指定がなければ、デフォルトの値を使用する。デフォルトの値としては、グループ数は２、ノードは全ノード、性能項目としては、ＣＰＵ使用率、スワップ量、入出力回数、入出力量、メモリ使用量、ネットワークの送受信量などが挙げられる。ＣＰＵ使用率については、user、system、アイドル状態（idle）、io待ち（iowait）の実行割合を使用する。
【０１１０】
また、１ノードに複数のＣＰＵが搭載されている場合には各ＣＰＵの値あるいはＣＰＵ合計の割合を使用する。入出力回数と量については、複数のディスクが接続されている場合には各ディスクの値、全ディスクの平均値、あるいは合計値を使用することができる。複数のネットワークカードが搭載されている場合も同様である。
【０１１１】
通常は採取時間全体が対象であるが、注目すべき時間がわかっている場合には、その時間を指定可能とする。各ノードでの採取開始時刻がわかっている場合には、時間指定において、開始からの相対時間だけでなく、時刻による絶対時間の指定を可能にすると、ノード間で測定開始時刻がずれている場合にも対処できる。
【０１１２】
グループ性能値計算部１１８で算出するグループの性能値としては、一般的にはグループに属するノード群の性能データの平均値、グループを代表するノードの値、グループに属する全ノードの合計値などが考えられる。ただし、システムレベルのデータでは性能項目によっては割合（％）で表すものもある。そのため、グループに属する全ノードの合計値は適さない。
【０１１３】
図１６は、システムレベルの性能データによる分類結果の表示例を示す図である。この例では、ＣＰＵから得られるデータの例と同じクラスタシステムに対して同じアプリケーションを動かした際に採取した性能データを使用している。分類結果表示画面４３では、２グループに分割されており、図１２と同様にグループ分けされる。Group2はやはりUSERとSYSTEMの割合が低く、動作していないことがわかる。
【０１１４】
以上のように、本発明の実施の形態では、各ノードの動作をシステム情報、ＣＰＵから得られる情報、およびプロファイリング情報等を基に数値化し、これを各ノードの特徴と位置付け比較を行うことにより、様々な性能指標を使用して定量的に分析できる。
【０１１５】
例えば、性能データ分類部１１６において、実行時に採取した各ノードの性能データを統計処理してノードを任意の数のグループに分類し、分類されたグループ間の性能比較を行う。これにより、見るべき情報を大幅に削減でき、効率的な評価を行うことができる。
【０１１６】
また、クラスタシステム２００を構成する各ノードが同一の動作をする場合には、分類したグループ間の性能差は小さいはずであり、性能差が大きい場合は異常な動作をするノード群が存在していることになる。また、各ノードの動作が予め予測できる場合には、予測できる数に分類し、グループ分けの結果を調べることにより、異常な挙動をするノード群を見つけることができる。
【０１１７】
数値で表現できる各ノードのマシン情報（ＣＰＵ数、キャッシュサイズ、等）を取得し、実行時に測定した性能データだけでなく、マシン情報も分類に使用することにより、マシンの構成が異なることによる性能差を発見可能となる。
【０１１８】
さらに、クラスタ性能値計算部１１１により複数のクラスタシステムから採取された性能データを対象として分析を行うことにより、クラスタ間の性能比較が行える。
以上のように、本発明によれば、クラスタの挙動の理解と性能分析が容易になり、異常な挙動をするノード群を自動的に抽出することができる。
【０１１９】
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、管理サーバや各ノードが有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記録装置には、ハードディスク装置（ＨＤＤ）、フレキシブルディスク（ＦＤ）、磁気テープなどがある。光ディスクには、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ（Random Access Memory）、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）などがある。光磁気記録媒体には、ＭＯ（Magneto-Optical disk）などがある。
【０１２０】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【０１２１】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送される毎に、逐次、受け取ったプログラムに従った処理を実行することもできる。
【０１２２】
なお、本発明は、上述の実施の形態にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変更を加えることができる。
【図面の簡単な説明】
【０１２３】
【図１】本実施の形態の概略を示す図である。
【図２】本実施の形態のシステム構成例を示す図である。
【図３】本実施の形態に用いる管理サーバのハードウェア構成例を示す図である。
【図４】性能分析を行うための機能を示すブロック図である。
【図５】性能分析手順を示すフローチャートである。
【図６】データ分類処理の流れを示す図である。
【図７】１ノード分のプロファイリングデータの例を示す図である。
【図８】プロファイリングデータの概要の表示例を示す図である。
【図９】分類結果の表示例を示す図である。
【図１０】分散状況の表示例を示す図である。
【図１１】ＣＰＵの性能データの例を示す図である。
【図１２】ＣＰＵの性能データに基づく分類結果表示画面を示す図である。
【図１３】ＣＰＵの性能データに基づいて３グループに分類したときの分類結果表示画面を示す図である。
【図１４】散布状況を示す図である。
【図１５】性能データの例を示す図である。
【図１６】システムレベルの性能データによる分類結果の表示例を示す図である。
【符号の説明】
【０１２４】
１  クラスタシステム
１ａ，１ｂ，・・・  ノード
２ａ，２ｂ，・・・  性能データ記憶手段
３  性能データ解析手段
４  分類手段
５  グループ性能値計算手段
６  性能値対比表示手段
７  性能値表示画面
【図１】
2007207173.tif 000003
【図２】
2007207173.tif 000004
【図３】
2007207173.tif 000005
【図４】
2007207173.tif 000006
【図５】
2007207173.tif 000007
【図６】
2007207173.tif 000008
【図７】
2007207173.tif 000009
【図８】
2007207173.tif 000010
【図９】
2007207173.tif 000011
【図１０】
2007207173.tif 000012
【図１１】
2007207173.tif 000013
【図１２】
2007207173.tif 000014
【図１３】
2007207173.tif 000015
【図１４】
2007207173.tif 000016
【図１５】
2007207173.tif 000017
【図１６】
2007207173.tif 000018