(57)【特許請求の範囲】
【請求項１】
ワークロード量と、ワークロードの性能に影響を与えるワークロードのパラメータであるワークロード特性値と、該ワークロード量及び該ワークロード特性値に対応するワークロードが各サーバ装置上で実行されることにより計測されるワークロードの性能情報との複数の対応関係を示す性能モデルを、各サーバ装置についてそれぞれ取得するモデル取得部と、
現サーバ装置で動作している移動対象仮想マシンの性能情報を取得する性能情報取得部と、
前記現サーバ装置の前記性能モデルを用いることにより、前記移動対象仮想マシンの前記性能情報を、前記移動対象仮想マシンに関するワークロード量とワークロード特性値との組み合わせに変換する変換部と、
前記変換部により変換された前記組み合わせを、前記移動対象仮想マシンの移動先の候補となる移動先サーバ装置の前記性能モデルに適用することにより、該移動先サーバ装置上での前記移動対象仮想マシンの性能情報を推定する推定部と、
を備える仮想マシン管理装置。
【請求項２】
指定されたワークロードを実行するために各サーバ装置に配置されている計測用仮想マシンに、前記ワークロード量と前記ワークロード特性値との複数の組み合わせに対応する複数のワークロードの各々を順次実行させるワークロード制御部と、
前記各ワークロードが前記各サーバ装置上でそれぞれ実行されることにより計測される、前記各サーバ装置上における前記各ワークロードの性能情報をそれぞれ収集する性能情報収集部と、
前記ワークロード量と前記ワークロード特性値との前記各組み合わせと前記各ワークロードの性能情報との対応関係から、前記各サーバ装置の前記性能モデルをそれぞれ生成するモデル生成部と、
を更に備える請求項１に記載の仮想マシン管理装置。
【請求項３】
前記変換部は、前記移動対象仮想マシンの前記性能情報を前記現サーバ装置の前記性能モデルに適用することにより、前記移動対象仮想マシンに関するワークロード量とワークロード特性値との複数の組み合わせを取得し、該複数の組み合わせから、前記移動対象仮想マシンの前記性能情報の変換後の１つの組み合わせを決定する、
ことを特徴とする請求項１又は２に記載の仮想マシン管理装置。
【請求項４】
前記移動対象仮想マシンが以前動作していた前サーバ装置上での前記移動対象仮想マシンの性能情報を該前サーバ装置の前記性能モデルに適用することにより得られる、前記移動対象仮想マシンに関するワークロード量とワークロード特性値との第１の複数の組み合わせを格納する特性情報格納部を更に備え、
前記変換部は、前記移動対象仮想マシンの前記性能情報を前記現サーバ装置の前記性能モデルに適用することにより、前記移動対象仮想マシンに関するワークロード量とワークロード特性値との第２の複数の組み合わせを取得し、該第２の複数の組み合わせ及び前記特性情報格納部に格納される前記第１の複数の組み合わせから、前記移動対象仮想マシンの前記性能情報の変換後の１つの組み合わせを決定する、
請求項１から３のいずれか１項に記載の仮想マシン管理装置。
【請求項５】
前記性能情報取得部は、前記移動対象仮想マシンが以前動作していた前サーバ装置から前記現サーバ装置へ移動した場合において、前記現サーバ装置上で動作する所定単位の仮想マシン群の統合性能情報の増加分から、前記現サーバ装置上での前記移動対象仮想マシンの前記性能情報を取得するか、又は、該前サーバ装置上で動作する所定単位の仮想マシン群の統合性能情報の減少分から、該前サーバ装置上での前記移動対象仮想マシンの前記性能情報を取得する請求項１から４のいずれか１項に記載の仮想マシン管理装置。
【請求項６】
前記性能モデルは、複数のリソース種の各々に関し、前記ワークロード量と前記ワークロード特性値と前記ワークロードの性能情報との複数の対応関係をそれぞれ示し、
前記性能情報取得部は、前記複数のリソース種の各々についての前記移動対象仮想マシンの性能情報をそれぞれ取得し、
前記変換部は、前記各リソース種に関する前記性能モデルを用いて、前記移動対象仮想マシンの前記リソース種毎の前記性能情報を、前記移動対象仮想マシンの前記リソース種毎の、前記ワークロード量と前記ワークロード特性値との組み合わせに変換し、
前記推定部は、前記移動先サーバ装置上における前記移動対象仮想マシンの前記リソース種毎の性能情報をそれぞれ推定する、
請求項１から５のいずれか１項に記載の仮想マシン管理装置。
【請求項７】
請求項１から６のいずれか１項に記載の仮想マシン管理装置と、
複数のサーバ装置と、
を備え、
前記複数のサーバ装置の各々が、
自サーバ装置上で動作している仮想マシンの性能情報、又は、自サーバ装置上で動作している所定単位の仮想マシン群の統合性能情報を計測する性能情報計測部
を有する仮想マシン管理システム。
【請求項８】
少なくとも１つのコンピュータが、
ワークロード量と、ワークロードの性能に影響を与えるワークロードのパラメータであるワークロード特性値と、該ワークロード量及び該ワークロード特性値に対応するワークロードが各サーバ装置上で実行されることにより計測されるワークロードの性能情報との複数の対応関係を示す性能モデルを、各サーバ装置についてそれぞれ取得し、
現サーバ装置で動作している移動対象仮想マシンの性能情報を取得し、
前記現サーバ装置の前記性能モデルを用いることにより、前記移動対象仮想マシンの前記性能情報を、前記移動対象仮想マシンに関するワークロード量とワークロード特性値との組み合わせに変換し、
前記変換された組み合わせを、前記移動対象仮想マシンの移動先の候補となる移動先サーバ装置の前記性能モデルに適用することにより、該移動先サーバ装置上での前記移動対象仮想マシンの性能情報を推定する、
ことを含む仮想マシン管理方法。
【請求項９】
少なくとも１つのコンピュータに、
ワークロード量と、ワークロードの性能に影響を与えるワークロードのパラメータであるワークロード特性値と、該ワークロード量及び該ワークロード特性値に対応するワークロードが各サーバ装置上で実行されることにより計測されるワークロードの性能情報との複数の対応関係を示す性能モデルを、各サーバ装置についてそれぞれ取得するモデル取得部と、
現サーバ装置で動作している移動対象仮想マシンの性能情報を取得する性能情報取得部と、
前記現サーバ装置の前記性能モデルを用いることにより、前記移動対象仮想マシンの前記性能情報を、前記移動対象仮想マシンに関するワークロード量とワークロード特性値との組み合わせに変換する変換部と、
前記変換部により変換された前記組み合わせを、前記移動対象仮想マシンの移動先の候補となる移動先サーバ装置の前記性能モデルに適用することにより、該移動先サーバ装置上での前記移動対象仮想マシンの性能情報を推定する推定部と、
を実現させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想マシン管理技術に関する。
【背景技術】
【０００２】
仮想化技術の普及により、データセンタ等では、複数の物理マシンのリソースが一元管理され、共有リソースプールとして扱われるようになってきている。また、仮想化の性能の向上により、従来、仮想環境で動作させることが困難であったアプリケーションを仮想環境で動作させることができるようになってきている。【０００３】
共有リソースプールによる一元管理及びライブマイグレーション等のような仮想マシン移行技術によれば、システムの消費電力を抑えることが可能である。そのような技術により、仮想マシンを特定の物理マシンへ集約させ、不要なサーバの電源を落とすことができるからである。また、高負荷状態の物理マシン上で動作している仮想マシンを別の物理マシンへ退避させることにより、物理マシンの高負荷状態を回避することもできる。【０００４】
仮想マシンを別の物理マシンへ移行する際には、移行先の物理マシン上で十分なリソースを確保可能か否かが事前確認される。しかしながら、異なる性能の物理マシンが混在する環境においては、或る物理マシン上での仮想マシンのリソース使用量を他の物理マシン上でのリソース使用量として単純に置き換えることができない場合がある。例えば、ＣＰＵ（Central Processing Unit）のクロックやアーキテクチャが異なる物理マシン間では、或る物理マシン上でのＣＰＵ使用率は、別の物理マシンでは異なる値となる。【０００５】
このような点を考慮して、下記特許文献１では、仮想サーバ環境において、各物理サーバの処理能力の余裕を同じ基準で計測するための手法が提案されている。具体的には、下記特許文献１の手法は、ＯＳ（Operating System）と性能計測プログラムとを含む同一の仮想サーバイメージに基づく性能計測用仮想サーバを複数の物理サーバ上で起動し、各性能計測用仮想サーバで計測された性能情報を各物理サーバから収集する。この手法によれば、収集された各物理サーバの性能情報の差により、物理サーバ間の処理性能の余裕の差を同一基準で取得することができる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００７−３２３２４５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上述の手法では、配置予定の仮想サーバのＯＳの種類と同じＯＳを有し、配置予定の仮想サーバで実行されるアプリケーションの種類に合った性能情報を計測する性能計測プログラムを有する仮想サーバイメージに基づく性能計測用仮想サーバが各物理サーバ上で起動され、性能情報が計測される。【０００８】
しかしながら、性能計測用仮想サーバにより発生されるワークロードの特性が、配置予定の仮想サーバのそれと相違する場合には、上述の手法では、配置予定の仮想サーバの性能を高精度で推定することは困難である。ここで、ワークロードの特性とは、ワークロードの処理性質を示すものとして定義される。例えば、同じ回数の演算処理を行うワークロード間でも、演算過程で利用されるメモリサイズの違いにより、ＣＰＵにおけるキャッシュヒット率に影響を与え、ひいては、性能を示すＣＰＵ使用率が相違する可能性がある。また、同じデータ量を送信するワークロード間でも、送信パケットサイズの違いにより、性能が相違する可能性がある。同様に、ハードディスクに対して同量のデータを処理するワークロード間でも、ディスクアクセス方法（ランダムアクセス、シーケンシャルアクセス等）の違いにより、性能が相違する可能性がある。【０００９】
一般的な仮想環境では、ＣＰＵ使用率、ネットワーク送受信量、ディスク読み書き量等の性能情報を計測することはできるが、仮想マシンがどのような処理をしているかといったワークロードの特性までは観測することができない。【００１０】
本発明は、上述のような点を考慮してなされたものであり、仮想マシンを移動先のサーバ装置に移動させる前に、その移動先のサーバ装置上での仮想マシンの性能を高精度に推定する技術を提供する。
【課題を解決するための手段】
【００１１】
本発明の各態様では、上述した課題を解決するために、それぞれ以下の構成を採用する。【００１２】
第１の態様は仮想マシン管理装置に関する。第１態様における仮想マシン管理装置は、ワークロード量と、ワークロードの性能に影響を与えるワークロードのパラメータであるワークロード特性値と、ワークロード量及びワークロード特性値に対応するワークロードが各サーバ装置上で実行されることにより計測されるワークロードの性能情報との複数の対応関係を示す性能モデルを、各サーバ装置についてそれぞれ取得するモデル取得部と、現サーバ装置で動作している移動対象仮想マシンの性能情報を取得する性能情報取得部と、現サーバ装置の性能モデルを用いることにより、移動対象仮想マシンの性能情報を、移動対象仮想マシンに関するワークロード量とワークロード特性値との組み合わせに変換する変換部と、変換部により変換された組み合わせを、移動対象仮想マシンの移動先の候補となる移動先サーバ装置の性能モデルに適用することにより、移動先サーバ装置上での移動対象仮想マシンの性能情報を推定する推定部と、を備える。【００１３】
第２の態様は、仮想マシン管理方法に関する。第２態様に係る仮想マシン管理方法は、少なくとも１つのコンピュータが、ワークロード量と、ワークロードの性能に影響を与えるワークロードのパラメータであるワークロード特性値と、ワークロード量及びワークロード特性値に対応するワークロードが各サーバ装置上で実行されることにより計測されるワークロードの性能情報との複数の対応関係を示す性能モデルを、各サーバ装置についてそれぞれ取得し、現サーバ装置で動作している移動対象仮想マシンの性能情報を取得し、現サーバ装置の性能モデルを用いることにより、移動対象仮想マシンの性能情報を、移動対象仮想マシンに関するワークロード量とワークロード特性値との組み合わせに変換し、変換された組み合わせを、移動対象仮想マシンの移動先の候補となる移動先サーバ装置の性能モデルに適用することにより、移動先サーバ装置上での移動対象仮想マシンの性能情報を推定することを含む。【００１４】
なお、本発明の他の態様としては、上記第１態様の構成を少なくとも１つのコンピュータに実現させるプログラムであってもよいし、このようなプログラムを記録したコンピュータが読み取り可能な記録媒体であってもよい。この記録媒体は、非一時的な有形の媒体を含む。
【発明の効果】
【００１５】
上記各態様によれば、仮想マシンを移動先のサーバ装置に移動させる前に、その移動先のサーバ装置上での仮想マシンの性能を高精度に推定する技術を提供することができる。
【図面の簡単な説明】
【００１６】
上述した目的、およびその他の目的、特徴および利点は、以下に述べる好適な実施の形態、およびそれに付随する以下の図面によってさらに明らかになる。【００１７】
【図１】第１実施形態における仮想マシン管理システムの構成例を概念的に示す図である。
【図２】第１実施形態におけるサーバ装置及び仮想マシン管理装置の処理構成例を概念的に示す図である。
【図３】計測用仮想マシンで実行されるワークロード仕様の例を示す図である。
【図４】ＣＰＵ使用率の性能モデルにおいてＣＰＵ使用率（性能情報）を固定した場合の、ワークロード量（演算回数）とワークロード特性値（メモリサイズ）との対応関係の例を示す図である。
【図５】第１実施形態における仮想マシン管理装置の準備フェーズの動作例を示すフローチャートである。
【図６】第１実施形態における仮想マシン管理装置の運用フェーズの動作例を示すフローチャートである。
【図７】現サーバ装置の性能モデルを用いて変換されたワークロード量とワークロード特性値との複数組み合わせの例を示す図である。
【図８】移動先サーバ装置上での仮想マシンの性能情報の例を示す図である。
【図９】移動先サーバ装置の性能モデルを用いて変換されたワークロード量とワークロード特性値との複数組み合わせの例を示す図である。
【図１０】図７の分布と図９の分布とを重ね合わせた分布を示すグラフである。
【発明を実施するための形態】
【００１８】
以下、本発明の実施の形態について説明する。なお、以下に挙げる実施形態は例示であり、本発明は以下の実施形態の構成に限定されない。
【００１９】
本実施形態に係る仮想マシン管理装置は、ワークロード量と、ワークロードの性能に影響を与えるワークロードのパラメータであるワークロード特性値と、ワークロード量及びワークロード特性値に対応するワークロードが各サーバ装置上で実行されることにより計測されるワークロードの性能情報との複数の対応関係を示す性能モデルを、各サーバ装置についてそれぞれ取得するモデル取得部と、現サーバ装置で動作している移動対象仮想マシンの性能情報を取得する性能情報取得部と、現サーバ装置の性能モデルを用いることにより、移動対象仮想マシンの性能情報を、移動対象仮想マシンに関するワークロード量とワークロード特性値との組み合わせに変換する変換部と、変換部により変換された組み合わせを、移動対象仮想マシンの移動先の候補となる移動先サーバ装置の性能モデルに適用することにより、移動先サーバ装置上での移動対象仮想マシンの性能情報を推定する推定部と、を備える。
【００２０】
本実施形態に係る仮想マシン管理方法は、少なくとも１つのコンピュータが、ワークロード量と、ワークロードの性能に影響を与えるワークロードのパラメータであるワークロード特性値と、ワークロード量及びワークロード特性値に対応するワークロードが各サーバ装置上で実行されることにより計測されるワークロードの性能情報との複数の対応関係を示す性能モデルを、各サーバ装置についてそれぞれ取得し、現サーバ装置で動作している移動対象仮想マシンの性能情報を取得し、現サーバ装置の性能モデルを用いることにより、移動対象仮想マシンの性能情報を、移動対象仮想マシンに関するワークロード量とワークロード特性値との組み合わせに変換し、変換された組み合わせを、移動対象仮想マシンの移動先の候補となる移動先サーバ装置の性能モデルに適用することにより、移動先サーバ装置上での移動対象仮想マシンの性能情報を推定することを含む。
【００２１】
本実施形態では、各サーバ装置の性能モデルが用いられる。この性能モデルは、各サーバ装置についてのワークロード量とワークロード特性値とワークロード性能情報との間の複数の対応関係を示す。ここで、ワークロードとは、或るコンピュータリソースを利用する処理負荷を意味し、例えば、ＣＰＵ負荷、ネットワーク送信負荷、ネットワーク受信負荷、ハードディスク読込み負荷、ハードディスク書込み負荷、画像処理負荷等である。ワークロードは、特定処理を実行するプログラムによって実現される。ワークロード特性値とは、上述のように、ワークロードの処理性質を示すワークロード特性をデータ化したものであり、ワークロードの性能に影響を与えるワークロードのパラメータである。
【００２２】
本実施形態では、このような各サーバ装置の性能モデルが利用されることにより、或るサーバ装置上での或る仮想マシンの性能情報が、ワークロード量とワークロード特性値との組み合わせに変換され、この組み合わせが、移動先の候補となる他のサーバ装置上でのその仮想マシンの性能情報に変換される。
【００２３】
このように、本実施形態では、同一の仮想マシンであっても動作環境（サーバ装置）毎に異なって計測される性能情報が、動作環境に依存しないワークロード量とワークロード特性値との組み合わせに変換される。よって、このようなワークロード量とワークロード特性値との組み合わせは、共通指標データと呼ぶこともできる。そして、その変換された組み合わせデータから、移動先サーバ装置上でのその仮想マシンの性能情報が推定されるため、本実施形態によれば、実際に仮想マシンを移動させる前に、その移動先のサーバ装置上での仮想マシンの性能を高精度に推定することができる。
【００２４】
更に、共通指標データとしての上記組み合わせデータには、通常観測不能なワークロード特性を示すデータが利用されているため、当該組み合わせデータは、その仮想マシンの性能を高精度に示すことになる。ひいては、各仮想マシンの特性にあったサーバ装置へ各仮想マシンを移行及び配備することができ、システム全体でのリソースの最適利用が可能となる。
【００２５】
上述の実施形態は、簡易版の実施形態を例示している。そこで、以下、上述の実施形態を更に詳細化した各実施形態についてそれぞれ説明する。以下の各実施形態は、上述の仮想マシン管理装置及び仮想マシン管理方法を仮想マシン管理システムに適用した場合の例である。
【００２６】
［第１実施形態］
〔システム構成〕
図１は、第１実施形態における仮想マシン管理システム１の構成例を概念的に示す図である。第１実施形態における仮想マシン管理システム１は、複数のサーバ装置１０（＃１）から１０（＃ｍ）（ｍは正の整数）、仮想マシン管理装置２０等を有する。以降、複数のサーバ装置１０（＃１）から１０（＃ｍ）は、個別に区別する必要がある場合を除き、サーバ装置１０と総称される。
【００２７】
サーバ装置１０及び仮想マシン管理装置２０は、いわゆるコンピュータであり、例えば、バス５で相互に接続される、ＣＰＵ２、メモリ３、入出力インタフェース（Ｉ／Ｆ）４等を有する。メモリ３は、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）、ハードディスク、可搬型記憶媒体等である。入出力Ｉ／Ｆ４は、通信網９を介して他の装置と通信を行う通信装置７と接続される。なお、入出力Ｉ／Ｆ４は、キーボード、マウス等のようなユーザ操作の入力を受け付ける装置や、ディスプレイ装置やプリンタ等のようなユーザに情報を提供する装置に接続されてもよい。サーバ装置１０及び仮想マシン管理装置２０のハードウェア構成は制限されない。
【００２８】
複数のサーバ装置１０及び仮想マシン管理装置２０は通信網９を介して相互に通信可能に接続されている。通信網９は、インターネット等のような公衆網、ＷＡＮ（Wide Area Network）、ＬＡＮ（Local Area Network）、無線通信ネットワーク等である。なお、本実施形態において、サーバ装置１０間、各サーバ装置１０と仮想マシン管理装置２０との間の各通信形態は限定されない。
【００２９】
〔装置構成〕
図２は、第１実施形態におけるサーバ装置１０及び仮想マシン管理装置２０の処理構成例を概念的に示す図である。
【００３０】
〈サーバ装置〉
サーバ装置１０は、仮想マシン制御部１６、性能情報計測部１７等を有し、少なくとも１つの仮想マシン１１を動作させることができる。これら各処理部及び仮想マシン１１は、サーバ装置１０において、ＣＰＵ２によりメモリ３に格納されるプログラムが実行されることにより実現される。また、当該プログラムは、例えば、ＣＤ（Compact Disc）、メモリカード等のような可搬型記録媒体やネットワーク上の他のコンピュータから入出力Ｉ／Ｆ４を介してインストールされ、メモリ３に格納されてもよい。
【００３１】
仮想マシン制御部１６は、仮想マシン１１の起動や仮想マシン１１へのリソース割当て等を行う。
【００３２】
性能情報計測部１７は、仮想マシン１１及び自サーバ装置１０の性能情報を計測する。計測される性能情報には、少なくとも１リソース種についての性能情報が含まれる。性能情報計測部１７は、ＣＰＵリソース、ネットワークリソース、ディスクリソース、メモリリソースのような複数のリソース種についての性能情報を計測する場合には、例えば、ＣＰＵ使用率、ネットワーク受信量、ネットワーク送信量、ディスク読み込み量、ディスク書き込み量、メモリ使用量を計測する。
【００３３】
サーバ装置１０により稼働される仮想マシン１１には、計測用仮想マシン１１が含まれる。計測用仮想マシン１１は、運用開始時に予めサーバ装置１０にインストールされていてもよいし、仮想マシン管理装置２０や他の装置から通信網９を介して提供されてもよい。
【００３４】
計測用仮想マシン１１は、ワークロード生成部１２を有する。ワークロード生成部１２は、計測用仮想マシン１１上で様々な形態のワークロードを実行する。ワークロード生成部１２は、設定ファイルや他の装置から取得されたワークロード仕様に対応するワークロードを実行する。例えば、ワークロード仕様として２種類のリソース種に対応するワークロードタイプが指定される場合、ワークロード生成部１２は、各リソース種に関する２種類のワークロードを順次実行する。この場合、例えば、ＣＰＵワークロードは、他のリソース種を利用する処理（ネットワーク送受信やディスク読み書き）を行わない、演算処理プログラムで実現される。
【００３５】
図３は、計測用仮想マシン１１で実行されるワークロード仕様の例を示す図である。図３に示されるように、ワークロード仕様として、例えば、ワークロードタイプ、ワークロード特性、ワークロード量サンプリング数、ワークロード特性値サンプリング数、性能情報のタイプ等が指定される。ワークロードタイプは、負荷を与えるリソース種を示し、性能情報のタイプは、そのワークロードの実行により計測される性能情報の形態を示す。
【００３６】
図３の例によれば、ＣＰＵワークロードの特性として、ＣＰＵの性能情報に影響を与える利用メモリサイズが指定されている。なお、図３には示されていないが、ネットワーク送信ワークロード及びネットワーク受信ワークロードに関しては、例えば、１回の送受信パケットのサイズがワークロード特性値として利用され、ディスク読み込みワークロード及びディスク書き込みワークロードに関しては、例えば、シーケンシャルアクセスの割合がワークロード特性値として利用され得る。なお、各ワークロードについて、ワークロード特性が複数設定されてもよい。
【００３７】
図３の例によれば、ワークロード生成部１２が、ワークロード量（演算回数）１０種類及びワークロード特性値（利用メモリサイズ）１０種類の各組み合わせに対応する１００種類のＣＰＵワークロードを順次実行する。これにより、性能情報計測部１７は、演算回数及び利用メモリサイズがそれぞれ異なるＣＰＵワークロードに関する１００個の性能情報を順次計測することになる。
【００３８】
〈仮想マシン管理装置〉
仮想マシン管理装置２０は、仮想マシン管理部２１、ワークロード制御部２２、性能情報収集部２３、性能情報分析部２５、性能データベース（ＤＢ）２６、モデルデータベース（ＤＢ）２７、特性データベース（ＤＢ）２８等を有する。これら各処理部は、仮想マシン管理装置２０において、ＣＰＵ２によりメモリ３に格納されるプログラムが実行されることにより実現される。また、当該プログラムは、例えば、ＣＤ、メモリカード等のような可搬型記録媒体やネットワーク上の他のコンピュータから入出力Ｉ／Ｆ４を介してインストールされ、メモリ３に格納されてもよい。
【００３９】
仮想マシン管理部２１は、複数の仮想マシン１１の各サーバ装置１０への配備、各仮想マシン１１へのリソース割当、各仮想マシン１１の再配備（移動）等を制御する。仮想マシン管理部２１は、上述の計測用仮想マシン１１を対象となる各サーバ装置１０に配備する。仮想マシン１１の配備とは、仮想マシン１１がサーバ装置１０上で動作可能となるようにすることを意味し、本実施形態では、その配備の具体的手法を制限しない。例えば、各サーバ装置１０上には計測用仮想マシン１１がインストールされており、仮想マシン管理部２１は、計測用仮想マシン１１を稼働させる各サーバ装置１０に、稼働を指示するようにしてもよい。
【００４０】
仮想マシン管理部２１は、複数の仮想マシン１１の中の移動対象の仮想マシン１１について、移動先のサーバ装置１０を決定し、その移動先のサーバ装置１０にその移動対象の仮想マシン１１を移動させる。
【００４１】
ワークロード制御部２２は、計測用仮想マシン１１上で発生させるワークロードを制御する。例えば、ワークロード制御部２２は、図３の例に示されるようなワークロード仕様の設定情報を取得し、計測用仮想マシン１１のワークロード生成部１２に対して、そのワークロード仕様を指定して、ワークロードの実行を指示する。ワークロード仕様の設定情報は、予め、ワークロード制御部２２により保持されていてもよいし、ユーザインタフェース装置から入力されてもよいし、他の装置から取得されてもよい。
【００４２】
性能情報収集部２３は、各サーバ装置１０の性能情報計測部１７により計測された性能情報を収集し、収集された性能情報を性能ＤＢ２６に格納する。図３の例に基づいてワークロードが実行された場合には、性能情報収集部２３は、演算回数及び利用メモリサイズがそれぞれ異なるＣＰＵワークロードに関する１００個の性能情報を、各サーバ装置１０からそれぞれ収集する。性能情報収集部２３は、収集された各性能情報を、その性能情報に対応するワークロード量及びワークロード特性値と関連付けて、それぞれ性能ＤＢ２６に格納する。
【００４３】
このように、本実施形態では、仮想マシン管理装置２０は、サーバ装置１０から収集された性能情報と、この性能情報に対応するワークロード量及びワークロード特性値とを対応付けることができるように、各サーバ装置１０と連携して動作する。本実施形態は、この連携動作の形態を制限しない。この連携動作の形態として、例えば、当該対応付けを仮想マシン管理装置２０側で実行する形態や、当該対応付けを各サーバ装置１０側で実行する形態がある。
【００４４】
前者の形態では、仮想マシン管理装置２０のワークロード制御部２２は、ワークロード量とワークロード特性値との或る１つの組み合わせを含むワークロード実行指示を各サーバ装置１０の計測用仮想マシン１１に送り、性能情報収集部２３においてその組み合わせに対応する性能情報の収集が終了した後、次の新たな組み合わせを含むワークロード実行指示を各計測用仮想マシン１１に送る。各サーバ装置１０の計測用仮想マシン１１では、ワークロード生成部１２が、指示されたワークロード量とワークロード特性値との組み合わせに対応するワークロードを順次実行し、性能情報計測部１７がそのワークロードの性能情報を順次計測する。
【００４５】
後者の形態では、例えば、ワークロード制御部２２は、図３に示される情報に加えて、ワークロード量のリスト及びワークロード特性値のリストを更に含むワークロード実行指示を各計測用仮想マシン１１に送る。各サーバ装置１０では、その指示に応じて、各組み合わせに対応するワークロードが順次実行され、そのときの性能情報が順次計測される。各サーバ装置１０の性能情報計測部１７は、計測された各性能情報と、その性能情報に対応するワークロード量とワークロード特性値との組み合わせとが関連付けられた情報を生成し、その情報を仮想マシン管理装置２０に送信する。
【００４６】
また、性能情報収集部２３は、計測用仮想マシン１１以外の各仮想マシン１１の性能情報についても、各仮想マシン１１が稼働している各サーバ装置１０からそれぞれ収集する。よって、性能情報収集部２３は、性能情報取得部と呼ぶこともできる。
【００４７】
性能ＤＢ２６は、各サーバ装置１０に関し、各性能情報と、その性能情報に対応するワークロード量とワークロード特性値との組み合わせとを関連付けた形でそれぞれ格納する。複数のリソース種の性能情報が計測された場合には、性能ＤＢ２６は、各サーバ装置１０の各リソース種に関し、各性能情報と、その性能情報に対応するワークロード量とワークロード特性値との組み合わせとを関連付けた形でそれぞれ格納する。
【００４８】
性能情報分析部２５は、変換部３１、推定部３２、モデル生成部３３等を有する。
【００４９】
モデル生成部３３は、性能ＤＢ２６に格納される、ワークロード量とワークロード特性値との各組み合わせと各ワークロードの性能情報との対応関係から、各サーバ装置１０の性能モデルをそれぞれ生成する。例えば、この性能モデルは、ワークロード量及びワークロード特性値を入力とし、その組み合わせに対応する性能情報を出力とする回帰式で表わされる。この場合、モデル生成部３３は、性能ＤＢ２６に格納される情報を用いて重回帰分析を行うことにより、当該性能モデルを生成する。図３の例におけるワークロード仕様により計測された性能情報によれば、ワークロード量（演算回数）とワークロード特性値（利用メモリサイズ）とを入力とし、ＣＰＵ使用率を出力とする性能モデルが生成される。
【００５０】
なお、本実施形態は、ワークロード量とワークロード特性値とワークロードの性能情報との間の複数の対応関係を示すものであれば、この性能モデルの生成手法を制限しない。また、モデル生成部３３は、複数のリソース種の各々に関し、ワークロード量とワークロード特性値とワークロードの性能情報との複数の対応関係をそれぞれ示す性能モデルを生成してもよい。
【００５１】
モデルＤＢ２７は、モデル生成部３３により生成された、各サーバ装置１０の性能モデルをそれぞれ格納する。なお、モデルＤＢ２７に格納される各性能モデルは、サーバ装置１０の構成が変わらなければ、各サーバ装置１０につき１回生成されればよく、例えば、サーバ装置１０の運用開始前（購入直後など）に１回生成されればよい。
【００５２】
変換部３１は、移動対象の仮想マシン１１が稼働するサーバ装置１０の性能モデルを用いて、その移動対象の仮想マシン１１の性能情報を、その移動対象の仮想マシン１１に関するワークロード量とワークロード特性値との組み合わせに変換する。移動対象の仮想マシン１１の性能情報は、性能情報収集部２３により収集される。移動対象の仮想マシン１１が稼働するサーバ装置１０は、その性能情報の取得元、又は、仮想マシン管理部２１の管理情報から特定される。変換部３１は、サーバ装置１０の性能モデルをモデルＤＢ２７から取得するため、モデル取得部としても動作する。
【００５３】
ところで、上述の性能モデル上では、性能情報が固定されたとしても、ワークロード量とワークロード特性値との組み合わせは、通常、複数存在する。例えば、ＣＰＵ使用率５０％という性能情報をＣＰＵワークロードのワークロード量とワークロード特性値に変換する場合、そのＣＰＵワークロードが、キャッシュヒット率が低く、ワークロード量が少ない演算処理を行っているのか、キャッシュヒット率が高く、ワークロード量が多い演算処理を行っているのかを判断することはできない。これにより、ＣＰＵ使用率５０％に対応するワークロード量とワークロード特性値との組み合わせが複数存在することになる。
【００５４】
図４は、ＣＰＵ使用率の性能モデルにおいてＣＰＵ使用率（性能情報）を固定した場合の、ワークロード量（演算回数）とワークロード特性値（メモリサイズ）との対応関係の例を示す図である。図４に示されるように、同じＣＰＵ使用率でも、ワークロードが利用するメモリサイズが異なると、ワークロード量も異なる。
【００５５】
特性ＤＢ２８は、このように、或るサーバ装置１０上で計測された性能情報から変換された、移動対象の仮想マシン１１に関するワークロード量とワークロード特性値との複数組み合わせを格納する。よって、過去に既に移動されている仮想マシン１１に関しては、その移動前に稼働されていたサーバ装置１０上で計測された性能情報から変換された、ワークロード量とワークロード特性値との複数組み合わせが特性ＤＢ２８に格納されている。このように、特性ＤＢ２８は、特性情報格納部と呼ぶこともできる。
【００５６】
変換部３１により性能情報から変換される、或る仮想マシン１１に関するワークロード量とワークロード特性値との複数組み合わせは、配列データ等のような離散データとして扱われてもよいし、関数等のような連続データとして扱われてもよい。特性ＤＢ２８は、このように仮想マシン管理装置２０で扱われるデータ形式により、当該複数組み合わせに関するデータを格納する。
【００５７】
変換部３１は、移動対象の仮想マシン１１が過去に既に移動されている場合には、特性ＤＢ２８に格納されている過去の複数組み合わせと、その仮想マシン１１が現在稼働しているサーバ装置１０で計測された性能情報から変換された複数組み合わせとに基づいて、その移動対象の仮想マシン１１に関するワークロード量とワークロード特性値との１つの組み合わせを決定する。これは、例えば、連立方程式の解を求めることにより実現することができる。
【００５８】
仮想マシン１１が過去に移動されていない場合には、変換部３１は、その移動対象仮想マシン１１が現在稼働しているサーバ装置１０で計測された性能情報から変換された複数組み合わせから、ワークロード量とワークロード特性値との１つの組み合わせを決定する。具体的には、変換部３１は、複数組み合わせの中のいずれか１つを選択するか、複数組み合わせ間で平均を取ることにより当該１つの組み合わせを決定する。
【００５９】
なお、複数のリソース種に関する性能情報が取得されている場合には、変換部３１は、そのリソース種毎の性能情報を、その仮想マシン１１のリソース種毎の、ワークロード量とワークロード特性値との組み合わせに変換する。
【００６０】
推定部３２は、変換部３１により変換された当該組み合わせを、移動対象の仮想マシン１１の移動先の候補となる移動先サーバ装置１０の性能モデルに適用することにより、移動先サーバ装置１０上でのその移動対象の仮想マシン１１の性能情報を推定する。
【００６１】
〔動作例〕
以下、第１実施形態における仮想マシン管理方法について図５及び図６を用いて説明する。上述のように、第１実施形態における仮想マシン管理方法は、各サーバ装置１０の性能モデルを生成するまでの準備フェーズと、各サーバ装置１０の性能モデルが生成されている状態において移動対象の仮想マシン１１を或るサーバ装置１０に移動させる運用フェーズとに分類される。よって、以下、第１実施形態における仮想マシン管理方法をフェーズ毎にそれぞれ説明する。
【００６２】
図５は、第１実施形態における仮想マシン管理装置２０の準備フェーズの動作例を示すフローチャートである。まず、仮想マシン管理装置２０は、計測用仮想マシン１１を、性能モデルの生成対象となる各サーバ装置１０に配備する（Ｓ５１）。
【００６３】
続いて、仮想マシン管理装置２０は、ワークロード仕様の設定情報を読み込み（Ｓ５２）、実行させるワークロードに関するワークロード量とワークロード特性値との組み合わせを決定する。この組み合わせデータは、当該設定情報に含まれていてもよいし、ランダムに決定されてもよい。仮想マシン管理装置２０は、決定された組み合わせを示すワークロード実行指示を各サーバ装置１０の計測用仮想マシン１１にそれぞれ送る。
【００６４】
各サーバ装置１０の計測用仮想マシン１１は、そのワークロード実行指示に応じて、その指示に含まれるワークロード量とワークロード特性値との組み合わせに対応するワークロードをそれぞれ実行する（Ｓ５３）。各サーバ装置１０は、実行されたワークロードの性能情報をそれぞれ計測する（Ｓ５４）。
【００６５】
仮想マシン管理装置２０は、各サーバ装置１０で計測されたワークロードの性能情報をそれぞれ収集し（Ｓ５４）、収集された性能情報と、この性能情報に対応するワークロード量及びワークロード特性値との組み合わせ情報とを対応付けて格納する。仮想マシン管理装置２０は、読み込まれた設定情報により示される全ワークロードについて、上述の（Ｓ５３）及び（Ｓ５４）をそれぞれ実行する（Ｓ５５；ＹＥＳ）。
【００６６】
仮想マシン管理装置２０は、全ワークロードについての性能情報の収集が完了すると（Ｓ５５；ＮＯ）、格納されている情報から、各サーバ装置１０についての性能モデルをそれぞれ生成し、生成された各サーバ装置１０の性能モデルを格納する（Ｓ５６）。
【００６７】
このような準備フェーズは、サーバ装置１０の構成が変わらなければ、各サーバ装置１０につき１回実行されればよい。例えば、新たなサーバ装置１０を購入し、仮想マシン管理システム１に導入する場合には、この準備フェーズは、その新たなサーバ装置１０の運用を開始するまえに、その新たなサーバ装置１０を対象に１回実行される。
【００６８】
図６は、第１実施形態における仮想マシン管理装置２０の運用フェーズの動作例を示すフローチャートである。図６に示される運用フェーズは、仮想マシン管理システム１で稼働される仮想マシン１１を移行するためのトリガ発生により、実行される。このトリガは、例えば、サーバ装置１０のメンテナンス、サーバ装置１０の過負荷状態の発生、節電のための仮想マシン１１のサーバ装置１０への集約等により生じる。但し、このトリガ発生の条件はなんら制限されない。
【００６９】
仮想マシン管理装置２０は、移動対象仮想マシン１１を特定し、その移動対象仮想マシン１１の性能情報を取得する（Ｓ６１）。移動対象仮想マシン１１の性能情報は、その仮想マシン１１が現在動作するサーバ装置１０（現サーバ装置１０と表記）により計測され、仮想マシン管理装置２０により収集される。
【００７０】
仮想マシン管理装置２０は、現サーバ装置１０の性能モデルを読み込む（Ｓ６２）。
【００７１】
仮想マシン管理装置２０は、現サーバ装置１０の性能モデルを用いて、移動対象仮想マシン１１の性能情報を、移動対象仮想マシン１１に関するワークロード量とワークロード特性値との複数組み合わせに変換する（Ｓ６３）。仮想マシン管理装置２０は、その複数組み合わせとしての離散データ又は連続データを特性ＤＢ２８に格納する（Ｓ６４）。
【００７２】
続いて、仮想マシン管理装置２０は、特性ＤＢ２８に、その移動対象仮想マシン１１に関し、過去に変換された複数組み合わせを示すデータが格納されているか否かを判定する（Ｓ６５）。この過去の複数組み合わせを示すデータは、その移動対象仮想マシン１１が過去に移動されている場合に特性ＤＢ２８に格納されており、その移動前に動作していたサーバ装置１０上での性能情報から変換された複数組み合わせに対応する。
【００７３】
仮想マシン管理装置２０は、過去に変換された複数組み合わせを示すデータが格納されている場合には（Ｓ６５；ＹＥＳ）、今回変換された複数組み合わせを示すデータと、過去に変換された複数組み合わせを示すデータとに基づいて、その移動対象仮想マシン１１に関するワークロード量とワークロード特性値との１つの組み合わせを決定する（Ｓ６７）。
【００７４】
一方、過去に変換された複数組み合わせを示すデータが格納されていない場合には（Ｓ６５；ＮＯ）、仮想マシン管理装置２０は、今回変換された複数組み合わせから、移動対象仮想マシン１１に関するワークロード量とワークロード特性値との１つの組み合わせを決定する（Ｓ６６）。
【００７５】
続いて、仮想マシン管理装置２０は、移動先候補となるサーバ装置１０（移動先サーバ装置１０と表記）の性能モデルを読み込む（Ｓ６８）。
【００７６】
仮想マシン管理装置２０は、移動先サーバ装置１０の性能モデルに、（Ｓ６６）又は（Ｓ６７）で決定されたワークロード量とワークロード特性値との組み合わせを適用することにより、移動先サーバ装置１０におけるその移動対象仮想マシン１１の性能情報を推定する（Ｓ６９）。
【００７７】
仮想マシン管理装置２０は、移動先サーバ装置１０に、その推定された性能情報を負担し得る空きリソース量が存在するか否かを判定し（Ｓ７０）、存在する場合には（Ｓ７０；ＹＥＳ）、その移動対象仮想マシン１１をその移動先サーバ装置１０に移動させる（Ｓ７１）。
【００７８】
一方、仮想マシン管理装置２０は、空きリソース量が存在しない場合には（Ｓ７０；ＮＯ）、その移動対象仮想マシン１１をその移動先サーバ装置１０に移動させることはできないと判定する（Ｓ７２）。仮想マシン管理装置２０は、移動不可と判定した場合には（Ｓ７２）、別のサーバ装置１０を選択し、そのサーバ装置１０を対象に、（Ｓ６８）以降を実行するようにしてもよい。
【００７９】
図６の例では、（Ｓ６５）で過去の複数組み合わせデータが特性ＤＢ２８に格納されていると判定された場合（Ｓ６５；ＹＥＳ）、（Ｓ６７）が実施されるが、対象の仮想マシン１１に関し（Ｓ６７）が過去に既に実行されている場合には、その仮想マシン１１に関するその後の移動時の判定では、以前の（Ｓ６７）で決定されたワークロード量とワークロード特性値との１つの組み合わせが利用されればよい。また、図６の例では、工程（Ｓ６２）と工程（Ｓ６８）とが別々に実行されているが、これらは同時に実行されてもよい。
【００８０】
〔第１実施形態の作用及び効果〕
上述のように、第１実施形態では、各サーバ装置１０上で、計測用仮想マシン１１に、ワークロード量とワークロード特性値との複数組み合わせに対応する複数種のワークロードを実行させ、各ワークロードの性能情報がそれぞれ計測され、仮想マシン管理装置２０において、ワークロード量とワークロード特性値と性能情報との複数の対応関係を示す性能モデルが各サーバ装置１０についてそれぞれ生成される。つまり、第１実施形態によれば、各サーバ装置１０の性能モデルを自動で生成することができる。
【００８１】
その上で、第１実施形態では、仮想マシン１１が稼働する現サーバ装置１０の性能モデルを用いて、仮想マシン１１の性能情報から変換されたワークロード量とワークロード特性値との複数組み合わせを示すデータが格納される。これにより、過去の移動判定時に変換された当該複数組み合わせと、現在の変換により得られた当該複数組み合わせとから、その仮想マシン１１のワークロード量とワークロード特性値との１つの組み合わせが決定される。このように過去の情報も利用されることにより、第１実施形態によれば、仮想マシン１１の性能を高精度に示す、ワークロード量とワークロード特性値との１つの組み合わせを得ることができる。
【００８２】
ひいては、当該組み合わせから、移動先サーバ装置１０上での性能情報が推定されるため、第１実施形態によれば、移行先における仮想マシン１１の性能を精度良く見積もることが可能となる。更に、第１実施形態によれば、移行先における仮想マシン１１の性能を精度良く見積もることで、仮想マシン１１への効率的なリソース割当てを行うことができると共に、仮想マシン１１の移動により意図せずサーバ装置１０が高負荷になることを防ぐことができる。
【００８３】
また、初めての移動時においては、過去の情報を利用することができないため、現サーバ装置１０上での性能情報及び現サーバ装置１０の性能モデルを用いて変換された当該複数の組み合わせから、１つのワークロード量とワークロード特性値との１つの組み合わせが決定される。よって、初めて移動する仮想マシン１１に関し得られる当該組み合わせは、過去に移動された仮想マシン１１のそれに比べると、精度は落ちるものの、現サーバ装置１０の性能モデルから得られる情報であるため、或る程度の精度を維持することは可能である。
【００８４】
［第２実施形態］
仮想環境は様々な形態で実現され得る。仮想環境の形態によっては、仮想マシン１１毎の性能情報が計測できない場合がある。例えば、ホストＯＳ上でゲストＯＳが実行されるレイヤ構成では、通常、ゲストＯＳの仮想マシンがネットワークやディスク等の入出力処理を行う場合、その負荷がホストＯＳにもかかる。このとき、１つのホストＯＳ上で複数のゲストＯＳが動作している場合、複数のゲストＯＳの負荷の合計のみがホストＯＳの性能情報として計測され、１つの仮想マシン１１の寄与分が不明な場合がある。ホストＯＳの情報を利用しなくてもワークロードの性質を推定できる場合もあるが、高精度の推定を行うためにはホストＯＳの情報が重要となる。
【００８５】
また、リソース種によって、仮想マシン１１毎に性能情報が計測できるものと、計測できないものとが存在する場合もある。例えば、ＣＰＵ使用率については、仮想マシン１１毎に計測できるが、ハードディスク使用率については、仮想マシン１１毎に計測できずホストＯＳ単位で計測せざるを得ない場合がある。
【００８６】
そこで、このような仮想マシン１１毎に性能情報が計測できない場合にも対応する形態を第２実施形態として説明する。第２実施形態における仮想マシン管理システム１は、第１実施形態と同様の構成を有し、第２実施形態におけるサーバ装置１０及び仮想マシン管理装置２０についても第１実施形態と同様の処理構成を有する。以下、第２実施形態について第１実施形態と異なる内容を中心に説明し、第１実施形態と同様の内容については適宜省略する。
【００８７】
以下の説明では、仮想マシン１１毎に計測できない性能情報のみを対象とする。仮想マシン１１毎に計測可能なリソース種と仮想マシン１１毎に計測不能なリソース種とが混在する場合、仮想マシン１１毎に計測可能なリソース種の性能情報は、第１実施形態と同様に処理されればよい。また、仮想マシン１１毎に性能情報を計測することができるサーバ装置１０と、仮想マシン１１毎に性能情報を計測することができないサーバ装置１０とが混在する場合、前者のサーバ装置１０で計測された性能情報は、第１実施形態と同様に処理されればよい。つまり、このような混在環境では、上述の第１実施形態の内容と、後述する第２実施形態の内容とが混在して実施される。
【００８８】
第２実施形態のサーバ装置１０において、性能情報計測部１７は、所定単位の仮想マシン１１群の統合性能情報を計測する。ここで、所定単位とは、性能情報を計測することができる単位を意味する。例えば、上述のレイヤ構成では、当該所定単位は、ホストＯＳ単位を意味し、性能情報計測部１７は、ホストＯＳ上で動作する仮想マシン１１群の統合性能情報として、ホストＯＳの性能情報を計測する。これにより、性能情報計測部１７により計測されるホストＯＳの性能情報は、そのホストＯＳ上で動作する全仮想マシン１１の性能情報の合計を示し、上述の所定単位の仮想マシン１１群の統合性能情報である。
【００８９】
第２実施形態における仮想マシン管理装置２０において、性能情報収集部２３は、上述の性能情報計測部１７により計測されたホストＯＳの性能情報を収集し、その性能情報から、或る仮想マシン１１の寄与分に相当する性能情報を抽出する。性能情報収集部２３は、その仮想マシン１１の寄与分に相当する性能情報を、仮想マシン１１の移動に伴う性能情報の変化量により算出する。具体的には、性能情報収集部２３は、仮想マシン１１の移動前後の性能情報の減少量を、移動前に動作していたサーバ装置１０（前サーバ装置１０と表記）から収集される移動前後の性能情報から算出し、この減少量をその仮想マシン１１の前サーバ装置１０上での性能情報として取得する。また、性能情報収集部２３は、仮想マシン１１の移動前後の性能情報の増加量を、移動後に動作しているサーバ装置１０（現サーバ装置１０と表記）から収集される移動前後の性能情報から算出し、この増加量をその仮想マシン１１の現サーバ装置１０上での性能情報として取得する。
【００９０】
このように、仮想マシン１１が１回でも移動されていれば、その仮想マシン１１の現サーバ装置１０上での性能情報は、その仮想マシン１１の移動に伴う現サーバ装置１０上での性能情報の増加量により取得することができる。ところが、未だ移動されていない仮想マシン１１を移動対象として判定する場合には、当該増加量及び当該減少量を得ることができないため、上述の方法では、その仮想マシン１１の現サーバ装置１０上での性能情報を得ることはできない。そこで、性能情報収集部２３は、未だ移動されていない仮想マシン１１を移動対象として判定する場合には、例えば、現サーバ装置１０により計測されたホストＯＳの性能情報の履歴データを成分分析することにより、その仮想マシン１１の現サーバ装置１０上での性能情報を推定する。その成分分析手法には、独立成分分析等のような周知の手法が利用されればよい。
【００９１】
また、１回移動後の仮想マシン１１を移動対象として判定する際に、特性ＤＢ２８に格納される、ワークロード量とワークロード特性値との過去の複数組み合わせは、上述のように推定された性能情報から変換されたものであるため、精度が或る程度低い可能性がある。そこで、その仮想マシン１１の移動後に上述のように性能情報の増加量から得られるその仮想マシン１１の前サーバ装置１０上での性能情報に基づいて、再度、前サーバ装置１０に関する当該複数組み合わせを取得し、この複数組み合わせにより、その過去の複数組み合わせが更新されることが望ましい。このようにすれば、１回移動後の仮想マシン１１を移動対象として判定する場合に利用される過去の情報が高精度となる。
【００９２】
なお、準備フェーズにおける性能モデルの生成については、各サーバ装置１０に計測用仮想マシン１１のみを動作させることにより、上述の性能情報計測部１７により計測された性能情報を用いて、第１実施形態と同様に行われればよい。
【００９３】
〔第２実施形態の作用及び効果〕
上述のように、第２実施形態では、仮想マシン１１毎に取得できない性能情報についても、仮想マシン１１の移動前後のホストＯＳの性能情報（所定単位の仮想マシン群の統合性能情報）の増加量又は減少量により、仮想マシン１１の現サーバ装置１０上での性能情報又は仮想マシン１１の前サーバ装置１０上での性能情報が算出される。以降、この性能情報により、第１実施形態と同様に、移動先での仮想マシン１１の性能情報が推定される。よって、第２実施形態によれば、仮想マシン１１毎に性能情報が取得できない形態であっても、移行先における仮想マシン１１の性能を精度良く見積もることが可能となる。
【実施例】
【００９４】
以下に実施例を挙げ、上述の実施形態を更に詳細に説明する。本発明は以下の実施例から何ら限定を受けない。ここでは、ＣＰＵ使用率５０％という性能情報を持つ仮想マシン１１がサーバ装置１０（＃１）で動作している状態で、その仮想マシン１１をサーバ装置１０（＃１）からサーバ装置１０（＃２）へ移行させる場合の例を挙げる。【００９５】
仮想マシン管理装置２０の変換部３１は、モデルＤＢ２７からサーバ装置１０（＃１）の性能モデルを抽出し、この性能モデルを用いて、仮想マシン１１のサーバ装置１０（＃１）上での性能情報（ＣＰＵ使用率５０％）を、ワークロード量とワークロード特性値との複数組み合わせに変換する。【００９６】
図７は、サーバ装置１０（＃１）の性能モデルを用いて変換されたワークロード量とワークロード特性値との複数組み合わせの例を示す図である。図７の例では、ワークロード特性としてメモリサイズが利用されており、当該複数組み合わせを示すデータとして連続データが利用されている。このように、仮想マシン１１が現在動作するサーバ装置１０（＃１）上での性能情報だけでは、それに対応するワークロード量とワークロード特性値との組み合わせを１つに特定することは困難である。【００９７】
ここで、移行先候補としてのサーバ装置１０（＃２）は、サーバ装置１０（＃１）に比べて、ＣＰＵクロックが小さく、キャッシュが大きいと仮定する。図７の例に示されるようにサーバ装置１０（＃１）の性能モデルを用いて得られた当該複数組み合わせを、サーバ装置１０（＃２）の性能モデルへ入力として与えると、例えば、図８の例に示されるような複数の性能情報が得られる。【００９８】
図８は、移動先のサーバ装置１０（＃２）上での仮想マシン１１の性能情報の例を示す図である。仮想マシン１１で実行される処理で利用されるメモリサイズが小さい場合、ＣＰＵキャッシュの効果により性能が向上するため、サーバ装置１０（＃１）上での性能と、サーバ装置１０（＃２）上での性能との間の差は縮まる方向となる。図８に示されるように、サーバ装置１０（＃１）上でのＣＰＵ使用率５０％は、ワークロード量とワークロード特性値との組み合わせ次第で、サーバ装置１０（＃２）上では５０％から７０％の範囲のいずれかの値となる。但し、当該利用メモリサイズは観測することができないため、特定不可能である。【００９９】
そこで、推定部３２は、仮想マシン１１のサーバ装置１０（＃２）上での性能情報を、５０％から７０％の範囲中の値、又は、その範囲の最大値である７０％に決定する。これにより、サーバ装置１０（＃２）にそのように推定された値に対応する空きＣＰＵ使用率が存在する場合、その仮想マシン１１をサーバ装置１０（＃２）へ移行することが可能となる。このように、仮想マシン１１の過去のデータが特性ＤＢ２８に格納されていない場合には、変換部３１が、サーバ装置１０（＃１）の性能モデルから変換される当該複数の組み合わせから１つの組み合わせを選ぶことなく、推定部３２が、その複数組み合わせを、移行先のサーバ装置１０（＃２）の性能モデルに適用して得られる性能情報の範囲から、その仮想マシン１１の移行先のサーバ装置１０（＃２）上での性能情報を推定するようにしてもよい。【０１００】
ここで、当該仮想マシン１１のサーバ装置１０（＃２）上での性能情報がＣＰＵ使用率６５％となったと仮定し、更に、サーバ装置１０（＃２）の性能モデルにおけるＣＰＵ使用率６５％に対応するワークロード量とワークロード特性値との複数組み合わせが図９に示されるようになったと仮定する。図９は、サーバ装置１０（＃２）の性能モデルを用いて変換されたワークロード量とワークロード特性値との複数組み合わせの例を示す図である。【０１０１】
この場合に、その仮想マシン１１が更にサーバ装置１０（＃３）に移行される場合には、サーバ装置１０（＃１）に関し取得された当該複数組み合わせ（図７）と、サーバ装置１０（＃２）に関し取得された当該複数組み合わせ（図９）とが利用される。図１０は、図７の分布と図９の分布とを重ね合わせた分布を示すグラフである。【０１０２】
変換部３１は、図１０に示される２つの分布の交点を、その仮想マシン１１に関するワークロード量とワークロード特性値との１つの組み合わせとして決定する。以降、この仮想マシン１１の移行時には、この決定された組み合わせがその仮想マシン１１の性能を示すデータとして利用されることにより、仮想マシン１１の移行先での性能情報を高精度に推定することが可能となる。【０１０３】
［変形例］
上述の各実施形態では、仮想マシン管理装置２０が性能ＤＢ２６、モデルＤＢ２７及び特性ＤＢ２８を有する例が示されているが（図２参照）、これらデータベースは、仮想マシン管理システム１内の他の装置が有しており、仮想マシン管理装置２０が当該他の装置上のそれらデータベースにアクセスするようにしてもよい。また、上述の各実施形態では、仮想マシン１１を動作させるサーバ装置１０と仮想マシン管理装置２０とが区別して設けられたが、仮想マシン管理装置２０の構成の全部又は一部は、サーバ装置１０上に設けられてもよい。例えば、モデル生成部３３及びモデルＤＢ２７が各サーバ装置１０に設けられ、各サーバ装置１０が自サーバ装置１０の性能モデルをそれぞれ生成し格納するようにしてもよい。【０１０４】
なお、上述の説明で用いた複数のフローチャートでは、複数のステップ（処理）が順番に記載されているが、本実施形態で実行される処理ステップの実行順序は、その記載の順番に制限されない。本実施形態では、図示される処理ステップの順番を内容的に支障のない範囲で変更することができる。また、上述の各実施形態及び各変形例は、内容が相反しない範囲で組み合わせることができる。【０１０５】
上記の各実施形態及び各変形例の一部又は全部は、以下の付記のようにも特定され得る。但し、各実施形態及び各変形例が以下の記載に限定されるものではない。【０１０６】
（付記１）
ワークロード量と、ワークロードの性能に影響を与えるワークロードのパラメータであるワークロード特性値と、該ワークロード量及び該ワークロード特性値に対応するワークロードが各サーバ装置上で実行されることにより計測されるワークロードの性能情報との複数の対応関係を示す性能モデルを、各サーバ装置についてそれぞれ取得するモデル取得部と、
現サーバ装置で動作している移動対象仮想マシンの性能情報を取得する性能情報取得部と、
前記現サーバ装置の前記性能モデルを用いることにより、前記移動対象仮想マシンの前記性能情報を、前記移動対象仮想マシンに関するワークロード量とワークロード特性値との組み合わせに変換する変換部と、
前記変換部により変換された前記組み合わせを、前記移動対象仮想マシンの移動先の候補となる移動先サーバ装置の前記性能モデルに適用することにより、該移動先サーバ装置上での前記移動対象仮想マシンの性能情報を推定する推定部と、
を備える仮想マシン管理装置。【０１０７】
（付記２）
指定されたワークロードを実行するために各サーバ装置に配置されている計測用仮想マシンに、前記ワークロード量と前記ワークロード特性値との複数の組み合わせに対応する複数のワークロードの各々を順次実行させるワークロード制御部と、
前記各ワークロードが前記各サーバ装置上でそれぞれ実行されることにより計測される、前記各サーバ装置上における前記各ワークロードの性能情報をそれぞれ収集する性能情報収集部と、
前記ワークロード量と前記ワークロード特性値との前記各組み合わせと前記各ワークロードの性能情報との対応関係から、前記各サーバ装置の前記性能モデルをそれぞれ生成するモデル生成部と、
を更に備える付記１に記載の仮想マシン管理装置。【０１０８】
（付記３）
前記変換部は、前記移動対象仮想マシンの前記性能情報を前記現サーバ装置の前記性能モデルに適用することにより、前記移動対象仮想マシンに関するワークロード量とワークロード特性値との複数の組み合わせを取得し、該複数の組み合わせから、前記移動対象仮想マシンの前記性能情報の変換後の１つの組み合わせを決定する、
ことを特徴とする付記１又は２に記載の仮想マシン管理装置。【０１０９】
（付記４）
前記移動対象仮想マシンが以前動作していた前サーバ装置上での前記移動対象仮想マシンの性能情報を該前サーバ装置の前記性能モデルに適用することにより得られる、前記移動対象仮想マシンに関するワークロード量とワークロード特性値との第１の複数の組み合わせを格納する特性情報格納部を更に備え、
前記変換部は、前記移動対象仮想マシンの前記性能情報を前記現サーバ装置の前記性能モデルに適用することにより、前記移動対象仮想マシンに関するワークロード量とワークロード特性値との第２の複数の組み合わせを取得し、該第２の複数の組み合わせ及び前記特性情報格納部に格納される前記第１の複数の組み合わせから、前記移動対象仮想マシンの前記性能情報の変換後の１つの組み合わせを決定する、
付記１から３のいずれか１つに記載の仮想マシン管理装置。【０１１０】
（付記５）
前記性能情報取得部は、前記移動対象仮想マシンが以前動作していた前サーバ装置から前記現サーバ装置へ移動した場合において、前記現サーバ装置上で動作する所定単位の仮想マシン群の統合性能情報の増加分から、前記現サーバ装置上での前記移動対象仮想マシンの前記性能情報を取得するか、又は、該前サーバ装置上で動作する所定単位の仮想マシン群の統合性能情報の減少分から、該前サーバ装置上での前記移動対象仮想マシンの前記性能情報を取得する付記１から４のいずれか１つに記載の仮想マシン管理装置。【０１１１】
（付記６）
前記性能モデルは、複数のリソース種の各々に関し、前記ワークロード量と前記ワークロード特性値と前記ワークロードの性能情報との複数の対応関係をそれぞれ示し、
前記性能情報取得部は、前記複数のリソース種の各々についての前記移動対象仮想マシンの性能情報をそれぞれ取得し、
前記変換部は、前記各リソース種に関する前記性能モデルを用いて、前記移動対象仮想マシンの前記リソース種毎の前記性能情報を、前記移動対象仮想マシンの前記リソース種毎の、前記ワークロード量と前記ワークロード特性値との組み合わせに変換し、
前記推定部は、前記移動先サーバ装置上における前記移動対象仮想マシンの前記リソース種毎の性能情報をそれぞれ推定する、
付記１から５のいずれか１つに記載の仮想マシン管理装置。【０１１２】
（付記７）
付記１から６のいずれか１つに記載の仮想マシン管理装置と、
複数のサーバ装置と、
を備え、
前記複数のサーバ装置の各々が、
自サーバ装置上で動作している仮想マシンの性能情報、又は、自サーバ装置上で動作している所定単位の仮想マシン群の統合性能情報を計測する性能情報計測部
を有する仮想マシン管理システム。【０１１３】
（付記８）
少なくとも１つのコンピュータが、
ワークロード量と、ワークロードの性能に影響を与えるワークロードのパラメータであるワークロード特性値と、該ワークロード量及び該ワークロード特性値に対応するワークロードが各サーバ装置上で実行されることにより計測されるワークロードの性能情報との複数の対応関係を示す性能モデルを、各サーバ装置についてそれぞれ取得し、
現サーバ装置で動作している移動対象仮想マシンの性能情報を取得し、
前記現サーバ装置の前記性能モデルを用いることにより、前記移動対象仮想マシンの前記性能情報を、前記移動対象仮想マシンに関するワークロード量とワークロード特性値との組み合わせに変換し、
前記変換された組み合わせを、前記移動対象仮想マシンの移動先の候補となる移動先サーバ装置の前記性能モデルに適用することにより、該移動先サーバ装置上での前記移動対象仮想マシンの性能情報を推定する、
ことを含む仮想マシン管理方法。【０１１４】
（付記９）
前記少なくとも１つのコンピュータが、
指定されたワークロードを実行するために各サーバ装置に配置されている計測用仮想マシンに、前記ワークロード量と前記ワークロード特性値との複数の組み合わせに対応する複数のワークロードの各々を順次実行させ、
前記各ワークロードが前記各サーバ装置上でそれぞれ実行されることにより計測される、前記各サーバ装置上における前記各ワークロードの性能情報をそれぞれ収集し、
前記ワークロード量と前記ワークロード特性値との前記各組み合わせと前記各ワークロードの性能情報との対応関係から、前記各サーバ装置の前記性能モデルをそれぞれ生成する、
ことを更に含む付記８に記載の仮想マシン管理方法。【０１１５】
（付記１０）
前記変換は、
前記移動対象仮想マシンの前記性能情報を前記現サーバ装置の前記性能モデルに適用することにより、前記移動対象仮想マシンに関するワークロード量とワークロード特性値との複数の組み合わせを取得し、
前記複数の組み合わせから、前記移動対象仮想マシンの前記性能情報の変換後の１つの組み合わせを決定する、
ことを含む付記８又は９に記載の仮想マシン管理方法。【０１１６】
（付記１１）
前記少なくとも１つのコンピュータが、
前記移動対象仮想マシンが以前動作していた前サーバ装置上での前記移動対象仮想マシンの性能情報を該前サーバ装置の前記性能モデルに適用することにより得られる、前記移動対象仮想マシンに関するワークロード量とワークロード特性値との第１の複数の組み合わせを格納する、
ことを更に含み、
前記変換は、
前記移動対象仮想マシンの前記性能情報を前記現サーバ装置の前記性能モデルに適用することにより、前記移動対象仮想マシンに関するワークロード量とワークロード特性値との第２の複数の組み合わせを取得し、
前記第２の複数の組み合わせ及び前記第１の複数の組み合わせから、前記移動対象仮想マシンの前記性能情報の変換後の１つの組み合わせを決定する、
ことを含む付記８から１０のいずれか１つに記載の仮想マシン管理方法。【０１１７】
（付記１２）
前記移動対象仮想マシンの性能情報の前記取得は、前記移動対象仮想マシンが以前動作していた前サーバ装置から前記現サーバ装置へ移動した場合において、前記現サーバ装置上で動作する所定単位の仮想マシン群の統合性能情報の増加分から、前記現サーバ装置上での前記移動対象仮想マシンの前記性能情報を取得するか、又は、該前サーバ装置上で動作する所定単位の仮想マシン群の統合性能情報の減少分から、該前サーバ装置上での前記移動対象仮想マシンの前記性能情報を取得することを含む付記８から１１のいずれか１つに記載の仮想マシン管理方法。【０１１８】
（付記１３）
前記性能モデルは、複数のリソース種の各々に関し、前記ワークロード量と前記ワークロード特性値と前記ワークロードの性能情報との複数の対応関係をそれぞれ示し、
前記移動対象仮想マシンの性能情報の前記取得は、前記複数のリソース種の各々についての前記移動対象仮想マシンの性能情報をそれぞれ取得し、
前記変換は、前記各リソース種に関する前記性能モデルを用いて、前記移動対象仮想マシンの前記リソース種毎の前記性能情報を、前記移動対象仮想マシンの前記リソース種毎の、前記ワークロード量と前記ワークロード特性値との組み合わせに変換し、
前記推定は、前記移動先サーバ装置上における前記移動対象仮想マシンの前記リソース種毎の性能情報をそれぞれ推定する、
付記８から１２のいずれか１つに記載の仮想マシン管理方法。【０１１９】
（付記１４）
少なくとも１つのコンピュータに、
ワークロード量と、ワークロードの性能に影響を与えるワークロードのパラメータであるワークロード特性値と、該ワークロード量及び該ワークロード特性値に対応するワークロードが各サーバ装置上で実行されることにより計測されるワークロードの性能情報との複数の対応関係を示す性能モデルを、各サーバ装置についてそれぞれ取得するモデル取得部と、
現サーバ装置で動作している移動対象仮想マシンの性能情報を取得する性能情報取得部と、
前記現サーバ装置の前記性能モデルを用いることにより、前記移動対象仮想マシンの前記性能情報を、前記移動対象仮想マシンに関するワークロード量とワークロード特性値との組み合わせに変換する変換部と、
前記変換部により変換された前記組み合わせを、前記移動対象仮想マシンの移動先の候補となる移動先サーバ装置の前記性能モデルに適用することにより、該移動先サーバ装置上での前記移動対象仮想マシンの性能情報を推定する推定部と、
を実現させるプログラム。【０１２０】
（付記１５）
前記少なくとも１つのコンピュータに、
指定されたワークロードを実行するために各サーバ装置に配置されている計測用仮想マシンに、前記ワークロード量と前記ワークロード特性値との複数の組み合わせに対応する複数のワークロードの各々を順次実行させるワークロード制御部と、
前記各ワークロードが前記各サーバ装置上でそれぞれ実行されることにより計測される、前記各サーバ装置上における前記各ワークロードの性能情報をそれぞれ収集する性能情報収集部と、
前記ワークロード量と前記ワークロード特性値との前記各組み合わせと前記各ワークロードの性能情報との対応関係から、前記各サーバ装置の前記性能モデルをそれぞれ生成するモデル生成部と、
を更に実現させる付記１４に記載のプログラム。【０１２１】
（付記１６）
前記変換部は、前記移動対象仮想マシンの前記性能情報を前記現サーバ装置の前記性能モデルに適用することにより、前記移動対象仮想マシンに関するワークロード量とワークロード特性値との複数の組み合わせを取得し、該複数の組み合わせから、前記移動対象仮想マシンの前記性能情報の変換後の１つの組み合わせを決定する、
ことを特徴とする付記１４又は１５に記載のプログラム。【０１２２】
（付記１７）
前記少なくとも１つのコンピュータに、
前記移動対象仮想マシンが以前動作していた前サーバ装置上での前記移動対象仮想マシンの性能情報を該前サーバ装置の前記性能モデルに適用することにより得られる、前記移動対象仮想マシンに関するワークロード量とワークロード特性値との第１の複数の組み合わせを格納する特性情報格納部を更に実現させ、
前記変換部は、前記移動対象仮想マシンの前記性能情報を前記現サーバ装置の前記性能モデルに適用することにより、前記移動対象仮想マシンに関するワークロード量とワークロード特性値との第２の複数の組み合わせを取得し、該第２の複数の組み合わせ及び前記特性情報格納部に格納される前記第１の複数の組み合わせから、前記移動対象仮想マシンの前記性能情報の変換後の１つの組み合わせを決定する、
付記１４から１６のいずれか１つに記載のプログラム。【０１２３】
（付記１８）
前記性能情報取得部は、前記移動対象仮想マシンが以前動作していた前サーバ装置から前記現サーバ装置へ移動した場合において、前記現サーバ装置上で動作する所定単位の仮想マシン群の統合性能情報の増加分から、前記現サーバ装置上での前記移動対象仮想マシンの前記性能情報を取得するか、又は、該前サーバ装置上で動作する所定単位の仮想マシン群の統合性能情報の減少分から、該前サーバ装置上での前記移動対象仮想マシンの前記性能情報を取得する付記１４から１７のいずれか１つに記載のプログラム。【０１２４】
（付記１９）
前記性能モデルは、複数のリソース種の各々に関し、前記ワークロード量と前記ワークロード特性値と前記ワークロードの性能情報との複数の対応関係をそれぞれ示し、
前記性能情報取得部は、前記複数のリソース種の各々についての前記移動対象仮想マシンの性能情報をそれぞれ取得し、
前記変換部は、前記各リソース種に関する前記性能モデルを用いて、前記移動対象仮想マシンの前記リソース種毎の前記性能情報を、前記移動対象仮想マシンの前記リソース種毎の、前記ワークロード量と前記ワークロード特性値との組み合わせに変換し、
前記推定部は、前記移動先サーバ装置上における前記移動対象仮想マシンの前記リソース種毎の性能情報をそれぞれ推定する、
付記１４から１８のいずれか１つに記載のプログラム。【０１２５】
（付記２０）
付記１４から１９のいずれか１つに記載のプログラムをコンピュータに読み取り可能に記録する記録媒体。【０１２６】
この出願は、２０１２年３月８日に出願された日本出願特願２０１２−０５２０２８号を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【図１】
0005983728.tif 000002
【図２】
0005983728.tif 000003
【図３】
0005983728.tif 000004
【図４】
0005983728.tif 000005
【図５】
0005983728.tif 000006
【図６】
0005983728.tif 000007
【図７】
0005983728.tif 000008
【図８】
0005983728.tif 000009
【図９】
0005983728.tif 000010
【図１０】
0005983728.tif 000011