(57)【要約】性能予測の対象システムの実際の振る舞いを反映した性能予測を行う。性能予測装置は、性能予測の対象とする性能予測対象システムの入力を、入力の種類と相互作用を考慮して、複数のクラスタにクラスタリングし、前記複数のクラスタのそれぞれに対応する前記性能予測対象システムの性能予測モデルに基づいて、入力に対して前記性能予測モデルの予測出力を算出し、前記算出した予測出力と性能予測対象システムの実際の出力との差がより小さくなるように、前記複数のクラスタのそれぞれに対応する性能予測対象システムの性能予測モデルを調整する。
2013183425.tif 000002
【特許請求の範囲】
【請求項１】
性能予測の対象となるシステムへの入力を、当該入力の種類及び当該入力間の相互作用に応じて複数のクラスタのいずれかに分類するクラスタリング手段と、
前記分類されたクラスタに対応する前記システムの性能予測モデルを用いて、前記入力に対する予測出力を算出する予測出力算出手段と、
前記算出された予測出力と前記システムの実際の出力との差が小さくなるように、前記分類されたクラスタに対応する前記システムの性能予測モデルのパラメータを調整するモデル調整手段と
を備えたことを特徴とする性能予測装置。
【請求項２】
前記クラスタリング手段は、性能予測の対象となるシステムへの入力の種類及び入力間の相互作用に応じて、当該入力についての複数のクラスタを作成することを特徴とする請求項１に記載の性能予測装置。
【請求項３】
前記複数のクラスタのそれぞれに対応する前記システムの性能予測モデルを作成するモデル作成手段を備えることを特徴とする請求項１又は２に記載の性能予測装置。
【請求項４】
前記モデル作成手段は、前記クラスタの情報を反映して前記性能予測モデルを生成することを特徴とする請求項３に記載の性能予測装置。
【請求項５】
前記クラスタは、前記入力に含まれるリクエストの種類のそれぞれの比率に応じて定義されることを特徴とする請求項１から４のいずれか１項に記載の性能予測装置。
【請求項６】
前記クラスタは、前記入力に対して重回帰式をあてはめることによって定義することを特徴とする請求項１から４のいずれか１項に記載の性能予測装置。
【請求項７】
制御部を有する情報処理装置において実施される性能予測方法であって、
前記制御部が、性能予測の対象となるシステムへの入力を、当該入力の種類及び当該入力間の相互作用に応じて複数のクラスタのいずれかに分類するクラスタリングステップと、
前記制御部が、前記分類されたクラスタに対応する前記システムの性能予測モデルを用いて、前記入力に対する予測出力を算出する予測出力算出ステップと、
前記制御部が、前記算出された予測出力と前記システムの実際の出力との差が小さくなるように、前記分類されたクラスタに対応する前記システムの性能予測モデルのパラメータを調整するモデル調整ステップと
を備えることを特徴とする性能予測方法。
【請求項８】
コンピュータを請求項１から６のいずれか１項に記載の性能予測装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、システムの実際の振る舞いを反映して、システムの性能予測を行う技術に関する。
【背景技術】
【０００２】
システムの性能予測の技術に関して、特許文献１には、並列計算機システムを待ち行列モデルに変換することによって、マルチタスク環境における並列計算機のスループットやレスポンス、リソース使用率などの性能指標を予測する方法が提案されている。この待ち行列モデルによる予測においては、構築するシステムに関するパラメータ（例えば、１リクエストあたりの処理時間（Ｄｅｍａｎｄ）など）が事前に与えられ、そのパラメータを用いて予測する。このパラメータを調整する技術として、特許文献２には、アプリケーションとアプリケーションモデルのそれぞれのログ出力を比較し、自動的にアプリケーションモデルのパラメータを調整して反映させることが開示されている。これにより、アプリケーションの実行環境に応じた適当なパラメータを選び、性能予測の精度を向上させることができる。【０００３】
また、特許文献３においては、サーバ計算機システム全体をブラックボックス化し、計測トランザクションを与えて、待ち行列網によるモデルとは異なる単純確立計算で同時処理数を推定している。また、特許文献４では、機械の性能を推定するために、複数のデータ群のそれぞれを複数のモデルの学習データとして用いている。また、特許文献５には、モデルの構築方法に関する技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０００−２９８５９３号公報
【特許文献２】特開２００２−２１５４２３号公報
【特許文献３】特開平１０−１８７４９５号公報
【特許文献４】特開２００５−２４２８０３号公報
【特許文献５】特開２０１０−０７９３２５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に開示された性能予測では、パラメータの調整が行われていないため、事前に与えられたパラメータの値と実際に構築した対象システムのパラメータの値とが異なることがある。そのため、モデルを用いて予測した性能指標が実際に構築した対象システムの性能指標とずれるという問題がある。【０００６】
また、特許文献２，３に開示された性能予測では、計測したデータを用いてパラメータ等の調整を行なっている。しかしながら、複数の異なる種類のリクエストが入力されるシステムの性能を予測する場合、調整に用いた計測データに対する入力データにおけるリクエストの各種類の比率と、予測したい状況の入力データにおけるリクエストの各種類の比率とが異なると、予測の精度が落ちるという問題がある。【０００７】
また、特許文献４においては、複数の異なる種類の運転環境データを複数のデータ群に分類している。しかしながら、分類の方法は、単純に各次元を所定の値に従い分割したものである。従って、この方法を複数の異なる種類のリクエストが入力されるシステムの性能予測に適用しても、これらのリクエストがシステムで同時実行される場合のリクエスト間の競合・干渉などを考慮した性能予測を行うことができない。【０００８】
本発明は、上述の課題を解決するためになされたものであり、その目的は、システムの実際の振る舞いを反映してシステムの性能予測を行うことが可能な性能予測装置、性能予測方法及びプログラムを提供することである。
【課題を解決するための手段】
【０００９】
上記目的を達成するため、本発明に係る性能予測装置は、性能予測の対象となるシステムへの入力を、当該入力の種類及び当該入力間の相互作用に応じて複数のクラスタのいずれかに分類するクラスタリング手段と、前記分類されたクラスタに対応する前記システムの性能予測モデルを用いて、前記入力に対する予測出力を算出する予測出力算出手段と、前記算出された予測出力と前記システムの実際の出力との差が小さくなるように、前記分類されたクラスタに対応する前記システムの性能予測モデルのパラメータを調整するモデル調整手段とを備えたことを特徴とする。【００１０】
本発明に係る性能予測方法は、制御部を有する情報処理装置において実施される方法であって、前記制御部が、性能予測の対象となるシステムへの入力を、当該入力の種類及び当該入力間の相互作用に応じて複数のクラスタのいずれかに分類するクラスタリングステップと、前記制御部が、前記分類されたクラスタに対応する前記システムの性能予測モデルを用いて、前記入力に対する予測出力を算出する予測出力算出ステップと、前記制御部が、前記算出された予測出力と前記システムの実際の出力との差が小さくなるように、前記分類されたクラスタに対応する前記システムの性能予測モデルのパラメータを調整するモデル調整ステップとを備えることを特徴とする。【００１１】
本発明に係るプログラムは、コンピュータを、本発明に係る前記性能予測装置として機能させることを特徴とする。
【発明の効果】
【００１２】
本発明によれば、システムの実際の振る舞いを反映してシステムの性能予測を行うことが可能な性能予測装置、性能予測方法及びプログラムを提供することができる。
【図面の簡単な説明】
【００１３】
【図１】一実施形態における性能予測装置の機能構成を示すブロック図である。
【図２】一実施形態においてモデルを蓄積しているデータベースの構成を示す図である。
【図３】一実施形態における性能予測装置による処理の一例を示すフローチャートである。
【図４Ａ】一実施形態における入力データの一例を説明するための図である。
【図４Ｂ】一実施形態における入力データの一例を説明するための図である。
【図５】他の実施形態における性能予測装置の機能構成を示すブロック図である。
【図６】他の実施形態における入力データの一例を説明するための図である。
【図７】他の実施形態における入力データの一例を説明するための図である。
【図８Ａ】他の実施形態においてモデルを蓄積しているデータベースの構成を示す図である。
【図８Ｂ】他の実施形態においてモデルを蓄積しているデータベースの構成を示す図である。
【図８Ｃ】他の実施形態においてモデルを蓄積しているデータベースの構成を示す図である。
【図９】他の実施形態における性能予測装置による処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００１４】
以下に、図面を参照して、本発明の実施の形態について例示的に詳しく説明する。ただし、以下の実施の形態に記載されている構成要素は単なる例示であり、本発明の技術範囲をそれらのみに限定する趣旨のものではない。
【００１５】
［第１の実施形態］
図１は、本発明の第１の実施形態に係る情報処理装置１の機能構成例を示すブロック図である。情報処理装置１は、性能予測装置として機能する。情報処理装置１は、コンピュータ等のプログラムに従って動作する装置である。情報処理装置１は、モデル蓄積部１０１と、クラスタリング部１０２と、性能予測部１０３と、モデル調整部１０４と、を含む。
【００１６】
モデル蓄積部１０１は、性能予測の対象とするシステムの性能指標の入力と出力の関係のモデルを蓄積しているデータベース（以下、ＤＢ）である。
ここで、入力とは、例えば、単位時間内にシステムが処理しなくてはならないリクエスト数などである。出力とは、例えば、システムのスループットや応答時間などである。しかし、入力及び出力はこれらに限定されるものではなく、独立変数と従属変数の関係としてモデルで記述できる場合には、その独立変数を入力とし、従属変数を出力としてもよい。
【００１７】
ここで、モデルとは、システムの性能予測モデルであり、システムへの入力に対して、あらかじめ定められた手順に従って、計算もしくはシミュレーションを行うことによって、システムからの出力の予測を決定するものである。例えば、ＣＰＵ（Central Processing Unit）などのコンピュータの各構成要素の動作を模倣した待ち行列をモデルとすることができる。また、学習や回帰などの手段によって、入力に対して適当な出力を決定することができる仕組み（例えば、ニューラルネットワークや隠れマルコフモデル、多項式関数近似など）をモデルとすることができる。これらのモデルは単なる例示であり、モデルをこれらに限定するものではない。
【００１８】
クラスタリング部１０２は、性能予測の対象とするシステムへの入力を、入力の種類と入力間の相互作用（関係性）を考慮して、複数のクラスタのいずれかにクラスタリングする。ここで、クラスタリングとは、あるデータの集合に対し、関係性を有するデータ同士が同じ組（クラスタ）となるようにデータを分類する処理である。
【００１９】
例えば、性能予測対象システムへの入力が複数の異なる種類のリクエストを含む場合、各クラスタは、入力におけるリクエストの種類毎の比率で与えられる（比率に応じて定義される）。例えば、平日・休日・月末など、ある時期における典型的な比率が分かっている場合、各時期における比率をそれぞれクラスタとして定義してもよい。この場合、予測したい時期における性能予測対象システムへの入力リクエストの比率が、どのクラスタに属するかが判別される。
【００２０】
性能予測部１０３は、モデル蓄積部１０１を参照してシステムへの入力が属するクラスタに対応するモデルを特定し、当該モデルにおける入力と出力との関係を用いて、性能予測対象システムの入力に対する予測出力を算出する。
【００２１】
モデル調整部１０４は、あるクラスタに対応するモデルについて、性能予測部１０３が算出した予測出力と、性能予測対象システムの実際の出力との間の差に基づいて、モデルのパラメータを調整する。ここで、モデルのパラメータとは、例えば、待ち行列モデルであれば、１リクエストあたりの処理時間などであり、ニューラルネットワークであれば、シナプス荷重などである。以下では、モデルに含まれるパラメータを調整することを、モデルを調整する、と表現する。
【００２２】
なお、性能予測対象システムの実際の出力の値は、任意の方法で取得することができる。例えば、性能予測対象システムの実際の出力の値は、情報処理装置１が有する記憶部から取得されてもよいし、情報処理装置１の外部装置から取得されてもよい。また、調整後のパラメータは、性能予測部１０３によって保持される。しかしながら、これに限定されず、調整後のパラメータは、モデル蓄積部１０１又は他の要素によって保持されてもよい。性能予測部１０３は、調整後のパラメータを用いて、モデルによって予測出力を算出する。
【００２３】
モデルを調整するアルゴリズムは、具体的には、算出したモデルの予測出力を性能予測対象システムの実際の出力に近づけるように、学習または最適化手法などの方法を用いてモデルを調整する。例えば、モデルがニューラルネットワークの場合には、バックプロパゲーションなどの学習アルゴリズムによってシナプス荷重を補正する。モデルが多項式近似の場合は、最小二乗法などで各項の係数を補正する。モデルが待ち行列の場合は、カルマンフィルタなどでリクエストの処理時間を補正する。このほかにも、性能予測対象システムの実際の出力と予測出力の差を評価する関数として、強化学習や遺伝的アルゴリズム、モンテカルロ法、線形計画法などを用いて、モデルのパラメータを補正しても良く、モデルを調整する方法は、これらの例示に限定されない。
【００２４】
また、一実施形態において、情報処理装置１は、ハードウェア構成として、制御部、記憶部、及び入出力部を備える。制御部は、ＣＰＵなどで構成される。記憶部は、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）、及びＨＤＤ（Hard Disc Drive）などで構成される。入出力部は、操作部、表示部、及び通信インタフェースなどの各種インタフェースで構成される。上述した情報処理装置１が備える機能は、これらのハードウェアと記憶部に記憶された各種プログラムとの協働により実現される。
【００２５】
図２を参照して、モデル蓄積部１０１に記憶されているデータの構成を説明する。予測対象システムＩＤ１５１は、性能予測の対象となるシステムを識別する識別子である。クラスタＩＤ１５２は、予測対象システムへの入力が属するクラスタを識別する識別子である。モデル１５３は、システムの性能予測モデルの種類である。モデル調整アルゴリズム１５４は、モデルを調整するために用いられるアルゴリズムの種類である。モデル調整条件１５５は、モデルの調整を終了する条件である。
【００２６】
クラスタＩＤ１５２は、予測対象システムＩＤ１５１に対応付けて記憶されている。同様に、モデル１５３、モデル調整アルゴリズム１５４及びモデル調整条件１５５は、ブラックボックスＩＤ１５１及びクラスタＩＤ１５２に対応付けて記憶されている。
【００２７】
モデル調整条件１５５に関して、例えば、モデル調整部１０４は、性能予測対象システムの実際の出力と、モデルが予測した予測出力とを比較し、その差があらかじめ定められた精度（すなわち、モデル調整条件１５５として記憶された値）以下である場合に調整を完了する。このように調整が完了したとき、モデルによって、あらかじめ定められた精度内で実システムの振る舞いを予測できる。
【００２８】
また、変形例として、性能予測対象システムの実際の出力と、モデルが予測した予測出力との差が、ある一定回数の調整を経ても変化しない場合（すなわち、調整が平衡状態にあるとみなせる場合）に調整完了としてもよい。あるいは、あらかじめ定められた回数の調整を行った場合に、調整完了としてもよい。
【００２９】
なお、図２の予測対象システムＩＤ１５１が「００１」の場合のように、全てのクラスタに対して、同じモデル、モデル調整アルゴリズム、モデル調整条件を適用しても良い。あるいは、予測対象システムＩＤ１５１が「００２」の場合のように、各クラスタで、異なったモデル、モデル調整アルゴリズム、モデル調整条件を適用しても良い。
【００３０】
次に、図３を参照して、情報処理装置１による処理のフローの例について説明する。この処理の制御は、情報処理装置１に備える制御部が記憶部に記憶されたプログラムを展開し、実行することによって行われる。
【００３１】
まず、ステップＳ２０１において、クラスタリング部１０２は、性能予測対象システムへの入力データをいずれかのクラスタにクラスタリング（分類）する。このクラスタリングは、性能予測対象システムへの入力データの種類及び入力データ間の相互作用に応じて行われる。
【００３２】
例えば、リクエストの相互作用は、入力されたリクエスト内におけるリクエストの種類の比率（すなわち、システムが同時に処理するリクエスト）に依存する。従って、性能予測対象システムへの入力データ内における入力データの種類の比率に応じて入力データをクラスタリングすることによって、入力データの種類及び相互作用に応じたクラスタリングを行うことができる。
【００３３】
図４Ａは、性能予測対象システムへの入力データの例を示しているである。ここでは、入力データには２種類のリクエストが含まれており、それぞれのリクエストの単位時刻あたりの数がグラフで示されている。横軸は時刻、縦軸は単位時刻あたりのリクエスト数である。この例では、２種類のリクエストの比率に応じて、クラスタ１，２が定義されているとする。クラスタ１は、リクエスト１の数とリクエスト２の数の比が１：２であるクラスタである。クラスタ２は、リクエスト１の数とリクエスト２の数の比が４：３であるクラスタである。入力データに含まれているリクエストの比率がどのクラスタに近いかを判別することによって、クラスタリングが行なわれる。
【００３４】
図４Ｂは、図４Ａに示される入力データを、横軸をリクエスト１の数、縦軸をリクエスト２の数でプロットしたグラフを示している。図４Ｂのグラフには、入力データのほかに、リクエスト数の比が１：２の直線と、４：３の直線がプロットされている。図４Ｂでは、×印で表された入力データはクラスタ１にクラスタリングされ、○印で表された入力データはクラスタ２にクラスタリングされている。ここで、入力データとクラスタの近さの指標は、例えば、入力データの比率と各クラスタの比率の距離（ユークリッド距離など）、及び／又は図４Ｂのような複数種類のリクエスト数のプロットにおいて注目しているデータ点と直線で表現されるクラスタとの距離を用いることができる。その他に、注目しているデータ点と原点を通る直線とクラスタを表現する直線のそれぞれの傾きを表す単位ベクトルの内積を用いることができる。しかしながら、入力データとクラスタの近さの指標は、これらの例示に限定されるものではない。
【００３５】
図４Ａ、図４Ｂでは２種類のリクエスト、２種類のクラスタの場合を例示したが、複数種類のリクエスト、複数種類のクラスタの場合でも適用が容易にできることは自明であろう。
【００３６】
次に、ステップＳ２０２において、性能予測部１０３は、モデル蓄積部１０１を参照して、Ｓ２０１でクラスタリングされたクラスタに対応するモデルの入力と出力との関係を用いて、性能予測対象システムへの入力に対する予測出力を算出する。
【００３７】
そして、ステップＳ２０３において、モデル調整部１０４は、モデルの調整が終了したか否かをモデル蓄積部１０１のモデル調整条件１５５に基づいて判断する。ここで、モデルの調整が終了したかどうかは、各クラスタに対応するモデルのそれぞれについて、図２のモデル調整条件１５５に基づいて判断される。モデルの調整が終了したと判断された場合、処理は終了する。調整終了と判断されない場合、処理はステップＳ２０４に進む。
【００３８】
ステップＳ２０４において、モデル調整部１０４は、ステップＳ２０２において算出されたモデルの予測出力と、性能予測対象システムの実際の出力とを基に、モデルを調整する。ここで、モデルの調整は、各クラスタに対応するモデルのそれぞれについて、図２のモデル調整アルゴリズム１５４に基づいて行なわれる。ステップＳ２０４でモデルを調整した後、処理はステップＳ２０３に戻り、性能予測部１０３は、調整されたモデルが予測する予測出力を再び算出する。
【００３９】
次に、本実施形態の効果について説明する。本実施形態においては、性能予測対象システムの入力を、入力の種類と相互作用（関係性）（例えば、入力に含まれるリクエストの種類ごとの比率）を考慮して、複数のクラスタのいずれかにクラスタリングする。そして、性能予測対象システムの入力に対して、クラスタに対応するモデルが予測する予測出力を算出し、性能予測対象システムの実際の出力と予測出力との差が小さくなるように、モデルを調整する。その結果、本実施形態によれば、複数種類の入力の相互作用によって性能の変動がある性能予測対象システムに対して、複数のクラスタに対応するモデルを調整することで、性能予測の対象システムの実際の振る舞いを反映した性能予測を行うことができる。例えば、複数のクラスタは、システムへの入力に含まれる各リクエストの比率などで定義されても良い。リクエストの相互作用は、リクエストの比率（すなわち、システムが同時に処理するリクエスト）に依存する。従って、クラスタごとにモデルを調整することは、実際に生じるリクエストの相互作用を反映することに他ならない。
【００４０】
［第２の実施形態］
図５は、本発明の第２の実施形態に係る情報処理装置３の機能構成例を示すブロック図である。情報処理装置３の構成のうち、第１の実施形態における情報処理装置１と同じ構成については、同じ符号を付している。ここでは、情報処理装置３の構成のうち、情報処理装置１と異なる部分についてのみ説明する。その他の構成およびその動作については、説明を省略する。なお、情報処理装置３のハードウェア構成は、第１の実施形態と同様である。
【００４１】
クラスタリング部３０２は、性能予測対象システムへの入力の種類及び相互作用に応じて、複数のクラスタを作成し、当該入力を複数のクラスタのいずれかにクラスタリングする。ここで、クラスタの作成は、例えば、入力に含まれる複数種類のリクエストに対して重回帰式などをあてはめることによって行うことができる。
【００４２】
図６に、性能予測対象システムへの入力データの例を示す。この例では、入力データに２種類のリクエストが含まれている。図６は、横軸をリクエスト１の数、縦軸をリクエスト２の数で単位時刻ごとにプロットしたグラフを示している。図６には、入力データのほかに、入力データを回帰式にあてはめた２本の直線をプロットしている。それぞれの直線（すなわち、回帰式）がそれぞれのクラスタを示している。入力データは、２種類のクラスタのどちらかにクラスタリングされる。図６では、２種類のリクエスト、２つのクラスタの場合を例示したが、一般には、複数種類のリクエストに対して、複数の重回帰式をあてはめればよい。複数の重回帰式を当てはめる方法は、例えば、特許文献５に記載の方法でも良いし、他の方法でも良い。なお、複数の重回帰式の全てが同じ次元でなくても良い。
【００４３】
図７に、リクエストが３種類である場合の例を示す。各軸は、各リクエストの単位時刻の数を表している。リクエスト１，２，３の数をそれぞれＮ１，Ｎ２，Ｎ３とする。このとき、クラスタ１は、Ｎ３＝Ａ＊Ｎ１＋Ｂ＊Ｎ２という重回帰式で表されるような２次元平面的なクラスタである（Ａ、Ｂは係数）。クラスタ２は、Ｎ３＝Ｃ＊Ｎ２かつＮ２＝Ｄ＊Ｎ１という重回帰式で表されるような１次元直線的なクラスタである（Ｃ、Ｄは係数）。このように違う次元のクラスタを作成しても良い。作成されるクラスタの個数は、あらかじめ決められていても良いし、作成された回帰式の自由度と精度からモデルの良さを評価する指標（赤池情報量規準：ＡＩＣやベイズ情報量規準：ＢＩＣなど）を計算し、その値が最適な値になるような個数だけクラスタを作成するようにしてもよい。
【００４４】
モデル作成部３０５は、クラスタリング部３０２が作成したクラスタのそれぞれに対応するモデルを作成する。
図８Ａに、クラスタを作成する前の時点での、モデルを蓄積しているＤＢの構成を示す。クラスタが作成される前なので、クラスタは１つである（すなわち全ての入力は同じクラスタに属している）。クラスタを作成後、モデル作成部３０５は、例えば、各クラスタに対するモデルを、図８Ａに示されるようなクラスタ作成前のモデルを複製することによって、作成する。予測対象システムＩＤ１５１が「００１」のものに対して、３つのクラスタを作成し、それに対応するモデルを作成した様子を図８Ｂに示す。図８Ｂに例示されるように、予測対象システムＩＤ１５１が「００１」のものの全てのクラスタに対して同じモデルが作成されている。
【００４５】
あるいは、モデル作成部３０５は、例えば、各クラスタに対するモデルを、クラスタの性質を取り入れて作成しても良い。図８Ａに示されるようなクラスタ作成前のモデルを複製した後、各クラスタの性質を取り入れてモデルを作成した場合を図８Ｃに例示する。図８Ｃに例示されるように、予測対象システムＩＤ１５１が「００１」のものの各クラスタに対するモデルは、種類の違うニューラルネットワークとなっている。
【００４６】
クラスタの性質を取り入れる方法としては、クラスタが重回帰式の場合、その次元を反映させるなどが考えられる。例えば、図８Ａの時点でのニューラルネットワークの入力ニューロンの数は、リクエストの種類の数だけあり、各入力ニューロンには、対応する種類のリクエストの単位時刻の数が入力されるとする。このようなニューラルネットワークが複製され、各クラスタに対応される場合を考える。例として図７の場合を考えると、クラスタ１は２次元平面的なクラスタなので、このクラスタ内の任意の１点を指定するのに必要な独立な変数の数は２つで十分である。よって、このクラスタ内の独立した基底ベクトルを新たに２つとり、それらをモデルへの入力変数とすることができる。よって、このクラスタに対応するニューラルネットワークの入力ニューロンの数は、リクエストの種類の数である３個から、独立変数の数である２個でよいことになる。同様に、クラスタ２は１次元直線的なクラスタなので、このクラスタに対応するニューラルネットワークの入力ニューロンは１個でよい。このように、クラスタの次元を考慮することによって、入力ニューロンの数を減らすことができる。ニューラルネットワークに限らず、一般的なモデルで、このような入力変数の種類の削減が可能であることは自明であろう。
【００４７】
次に情報処理装置３による処理のフローについて説明する。図９は、情報処理装置３の処理を示すフローチャートである。この処理の制御は、情報処理装置３の制御部が記憶部に記憶されたプログラムを展開し、実行することによって行われる。なお、図９において、第１の実施形態の図３と同様のステップには同じ参照番号が付されており、これらのステップについては、第１の実施形態と同様の処理を行うため、説明は省略する。
【００４８】
ステップＳ４０１において、クラスタリング部３０２は、性能予測対象システムへの入力に応じて、クラスタを作成する。そして、ステップＳ４０２において、モデル生成部３０５は、クラスタリング部３０２で作成されたクラスタのそれぞれに対応するモデルを作成する。なお、ステップＳ４０２において、作成されたモデルや付随するモデル調整アルゴリズム・モデル調整条件を、対応するクラスタを参照しながら人手によって修正を加えても良い。
【００４９】
次に、第２の実施形態の効果について説明する。本実施形態に係る性能予測装置としての情報処理装置３は、第１の実施形態と比べると、入力からクラスタを作成し、クラスタごとにモデルを作成する点で異なる。本実施形態によれば、入力からクラスタを作成するので、性能予測を行うときにクラスタが生成されていない場合でも、入力の内容に応じてクラスタを生成することができ、かつ、生成されたクラスタごとにモデルを対応させることができる。
【００５０】
また、重回帰式によってクラスタを作成することで、入力の相互作用を取り入れたモデルの調整ができる。例えば、１次元直線的なクラスタの場合は、各種類のリクエストの比率が一定であることを示しており、このような場合でのモデルの調整ができる。２次元平面的なクラスタの場合（すなわち、Ｎ３＝Ａ＊Ｎ１＋Ｂ＊Ｎ２のような場合）には、リクエスト１が（１／Ａ）回起こるとリクエスト３が１回起こる、または、リクエスト２が（１／Ｂ）回起こるとリクエスト３が１回起こる、というリクエストの平均的な振る舞いを表しており、このような場合でのモデルの調整ができる。３次元以上のクラスタの場合でも同様である。
【００５１】
さらに、本実施形態によれば、各クラスタに対応するモデルを、クラスタの情報を反映して作成することができる。例えば、クラスタの次元を反映すると、上記で説明したように、入力変数の次元を減らすことができる。一般に、次元が小さいほど学習の速度は速くなる効果が得られる。
【００５２】
本発明の具体的な構成は前述の実施の形態に限られるものではなく、この発明の要旨を逸脱しない範囲の変更があってもこの発明に含まれる。
【００５３】
この出願は、２０１２年６月６日に出願された日本出願特願２０１２−１２９１６４を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【００５４】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【００５５】
上記の実施の形態の一部または全部は、以下の付記のようにも記載されうるが、以下には限られない。
【００５６】
（付記１）性能予測の対象となるシステムへの入力を、当該入力の種類及び当該入力間の相互作用に応じて複数のクラスタのいずれかに分類するクラスタリング手段と、
前記分類されたクラスタに対応する前記システムの性能予測モデルを用いて、前記入力に対する予測出力を算出する予測出力算出手段と、
前記算出された予測出力と前記システムの実際の出力との差が小さくなるように、前記分類されたクラスタに対応する前記システムの性能予測モデルのパラメータを調整するモデル調整手段と
を備えたことを特徴とする性能予測装置。
【００５７】
（付記２）前記クラスタリング手段は、性能予測の対象となるシステムへの入力の種類及び入力間の相互作用に応じて、当該入力についての複数のクラスタを作成することを特徴とする付記１に記載の性能予測装置。
【００５８】
（付記３）前記複数のクラスタのそれぞれに対応する前記システムの性能予測モデルを作成するモデル作成手段を備えることを特徴とする付記１又は２に記載の性能予測装置。
【００５９】
（付記４）前記モデル作成手段は、前記クラスタの情報を反映して前記性能予測モデルを生成することを特徴とする付記３に記載の性能予測装置。
【００６０】
（付記５）前記クラスタは、前記入力に含まれるリクエストの種類のそれぞれの比率に応じて定義されることを特徴とする付記１から４のいずれか１つに記載の性能予測装置。
【００６１】
（付記６）前記クラスタは、前記入力に対して重回帰式をあてはめることによって定義することを特徴とする付記１から４のいずれか１つに記載の性能予測装置。
【００６２】
（付記７）制御部を有する情報処理装置において実施される性能予測方法であって、
前記制御部が、性能予測の対象となるシステムへの入力を、当該入力の種類及び当該入力間の相互作用に応じて複数のクラスタのいずれかに分類するクラスタリングステップと、
前記制御部が、前記分類されたクラスタに対応する前記システムの性能予測モデルを用いて、前記入力に対する予測出力を算出する予測出力算出ステップと、
前記制御部が、前記算出された予測出力と前記システムの実際の出力との差が小さくなるように、前記分類されたクラスタに対応する前記システムの性能予測モデルのパラメータを調整するモデル調整ステップと
を備えることを特徴とする性能予測方法。
【００６３】
（付記８）コンピュータを付記１から７のいずれか１つに記載の性能予測装置として機能させるためのプログラム。
【符号の説明】
【００６４】
１，３  情報処理装置
１０１  モデル蓄積部
１０２，３０２  クラスタリング部
１０３  性能予測部
１０４  モデル調整部
３０５  モデル生成部
【図１】
2013183425.tif 000003
【図２】
2013183425.tif 000004
【図３】
2013183425.tif 000005
【図４Ａ】
2013183425.tif 000006
【図４Ｂ】
2013183425.tif 000007
【図５】
2013183425.tif 000008
【図６】
2013183425.tif 000009
【図７】
2013183425.tif 000010
【図８Ａ】
2013183425.tif 000011
【図８Ｂ】
2013183425.tif 000012
【図８Ｃ】
2013183425.tif 000013
【図９】
2013183425.tif 000014
【国際調査報告】
2013183425.tif 000015
2013183425.tif 000016
2013183425.tif 000017
2013183425.tif 000018