JP6163926B2 - 仮想マシン管理装置、仮想マシン管理方法、及びプログラム - Google Patents

仮想マシン管理装置、仮想マシン管理方法、及びプログラム Download PDF

Info

Publication number
JP6163926B2
JP6163926B2 JP2013147330A JP2013147330A JP6163926B2 JP 6163926 B2 JP6163926 B2 JP 6163926B2 JP 2013147330 A JP2013147330 A JP 2013147330A JP 2013147330 A JP2013147330 A JP 2013147330A JP 6163926 B2 JP6163926 B2 JP 6163926B2
Authority
JP
Japan
Prior art keywords
load
virtual machine
target
target virtual
determination method
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2013147330A
Other languages
English (en)
Other versions
JP2015022322A (ja
Inventor
雅也 藤若
雅也 藤若
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2013147330A priority Critical patent/JP6163926B2/ja
Publication of JP2015022322A publication Critical patent/JP2015022322A/ja
Application granted granted Critical
Publication of JP6163926B2 publication Critical patent/JP6163926B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Description

本発明は、仮想マシンを管理する技術に関する。
一台の物理マシンに対して、より多くの仮想マシンを集約することで、仮想マシンを動作させるために必要な物理マシンの数を減らすことができる。これにより、例えば、消費電力の削減などの効果が得られる。ただし、仮想マシンを少数の物理マシンへ集約する際、一台の物理マシンに対して過剰に仮想マシンを集約すると、各仮想マシンの性能が低下する可能性がある。これは、物理マシンに過剰な負荷がかかってしまい、物理マシンが持つ計算機リソースが不足してしまうためである。したがって、仮想マシンを物理マシン上で動作させる場合、その仮想マシンによってその物理マシンにかかる負荷を考慮し、物理マシンの計算機リソースが不足しないようにする必要がある。
例えば特許文献1は、物理マシン上で動作させる各仮想マシンのリソース使用量のピークが重ならないようにすることで、仮想マシンの性能低下を防ぐ技術を開示している。特許文献1において、仮想マシンのリソース使用量の経時変化は、特定の関数で表される。また、特許文献2や非特許文献1は、仮想マシンのリソース使用量を確率分布としてモデル化することで、仮想マシンを配置した後の、物理マシンのリソース使用量を予測する技術を開示している。
特開2010−117760 特願2011−156925
Ming Chen、Hui Zhang、Ya-Yunn Su、Xiaorui Wang、Guofei Jiang、Kenji Yoshihira、「Effective VM sizing in virtualized data centers」、2011 IFIP/IEEE International Symposium on Integrated Network Management、pp.594-601、2011 年 5 月 23 日
本発明者は、物理マシンが仮想マシンを動作させることができるか否かを判定する判定方法を、物理マシン上で動作させられる仮想マシンの数に応じて選択する必要性を見出した。これは、各判定方法の精度やコストが、物理マシン上で動作させられる仮想マシンの数に応じて異なるためである。前述した各先行技術文献は、物理マシンが仮想マシンを動作させることができるか否かを判定する判定方法を、物理マシン上で動作させられる仮想マシンの数に応じて選択する方法やその必要性を開示していない。
本発明は、以上の課題に鑑みてなされたものである。本発明の目的は、物理マシンが仮想マシンを動作させられるか否かの判定を短い時間かつ高い精度で行う技術を提供することである。
本発明が提供する仮想マシン管理装置は、対象物理マシン上で動作させることができるか否かの判定対象である対象仮想マシンの数を取得する対象仮想マシン数取得手段と、前記対象仮想マシンの数に基づいて、複数の判定方式の中から、動作可否判定手段によって実行される前記判定方式を選択する判定方式選択手段と、前記判定方式選択手段によって選択された前記判定方式を用いて、前記対象物理マシンが前記対象仮想マシンを動作させられるか否かの判定を行う動作可否判定手段と、前記対象仮想マシンが物理マシンにかける負荷の平均及び分散を示す負荷統計情報を取得する負荷統計情報取得手段と、を有する。前記複数の判定方式は、各前記対象仮想マシンが物理マシンにかける負荷の確率分布を示す負荷情報を取得し、各負荷情報が示す前記確率分布の畳み込みを算出することで、各前記対象仮想マシンが前記物理マシンにかける負荷の合計の確率分布を算出し、算出した確率分布を用いて、前記対象仮想マシンが前記対象物理マシンにかける負荷の合計が前記対象物理マシンによって許容される負荷を超える確率である過負荷率を算出する第1判定方式と、各前記対象仮想マシンに関する前記負荷統計情報を用いて、前記過負荷率の上界値を算出する第2判定方式と、各前記対象仮想マシンに関する前記負荷統計情報を用いて、各前記対象仮想マシンが前記物理マシンにかける負荷の合計の確率分布を表す正規分布を算出し、算出した正規分布を用いて、前記過負荷率を算出する第3判定方式と、のうち、いずれか複数を含む。前記複数の判定方式が前記第1判定方式を含む場合、前記負荷情報を取得する負荷情報取得手段を有する。前記動作可否判定手段は、前記判定方式選択手段によって選択された判定方式を用いて算出した前記過負荷率又は前記過負荷率の上界値に基づいて、前記対象物理マシンが前記対象仮想マシンを動作させられるか否かの判定を行う。
本発明が提供するプログラムは、コンピュータに、本発明が提供する仮想マシン管理装置として動作する機能を持たせる。当該プログラムは、コンピュータに、上記仮想マシン管理装置が有する各機能構成部の機能を持たせる。
本発明が提供する仮想マシン管理方法は、コンピュータによって実行される。当該仮想マシン管理方法は、対象物理マシン上で動作させることができるか否かの判定対象である対象仮想マシンの数を取得する対象仮想マシン数取得ステップと、前記対象仮想マシンの数に基づいて、複数の判定方式の中から、動作可否判定ステップによって実行される前記判定方式を選択する判定方式選択ステップと、前記判定方式選択ステップによって選択された前記判定方式を用いて、前記対象物理マシンが前記対象仮想マシンを動作させられるか否かの判定を行う動作可否判定ステップと、前記対象仮想マシンが物理マシンにかける負荷の平均及び分散を示す負荷統計情報を取得する負荷統計情報取得ステップと、を有する。前記複数の判定方式は、各前記対象仮想マシンが物理マシンにかける負荷の確率分布を示す負荷情報を取得し、各負荷情報が示す前記確率分布の畳み込みを算出することで、各前記対象仮想マシンが前記物理マシンにかける負荷の合計の確率分布を算出し、算出した確率分布を用いて、前記対象仮想マシンが前記対象物理マシンにかける負荷の合計が前記対象物理マシンによって許容される負荷を超える確率である過負荷率を算出する第1判定方式と、各前記対象仮想マシンに関する前記負荷統計情報を用いて、前記過負荷率の上界値を算出する第2判定方式と、各前記対象仮想マシンに関する前記負荷統計情報を用いて、各前記対象仮想マシンが前記物理マシンにかける負荷の合計の確率分布を表す正規分布を算出し、算出した正規分布を用いて、前記過負荷率を算出する第3判定方式と、のうち、いずれか複数を含む。前記複数の判定方式が前記第1判定方式を含む場合、前記負荷情報を取得する負荷情報取得ステップを有する。前記動作可否判定ステップは、前記判定方式選択ステップによって選択された判定方式を用いて算出した前記過負荷率又は前記過負荷率の上界値に基づいて、前記対象物理マシンが前記対象仮想マシンを動作させられるか否かの判定を行う。
本発明によれば、物理マシンが仮想マシンを動作させられるか否かの判定を短い時間かつ高い精度で行う技術が提供される。
実施形態1に係る仮想マシン管理装置を示すブロック図である。 実施形態1に係る仮想マシン管理装置のハードウエア構成を例示するブロック図である。 実施形態1に係る仮想マシン管理装置によって実行される処理の流れを示すフローチャートである。 仮想マシン管理装置のユースケースを例示する図である。 実施形態2に係る仮想マシン管理装置を示すブロック図である。 負荷情報の構成を例示する図である。 負荷統計情報の構成を例示する図である。 実施形態2に係る仮想マシン管理装置によって実行される処理の流れを示すフローチャートである。 実施形態3に係る仮想マシン管理装置を示すブロック図である。 実施形態3に係る仮想マシン管理装置によって実行される処理の流れを示すフローチャートである。 実施形態4に係る仮想マシン管理装置を示すブロック図である。 実施形態5に係る仮想マシン管理装置を示すブロック図である。 負荷履歴情報の構成を例示する図である。 実施形態6に係る仮想マシン管理装置を示すブロック図である。 実施形態6に係る仮想マシン管理装置によって実行される処理の流れを示すフローチャートである。
以下、本発明の実施の形態について、図面を用いて説明する。尚、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。
[実施形態1]
図1は、実施形態1に係る仮想マシン管理装置2000を示すブロック図である。図1において、矢印の流れは情報の流れを示している。また、図1において、各ブロックは、ハードウエア単位の構成ではなく、機能単位の構成を示している。
仮想マシン管理装置2000は、仮想マシンを、対象の物理マシン(以下、対象物理マシン)上で動作させることができるか否かを判定する。ここで、「仮想マシンを物理マシン上で動作させることができる」とは、その物理マシン上において、その仮想マシンが、許容できる性能で動作することを意味する。また、対象物理マシン上で動作させることができるか否かの判定対象である仮想マシンを、対象仮想マシンと呼ぶ。対象仮想マシンは、1つであってもよいし、複数であってもよい。ここにおける物理マシンとは、種々の計算機である。例えば物理マシンは、PC (Personal Computer)、サーバ、及び携帯型計算機などである。また、ここにおける仮想マシンとは、ソフトウエアによって生成された仮想的なハードウエアで構成される、仮想的な計算機である。例えば仮想マシンは、仮想マシンモニタやエミュレータなどによって生成される。そして、ある物理マシン上で動作する仮想マシンは、その物理マシンが持つ計算機リソースを使用して動作する。計算機リソースは、CPU、メモリ、ストレージ、及びネットワークインタフェースなど、物理マシンが持つ種々のハードウエアである。
仮想マシン管理装置2000は、対象仮想マシン数取得部2020、判定方式選択部2040、及び動作可否判定部2060を有する。以下、それぞれについて詳しく説明する。
<対象仮想マシン数取得部2020>
対象仮想マシン数取得部2020は、対象仮想マシンの数(以下、対象仮想マシン数)を取得する。例えば対象仮想マシン数は、対象物理マシン上で動作させようとしている仮想マシンの数である。また例えば、対象仮想マシン数は、対象物理マシンが動作させることができる仮想マシンの数の予測値である。対象物理マシンが動作させることができる仮想マシンの数の予測値は、例えば、仮想マシンが物理マシンにかける負荷の予測値や、経験則などによって定められる値である。
対象仮想マシン数取得部2020が対象仮想マシン数を取得する方法は様々である。例えば対象仮想マシン数取得部2020は、仮想マシン管理装置2000の内部に格納されている対象仮想マシン数や、仮想マシン管理装置2000の内部で算出された対象仮想マシン数を取得する。また、対象仮想マシン数取得部2020は、仮想マシン管理装置2000の外部から、手動による対象仮想マシン数の入力を受け付けてもよい。さらに、対象仮想マシン数取得部2020は、仮想マシン管理装置2000の外部の装置から、対象仮想マシン数を取得してもよい。
<動作可否判定部2060>
動作可否判定部2060は、複数の判定方式のいずれかを用いて、対象物理マシンが対象仮想マシンを動作させられるか否かを判定する。動作可否判定部2060によって用いられる判定方式は、判定方式選択部2040によって選択される。
<判定方式選択部2040>
判定方式選択部2040は、対象仮想マシン数取得部2020によって取得された対象仮想マシン数に基づいて、複数の判定方式の中から、動作可否判定部2060が用いる判定方式を選択する。
<ハードウエア構成>
仮想マシン管理装置2000が有する各機能構成部は、例えば、個々に又は複数組み合わせられた状態で、少なくとも1つのハードウエア構成要素として実現される。その他にも例えば、各機能構成部は、少なくとも1つのソフトウエア構成要素として実現される。その他にも例えば、各機能構成部は、ハードウエア構成要素とソフトウエア構成要素の組み合わせにより実現される。
図2は、仮想マシン管理装置2000のハードウエア構成を例示するブロック図である。図2において、仮想マシン管理装置2000は、バス1020、プロセッサ1040、メモリ1060、及びストレージ1080を有する。ただし、仮想マシン管理装置2000のハードウエア構成は、図2に示す構成に限定されない。例えば、対象仮想マシン数取得モジュール1220、判定方式選択モジュール1240、及び動作可否判定モジュール1260は、メモリ1060に格納されてもよい。この場合、仮想マシン管理装置2000は、ストレージ1080を備えていなくてもよい。
バス1020は、プロセッサ1040、メモリ1060、及びストレージ1080が、相互にデータを送受信するためのデータ伝送路である。プロセッサ1040は、例えば CPU (Central Processing Unit) や GPU (Graphics Processing Unit) などの演算処理装置である。メモリ1060は、例えば RAM (Random Access Memory) や ROM (Read Only Memory) などのメモリである。ストレージ1080は、例えばハードディスク、USB (Universal Serial Bus) メモリ、又は SSD (Solid State Drive) などの記憶装置である。また、ストレージ1080は、RAM や ROM 等のメモリであってもよい。
対象仮想マシン数取得モジュール1220は、仮想マシン管理装置2000に、対象仮想マシン数取得部2020の機能を持たせるためのプログラムである。プロセッサ1040は、対象仮想マシン数取得モジュール1220を実行することで、対象仮想マシン数取得部2020の機能を実現する。
判定方式選択モジュール1240は、仮想マシン管理装置2000に、判定方式選択部2040の機能を持たせるためのプログラムである。プロセッサ1040は、判定方式選択モジュール1240を実行することで、判定方式選択部2040の機能を実現する。
動作可否判定モジュール1260は、仮想マシン管理装置2000に、動作可否判定部2060の機能を持たせるためのプログラムである。プロセッサ1040は、動作可否判定モジュール1260を実行することで、動作可否判定部2060を実現する。
例えばプロセッサ1040は、上記各モジュールをメモリ1060上に読み出して実行する。ただし、プロセッサ1040は、上記各モジュールを、メモリ1060上に読み出さずに実行してもよい。
ストレージ1080は、上記各モジュールを格納する。
<処理の流れ>
図3は、実施形態1に係る仮想マシン管理装置2000によって実行される処理の流れを例示するフローチャートである。ステップS102において、対象仮想マシン数取得部2020は、対象仮想マシン数を取得する。ステップS204において、判定方式選択部2040は、対象仮想マシン数に基づいて、判定方式を選択する。ステップS206において、動作可否判定部2060は、判定方式選択部2040によって選択された判定方式を用いて、対象物理マシンが対象仮想マシンを動作させられるか否かを判定する。
<作用・効果>
以上のように、仮想マシン管理装置2000は、まず対象仮想マシン数を用いて、動作可否の判定に用いる判定方式を選択する。そして、仮想マシン管理装置2000は、その判定方式を用いて動作可否の判定を行う。したがって、仮想マシン管理装置2000によれば、対象仮想マシン数に応じて、対象物理マシンが対象仮想マシンを動作させられるか否かを判定する適切な方法が選択される。一般に、判定方式の精度や計算コストは、物理マシン上で動作させようとしている仮想マシンの数によって異なる。仮想マシン管理装置2000によれば、対象仮想マシン数に応じて動作可否判定手段が選択されるため、高い精度かつ短い時間で、対象仮想マシンの動作可否を判定することができる。
図4は、仮想マシン管理装置2000のユースケースを例示する図である。P1 は物理マシンであり、V1 〜 Vn は仮想マシンである。図4(a)は、仮想マシンが動作していない物理マシン P1 に対して仮想マシンを配置するケースを示している。仮想マシン管理装置2000は、P1 が、V1 〜 Vn を動作させられるか否かを判定する。また、例えば図4(a)が示すケースの場合、仮想マシン管理装置2000は、V1 〜 Vn のうちの、様々な仮想マシンの組み合わせについて、P1 上で動作できるか否かを判定する。こうすることで、仮想マシン管理装置2000は、P1 上で動作させることができる仮想マシンの様々な組み合わせを割り出すことができる。
図4(b)は、既に仮想マシンが動作している物理マシン P1 に対して、新たに仮想マシンを配置するケースである。具体的には、V1 〜 Vn-1 が動作している P1 に対し、新たに Vn を配置する。そのために、仮想マシン管理装置2000は、P1 が、既に P1 上で動作している V1 〜 Vn-1 と、P1 上で動作させようとしている Vn とを合わせた V1 〜 Vn を、動作させられるか否かを判定する。P1 が V1 〜 Vn を動作させられると判定した場合、仮想マシン管理装置2000は、Vn を P1 に配置する。
図4(c)は、既に P1 上で動作している仮想マシンを、そのまま動作させ続けることができるか否かを判定するケースである。P1 は、V1 〜 Vn を動作させている。一般に、仮想マシンが物理マシンにかける負荷は変動するため、ある時点において P1 上で動作可能と判断された V1 〜 Vn が、その後もずっと P1 上で動作可能であるとは限らない。そのため、例えば仮想マシン管理装置2000は、定期的に、P1 が V1 〜 Vn を動作させられるか否かを判定する。そして仮想マシン管理装置2000は、P1 が V1 〜 Vn を動作させられないと判定した場合、例えば V1 〜 Vn のいずれか1つ以上を別の物理マシンへ移行することで、P1 にかかる負荷を低減させる。
ここで、仮想マシンの移行とは、ある物理マシン上で既に動作している仮想マシンを別の物理マシンへ移す処理のことである。例えば仮想マシンの移行は、移行元の物理マシン上にある仮想マシンを、移行先の物理マシン上へコピーすることで実現する。一般にこの処理は、仮想マシンの移送(マイグレーション)と呼ばれる。ここにおける移送は、仮想マシンを動作させたまま移送処理を開始する移送(ライブマイグレーション)であってもよいし、仮想マシンの動作を停止させてから移送処理を開始する移送であってもよい。その他にも例えば、仮想マシンの移行は、移行元の物理マシン上にある仮想マシンを削除し、その仮想マシンと同等に扱う新たな仮想マシンを、移行先の物理マシン上で動作させる処理であってもよい。例えば、移行先で動作させる新たな仮想マシンに、移行元で動作させていた仮想マシンと同一のIDを割り当てることで、移行先で動作させる新たな仮想マシンを、移行元で動作させていた仮想マシンと同等に扱う。以降の各実施形態及び実施例で用いられる「移行」についても、同様の意味を持つ。
[実施形態2]
図5は、実施形態2に係る仮想マシン管理装置2000を示すブロック図である。図5において、矢印の流れは情報の流れを示している。また、図5において、各ブロックは、ハードウエア単位の構成ではなく、機能単位の構成を示している。実施形態2の仮想マシン管理装置2000は、下記で説明する点を除き、実施形態1の仮想マシン管理装置2000と同様である。
実施形態2の仮想マシン管理装置2000は、負荷情報取得部2080及び負荷統計情報取得部2100をさらに有する。そして、実施形態2の判定方式選択部2040によって選択されうる複数の判定方式は、後述する第1判定方式、第2判定方式、及び第3判定方式のうち、いずれか複数を含む。ここで、判定方式選択部2040が選択しうる負荷判定方式に、第1判定方式が含まれない場合、仮想マシン管理装置2000は、負荷情報取得部2080を有しなくてもよい。以下、各機能構成部について詳しく説明する。
<負荷情報取得部2080>
負荷情報取得部2080は、負荷情報を取得する。負荷情報は、対象仮想マシンが物理マシンにかける負荷の確率分布を示す。例えばこの確率分布は、関数やヒストグラムで表される。仮想マシンが物理マシンにかける負荷は、例えば、その仮想マシンによって使用される、物理マシンの計算機リソースの量である。仮想マシンによって使用される物理マシンの計算機リソースの量は、例えば、単位時間当たりに使用される計算機リソースの量を示す、リソース使用率で表される。
ここで、仮想マシンが物理マシンにかける負荷は、仮想マシンが使用する複数の計算機リソースのうち、1つの計算機リソースのみに関する値で表されてもよいし、複数の計算機リソースに関する値で表されてもよい。前者の場合、例えばその負荷は、その仮想マシンが最も使用している計算機リソースに関する値や、管理者が着目したい計算機リソースに関する値である。後者の場合、例えばその負荷は、その仮想マシンによる各計算機リソースの使用量の平均などで表される。ただし、仮想マシンが物理マシンにかける負荷の表し方は、これらに限定されない。
対象仮想マシンに関する負荷情報は、例えばその対象仮想マシンが対象物理マシンにかける負荷に関する情報である。また、対象仮想マシンに関する負荷情報は、その対象仮想マシンが対象物理マシン以外の物理マシンにかける負荷に関する情報であってもよい。例えば、対象物理マシンが既に運用されている場合、対象仮想マシンが対象物理マシンにかける負荷を実測しようとすると、既に運用されているサービスに影響を及ぼす可能性がある。そこで、対象仮想マシンが対象物理マシン以外の物理マシンにかける負荷を実測することで算出された負荷の確率分布を、対象仮想マシンが対象物理マシンにかける負荷の確率分布の代わりに用いる。なお、実測に用いる物理マシンは、対象物理マシンと同様のハードウエア構成及びソフトウエア構成を有することが好ましい。また、ある仮想マシンに関する負荷情報は、その仮想マシンを実際に物理マシン上で動作させて計測した実測値から生成されてもよいし、シミュレーションや経験則に基づく予測値から生成されてもよい。
図6は、負荷情報の構成を例示する図である。図6において、負荷情報は、テーブル形式で表されている。図6に示す負荷情報を、負荷情報テーブル100と表記する。負荷情報テーブル100は、仮想マシン ID 102及び負荷確率104を示す。仮想マシン ID 102は、各対象仮想マシンの ID を示す。そして、負荷情報テーブル100の各レコードは、仮想マシン ID 102で特定される対象仮想マシンが物理マシンにかける負荷の確率分布を、負荷確率104に示す。負荷確率104は、対象仮想マシンが物理マシンにかける負荷であるリソース使用率Xが、負荷確率104に示す各リソース使用率の範囲となる確率を示している。例えば、仮想マシン VM1 のリソース使用率が 0% 以上 10 % 未満である確率は、5% である。
負荷情報取得部2080が負荷情報を取得する方法は様々である。例えば負荷情報取得部2080は、仮想マシン管理装置2000の内部で生成される負荷情報、又は仮想マシン管理装置2000の内部に格納されている負荷情報を取得する。その他にも例えば、負荷情報取得部2080は、仮想マシン管理装置2000の外部から、負荷情報の入力を受け付ける。この場合、負荷情報は、手動で入力されてもよいし、外部の装置から入力されてもよい。
<負荷統計情報取得部2100>
負荷統計情報取得部2100は、負荷統計情報を取得する。負荷統計情報は、対象仮想マシンが物理マシンにかける負荷の平均及び分散を示す。対象仮想マシンに関する負荷統計情報は、負荷情報と同様に、その対象仮想マシンが対象物理マシンにかける負荷に関する情報であってもよいし、その対象仮想マシンが対象物理マシン以外の物理マシンにかける負荷に関する情報であってもよい。また、ある仮想マシンに関する負荷統計情報は、その仮想マシンを実際に物理マシン上で動作させて計測した実測値から生成されてもよいし、シミュレーションや経験則に基づく予測値から生成されてもよい。
図7は、負荷統計情報の構成を例示する図である。図7において、負荷統計情報は、テーブル形式で表されている。図7に示す負荷統計情報を、負荷統計情報テーブル200と表記する。負荷統計情報テーブル200は、仮想マシン ID 202、平均204、及び分散206を有する。仮想マシン ID 202は、各対象仮想マシンの ID を示す。そして、負荷統計情報テーブル200の各レコードは、仮想マシン ID 202で特定される対象仮想マシンが物理マシンにかける負荷の平均と分散のそれぞれを、平均204と分散206に示す。
負荷統計情報取得部2100が負荷統計情報を取得する方法は様々である。例えば負荷統計情報取得部2100は、仮想マシン管理装置2000の内部で生成される負荷統計情報、又は仮想マシン管理装置2000の内部に格納されている負荷統計情報を取得する。その他にも例えば、負荷統計情報取得部2100は、仮想マシン管理装置2000の外部から、負荷統計情報の入力を受け付ける。この場合、負荷統計情報は、手動で入力されてもよいし、外部の装置から入力されてもよい。
<判定方式選択部2040>
実施形態2の判定方式選択部2040は、第1判定方式、第2判定方式、及び第3判定方式のうち、いずれか複数を含む負荷判定方式の中から、動作可否判定部2060によって実行される負荷判定方式を選択する。第1判定方式及び第3判定方式はいずれも、各対象仮想マシンが対象物理マシンにかける負荷の合計が、対象物理マシンが許容する負荷を超える確率を算出することで、判定を行う方式である。ここで、対象物理マシンが許容する負荷の閾値を、負荷閾値と呼ぶ。また、各対象仮想マシンが対象物理マシンにかける負荷の合計が負荷閾値を超える確率を、過負荷率と呼ぶ。一方、第2判定方式は、過負荷率の上界値を算出することで、判定を行う方式である。ここで、第2判定方式で算出する確率の上界値は、確率の上界値の近似値など、確率の上界値に近いと考えられる値でもよい。以下、第1判定方式及び第3判定方式について説明した後、第2判定方式について説明する。
<<第1判定方式及び第3判定方式>>
各対象仮想マシンが対象物理マシンにかける負荷の合計の確率分布が分かれば、過負荷率を算出することができる。過負荷率は、各対象仮想マシンが対象物理マシンにかける負荷の合計の確率分布における、負荷の合計が負荷閾値を超える範囲の積分値に相当するためである。そこで、第1判定方式及び第3判定方式は、各対象仮想マシンが対象物理マシンにかける負荷の合計の確率分布を算出する。ただし、この2つの判定方式は、この確率分布を算出する方法が異なる。
一般に、確率変数の合計の確率分布は、各確率変数の確率分布の畳み込みとなる。したがって、各対象仮想マシンが対象物理マシンにかける負荷の合計の確率分布は、各対象仮想マシンが対象物理マシンにかける負荷の確率分布の、畳み込みを算出することで求められる。
そこで、第1判定方式は、上述の畳み込みを算出することで、各対象仮想マシンが対象物理マシンにかける負荷の合計の確率分布を求める。具体的には、第1判定方式を用いる場合、動作可否判定部2060は、以下の処理を行う。まず、動作可否判定部2060は、各対象仮想マシンに関する負荷情報を用いて、各対象仮想マシンが対象物理マシンにかける負荷の確率分布の畳み込みを算出する。これにより、各対象仮想マシンが対象物理マシンにかける負荷の合計の確率分布が算出される。また、動作可否判定部2060は、算出した確率分布を用いて過負荷率を算出する。そして、動作可否判定部2060は、算出した過負荷率に基づいて、対象物理マシンが対象仮想マシンを動作させられるか否かを判定する。例えば動作可否判定部2060は、過負荷率が所定の閾値以下である場合に、対象物理マシンが対象仮想マシンを動作させられると判定する。
ここで、負荷統計情報が、対象仮想マシンが対象物理マシン以外の物理マシンにかける負荷に関する情報を示している場合、動作可否判定部2060は、この負荷統計情報が示す情報を、対象仮想マシンが対象物理マシンにかける負荷に関する情報とみなして扱う。以降で説明する動作可否判定部2060の各動作においても、同様である。
一方、第3判定方式は、第1判定方式とは異なる方法で、各対象仮想マシンが対象物理マシンにかける負荷の合計の確率分布を算出する。具体的には、第3判定方式は、各対象仮想マシンが対象物理マシンにかける負荷の合計の確率分布を、正規分布として算出する。これは、対象仮想マシン数が十分に大きい場合、各対象仮想マシンが対象物理マシンにかける負荷の合計の確率分布を、正規分布とみなすことができるためである。以下、詳しく説明する。
まず、どんな確率分布を持つ確率変数の和でも、確率変数の数が多くなるにつれ、正規分布に近づくという定理が存在する。この定理は、中心極限定理と呼ばれる。したがって、対象仮想マシン数が十分大きければ、各対象仮想マシンが対象物理マシンにかける負荷の合計の確率分布は、正規分布になると仮定できる。また、ある確率変数の確率分布が正規分布の場合、その確率分布は、確率変数の平均と分散によって一意に定まる。ここで、各対象仮想マシンが対象物理マシンにかける負荷が独立であるとみなせば、対象仮想マシンが対象物理マシンにかける負荷の平均は、各対象仮想マシンが対象物理マシンにかける負荷の平均を合計した値となる。また、同様に、対象仮想マシンが対象物理マシンにかける負荷の分散は、各対象仮想マシンが対象物理マシンにかける負荷の分散を合計した値となる。以上のことから、対象仮想マシン数が十分大きければ、各対象仮想マシンが対象物理マシンにかける負荷の合計の確率分布は、各対象仮想マシンが対象物理マシンにかける負荷の平均の合計値及び分散の合計値によって一意に定まる正規分布となる。
そこで、第3判定方式は、各対象仮想マシンが対象物理マシンにかける負荷の合計の確率分布を、正規分布として算出する。具体的には、第3判定方式を用いる場合、動作可否判定部2060は、以下の処理を行う。まず、動作可否判定部2060は、各対象仮想マシンの負荷統計情報を用いて、各対象仮想マシンが対象物理マシンにかける負荷の合計の確率分布を表す正規分布を算出する。具体的には、各対象仮想マシンそれぞれが物理マシンにかける負荷の平均の合計、及び分散の合計によって一意に定まる正規分布を算出する。そして、動作可否判定部2060は、算出した確率分布を用いて過負荷率を算出する。さらに、動作可否判定部2060は、第1判定方式と同様に、過負荷率に基づいて、対象物理マシンが対象仮想マシンを動作させられるか否かを判定する。
<<第2判定方式>>
前述したように、第2判定方式は、第1判定方式及び第3判定方式とは異なり、過負荷率の上界値を算出することで判定を行う方式である。具体的には、第2判定方式を用いる場合、動作可否判定部2060は、次の処理を行う。まず動作可否判定部2060は、各対象仮想マシンに関する負荷統計情報を取得する。第2方式において動作可否判定部2060が取得する負荷統計情報は、第3判定方式において動作可否判定部2060が取得する負荷統計情報と同様であり、例えば図6に示す構成を有する。次に、動作可否判定部2060は、各負荷統計情報を用いて、過負荷率の上界値を算出する。そして、動作可否判定部2060は、過負荷率の上界値に基づいて、対象物理マシンが対象仮想マシンを動作させられるか否かを判定する。例えば動作可否判定部2060は、過負荷率の上界値が所定の閾値以下である場合に、対象物理マシンが対象仮想マシンを動作させられると判定する。
ここで、負荷情報が、対象仮想マシンが対象物理マシン以外の物理マシンにかける負荷に関する情報を示している場合、動作可否判定部2060は、この負荷情報が示す情報を、対象仮想マシンが対象物理マシンにかける負荷に関する情報とみなして扱う。以降で説明する動作可否判定部2060の各動作においても、同様である。
以下、過負荷率の上界値を算出する方法の具体例を説明する。過負荷率の上界値は、例えばチェビシェフの不等式又はその変形式を用いて算出される。チェビシェフの不等式は、以下の数式(1)で表される不等式である。X は、平均が E(X)、かつ分散が V(X) である確率変数である。a は、任意の非負実数である。P() は、() 内に示されている事象が起こる確率である。
Figure 0006163926
チェビシェフの不等式を用いて数2に示す式変形を行うことで、数式(2)が導かれる。ここで、Tは任意の実数である。
Figure 0006163926
過負荷率の上界値は、例えば数式(2)を用いて算出することができる。以下、その理由を説明する。まず、数2の各変数を、以下のように扱う。X は、対象仮想マシンが対象物理マシンにかける負荷の大きさを表す確率変数とする。なお、対象仮想マシンが複数ある場合、X は、各対象仮想マシンが対象物理マシンにかける負荷の合計である。そして、T は、対象物理マシンの負荷閾値であるとする。こうすることで、数式(2)の左辺は、対象仮想マシンが対象物理マシンにかける負荷 X が、対象物理マシンによって許容される負荷を示す負荷閾値 T を超える確率、つまりは過負荷率を表す。そのため、数式(2)の右辺を計算することで、過負荷率の上界値を算出できる。
ここで、前述したように、E(x) と V(x) はそれぞれ、X の平均と分散である。そのため、X を、対象仮想マシンが対象物理マシンにかける負荷の大きさを表す確率変数とする場合、E(x) と V(x) はそれぞれ、対象仮想マシンが対象物理マシンにかける負荷の平均と分散となる。なお、対象仮想マシンが複数ある場合、E(X) と V(X) はそれぞれ、各対象仮想マシンが対象物理マシンにかける負荷の、平均の合計と分散の合計である。したがって、数式(2)の右辺は、負荷統計情報及び対象物理マシンの負荷閾値を用いて計算することができる。そこで、動作可否判定部2060は、負荷統計情報及び対象物理マシンの負荷閾値を用いて数式(2)の右辺を計算することで、過負荷率の上界値を算出する。動作可否判定部2060は、仮想マシン管理装置2000の内部に格納されている負荷閾値を取得してもよいし、仮想マシン管理装置2000の外部から負荷閾値を取得してもよい。
また、チェビシェフの不等式を用いて数3に示す式変形を行うことで、数式(3)が導かれる。各変数の意味は、前述した通りである。動作可否判定部2060は、数式(3)の右辺を計算することで得られる値を、過負荷率の上界値としてもよい。ここで、数3の2行目の「P(|X-E(X)|>=T-E(X))」は、「X>=E(X) の場合における P(X-E(X)>=T-E(X))」と、「X<E(X) の場合における P(E(X)-X>=T-E(X))」との和に等しい。また、「X>=E(X) の場合における P(X-E(X)>=T-E)」と「X<E(X) の場合における P(E(X)-X>=T-E(X))」の値がほぼ等しいと仮定すれば、「P(|X-E(X)|>=T-E(X))/2= P(X-E(X)>=T-E(X))」とみなせる。そこで、数3の1行目の右辺を、2行目の式に変形できる。ただし、数3の2行目の式は、「P(|X-E(X)|>=T-E(X))」を2以外の数値で割る式であってもよい。
Figure 0006163926
<<判定方式の選択方法>>
例えば判定方式選択部2040は、動作可否判定部2060が行う計算の計算コストや、動作可否判定部2060による判定の精度などを考慮して、第1判定方式、第2判定方式、及び第3判定方式の中から、動作可否判定部2060が用いる判定方式を選択する。まず、判定方式選択部2040には、第1閾値及び第2閾値が与えられる。第1閾値は、第2閾値よりも小さい。判定方式選択部2040は、対象仮想マシン数取得部2020によって取得された対象仮想マシン数が第1閾値以下の場合に、第1判定方式を選択する。判定方式選択部2040は、対象仮想マシン数が第1閾値より大きく、第2閾値以下である場合に、第2判定方式を選択する。判定方式選択部2040は、対象仮想マシン数が第2閾値より大きい場合に、第3判定方式を選択する。第1閾値及び第2閾値は、仮想マシン管理装置2000の内部に格納されていてもよいし、仮想マシン管理装置2000の外部から入力されてもよい。
判定方式選択部2040が前述したように負荷判定方式を選択する理由を説明する。まず、過負荷率を用いる負荷判定方式である第1判定方式及び第3判定方式は、過負荷率の上界値を算出する第2判定方式よりも、判定の精度が高い。しかし、確率分布の畳み込み計算を用いて過負荷率を算出する第1判定方式は、対象仮想マシン数が大きくなると、計算コストが高くなる。例えば、負荷の確率分布をヒストグラムで表し、ヒストグラムの分割数を k、対象仮想マシン数を N とすると、第1判定方式の計算コストは O(k^N) である。また、対象仮想マシンが対象物理マシンにかける負荷の合計の確率分布を正規分布として算出する第3判定方式は、対象仮想マシン数が小さい場合、対象仮想マシンが対象物理マシンにかける負荷の合計の確率分布は正規分布から遠いため、判定の精度が低くなる。これに対し、第2判定方式は、対象仮想マシン数によらず、低い計算コストで判定が可能である。具体的には、第2判定方式の計算コストは、対象仮想マシン数を N とした場合、O(N) である。また、第2判定方式は、第1判定方式や第3判定方式には及ばないものの、高い精度で判定が可能である。
そこで、例えば、第1判定方式による計算コストが許容できる大きさである対象仮想マシン数の上限値を第1閾値とする。例えば第1閾値は、10程度である。こうすることで、第1判定方式による計算コストが許容できる大きさの場合は、第1判定方式が選択される。この場合、第1判定方式を用いることで、短い時間かつ高い精度で過負荷率を算出できる。そのため、動作可否判定部2060は、短い時間かつ高い精度で判定を行える。
また例えば、対象仮想マシンが対象物理マシンにかける負荷の合計の確率分布を正規分布とみなせる対象仮想マシン数の下限値を第2閾値とする。例えば第2閾値は、30〜50程度である。こうすることで、対象仮想マシンが対象物理マシンにかける負荷の合計の確率分布を正規分布とみなせる場合に、第3判定方式が選択される。この場合、第3判定方式を用いることで、短い時間かつ高い精度で、過負荷率を算出できる。そのため、動作可否判定部2060は、短い時間かつ高い精度で判定を行える。
そして、対象仮想マシン数が第1閾値より大きく、第2閾値以下である場合、判定方式選択部2040は、第2判定方式を選択する。こうすることで、第1判定方式を用いると計算時間が長くなり、かつ第3判定方式を用いると精度が低くなる場合に、第2判定方式が選択される。動作可否判定部2060は、このような場合でも、第2判定方式を用いることで、短い時間かつ高い精度で判定を行える。
<処理の流れ>
図8は、実施形態2に係る仮想マシン管理装置2000によって実行される処理の流れを例示するフローチャートである。図8のステップS202〜S210は、図3のステップS104において実行される処理の一例を詳細化したものである。
ステップS202において、判定方式選択部2040は、対象仮想マシン数取得部2020によって取得された対象仮想マシン数を第1閾値と比較する。対象仮想マシン数が第1閾値以下である場合、図8の処理は、ステップS204に進む。ステップS204において、判定方式選択部2040は、第1判定方式を選択する。
一方、ステップS202において、対象仮想マシン数が第1閾値より大きい場合、図8の処理は、ステップS206に進む。ステップS206において、判定方式選択部2040は、対象仮想マシン数を第2閾値と比較する。対象仮想マシン数が第2閾値以下である場合、図8の処理は、ステップS208に進む。ステップS208において、判定方式選択部2040は、第2判定方式を選択する。
一方、対象仮想マシン数が第2閾値より大きい場合、図8の処理は、ステップS210に進む。ステップS210において、判定方式選択部2040は、第3判定方式を選択する。
<作用・効果>
実施形態2の仮想マシン管理装置2000によれば、対象仮想マシン数に基づいて、第1判定方式、第2判定方式、及び第3判定方式のうちの、いずれか複数を含む判定方式の中から、動作可否判定部2060が用いる判定方式が選択される。これにより、仮想マシン管理装置2000によれば、短い時間かつ高い精度で判定を行える。
[実施形態3]
図9は、実施形態3に係る仮想マシン管理装置2000を示すブロック図である。図9において、矢印の流れは情報の流れを示している。また、図9において、各ブロックは、ハードウエア単位の構成ではなく、機能単位の構成を示している。仮想マシン管理装置2000は、下記で説明する点を除いて、実施形態1又は2の仮想マシン管理装置2000と同様である。
実施形態3の仮想マシン管理装置2000は、代表統計情報取得部2120及び予測稼働数算出部2140をさらに有する。実施形態3の仮想マシン管理装置2000は、予測稼働数を算出する機能を有する。以下、詳しく説明する。
<代表統計情報取得部2120>
実施形態3の仮想マシン管理装置2000は、代表統計情報取得部2120を有する。代表統計情報取得部2120は、代表的な仮想マシンである代表仮想マシンが対象物理マシンにかける負荷の平均及び分散を示す代表統計情報を取得する。例えば代表仮想マシンが代表物理マシンにかける負荷の平均は、対象仮想マシンが対象物理マシン又はその他の物理マシンにかける負荷の平均の、平均である。その他にも例えば、代表仮想マシンが対象物理マシンにかける負荷の平均は、シミュレーションや経験則に基づき、一般的な仮想マシンが対象物理マシンにかけると予測される、予測値であってもよい。代表仮想マシンが対象物理マシンにかける負荷の分散についても同様である。
代表統計情報取得部2120が代表統計情報を取得する方法は様々である。例えば代表統計情報取得部2120は、仮想マシン管理装置2000の内部で生成される代表統計情報、又は仮想マシン管理装置2000の内部に格納されている代表統計情報を取得する。その他にも例えば、代表統計情報取得部2120は、仮想マシン管理装置2000の外部から、代表統計情報の入力を受け付ける。この場合、代表統計情報は、手動で入力されてもよいし、外部の装置から入力されてもよい。
<予測稼働数算出部2140>
実施形態3の仮想マシン管理装置2000は、予測稼働数算出部2140を有する。予測稼働数算出部2140は、代表統計情報を用いて、対象物理マシン上で動作させることができる代表仮想マシンの数(以下、予測稼働数)を算出する。具体的には、予測稼働数算出部2140は、代表統計情報取得部2120によって取得された代表統計情報を用いて、複数の代表仮想マシンが対象物理マシンにかける負荷の合計が、対象物理マシンの負荷閾値を超える確率の上界値を算出する。この上界値は、例えば実施形態2で説明した過負荷率の上界値と同様に、チェビシェフの不等式又はその変形式を用いて算出される。予測稼働数算出部2140は、算出した上界値を用いて、予測稼働数を算出する。例えば予測稼働数算出部2140は、算出した上界値が所定の閾値以下となる場合のうち、代表仮想マシンの数が最大である場合における代表仮想マシンの数を、予測稼働数とする。
実施形態3の対象仮想マシン数取得部2020は、予測稼働数算出部2140によって算出された予測稼働数を、対象仮想マシン数として取得する。
<処理の流れ>
図10は、実施形態3の仮想マシン管理装置2000によって実行される処理の流れを例示するフローチャートである。図10におけるステップS104及びS106は、図3におけるステップS104及びS106と同様の処理である。
ステップS302において、代表統計情報取得部2120は、代表統計情報を取得する。ステップS304において、予測稼働数算出部2140は、代表統計情報を用いて、予測稼働数を算出する。ステップS306において、予測稼働数取得部2020は、予測稼働数算出部2140によって算出された予測稼働数を、対象仮想マシン数として取得する。
<作用・効果>
実施形態3の仮想マシン管理装置2000によれば、対象仮想マシン数が内部で算出されるため、対象仮想マシン数が提供されない場合であっても、対象物理マシンが対象仮想マシンを動作させられるか否かを判定できる。さらに、複数の代表仮想マシンが対象物理マシンにかける負荷が対象物理マシンの負荷閾値を超える確率の上界値を用いて対象仮想マシン数を算出するため、対象仮想マシン数を、短い時間かつ高い精度で算出することができる。
[実施形態4]
図11は、実施形態4に係る仮想マシン管理装置2000を示すブロック図である。図11において、矢印の流れは情報の流れを示している。また、図11において、各ブロックは、ハードウエア単位の構成ではなく、機能単位の構成を示している。実施形態4の仮想マシン管理装置2000は、下記で説明する点を除き、実施形態2の仮想マシン管理装置2000と同様である。
<負荷統計情報生成部2160>
実施形態4の仮想マシン管理装置2000は、負荷統計情報生成部2160を有する。負荷統計情報生成部2160は、負荷情報を用いて、負荷統計情報を生成する。具体的には、負荷統計情報生成部2160は、対象仮想マシンに関する負荷情報が示す負荷の確率分布を用いて、その負荷の平均及び分散を算出する。負荷情報から負荷統計情報を求めることは、確率変数の確率分布を用いて、確率変数の平均及び分散を求めることに相当する。確率変数の確率分布を用いて確率変数の平均及び分散を算出する方法は公知であるため、説明を省略する。
負荷統計情報取得部2100は、負荷統計情報生成部2160によって生成された負荷統計情報を取得する。
<作用・効果>
実施形態4の仮想マシン管理装置2000によれば、負荷統計情報が提供されない場合であっても、対象物理マシンが対象仮想マシンを動作させられるか否かを判定できる。
[実施形態5]
図12は、実施形態5に係る仮想マシン管理装置2000を示すブロック図である。図12において、矢印の流れは情報の流れを示している。また、図12において、各ブロックは、ハードウエア単位の構成ではなく、機能単位の構成を示している。実施形態5の仮想マシン管理装置2000は、下記で説明する点を除き、実施形態2の仮想マシン管理装置2000と同様である。
仮想マシン管理装置2000は、負荷統計情報生成部2160、負荷履歴情報取得部2180、及び負荷情報生成部2200をさらに有する。実施形態5の仮想マシン管理装置2000は、対象仮想マシンが物理マシンにかけた負荷の履歴を用いて、負荷情報及び負荷統計情報を生成する。以下、詳しく説明する。
<負荷履歴情報取得部2180>
負荷履歴情報取得部2180は、負荷履歴情報を取得する。負荷履歴情報は、対象仮想マシンが物理マシンにかけた負荷の履歴を示す。負荷履歴情報は、対象仮想マシンが対象物理マシンにかけた負荷の履歴を示してもよいし、対象仮想マシンが対象物理マシン以外の物理マシンにかけた負荷の履歴を示してもよい。
負荷履歴情報が負荷の履歴を表す方法は様々である。例えば、負荷履歴情報は、過去の複数の時点それぞれにおいて、対象仮想マシンが物理マシンにかけた負荷を示してもよい。また、負荷履歴情報は、過去の複数の期間ごとに、その期間において対象仮想マシンが物理マシンにかけた負荷の統計値(平均や中央値など)を示してもよい。
図13は、負荷履歴情報の構成を例示する図である。図13において、負荷履歴情報は、テーブル形式で表されている。図13に示されている負荷履歴情報を、負荷履歴情報テーブル300と表記する。負荷履歴情報テーブル300は、仮想マシン ID 302及び負荷履歴304を有する。仮想マシン ID 302は、各対象仮想マシンの ID を示す。負荷履歴情報テーブル300の各レコードは、仮想マシン ID 302で特定される対象仮想マシンが、物理マシンにかけた負荷の履歴を、負荷履歴304に示す。負荷履歴304は、時点 T1 〜 Tn それぞれにおいて、対象仮想マシンが物理マシンにかけた負荷を示している。
<負荷統計情報生成部2160>
負荷統計情報生成部2160は、負荷履歴情報を用いて、負荷統計情報を生成する。具体的には、負荷統計情報生成部2160、対象仮想マシンに関する負荷履歴情報が示す負荷の、平均及び分散を算出することで、その対象仮想マシンに関する負荷統計情報を生成する。例えば、負荷履歴情報が図13に示す負荷履歴情報テーブル300で表されている場合、仮想マシン管理装置2000は、各仮想マシンについて、時点 T1 〜 Tn における負荷から、それらの平均及び分散を算出することで、各仮想マシンに関する負荷統計情報を算出する。
負荷統計情報取得部2100は、負荷統計情報生成部2160によって生成された負荷統計情報を取得する。
<負荷情報生成部2200>
負荷情報生成部2200は、負荷履歴情報を用いて、負荷情報を生成する。具体的には、負荷情報生成部2200は、対象仮想マシンに関する負荷履歴情報が示す負荷の履歴から、その負荷がとりうる値の確率分布を算出して、負荷情報が示す確率分布とする。負荷履歴情報から負荷情報を算出することは、事象から確率分布を算出することに相当する。事象から確率分布を算出する方法は公知であるため、説明を省略する。
負荷情報取得部2080は、負荷情報生成部2200によって生成された負荷統計情報を取得する。
<作用・効果>
以上により、実施形態5の仮想マシン管理装置2000によれば、負荷情報及び負荷統計情報が提供されない場合であっても、対象物理マシンが対象仮想マシンを動作させられるか否かを判定できる。
[実施形態6]
図14は、実施形態6に係る仮想マシン管理装置2000を示すブロック図である。図14において、矢印の流れは情報の流れを示している。また、図14において、各ブロックは、ハードウエア単位の構成ではなく、機能単位の構成を示している。実施形態6に係る仮想マシン管理装置2000は、下記で説明する点を除き、上述した各実施形態のいずれかと同様である。
実施形態6の仮想マシン管理装置2000は、影響度算出部2220および移行候補決定部2240をさらに有する。実施形態6の仮想マシン管理装置2000は、複数の対象仮想マシンが対象物理マシン上で動作していることを前提とする。そして、実施形態6の仮想マシン管理装置2000は、対象物理マシン上で既に動作している複数の対象仮想マシンの中から、他の物理マシンへ移行する候補にする対象仮想マシンを決定する。以下、詳しく説明する。
<影響度算出部2220>
影響度算出部2220は、各対象仮想マシンが対象物理マシンに与える影響の度合いを示す影響度を算出する。ある対象仮想マシンの影響度は、その対象仮想マシンを含む全ての対象仮想マシンが対象物理マシン上で動作している場合における過負荷率の上界値と、その対象仮想マシン以外の全ての対象仮想マシンが対象物理マシン上で動作している場合における過負荷率の上界値との違いを示す値である。なお、影響度算出部2220が過負荷率の上界値を算出する方法は、実施形態2で説明した過負荷率の上界値の算出方法と同様である。
影響度算出部2220は、例えば以下の数式(4)や数式(5)を用いて、対象仮想マシンの1つである対象仮想マシン i の、対象物理マシンに対する影響度 I(i) を算出する。E(X-i) と V(X-i) はそれぞれ、対象仮想マシン i 以外の各対象仮想マシンが対象物理マシンにかける負荷の平均の合計、分散の合計である。また、E(Xall) と V(Xall) はそれぞれ、対象仮想マシン i を含めた各対象仮想マシンが対象物理マシンにかける負荷の平均の合計、分散の合計である。T は負荷閾値である。数式(4)は、対象仮想マシン i が対象物理マシン上で動作している場合における過負荷率の上界値を、対象仮想マシン i が対象物理マシン上で動作していない場合における過負荷率の上界値で除算した値である。一方、数式(5)は、対象仮想マシン i が対象物理マシン上で動作している場合における過負荷率の上界値から、対象仮想マシン i が対象物理マシン上で動作していない場合における過負荷率の上界値を引いた値である。
Figure 0006163926
<移行候補決定部2240>
移行候補決定部2240は、対象物理マシン上で動作している各対象仮想マシンの影響度に基づいて、対象物理マシンから他の物理マシンへ移行する仮想マシンを決定する。例えば移行候補決定部2240は、対象物理マシンに対する影響度が最も大きい対象仮想マシンを、他の物理マシンへ移行する仮想マシンにする候補とする。こうすることで、一度の移行で、対象物理マシン上に残った他の対象仮想マシンによって対象物理マシンにかかる負荷を、より小さくすることができる。また例えば移行候補決定部2240は、対象物理マシンに対する影響度が最も小さい仮想マシンを、他の物理マシンへ移行する仮想マシンの候補とする。こうすることで、対象物理マシンにかかる負荷が、許容できる範囲で、できる限り大きくなるため、対象物理マシンの計算機リソースを無駄なく活用することができる。また、移行候補決定部2240は、対象仮想マシンを別の物理マシンに移行した後に対象物理マシンにかかる負荷をどの程度の大きさにしたいかに基づいて、適度な影響度を持つ対象仮想マシンを、他の物理マシンへ移行する仮想マシンの候補としてもよい。
<処理の流れ>
図15は、実施形態6に係る仮想マシン管理装置2000が行う処理の流れを示すフローチャートである。ステップS402において、負荷統計情報取得部2100は、負荷統計情報を取得する。
ステップS404〜S408は、全ての対象仮想マシンについて実行されるループ処理Aである。ステップS404において、影響度算出部2220は、全ての対象仮想マシンについてループ処理Aを実行したか否かを判定する。全ての対象仮想マシンについてループ処理Aを実行した場合、図15の処理は、ステップS410に進む。まだ全ての対象仮想マシンについてループ処理Aを実行していない場合、影響度算出部2220は、まだループ処理Aの対象としていない対象仮想マシンの中から1つを選択する。ここで選択された対象仮想マシンを、対象仮想マシンiと表記する。そして、図15の処理は、ステップS406に進む。
ステップS406において、影響度算出部2220は、対象物理マシンに対する対象仮想マシンiの影響度を算出する。ステップS408は、ループ処理Aの終端である。図15の処理は、ステップS404に進む。
ステップS410において、移行候補決定部2240は、対象物理マシン上で動作している対象仮想マシンの中から、他の物理マシンへ移行する候補を決定する。
<作用・効果>
本実施形態によれば、対象物理マシン上で動作している仮想マシンの中から、他の物理マシンへ移行する候補の仮想マシンが、その仮想マシンの影響度を用いて決定される。ここで、影響度は、過負荷率の上界値に基づいて算出される。そのため、他の物理マシンへ移行する候補として適切な対象仮想マシンを、短い時間かつ高い精度で決定できる。
以上、図面を参照して本発明の実施形態について述べたが、これらは本発明の例示であり、上記実施形態の組み合わせ、及び上記実施形態以外の様々な構成を採用することもできる。
以下、参考形態の例を付記する。
1. 対象物理マシン上で動作させることができるか否かの判定対象である対象仮想マシンの数を取得する対象仮想マシン数取得手段と、
前記対象仮想マシンの数に基づいて、複数の判定方式の中から、動作可否判定手段によって実行される前記判定方式を選択する判定方式選択手段と、
前記判定方式選択手段によって選択された前記判定方式を用いて、前記対象物理マシンが前記対象仮想マシンを動作させられるか否かの判定を行う動作可否判定手段と、
を有する仮想マシン管理装置。
2. 前記対象仮想マシンが物理マシンにかける負荷の平均及び分散を示す負荷統計情報を取得する負荷統計情報取得手段を有し、
前記複数の判定方式は、
複数の対象仮想マシンそれぞれに関し、その対象仮想マシンが物理マシンにかける負荷の確率分布を示す負荷情報を取得し、各負荷情報が示す前記確率分布の畳み込みを算出することで、前記複数の対象仮想マシンが前記物理マシンにかける負荷の合計の確率分布を算出し、算出した確率分布を用いて、前記複数の対象仮想マシンが前記対象物理マシンにかける負荷が、前記対象物理マシンが許容する負荷を超える確率である過負荷率を算出する第1判定方式と、
前記複数の対象仮想マシンそれぞれに関する前記負荷統計情報を用いて、前記過負荷率の上界値を算出する第2判定方式と、
前記複数の対象仮想マシンそれぞれに関する前記負荷統計情報を用いて、前記複数の対象仮想マシンが前記物理マシンにかける負荷の合計の確率分布を表す正規分布を算出し、算出した正規分布を用いて、前記過負荷率を算出する第3判定方式と、
のうち、いずれか複数を含み、
前記複数の判定方式が前記第1判定方式を含む場合、前記負荷情報を取得する負荷情報取得手段を有し、
前記動作可否判定手段は、前記判定方式選択手段によって選択された判定方式を用いて算出した前記過負荷率又は前記過負荷率の上界値に基づいて、前記対象物理マシンが前記対象仮想マシンを動作させられるか否かの判定を行う、
1.に記載の仮想マシン管理装置。
3. 前記判定方式選択手段は、
前記対象仮想マシンの数が第1閾値以下の場合、前記第1判定方式を前記判定方式として選択し、
前記対象仮想マシンの数が前記第1閾値より大きくかつ第2閾値以下である場合、前記第2判定方式を前記判定方式として選択し、
前記対象仮想マシンの数が前記第2閾値より大きい場合、前記第3判定方式を前記判定方式として選択する、
2.に記載の仮想マシン管理装置。
4. 前記第2判定方式は、チェビシェフの不等式又はチェビシェフの不等式を変形して得られる不等式を用いて、前記過負荷率の上界値を算出する、2.又は3.に記載の仮想マシン管理装置。
5. 前記負荷情報に示される負荷の確率分布から、その負荷の平均及び分散を算出することで、前記負荷統計情報を生成する、負荷統計情報生成手段を有する、2.乃至4.いずれか一つに記載の仮想マシン管理装置。
6. 前記対象仮想マシンが物理マシンにかけた負荷の履歴を示す負荷履歴情報取得する、負荷履歴情報取得手段と、
前記負荷履歴情報に示されている負荷の履歴から、その負荷の確率分布を算出することで、前記負荷情報を生成する、負荷情報生成手段と、
前記負荷履歴情報に示されている負荷の履歴の平均及び分散を算出することで、前記負荷統計情報を生成する、負荷統計情報生成手段と、
を有し、
前記負荷情報取得手段は、前記負荷情報生成手段によって生成された前記負荷情報を取得し、
前記負荷統計情報取得手段は、前記負荷統計情報生成手段によって生成された前記負荷統計情報を取得する、
2.乃至4.いずれか一つに記載の仮想マシン管理装置。
7. 代表的な仮想マシンである代表仮想マシンが物理マシンにかける負荷の平均及び分散を示す代表統計情報を取得する、代表統計値取得手段と、
前記代表統計情報を用いて、複数の前記代表仮想マシンが前記対象物理マシンにかける負荷の合計が、前記対象物理マシンによって許容される負荷を超える確率の上界値を算出し、その上界値に基づいて、前記対象物理マシン上で動作させることができる前記代表仮想マシンの数である予測稼働数を算出する予測稼働数算出手段を有し、
前記対象仮想マシン数取得手段は、前記予測稼働数算出手段によって算出された予測稼働数を、前記対象仮想マシンの数として取得する、
1.乃至6.いずれか一つに記載の仮想マシン管理装置。
8. 複数の対象仮想マシンが前記対象物理マシン上で動作しており、
前記対象仮想マシンが物理マシンにかける負荷の平均及び分散を示す負荷統計情報を取得する負荷統計情報取得手段と、
前記複数の対象仮想マシンそれぞれについて、その対象仮想マシンを除く全ての前記複数の対象仮想マシンによって前記対象物理マシンにかかる負荷が前記対象物理マシンによって許容される負荷を超える確率の上界値と、その対象仮想マシンを含む全ての前記複数の対象仮想マシンによって前記対象物理マシンにかかる負荷が前記対象物理マシンによって許容される負荷を超える確率の上界値との違いを示す値を算出し、前記対象物理マシンに対するその対象仮想マシンの影響度とする、影響度算出手段と、
前記複数の対象仮想マシンのうち、前記影響度が最も大きい対象仮想マシンを、前記対象物理マシンの外部へ移行する候補にする、移行候補決定手段と、
を有する1.乃至7.いずれか一つに記載の仮想マシン管理装置。
9. コンピュータに、仮想マシン管理装置として動作する機能を持たせるプログラムであって、前記コンピュータに、
対象物理マシン上で動作させることができるか否かの判定対象である対象仮想マシンの数を取得する対象仮想マシン数取得機能と、
前記対象仮想マシンの数に基づいて、複数の判定方式の中から、動作可否判定機能によって実行される前記判定方式を選択する判定方式選択機能と、
前記判定方式選択機能によって選択された前記判定方式を用いて、前記対象物理マシンが前記対象仮想マシンを動作させられるか否かの判定を行う動作可否判定機能と、
を持たせるプログラム。
10. 前記コンピュータに、前記対象仮想マシンが物理マシンにかける負荷の平均及び分散を示す負荷統計情報を取得する負荷統計情報取得機能を持たせ、
前記複数の判定方式は、
複数の対象仮想マシンそれぞれに関し、その対象仮想マシンが物理マシンにかける負荷の確率分布を示す負荷情報を取得し、各負荷情報が示す前記確率分布の畳み込みを算出することで、前記複数の対象仮想マシンが前記物理マシンにかける負荷の合計の確率分布を算出し、算出した確率分布を用いて、前記複数の対象仮想マシンが前記対象物理マシンにかける負荷が、前記対象物理マシンが許容する負荷を超える確率である過負荷率を算出する第1判定方式と、
前記複数の対象仮想マシンそれぞれに関する前記負荷統計情報を用いて、前記過負荷率の上界値を算出する第2判定方式と、
前記複数の対象仮想マシンそれぞれに関する前記負荷統計情報を用いて、前記複数の対象仮想マシンが前記物理マシンにかける負荷の合計の確率分布を表す正規分布を算出し、算出した正規分布を用いて、前記過負荷率を算出する第3判定方式と、
のうち、いずれか複数を含み、
前記複数の判定方式が前記第1判定方式を含む場合、前記コンピュータに、前記負荷情報を取得する負荷情報取得機能を持たせ、
前記動作可否判定機能は、前記判定方式選択機能によって選択された判定方式を用いて算出した前記過負荷率又は前記過負荷率の上界値に基づいて、前記対象物理マシンが前記対象仮想マシンを動作させられるか否かの判定を行う、
9.に記載のプログラム。
11. 前記判定方式選択機能は、
前記対象仮想マシンの数が第1閾値以下の場合、前記第1判定方式を前記判定方式として選択し、
前記対象仮想マシンの数が前記第1閾値より大きくかつ第2閾値以下である場合、前記第2判定方式を前記判定方式として選択し、
前記対象仮想マシンの数が前記第2閾値より大きい場合、前記第3判定方式を前記判定方式として選択する、
10.に記載のプログラム。
12. 前記第2判定方式は、チェビシェフの不等式又はチェビシェフの不等式を変形して得られる不等式を用いて、前記過負荷率の上界値を算出する、10.又は11.に記載のプログラム。
13. 前記コンピュータに、前記負荷情報に示される負荷の確率分布から、その負荷の平均及び分散を算出することで、前記負荷統計情報を生成する、負荷統計情報生成機能を持たせる、10.乃至12.いずれか一つに記載のプログラム。
14. 前記コンピュータに、
前記対象仮想マシンが物理マシンにかけた負荷の履歴を示す負荷履歴情報取得する、負荷履歴情報取得機能と、
前記負荷履歴情報に示されている負荷の履歴から、その負荷の確率分布を算出することで、前記負荷情報を生成する、負荷情報生成機能と、
前記負荷履歴情報に示されている負荷の履歴の平均及び分散を算出することで、前記負荷統計情報を生成する、負荷統計情報生成機能と、
を持たせ、
前記負荷情報取得機能は、前記負荷情報生成機能によって生成された前記負荷情報を取得し、
前記負荷統計情報取得機能は、前記負荷統計情報生成機能によって生成された前記負荷統計情報を取得する、
10.乃至12.いずれか一つに記載のプログラム。
15. 前記コンピュータに、
代表的な仮想マシンである代表仮想マシンが物理マシンにかける負荷の平均及び分散を示す代表統計情報を取得する、代表統計値取得機能と、
前記代表統計情報を用いて、複数の前記代表仮想マシンが前記対象物理マシンにかける負荷の合計が、前記対象物理マシンによって許容される負荷を超える確率の上界値を算出し、その上界値に基づいて、前記対象物理マシン上で動作させることができる前記代表仮想マシンの数である予測稼働数を算出する予測稼働数算出機能を持たせ、
前記対象仮想マシン数取得機能は、前記予測稼働数算出機能によって算出された予測稼働数を、前記対象仮想マシンの数として取得する、
9.乃至14.いずれか一つに記載のプログラム。
16. 複数の対象仮想マシンが前記対象物理マシン上で動作しており、
前記コンピュータに、
前記対象仮想マシンが物理マシンにかける負荷の平均及び分散を示す負荷統計情報を取得する負荷統計情報取得機能と、
前記複数の対象仮想マシンそれぞれについて、その対象仮想マシンを除く全ての前記複数の対象仮想マシンによって前記対象物理マシンにかかる負荷が前記対象物理マシンによって許容される負荷を超える確率の上界値と、その対象仮想マシンを含む全ての前記複数の対象仮想マシンによって前記対象物理マシンにかかる負荷が前記対象物理マシンによって許容される負荷を超える確率の上界値との違いを示す値を算出し、前記対象物理マシンに対するその対象仮想マシンの影響度とする、影響度算出機能と、
前記複数の対象仮想マシンのうち、前記影響度が最も大きい対象仮想マシンを、前記対象物理マシンの外部へ移行する候補にする、移行候補決定機能と、
を持たせる9.乃至15.いずれか一つに記載のプログラム。
17. コンピュータによって実行される仮想マシン管理方法であって、
対象物理マシン上で動作させることができるか否かの判定対象である対象仮想マシンの数を取得する対象仮想マシン数取得ステップと、
前記対象仮想マシンの数に基づいて、複数の判定方式の中から、動作可否判定ステップによって実行される前記判定方式を選択する判定方式選択ステップと、
前記判定方式選択ステップによって選択された前記判定方式を用いて、前記対象物理マシンが前記対象仮想マシンを動作させられるか否かの判定を行う動作可否判定ステップと、
を有する仮想マシン管理方法。
18. 前記対象仮想マシンが物理マシンにかける負荷の平均及び分散を示す負荷統計情報を取得する負荷統計情報取得ステップを有し、
前記複数の判定方式は、
複数の対象仮想マシンそれぞれに関し、その対象仮想マシンが物理マシンにかける負荷の確率分布を示す負荷情報を取得し、各負荷情報が示す前記確率分布の畳み込みを算出することで、前記複数の対象仮想マシンが前記物理マシンにかける負荷の合計の確率分布を算出し、算出した確率分布を用いて、前記複数の対象仮想マシンが前記対象物理マシンにかける負荷が、前記対象物理マシンが許容する負荷を超える確率である過負荷率を算出する第1判定方式と、
前記複数の対象仮想マシンそれぞれに関する前記負荷統計情報を用いて、前記過負荷率の上界値を算出する第2判定方式と、
前記複数の対象仮想マシンそれぞれに関する前記負荷統計情報を用いて、前記複数の対象仮想マシンが前記物理マシンにかける負荷の合計の確率分布を表す正規分布を算出し、算出した正規分布を用いて、前記過負荷率を算出する第3判定方式と、
のうち、いずれか複数を含み、
前記複数の判定方式が前記第1判定方式を含む場合、前記コンピュータに、前記負荷情報を取得する負荷情報取得ステップを有し、
前記動作可否判定ステップは、前記判定方式選択ステップによって選択された判定方式を用いて算出した前記過負荷率又は前記過負荷率の上界値に基づいて、前記対象物理マシンが前記対象仮想マシンを動作させられるか否かの判定を行う、
17.に記載の仮想マシン管理方法。
19. 前記判定方式選択ステップは、
前記対象仮想マシンの数が第1閾値以下の場合、前記第1判定方式を前記判定方式として選択し、
前記対象仮想マシンの数が前記第1閾値より大きくかつ第2閾値以下である場合、前記第2判定方式を前記判定方式として選択し、
前記対象仮想マシンの数が前記第2閾値より大きい場合、前記第3判定方式を前記判定方式として選択する、
18.に記載の仮想マシン管理方法。
20. 前記第2判定方式は、チェビシェフの不等式又はチェビシェフの不等式を変形して得られる不等式を用いて、前記過負荷率の上界値を算出する、18.又は19.に記載の仮想マシン管理方法。
21. 前記負荷情報に示される負荷の確率分布から、その負荷の平均及び分散を算出することで、前記負荷統計情報を生成する、負荷統計情報生成ステップを有する、18.乃至20.いずれか一つに記載の仮想マシン管理方法。
22. 前記対象仮想マシンが物理マシンにかけた負荷の履歴を示す負荷履歴情報取得する、負荷履歴情報取得ステップと、
前記負荷履歴情報に示されている負荷の履歴から、その負荷の確率分布を算出することで、前記負荷情報を生成する、負荷情報生成ステップと、
前記負荷履歴情報に示されている負荷の履歴の平均及び分散を算出することで、前記負荷統計情報を生成する、負荷統計情報生成ステップと、
を有し、
前記負荷情報取得ステップは、前記負荷情報生成ステップによって生成された前記負荷情報を取得し、
前記負荷統計情報取得ステップは、前記負荷統計情報生成ステップによって生成された前記負荷統計情報を取得する、
18.乃至20.いずれか一つに記載の仮想マシン管理方法。
23. 代表的な仮想マシンである代表仮想マシンが物理マシンにかける負荷の平均及び分散を示す代表統計情報を取得する、代表統計値取得ステップと、
前記代表統計情報を用いて、複数の前記代表仮想マシンが前記対象物理マシンにかける負荷の合計が、前記対象物理マシンによって許容される負荷を超える確率の上界値を算出し、その上界値に基づいて、前記対象物理マシン上で動作させることができる前記代表仮想マシンの数を算出し、算出した前記代表仮想マシンの数である予測稼働数を算出する予測稼働数算出ステップを有し、
前記対象仮想マシン数取得ステップは、前記予測稼働数算出ステップによって算出された予測稼働数を、前記対象仮想マシンの数として取得する、
17.乃至22.いずれか一つに記載の仮想マシン管理方法。
24. 複数の対象仮想マシンが前記対象物理マシン上で動作しており、
前記対象仮想マシンが物理マシンにかける負荷の平均及び分散を示す負荷統計情報を取得する負荷統計情報取得ステップと、
前記複数の対象仮想マシンそれぞれについて、その対象仮想マシンを除く全ての前記複数の対象仮想マシンによって前記対象物理マシンにかかる負荷が前記対象物理マシンによって許容される負荷を超える確率の上界値と、その対象仮想マシンを含む全ての前記複数の対象仮想マシンによって前記対象物理マシンにかかる負荷が前記対象物理マシンによって許容される負荷を超える確率の上界値との違いを示す値を算出し、前記対象物理マシンに対するその対象仮想マシンの影響度とする、影響度算出ステップと、
前記複数の対象仮想マシンのうち、前記影響度が最も大きい対象仮想マシンを、前記対象物理マシンの外部へ移行する候補にする、移行候補決定ステップと、
を有する17.乃至23.いずれか一つに記載の仮想マシン管理方法。
100 負荷情報テーブル
102 仮想マシン ID
104 負荷確率
200 負荷統計情報テーブル
202 仮想マシン ID
204 平均
206 分散
300 負荷履歴情報テーブル
302 仮想マシン ID
304 負荷履歴
1020 バス
1040 プロセッサ
1060 メモリ
1080 ストレージ
1220 対象仮想マシン数取得モジュール
1240 判定方式選択モジュール
1260 動作可否判定モジュール
2000 仮想マシン管理装置
2020 対象仮想マシン数取得部
2040 判定方式選択部
2060 動作可否判定部
2080 負荷情報取得部
2100 負荷統計情報取得部
2120 代表統計情報取得部
2140 予測稼働数算出部
2160 負荷統計情報生成部
2180 負荷履歴情報取得部
2200 負荷情報生成部
2220 影響度算出部
2240 移行候補決定部

Claims (9)

  1. 対象物理マシン上で動作させることができるか否かの判定対象である対象仮想マシンの数を取得する対象仮想マシン数取得手段と、
    前記対象仮想マシンの数に基づいて、複数の判定方式の中から、動作可否判定手段によって実行される前記判定方式を選択する判定方式選択手段と、
    前記判定方式選択手段によって選択された前記判定方式を用いて、前記対象物理マシンが前記対象仮想マシンを動作させられるか否かの判定を行う動作可否判定手段と、
    前記対象仮想マシンが物理マシンにかける負荷の平均及び分散を示す負荷統計情報を取得する負荷統計情報取得手段と、
    を有し、
    前記複数の判定方式は、
    各前記対象仮想マシンが物理マシンにかける負荷の確率分布を示す負荷情報を取得し、各負荷情報が示す前記確率分布の畳み込みを算出することで、各前記対象仮想マシンが前記物理マシンにかける負荷の合計の確率分布を算出し、算出した確率分布を用いて、前記対象仮想マシンが前記対象物理マシンにかける負荷の合計が前記対象物理マシンによって許容される負荷を超える確率である過負荷率を算出する第1判定方式と、
    各前記対象仮想マシンに関する前記負荷統計情報を用いて、前記過負荷率の上界値を算出する第2判定方式と、
    各前記対象仮想マシンに関する前記負荷統計情報を用いて、各前記対象仮想マシンが前記物理マシンにかける負荷の合計の確率分布を表す正規分布を算出し、算出した正規分布を用いて、前記過負荷率を算出する第3判定方式と、
    のうち、いずれか複数を含み、
    前記複数の判定方式が前記第1判定方式を含む場合、前記負荷情報を取得する負荷情報取得手段を有し、
    前記動作可否判定手段は、前記判定方式選択手段によって選択された判定方式を用いて算出した前記過負荷率又は前記過負荷率の上界値に基づいて、前記対象物理マシンが前記対象仮想マシンを動作させられるか否かの判定を行う、仮想マシン管理装置。
  2. 前記判定方式選択手段は、
    前記対象仮想マシンの数が第1閾値以下の場合、前記第1判定方式を前記判定方式として選択し、
    前記対象仮想マシンの数が前記第1閾値より大きくかつ第2閾値以下である場合、前記第2判定方式を前記判定方式として選択し、
    前記対象仮想マシンの数が前記第2閾値より大きい場合、前記第3判定方式を前記判定方式として選択する、
    請求項に記載の仮想マシン管理装置。
  3. 前記第2判定方式は、チェビシェフの不等式又はチェビシェフの不等式を変形して得られる不等式を用いて、前記過負荷率の上界値を算出する、請求項又はに記載の仮想マシン管理装置。
  4. 前記負荷情報に示される負荷の確率分布から、その負荷の平均及び分散を算出することで、前記負荷統計情報を生成する、負荷統計情報生成手段を有する、請求項乃至いずれか一項に記載の仮想マシン管理装置。
  5. 前記対象仮想マシンが物理マシンにかけた負荷の履歴を示す負荷履歴情報取得する、負荷履歴情報取得手段と、
    前記負荷履歴情報に示されている負荷の履歴から、その負荷の確率分布を算出することで、前記負荷情報を生成する、負荷情報生成手段と、
    前記負荷履歴情報に示されている負荷の履歴の平均及び分散を算出することで、前記負荷統計情報を生成する、負荷統計情報生成手段と、
    を有し、
    前記負荷情報取得手段は、前記負荷情報生成手段によって生成された前記負荷情報を取得し、
    前記負荷統計情報取得手段は、前記負荷統計情報生成手段によって生成された前記負荷統計情報を取得する、
    請求項乃至いずれか一項に記載の仮想マシン管理装置。
  6. 代表的な仮想マシンである代表仮想マシンが物理マシンにかける負荷の平均及び分散を示す代表統計情報を取得する、代表統計値取得手段と、
    前記代表統計情報を用いて、複数の前記代表仮想マシンが前記対象物理マシンにかける負荷の合計が前記対象物理マシンによって許容される負荷を超える確率の上界値を算出し、その上界値に基づいて、前記対象物理マシン上で動作させることができる前記代表仮想マシンの数である予測稼働数を算出する予測稼働数算出手段を有し、
    前記対象仮想マシン数取得手段は、前記予測稼働数算出手段によって算出された予測稼働数を、前記対象仮想マシンの数として取得する、
    請求項1乃至いずれか一項に記載の仮想マシン管理装置。
  7. 複数の対象仮想マシンが前記対象物理マシン上で動作しており、
    前記対象仮想マシンが物理マシンにかける負荷の平均及び分散を示す負荷統計情報を取得する負荷統計情報取得手段と、
    前記複数の対象仮想マシンそれぞれについて、その対象仮想マシンを除く全ての前記複数の対象仮想マシンによって前記対象物理マシンにかかる負荷が前記対象物理マシンによって許容される負荷を超える確率の上界値と、その対象仮想マシンを含む全ての前記複数の対象仮想マシンによって前記対象物理マシンにかかる負荷が前記対象物理マシンによって許容される負荷を超える確率の上界値との違いを示す値を算出し、前記対象物理マシンに対するその対象仮想マシンの影響度とする、影響度算出手段と、
    前記複数の対象仮想マシンのうち、前記影響度が最も大きい対象仮想マシンを、前記対象物理マシンの外部へ移行する候補にする、移行候補決定手段と、
    を有する請求項1乃至いずれか一項に記載の仮想マシン管理装置。
  8. コンピュータに、仮想マシン管理装置として動作する機能を持たせるプログラムであって、前記コンピュータに、
    対象物理マシン上で動作させることができるか否かの判定対象である対象仮想マシンの数を取得する対象仮想マシン数取得機能と、
    前記対象仮想マシンの数に基づいて、複数の判定方式の中から、動作可否判定機能によって実行される前記判定方式を選択する判定方式選択機能と、
    前記判定方式選択機能によって選択された前記判定方式を用いて、前記対象物理マシンが前記対象仮想マシンを動作させられるか否かの判定を行う動作可否判定機能と、
    前記対象仮想マシンが物理マシンにかける負荷の平均及び分散を示す負荷統計情報を取得する負荷統計情報取得機能と、
    を持たせ
    前記複数の判定方式は、
    各前記対象仮想マシンが物理マシンにかける負荷の確率分布を示す負荷情報を取得し、各負荷情報が示す前記確率分布の畳み込みを算出することで、各前記対象仮想マシンが前記物理マシンにかける負荷の合計の確率分布を算出し、算出した確率分布を用いて、前記対象仮想マシンが前記対象物理マシンにかける負荷の合計が前記対象物理マシンによって許容される負荷を超える確率である過負荷率を算出する第1判定方式と、
    各前記対象仮想マシンに関する前記負荷統計情報を用いて、前記過負荷率の上界値を算出する第2判定方式と、
    各前記対象仮想マシンに関する前記負荷統計情報を用いて、各前記対象仮想マシンが前記物理マシンにかける負荷の合計の確率分布を表す正規分布を算出し、算出した正規分布を用いて、前記過負荷率を算出する第3判定方式と、
    のうち、いずれか複数を含み、
    前記複数の判定方式が前記第1判定方式を含む場合、前記コンピュータに、前記負荷情報を取得する負荷情報取得機能を持たせ、
    前記動作可否判定機能は、前記判定方式選択機能によって選択された判定方式を用いて算出した前記過負荷率又は前記過負荷率の上界値に基づいて、前記対象物理マシンが前記対象仮想マシンを動作させられるか否かの判定を行う、プログラム。
  9. コンピュータによって実行される仮想マシン管理方法であって、
    対象物理マシン上で動作させることができるか否かの判定対象である対象仮想マシンの数を取得する対象仮想マシン数取得ステップと、
    前記対象仮想マシンの数に基づいて、複数の判定方式の中から、動作可否判定ステップによって実行される前記判定方式を選択する判定方式選択ステップと、
    前記判定方式選択ステップによって選択された前記判定方式を用いて、前記対象物理マシンが前記対象仮想マシンを動作させられるか否かの判定を行う動作可否判定ステップと、
    前記対象仮想マシンが物理マシンにかける負荷の平均及び分散を示す負荷統計情報を取得する負荷統計情報取得ステップと、
    を有し、
    前記複数の判定方式は、
    各前記対象仮想マシンが物理マシンにかける負荷の確率分布を示す負荷情報を取得し、各負荷情報が示す前記確率分布の畳み込みを算出することで、各前記対象仮想マシンが前記物理マシンにかける負荷の合計の確率分布を算出し、算出した確率分布を用いて、前記対象仮想マシンが前記対象物理マシンにかける負荷の合計が前記対象物理マシンによって許容される負荷を超える確率である過負荷率を算出する第1判定方式と、
    各前記対象仮想マシンに関する前記負荷統計情報を用いて、前記過負荷率の上界値を算出する第2判定方式と、
    各前記対象仮想マシンに関する前記負荷統計情報を用いて、各前記対象仮想マシンが前記物理マシンにかける負荷の合計の確率分布を表す正規分布を算出し、算出した正規分布を用いて、前記過負荷率を算出する第3判定方式と、
    のうち、いずれか複数を含み、
    前記複数の判定方式が前記第1判定方式を含む場合、前記負荷情報を取得する負荷情報取得ステップを有し、
    前記動作可否判定ステップは、前記判定方式選択ステップによって選択された判定方式を用いて算出した前記過負荷率又は前記過負荷率の上界値に基づいて、前記対象物理マシンが前記対象仮想マシンを動作させられるか否かの判定を行う、仮想マシン管理方法。
JP2013147330A 2013-07-16 2013-07-16 仮想マシン管理装置、仮想マシン管理方法、及びプログラム Active JP6163926B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013147330A JP6163926B2 (ja) 2013-07-16 2013-07-16 仮想マシン管理装置、仮想マシン管理方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013147330A JP6163926B2 (ja) 2013-07-16 2013-07-16 仮想マシン管理装置、仮想マシン管理方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2015022322A JP2015022322A (ja) 2015-02-02
JP6163926B2 true JP6163926B2 (ja) 2017-07-19

Family

ID=52486767

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013147330A Active JP6163926B2 (ja) 2013-07-16 2013-07-16 仮想マシン管理装置、仮想マシン管理方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP6163926B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7040319B2 (ja) * 2018-06-26 2022-03-23 富士通株式会社 運用管理装置、移動先推奨方法及び移動先推奨プログラム
CN111190685B (zh) * 2018-11-15 2023-07-21 中国移动通信有限公司研究院 虚拟机数量测试系统、方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
JP2015022322A (ja) 2015-02-02

Similar Documents

Publication Publication Date Title
CN108009016B (zh) 一种资源负载均衡控制方法及集群调度器
CN106133696B (zh) 缩放云资源时动态标识目标容量
US8255906B2 (en) Modeling overhead for a plurality of virtualization technologies in a computer system
US20170255496A1 (en) Method for scheduling data flow task and apparatus
US20120257820A1 (en) Image analysis tools
JP6953800B2 (ja) シミュレーションジョブを実行するためのシステム、コントローラ、方法、及びプログラム
CN108205469B (zh) 一种基于MapReduce的资源分配方法及服务器
JPWO2008102739A1 (ja) 仮想サーバシステム及び物理サーバ選択方法
JP6891611B2 (ja) 管理装置、情報処理システムの制御方法、および管理装置の管理プログラム
JPWO2015001850A1 (ja) タスク割り当て判定装置、制御方法、及びプログラム
JP2021504780A5 (ja)
US20160117199A1 (en) Computing system with thermal mechanism and method of operation thereof
JP6237170B2 (ja) 割当判定装置、制御方法、及びプログラム
JP6163926B2 (ja) 仮想マシン管理装置、仮想マシン管理方法、及びプログラム
JPWO2015146100A1 (ja) 負荷推定システム、情報処理装置、負荷推定方法、及び、コンピュータ・プログラム
CN113158435B (zh) 基于集成学习的复杂系统仿真运行时间预测方法与设备
JP2014164425A (ja) 情報処理装置、リソース制御方法及びプログラム
US20130282337A1 (en) Performance evaluation device and performance evaluation method
JP2015022321A (ja) 仮想マシン管理装置、仮想マシン管理方法、及びプログラム
JP2017091001A (ja) 仮想インスタンス配置位置決定装置、仮想インスタンス配置位置決定方法および仮想インスタンス配置位置決定プログラム
JP2015108877A (ja) 予測時間分布生成装置、制御方法、及びプログラム
von Kistowski et al. Univariate interpolation-based modeling of power and performance
JP6547342B2 (ja) 分散処理制御装置
Tutov Models and methods of resources allocation of infocommunication system in cloud data centers
JP2021105772A (ja) リソース利用量の予測管理システム、リソース利用量の予測管理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160603

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170314

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170328

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170515

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170523

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170605

R150 Certificate of patent or registration of utility model

Ref document number: 6163926

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150