JP2014021847A - リソース管理装置及びリソース管理方法及びプログラム - Google Patents
リソース管理装置及びリソース管理方法及びプログラム Download PDFInfo
- Publication number
- JP2014021847A JP2014021847A JP2012161841A JP2012161841A JP2014021847A JP 2014021847 A JP2014021847 A JP 2014021847A JP 2012161841 A JP2012161841 A JP 2012161841A JP 2012161841 A JP2012161841 A JP 2012161841A JP 2014021847 A JP2014021847 A JP 2014021847A
- Authority
- JP
- Japan
- Prior art keywords
- resource
- computer
- unit
- simulation
- weight coefficient
- 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.)
- Pending
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
【課題】仮想マシンに計算機リソースを割り当てる物理計算機を効率的かつ短時間に選択できるようにする。
【解決手段】VM配置部02がVM配置要求を入力する。VM配置要求は、VMに複数種の計算機リソースを割当てることを要求するコマンドであり、計算機リソースごとに要求リソース量の値が示される。重みテーブル記憶部07は、計算機リソースごとのリソース重み係数を記憶する。計測処理部03は、複数の物理計算機の各々から、計算機リソースごとに、VMに割当て可能な空きリソース量の値を取得する。リソース写像計算部12は、VM配置要求の複数種の計算機リソースの要求リソース量の値を、それぞれ、対応するリソース重み係数を用いて、単一の次元に写像し、更に、物理計算機ごとに、複数種の計算機リソースの空きリソース量の値を、それぞれ、対応するリソース重み係数を用いて、同じ次元に写像する。
【選択図】図1
【解決手段】VM配置部02がVM配置要求を入力する。VM配置要求は、VMに複数種の計算機リソースを割当てることを要求するコマンドであり、計算機リソースごとに要求リソース量の値が示される。重みテーブル記憶部07は、計算機リソースごとのリソース重み係数を記憶する。計測処理部03は、複数の物理計算機の各々から、計算機リソースごとに、VMに割当て可能な空きリソース量の値を取得する。リソース写像計算部12は、VM配置要求の複数種の計算機リソースの要求リソース量の値を、それぞれ、対応するリソース重み係数を用いて、単一の次元に写像し、更に、物理計算機ごとに、複数種の計算機リソースの空きリソース量の値を、それぞれ、対応するリソース重み係数を用いて、同じ次元に写像する。
【選択図】図1
Description
本発明は、仮想計算機(「仮想マシン」又は「VM(Virtual Machine)」ともいう)に計算機リソースを割り当てる技術に関する。
仮想計算機をユーザに提供する際、その仮想計算機を稼働させるためのホストの選定が必要となる。
これは、ユーザが要求する仮想計算機の性能を満たしつつも、仮想計算機の稼働に要するコストを下げることが望まれるからである。
仮想環境では、同一物理計算機上で稼働する仮想計算機の間で、その稼働先の物理計算機の計算機リソースを仮想的リソースとして抽象化し共有する。
これにより、物理計算機の物理的な計算機リソース(以下、「物理リソース」ともいう)を越える量の仮想的リソースを仮想計算機群に割当てることも可能となる。
しかし、仮想計算機が同時に利用可能なリソースは、依然としてこの物理計算機の物理リソースを越えることはできない。
これにより、仮想計算機のリソースを物理リソースより過剰に割当てている場合に物理リソースの同時利用が生じた際、仮想計算機の性能の低下が生じる。
このため、性能を損なわずに仮想計算機を提供できることを保証するために、仮想計算機によるリソースの同時利用が生じても物理リソースが不足とならないように、仮想計算機の配置時に予め調整しておく必要がある。
この調整においては、物理リソースをどのように評価するかが重要となる。
これは、ユーザが要求する仮想計算機の性能を満たしつつも、仮想計算機の稼働に要するコストを下げることが望まれるからである。
仮想環境では、同一物理計算機上で稼働する仮想計算機の間で、その稼働先の物理計算機の計算機リソースを仮想的リソースとして抽象化し共有する。
これにより、物理計算機の物理的な計算機リソース(以下、「物理リソース」ともいう)を越える量の仮想的リソースを仮想計算機群に割当てることも可能となる。
しかし、仮想計算機が同時に利用可能なリソースは、依然としてこの物理計算機の物理リソースを越えることはできない。
これにより、仮想計算機のリソースを物理リソースより過剰に割当てている場合に物理リソースの同時利用が生じた際、仮想計算機の性能の低下が生じる。
このため、性能を損なわずに仮想計算機を提供できることを保証するために、仮想計算機によるリソースの同時利用が生じても物理リソースが不足とならないように、仮想計算機の配置時に予め調整しておく必要がある。
この調整においては、物理リソースをどのように評価するかが重要となる。
また、仮想計算機への物理リソースの割当てに関する技術として、例えば、特許文献1〜3に開示の技術がある。
仮想計算機の配置先の物理計算機を判断するときに、仮想計算機の各種リソースの要求量と、各物理計算機が提供できるリソースの供給量とを比較し、過不足が生じないかを検討することが必要である。
仮想計算機の配置先の判断には、単一計算機の配置先判断と、最適配置判断の二つの手法が存在する。
単一計算機の配置先判断は、新規仮想計算機がどこに適するかを判断するものである。
最適配置先判断は、既存の仮想計算機をどのように配置し直したら最適となるかを判断するものである。
これら二つの配置先判断は適用先が異なるものの、CPU(Central Processing Unit)、メモリ、I/O(Input/Output)デバイスなどの各種リソースをどのように比較検討するかにおいて、まず人手による基準値を定めておく必要があり、また、その基準値の見直しを別途要するなど、配置先の判断の正確性を上げるためには、相応の専門知識を有した高度な技術者が運用全般に渡って対応をしなければならないといった課題を持つ。
加えて、各リソースの優先度や評価単位が異なることから、各リソースを個別に評価しなければならないといった課題も持つ。
仮想計算機の配置先の判断には、単一計算機の配置先判断と、最適配置判断の二つの手法が存在する。
単一計算機の配置先判断は、新規仮想計算機がどこに適するかを判断するものである。
最適配置先判断は、既存の仮想計算機をどのように配置し直したら最適となるかを判断するものである。
これら二つの配置先判断は適用先が異なるものの、CPU(Central Processing Unit)、メモリ、I/O(Input/Output)デバイスなどの各種リソースをどのように比較検討するかにおいて、まず人手による基準値を定めておく必要があり、また、その基準値の見直しを別途要するなど、配置先の判断の正確性を上げるためには、相応の専門知識を有した高度な技術者が運用全般に渡って対応をしなければならないといった課題を持つ。
加えて、各リソースの優先度や評価単位が異なることから、各リソースを個別に評価しなければならないといった課題も持つ。
このように、従来の配置先判断手法では、配置先の厳密性を最重要視し、複雑な演算・評価により自動的な配置先の算出を可能にする。
反面、厳格な配置先判断のための基準値の設定や、基準値の見直しにおいて、その値が妥当か否かを一般の管理者が確認するのが困難であり、かつ、配置先の演算に多大な時間を要していた。
反面、厳格な配置先判断のための基準値の設定や、基準値の見直しにおいて、その値が妥当か否かを一般の管理者が確認するのが困難であり、かつ、配置先の演算に多大な時間を要していた。
本発明は、これらの点に鑑みたものであり、仮想計算機に計算機リソースを割当てる物理計算機を効率的かつ短時間に選択できる仕組みを提供することを主な目的とする。
なお、本明細書において、「仮想計算機の配置先の物理計算機」と、「仮想計算機に計算機リソースを割当てる物理計算機」とは、同じ意味である。
つまり、仮想計算機に計算機リソースを割当てる物理計算機が、当該仮想計算機の配置先の物理計算機となる。
つまり、仮想計算機に計算機リソースを割当てる物理計算機が、当該仮想計算機の配置先の物理計算機となる。
本発明に係るリソース管理装置は、
仮想マシンに複数種の計算機リソースを割当てることを要求するリソース割当要求であって、計算機リソースごとに要求リソース量の値が示されるリソース割当要求を入力するリソース割当要求入力部と、
計算機リソースごとの重み係数であるリソース重み係数を記憶するリソース重み係数記憶部と、
前記複数種の計算機リソースを備える複数の物理計算機の各々から、計算機リソースごとに、前記仮想マシンに割当て可能な空きリソース量の値を取得する物理計算機情報取得部と、
前記リソース割当要求に示される前記複数種の計算機リソースの要求リソース量の値を、それぞれ、対応するリソース重み係数を用いて、単一の次元に写像する要求リソース量写像部と、
物理計算機ごとに、前記複数種の計算機リソースの空きリソース量の値を、それぞれ、対応するリソース重み係数を用いて、前記要求リソース量写像部と同じ次元に写像する空きリソース量写像部とを有することを特徴とする。
仮想マシンに複数種の計算機リソースを割当てることを要求するリソース割当要求であって、計算機リソースごとに要求リソース量の値が示されるリソース割当要求を入力するリソース割当要求入力部と、
計算機リソースごとの重み係数であるリソース重み係数を記憶するリソース重み係数記憶部と、
前記複数種の計算機リソースを備える複数の物理計算機の各々から、計算機リソースごとに、前記仮想マシンに割当て可能な空きリソース量の値を取得する物理計算機情報取得部と、
前記リソース割当要求に示される前記複数種の計算機リソースの要求リソース量の値を、それぞれ、対応するリソース重み係数を用いて、単一の次元に写像する要求リソース量写像部と、
物理計算機ごとに、前記複数種の計算機リソースの空きリソース量の値を、それぞれ、対応するリソース重み係数を用いて、前記要求リソース量写像部と同じ次元に写像する空きリソース量写像部とを有することを特徴とする。
本発明によれば、計算機リソースごとの重み係数を用いて要求リソース量と空きリソース量を単一の次元に写像するため、複数種の計算機リソースについての要求リソース量と各物理計算機の空きリソース量を共通の次元にて一括して評価することができる。
このため、計算機リソース間の優先度の評価のための詳細な基準値の設定や見直しが不要であり、また計算機リソースごとの個別の分析や複雑な演算も不要であり、効率的かつ短時間で物理計算機を選択することができる。
このため、計算機リソース間の優先度の評価のための詳細な基準値の設定や見直しが不要であり、また計算機リソースごとの個別の分析や複雑な演算も不要であり、効率的かつ短時間で物理計算機を選択することができる。
以下の実施の形態1〜4では、各計算機リソースを定量的に評価可能とする機構、ならびに、その定量評価の補正を適時行う機構とを組み合わせ、相互連携させることで、配置先の判断基準の簡素化、ならびに、配置先判断の時間の短縮を図る構成を説明する。
実施の形態1〜4では、仮想マシンに複数種の計算機リソースを割当てることを要求するVM配置要求を受け付け、複数の物理計算機の中から仮想マシンに複数種の計算機リソースを割り当てる物理計算機を選択するリソース管理装置を説明する。
複数種の計算機リソースとは、CPU、メモリ、I/Oデバイス、ネットワークアクセスデバイスといった仮想計算機を実現するために物理計算機が提供するリソースである。
これら複数種の計算機リソースでは、それぞれの評価基準や単位が異なる。
例えば、CPUでは動作周波数が評価基準となり、その単位は例えばGHzであり、メモリでは記憶容量が評価基準となり、その単位は例えばGBである。
このように、計算機リソースごとに、単位や数値の意味が異なる。
例えば、仮想マシンの配置先の候補となる物理計算機が3つ(物理計算機A〜Cとする)ある場合を想定する。
ここで、CPUは物理計算機Aが最も多くの空きリソース量を有しており、メモリは物理計算機Bが最も多くの空きリソース量を有しており、I/Oデバイスは物理計算機Cが最も多くの空きリソース量を有している場合に、どの計算機リソースを優先して評価するかが問題となる。
更に、物理計算機AのCPUの空きリソース量が他の物理計算機に比べてどの程度多いのか(メモリ、I/Oデバイスの空きリソース量はどの程度少ないのか)、物理計算機Bのメモリの空きリソース量が他の物理計算機に比べてどの程度多いのか(CPU、I/Oデバイスの空きリソース量はどの程度少ないのか)、物理計算機CのI/Oデバイスの空きリソース量が他の物理計算機に比べてどの程度多いのか(CPU、メモリの空きリソース量はどの程度少ないのか)についても評価する必要がある。
複数種の計算機リソースとは、CPU、メモリ、I/Oデバイス、ネットワークアクセスデバイスといった仮想計算機を実現するために物理計算機が提供するリソースである。
これら複数種の計算機リソースでは、それぞれの評価基準や単位が異なる。
例えば、CPUでは動作周波数が評価基準となり、その単位は例えばGHzであり、メモリでは記憶容量が評価基準となり、その単位は例えばGBである。
このように、計算機リソースごとに、単位や数値の意味が異なる。
例えば、仮想マシンの配置先の候補となる物理計算機が3つ(物理計算機A〜Cとする)ある場合を想定する。
ここで、CPUは物理計算機Aが最も多くの空きリソース量を有しており、メモリは物理計算機Bが最も多くの空きリソース量を有しており、I/Oデバイスは物理計算機Cが最も多くの空きリソース量を有している場合に、どの計算機リソースを優先して評価するかが問題となる。
更に、物理計算機AのCPUの空きリソース量が他の物理計算機に比べてどの程度多いのか(メモリ、I/Oデバイスの空きリソース量はどの程度少ないのか)、物理計算機Bのメモリの空きリソース量が他の物理計算機に比べてどの程度多いのか(CPU、I/Oデバイスの空きリソース量はどの程度少ないのか)、物理計算機CのI/Oデバイスの空きリソース量が他の物理計算機に比べてどの程度多いのか(CPU、メモリの空きリソース量はどの程度少ないのか)についても評価する必要がある。
従来では、複数種の計算機リソースのうちのどの計算機リソースを優先して評価するかについて詳細な基準値を設定し、計算機リソースごとに個別に、基準値と、仮想計算機の要求リソース量と、各物理計算機の空きリソース量とを照合し、計算機リソースごとの照合結果を総合して技術者が配置先の物理計算機を選択していた。
実施の形態1〜4に係るリソース管理装置では、複数種の計算機リソースについて、計算機リソースごとに重み係数を設け、仮想マシンに要求される要求リソース量と各物理計算機の空きリソース量を重み係数を用いて単一の次元に写像して、複数種の計算機リソースの要求リソース量、空きリソース量を定量評価できるようにする(スカラ値として評価できるようにする)。
このため、複数種の計算機リソースについての要求リソース量と各物理計算機の空きリソース量を共通の次元にて一括して評価することができ、効率的かつ短時間で物理計算機を選択することができる。
実施の形態1〜4に係るリソース管理装置では、複数種の計算機リソースについて、計算機リソースごとに重み係数を設け、仮想マシンに要求される要求リソース量と各物理計算機の空きリソース量を重み係数を用いて単一の次元に写像して、複数種の計算機リソースの要求リソース量、空きリソース量を定量評価できるようにする(スカラ値として評価できるようにする)。
このため、複数種の計算機リソースについての要求リソース量と各物理計算機の空きリソース量を共通の次元にて一括して評価することができ、効率的かつ短時間で物理計算機を選択することができる。
実施の形態1.
図1は、本実施の形態に係るリソース管理装置100の構成例を示す。
リソース管理装置100は、管理部01、VM配置部02、計測処理部03、評価部04からなる。
図1は、本実施の形態に係るリソース管理装置100の構成例を示す。
リソース管理装置100は、管理部01、VM配置部02、計測処理部03、評価部04からなる。
VM配置部02は、VM配置要求を入力する。
VM配置要求は、前述のように、仮想マシンに複数種の計算機リソースを割当てることを要求するコマンドであり、計算機リソースごとに要求リソース量の値が示される。
また、VM配置部02は、管理部01から通知された物理計算機に仮想マシンを配置する。
VM配置要求は、リソース割当要求の例に相当し、VM配置部02は、リソース割当要求入力部の例に相当する。
VM配置要求は、前述のように、仮想マシンに複数種の計算機リソースを割当てることを要求するコマンドであり、計算機リソースごとに要求リソース量の値が示される。
また、VM配置部02は、管理部01から通知された物理計算機に仮想マシンを配置する。
VM配置要求は、リソース割当要求の例に相当し、VM配置部02は、リソース割当要求入力部の例に相当する。
計測処理部03は、VM配置部02がVM配置要求を入力した際に、複数の物理計算機の各々から、計算機リソースごとに、仮想マシンに割当て可能な空きリソース量の値を取得する。
計測処理部03は、物理計算機情報取得部の例に相当する。
計測処理部03は、物理計算機情報取得部の例に相当する。
管理部01は、制御部16、システム情報記憶部05、制御情報記憶部06、重みテーブル記憶部07、計測情報記憶部08、配置情報記憶部09、補正値テーブル記憶部10を有する。
制御部16は、管理部01と、VM配置部02、計測処理部03、評価部04との間のデータ、情報の入出力を制御する。
システム情報記憶部05は、システム情報を記憶している。
システム情報では、各物理計算機、各仮想計算機が備えるリソースの種類、各ソースの性能等が記述されている。
また、システム情報に、物理計算機のコスト(価格)の情報が含まれていてもよい。
システム情報では、各物理計算機、各仮想計算機が備えるリソースの種類、各ソースの性能等が記述されている。
また、システム情報に、物理計算機のコスト(価格)の情報が含まれていてもよい。
制御情報記憶部06は、制御情報を記憶している。
制御情報記憶部06は、実施の形態2で説明する。
制御情報記憶部06は、実施の形態2で説明する。
重みテーブル記憶部07は、重みテーブルを記憶している。
重みテーブルでは、計算機リソースごとのリソース重み係数(単に「重み係数」又は「重み」ともいう)が記述されている。
重みテーブルは、例えば、図6に示すテーブルであり、計算機リソースごとに、重みと、重みタイプが記述されている。
図6では、説明の簡明のため、3種類の計算機リソースのみが含まれる重みテーブルを示している。
また、以降の説明でも、同様に、3種類の計算機リソースを対象として説明を行う。
図6において、MEMとはメモリを意味し、NICは、Network Interface Cardを意味する。
また、図6では、重みタイプとして「乗算」が記述されており、各計算機リソースのリソース量(要求リソース量、空きリソース量)と重み係数とが乗算されることを表している。
なお、重みタイプは、指数演算や対数演算であってもよい。
なお、重みテーブル記憶部07は、リソース重み係数記憶部の例に相当する。
重みテーブルでは、計算機リソースごとのリソース重み係数(単に「重み係数」又は「重み」ともいう)が記述されている。
重みテーブルは、例えば、図6に示すテーブルであり、計算機リソースごとに、重みと、重みタイプが記述されている。
図6では、説明の簡明のため、3種類の計算機リソースのみが含まれる重みテーブルを示している。
また、以降の説明でも、同様に、3種類の計算機リソースを対象として説明を行う。
図6において、MEMとはメモリを意味し、NICは、Network Interface Cardを意味する。
また、図6では、重みタイプとして「乗算」が記述されており、各計算機リソースのリソース量(要求リソース量、空きリソース量)と重み係数とが乗算されることを表している。
なお、重みタイプは、指数演算や対数演算であってもよい。
なお、重みテーブル記憶部07は、リソース重み係数記憶部の例に相当する。
計測情報記憶部08は、計測情報を記憶している。
計測情報では、例えば、計測処理部03が取得した空きリソース量の値が、物理計算機ごとに、計算機リソース単位で記述されている。
計測情報では、例えば、計測処理部03が取得した空きリソース量の値が、物理計算機ごとに、計算機リソース単位で記述されている。
配置情報記憶部09は、配置情報を記憶している。
配置情報では、例えば、どの物理計算機にどの仮想マシンが配置されているかが記述されている。
配置情報では、例えば、どの物理計算機にどの仮想マシンが配置されているかが記述されている。
補正値テーブル記憶部10は、補正値テーブルを記憶している。
補正値テーブルは、例えば、図7及び図8に示すテーブルである。
図7の補正値テーブルでは、物理計算機、仮想計算機ごとに、計算機リソース単位で補正値と補正値タイプが記述されている。
図7の補正値は、図6の重み係数に加重して適用される。
前述のように、配置情報記憶部09の配置情報には仮想計算機が配置されている物理計算機が示されており、後述するリソース写像計算部12は、配置情報を参照し、仮想計算機が配置されている物理計算機に対しては、対応する仮想計算機の補正値を適用して写像を行う。
なお、図7の補正値は、ホスト・リソース重み係数及び仮想マシン・リソース重み係数の例に相当する。
また、図8の補正値テーブルでは、計算機リソースのサブカテゴリーごとに補正値と補正値タイプが記述されている。
サブカテゴリーとは、例えば、型式であり、図8のCPU−A、CPU−B等は、CUPの型式(型名)を表している。
図8の補正値テーブルでは、複数の物理計算機で用いられているCPUの型式ごと、メモリの型式ごと、NICの型式ごとに、補正値と補正値タイプが定義されている。
図8の補正値は、図6の重み係数及び図7の補正値に加重して適用される。
例えば、システム情報記憶部05のシステム情報に物理計算機ごとに各計算機リソースの型名が記述されており、後述するリソース写像計算部12は、システム情報を参照して、物理計算機ごとに対応する型名の補正値を適用して写像を行う。
なお、図8の補正値は、サブカテゴリー重み係数の例に相当する。
また、補正値テーブル記憶部10は、ホスト・リソース重み係数記憶部、仮想マシン・リソース重み係数記憶部、サブカテゴリー重み係数記憶部の例に相当する。
補正値テーブルは、例えば、図7及び図8に示すテーブルである。
図7の補正値テーブルでは、物理計算機、仮想計算機ごとに、計算機リソース単位で補正値と補正値タイプが記述されている。
図7の補正値は、図6の重み係数に加重して適用される。
前述のように、配置情報記憶部09の配置情報には仮想計算機が配置されている物理計算機が示されており、後述するリソース写像計算部12は、配置情報を参照し、仮想計算機が配置されている物理計算機に対しては、対応する仮想計算機の補正値を適用して写像を行う。
なお、図7の補正値は、ホスト・リソース重み係数及び仮想マシン・リソース重み係数の例に相当する。
また、図8の補正値テーブルでは、計算機リソースのサブカテゴリーごとに補正値と補正値タイプが記述されている。
サブカテゴリーとは、例えば、型式であり、図8のCPU−A、CPU−B等は、CUPの型式(型名)を表している。
図8の補正値テーブルでは、複数の物理計算機で用いられているCPUの型式ごと、メモリの型式ごと、NICの型式ごとに、補正値と補正値タイプが定義されている。
図8の補正値は、図6の重み係数及び図7の補正値に加重して適用される。
例えば、システム情報記憶部05のシステム情報に物理計算機ごとに各計算機リソースの型名が記述されており、後述するリソース写像計算部12は、システム情報を参照して、物理計算機ごとに対応する型名の補正値を適用して写像を行う。
なお、図8の補正値は、サブカテゴリー重み係数の例に相当する。
また、補正値テーブル記憶部10は、ホスト・リソース重み係数記憶部、仮想マシン・リソース重み係数記憶部、サブカテゴリー重み係数記憶部の例に相当する。
評価部04は、重み算出部11、リソース写像計算部12、リソース評価部13、静的配置先判断部14を有する。
重み算出部11は、図6で示したリソース重み係数を算出する。
重み算出部11は、重み係数指定部の例に相当する。
重み算出部11は、重み係数指定部の例に相当する。
リソース写像計算部12は、計算機リソースごとに、図6のリソース重み係数を用いて、複数種の計算機リソースの要求リソース量の値を単一の次元に写像する。
また、リソース写像計算部12は、物理計算機ごとに、計算機リソース別に、図6のリソース重み係数を用いて、複数種の計算機リソースの空きリソース量の値を単一の次元に写像する。
このように、リソース写像計算部12は、複数種の計算機リソースの要求リソース量の値と、各物理計算機の複数種の計算機リソースの空きリソース量の値をすべて同じ次元に写像する。
同じ次元に写像したことにより、複数種の計算機リソースの要求リソース量と、複数種の計算機リソースの各物理計算機の空きリソース量を一元的に定量評価することができる(スカラ値として評価することができる)。
リソース写像計算部12は、要求リソース量写像部及び空きリソース量写像部の例に相当する。
また、リソース写像計算部12は、物理計算機ごとに、計算機リソース別に、図6のリソース重み係数を用いて、複数種の計算機リソースの空きリソース量の値を単一の次元に写像する。
このように、リソース写像計算部12は、複数種の計算機リソースの要求リソース量の値と、各物理計算機の複数種の計算機リソースの空きリソース量の値をすべて同じ次元に写像する。
同じ次元に写像したことにより、複数種の計算機リソースの要求リソース量と、複数種の計算機リソースの各物理計算機の空きリソース量を一元的に定量評価することができる(スカラ値として評価することができる)。
リソース写像計算部12は、要求リソース量写像部及び空きリソース量写像部の例に相当する。
リソース評価部13は、物理計算機ごとに、空きリソース量の写像結果を、写像結果の全体を照合の単位にして、要求リソース量の写像結果と照合する。
より具体的には、リソース評価部13は、物理計算機の空きリソース量の写像結果を要素とするベクトルを、要求リソース量の写像結果を要素とするベクトルと照合する。
なお、リソース評価部13は、静的配置先判断部14とともに物理計算機選択部の例に相当する。
より具体的には、リソース評価部13は、物理計算機の空きリソース量の写像結果を要素とするベクトルを、要求リソース量の写像結果を要素とするベクトルと照合する。
なお、リソース評価部13は、静的配置先判断部14とともに物理計算機選択部の例に相当する。
静的配置先判断部14は、リソース評価部13の照合結果に基づき、仮想マシンの配置先の物理計算機を複数の物理計算機の中から選択する。
より具体的には、静的配置先判断部14は、物理計算機の空きリソース量の写像結果を要素とするベクトルをV(X)、要求リソース量の写像結果を要素とするベクトルをV(Y)とした場合に、V(X)−V(Y)の全要素が0以上であり、ノルム|V(X)−V(Y)|が最小の物理計算機を選択する。
静的配置先判断部14は、リソース評価部13とともに物理計算機選択部の例に相当する。
より具体的には、静的配置先判断部14は、物理計算機の空きリソース量の写像結果を要素とするベクトルをV(X)、要求リソース量の写像結果を要素とするベクトルをV(Y)とした場合に、V(X)−V(Y)の全要素が0以上であり、ノルム|V(X)−V(Y)|が最小の物理計算機を選択する。
静的配置先判断部14は、リソース評価部13とともに物理計算機選択部の例に相当する。
図2は、本実施の形態に係るリソース管理装置100の動作例を示すフローチャートである。
利用者は、例えば新規VMの配置が必要になった際に、ステップS001において、必要なVMのリソース量を基に、VM配置部02に対しVM配置要求を入力する。
VM配置要求を入力されたVM配置部02は、ステップS002において、VMの配置先を判断するよう管理部01に要求を行う。
要求を受けた管理部01では、ステップS003において、制御部16が、配置先の判断を評価部04に依頼する。
依頼を受けた評価部04は、ステップS004において、VM配置先を判断し、判断結果を管理部01に返答する。
返答を受けた管理部01では、ステップS005において、制御部16が、その結果をVM配置部02に返答する。
返答を受けたVM配置部02は、ステップS006においてVMの作成、配置を行い、その結果を出力する。
VM配置要求を入力されたVM配置部02は、ステップS002において、VMの配置先を判断するよう管理部01に要求を行う。
要求を受けた管理部01では、ステップS003において、制御部16が、配置先の判断を評価部04に依頼する。
依頼を受けた評価部04は、ステップS004において、VM配置先を判断し、判断結果を管理部01に返答する。
返答を受けた管理部01では、ステップS005において、制御部16が、その結果をVM配置部02に返答する。
返答を受けたVM配置部02は、ステップS006においてVMの作成、配置を行い、その結果を出力する。
図2のS004の詳細を図3〜5に示す。
S004におけるVMの配置先の判断は、重み算出部11(図3)、リソース写像計算部12とリソース評価部13(図4)、静的配置先判断部14(図5)の順に行われる。
S004におけるVMの配置先の判断は、重み算出部11(図3)、リソース写像計算部12とリソース評価部13(図4)、静的配置先判断部14(図5)の順に行われる。
なお、以下において、ある対象Xのリソース群をX={cpu:12、mem:13、...}などのように示すものとする。
対象Xは、物理計算機又は仮想計算機である。
例えば、物理計算機AがCPU:2GHz、メモリ:32GBを仮想計算機に対し割当可能であれば、物理計算機Aのリソース群は{cpu:2、mem:32}となり、仮想計算機BがCPU:1.5GHz、メモリ:4GBを要求リソース量として要求する場合、仮想計算機Bのリソース群は{cpu:1.5、mem:4}となる。
また、対象Xのcpuの値は、r(X,cpu)と示すものとする。
また、重み付けにより丸められた後(リソース写像計算部12による写像後)の対象XのCPUリソースをr’(X,cpu)と示すものとする。
このとき、Xのリソースは、r’(X,n)の値からなるベクトルV(X)として表現される(nは、計算機リソースの各々を表す)。
対象Xは、物理計算機又は仮想計算機である。
例えば、物理計算機AがCPU:2GHz、メモリ:32GBを仮想計算機に対し割当可能であれば、物理計算機Aのリソース群は{cpu:2、mem:32}となり、仮想計算機BがCPU:1.5GHz、メモリ:4GBを要求リソース量として要求する場合、仮想計算機Bのリソース群は{cpu:1.5、mem:4}となる。
また、対象Xのcpuの値は、r(X,cpu)と示すものとする。
また、重み付けにより丸められた後(リソース写像計算部12による写像後)の対象XのCPUリソースをr’(X,cpu)と示すものとする。
このとき、Xのリソースは、r’(X,n)の値からなるベクトルV(X)として表現される(nは、計算機リソースの各々を表す)。
まず、VM配置部02がVM配置要求を入力し、管理部01が評価部04にVM配置先の判断を依頼した際(S003)に、重み算出部11が評価に必要なリソースnごとに、重み係数w(X,n)を算出する(図3)。
つまり、対象Xごとに、リソース単位(CPU、メモリ、NIC等)で、重み係数w(X,n)を算出する。
このとき、対象Xのリソースnの重み付けされた後の値r’は、r’(X,n)=r(X,n)w(X,n)となる。
また、w(X,n)は、wg(n)wl(X,n)にて示される。
wg(n)は、リソースnに共通した重みであり、wl(X,n)は対象X個別のリソースnの重みとなる。
つまり、wg(n)は、図6に示されるリソースnごとの重み係数であり、wl(X,n)は、図7に示される物理計算機ごと、仮想計算機ごとのリソースn単位の補正値である。
ここでは、説明の簡明のため、補正値wl(X,n)は、予め設定されているものとする。
従って、以下では、wg(n)を決定する過程を説明する。
つまり、対象Xごとに、リソース単位(CPU、メモリ、NIC等)で、重み係数w(X,n)を算出する。
このとき、対象Xのリソースnの重み付けされた後の値r’は、r’(X,n)=r(X,n)w(X,n)となる。
また、w(X,n)は、wg(n)wl(X,n)にて示される。
wg(n)は、リソースnに共通した重みであり、wl(X,n)は対象X個別のリソースnの重みとなる。
つまり、wg(n)は、図6に示されるリソースnごとの重み係数であり、wl(X,n)は、図7に示される物理計算機ごと、仮想計算機ごとのリソースn単位の補正値である。
ここでは、説明の簡明のため、補正値wl(X,n)は、予め設定されているものとする。
従って、以下では、wg(n)を決定する過程を説明する。
まず、重み算出部11は、ステップS011において、重みを評価する際の対象群Tと重み評価の対象となるリソース項目Rを決定する。
ここでは、Tが全物理計算機、Rが全物理計算機が保持する全てのリソースとする。
ここでは、Tが全物理計算機、Rが全物理計算機が保持する全てのリソースとする。
次に、重み算出部11は、ステップS012において、T、Rの情報を管理部01のシステム情報記憶部05や計測情報記憶部08、配置情報記憶部09から取得する。
つまり、重み算出部11は、計算機リソースごとに、各物理計算機が保持するリソース量の値を取得する。
つまり、重み算出部11は、計算機リソースごとに、各物理計算機が保持するリソース量の値を取得する。
次に、重み算出部11は、ステップS013において、ステップS014にて重みを演算し、wg(n)の値を決定する。
wg(n)の重み演算の例を図9に示す。
CPUのリソース量はGHz単位、メモリのリソース量はGB単位、NICのリソース量はGbps単位というように計算機リソースの種類ごとに評価基準、単位が異なるが、これらの値を一元的に取り扱うために、図9の算出式からリソースごとの重み係数を算出する。
図9に示すように、重み算出部11は、各計算機リソースの総リソース量(全物理計算機でのリソース量の総和)の総乗を、各計算機リソースの総リソース量で除算した値を、各リソースの重み係数wg(n)とする。
つまり、CPUのリソース量の値(2GHzならば「2」)、メモリのリソース量の値(32GBならば「32」)、NICのリソース量の値(1Gbpsならば「1」)を図9の式に適用して、各リソースの重み係数wg(n)を算出する。
図9の例では、全種類の計算機リソースの物理計算機全体における総リソース量と各計算機リソースの物理計算機全体における総リソース量との比率を表す重み係数wg(n)を算出するようにしているが、他の算出式よりリソース重み係数wg(n)を算出してもよい。
また、ここでは、補正値wl(X,n)の値は予め設定されていることとしたが、wg(n)と同様に、VM配置要求が入力される度に、重み算出部11が、対象Xごとに、リソースn単位で決定するようにしてもよい。
wg(n)の重み演算の例を図9に示す。
CPUのリソース量はGHz単位、メモリのリソース量はGB単位、NICのリソース量はGbps単位というように計算機リソースの種類ごとに評価基準、単位が異なるが、これらの値を一元的に取り扱うために、図9の算出式からリソースごとの重み係数を算出する。
図9に示すように、重み算出部11は、各計算機リソースの総リソース量(全物理計算機でのリソース量の総和)の総乗を、各計算機リソースの総リソース量で除算した値を、各リソースの重み係数wg(n)とする。
つまり、CPUのリソース量の値(2GHzならば「2」)、メモリのリソース量の値(32GBならば「32」)、NICのリソース量の値(1Gbpsならば「1」)を図9の式に適用して、各リソースの重み係数wg(n)を算出する。
図9の例では、全種類の計算機リソースの物理計算機全体における総リソース量と各計算機リソースの物理計算機全体における総リソース量との比率を表す重み係数wg(n)を算出するようにしているが、他の算出式よりリソース重み係数wg(n)を算出してもよい。
また、ここでは、補正値wl(X,n)の値は予め設定されていることとしたが、wg(n)と同様に、VM配置要求が入力される度に、重み算出部11が、対象Xごとに、リソースn単位で決定するようにしてもよい。
最後に、重み算出部11は、ステップS014において、wg(n)の値を重みテーブル記憶部07の重みテーブルに格納する。
図3のフローにて重みが定まった後、その結果を基に、リソース写像計算部12がリソースを正規化し、リソース評価部13が正規化後のリソースの値を用いた解析を行う(図4)。
ステップS021において、リソース写像計算部12は管理部01の計測情報記憶部08から計測結果を取得する。
ここでリソース写像計算部12が計測情報記憶部08から取得する計測結果とは、各物理計算機の計算機リソースごとの空きリソース量である。
前述したように、計測処理部03は、VM配置部02がVM配置要求を入力した際に、各物理計算機の計算機リソースごとの空きリソース量を計測し、計測値(空きリソース量)を計測情報に格納する。
このため、リソース写像計算部12は、各物理計算機の最新の空きリソース量の値を取得することができる。
ここでリソース写像計算部12が計測情報記憶部08から取得する計測結果とは、各物理計算機の計算機リソースごとの空きリソース量である。
前述したように、計測処理部03は、VM配置部02がVM配置要求を入力した際に、各物理計算機の計算機リソースごとの空きリソース量を計測し、計測値(空きリソース量)を計測情報に格納する。
このため、リソース写像計算部12は、各物理計算機の最新の空きリソース量の値を取得することができる。
次に、ステップS022において、リソース写像計算部12は、重みテーブル記憶部07の重みテーブル(図6)からリソース重み係数を取得する。
また、リソース写像計算部12は、補正値テーブル記憶部10の補正値テーブル(図7)から、対象Xごと、リソースnごとに、wl(X,n)を取得する。
また、リソース写像計算部12は、補正値テーブル記憶部10の補正値テーブル(図8)から、サブカテゴリーごとの補正値を取得してもよい。
また、リソース写像計算部12は、補正値テーブル記憶部10の補正値テーブル(図7)から、対象Xごと、リソースnごとに、wl(X,n)を取得する。
また、リソース写像計算部12は、補正値テーブル記憶部10の補正値テーブル(図8)から、サブカテゴリーごとの補正値を取得してもよい。
次に、リソース写像計算部12は、ステップS023にて、対象Xごとに、正規化後の値V(X)を算出する。
具体的には、VM配置要求の対象の仮想計算機については、計算機リソースごとに、VM配置要求に記述された要求リソース量にリソース重み係数wg(n)を適用した演算を行って(図6の例では、乗算を行って)、複数種の計算機リソースの要求リソース量を単一次元に写像する。
また、物理計算機については、計算機リソースごとに、S021において取得された空きリソース量にリソース重み係数wg(n)を適用した演算を行って(図6の例では、乗算を行って)、複数種の計算機リソースの要求リソース量を単一次元に写像する。
また、物理計算機については、リソース重み係数wg(n)とともに、補正値wl(X,n)(図7)を用いた演算を行ってもよい。
例えば、図7に示す物理計算機Aに対しては、S021で取得したCPUの空きリソース量に、wg(n)である「7.0」(図6)とwl(X,n)である「0.9」を乗算して、写像結果を得る。
また、物理計算機Aに仮想計算機Aが配置されている場合には、更に、仮想マシンAのwl(X,n)である「0.5」を掛け合わせる。
このようにして、リソース写像計算部12は、VM配置要求の対象の仮想計算機、各物理計算機に対して、複数種の計算機リソースのリソース量を同じ次元に写像し、仮想計算機、物理計算機ごとに、各リソースの写像結果で構成されるV(X)を得る。
具体的には、VM配置要求の対象の仮想計算機については、計算機リソースごとに、VM配置要求に記述された要求リソース量にリソース重み係数wg(n)を適用した演算を行って(図6の例では、乗算を行って)、複数種の計算機リソースの要求リソース量を単一次元に写像する。
また、物理計算機については、計算機リソースごとに、S021において取得された空きリソース量にリソース重み係数wg(n)を適用した演算を行って(図6の例では、乗算を行って)、複数種の計算機リソースの要求リソース量を単一次元に写像する。
また、物理計算機については、リソース重み係数wg(n)とともに、補正値wl(X,n)(図7)を用いた演算を行ってもよい。
例えば、図7に示す物理計算機Aに対しては、S021で取得したCPUの空きリソース量に、wg(n)である「7.0」(図6)とwl(X,n)である「0.9」を乗算して、写像結果を得る。
また、物理計算機Aに仮想計算機Aが配置されている場合には、更に、仮想マシンAのwl(X,n)である「0.5」を掛け合わせる。
このようにして、リソース写像計算部12は、VM配置要求の対象の仮想計算機、各物理計算機に対して、複数種の計算機リソースのリソース量を同じ次元に写像し、仮想計算機、物理計算機ごとに、各リソースの写像結果で構成されるV(X)を得る。
更に、ステップS023では、リソース評価部13が、V(X)を基に、V(X)のノルム|V(X)|、V(X)と単位ベクトルとの仰角l(V(X))、その他ベクトルV(Y)との差分V(X)−V(Y)を算出する。
最後に、ステップS024にて、リソース評価部13は、S023で得られた、ノルム|V(X)|、仰角l(V(X))、V(X)−V(Y)を、静的配置先判断部14に渡す。
定量的に評価可能な値V(X)が定まった後、その結果を基に、静的配置先判断部14がVMの配置先を判断する(図5)。
まず、ステップS031において、静的配置先判断部14は、X=仮配置先ホスト、Y=配置するVMの時のV(X)−V(Y)の値を仮に配置した場合の値として捉える。
つまり、静的配置先判断部14は、VM配置要求の対象の仮想計算機のベクトルをV(Y)にし、物理計算機ごとに、ベクトルV(X)とベクトルV(Y)との差を求める。
つまり、静的配置先判断部14は、VM配置要求の対象の仮想計算機のベクトルをV(Y)にし、物理計算機ごとに、ベクトルV(X)とベクトルV(Y)との差を求める。
次に、ステップS032にて、静的配置先判断部14は、VMの配置先となる物理計算機を決定する。
このとき、静的配置先判断部14は、V(X)−V(Y)の全要素が0以上でかつ、ノルム|V(X)−V(Y)|が最も小さい値となるX(物理計算機)を配置先として決定する。
つまり、V(X)−V(Y)の全要素が0以上なので、VM配置要求の要求リソース量を満たす空きリソース量を有し、ノルム|V(X)−V(Y)|が最も小さい値なので、VMにリソースを割当てた後に残るリソース量が最も小さい物理計算機が選択される。
なお、上記の条件に合致するX(物理計算機)が複数存在する場合は、静的配置先判断部14は、単位ベクトルとの仰角を示すl(V(X)−V(Y))が最も小さいX(物理計算機)を選択する。
l(V(X)−V(Y))が最も小さいX(物理計算機)をVM配置先にすると、VMにリソースを割り当てた後の物理計算機全体における計算機リソース間の空きリソース量のバランスが最もよいからである。
このとき、静的配置先判断部14は、V(X)−V(Y)の全要素が0以上でかつ、ノルム|V(X)−V(Y)|が最も小さい値となるX(物理計算機)を配置先として決定する。
つまり、V(X)−V(Y)の全要素が0以上なので、VM配置要求の要求リソース量を満たす空きリソース量を有し、ノルム|V(X)−V(Y)|が最も小さい値なので、VMにリソースを割当てた後に残るリソース量が最も小さい物理計算機が選択される。
なお、上記の条件に合致するX(物理計算機)が複数存在する場合は、静的配置先判断部14は、単位ベクトルとの仰角を示すl(V(X)−V(Y))が最も小さいX(物理計算機)を選択する。
l(V(X)−V(Y))が最も小さいX(物理計算機)をVM配置先にすると、VMにリソースを割り当てた後の物理計算機全体における計算機リソース間の空きリソース量のバランスが最もよいからである。
その後、静的配置先判断部14は、S032で決定した物理計算機の識別子を管理部01に返却する。
このように、本実施の形態によれば、リソースを定量評価するための重みを外部から入れることを可能にし、かつ、リソースを一元的に評価することで評価における専門性を除外することを可能にする。
以上、本実施の形態では、管理部、VM配置部、計測処理部、評価部から構成される、VMの配置先を定量的評価し判断するリソース管理装置を説明した。
本実施の形態では、管理部は、各部からの情報管理や各部相互の制御管理を行う。
また、VM配置部は、管理部にVM新規配置、VM再配置の要望を出し、その結果を管理部から取得し、取得後、その結果に沿ってVMの配置を行う。
また、計測処理部は、現在の各種計算機の状態を収集し、管理部に登録する。
また、評価部が、重み算出部、リソース写像計算部、リソース評価部、静的配置先判断部から構成されることを説明した。
重み計算部は、管理部からの情報を元に、各リソース、各計算対象の計算の重みを算出する。
また、リソース写像計算部は、重み計算部の値を元に各種リソースを単一次元に写像する。
また、リソース評価部は、リソース写像計算部の値を元に、複数のリソースを一括し評価する。
更に、静的配置先判断部は、管理部に登録されたVM配置先判断の要求に対し、リソース評価部からの結果を元にVMの配置先を判断する。
本実施の形態では、管理部は、各部からの情報管理や各部相互の制御管理を行う。
また、VM配置部は、管理部にVM新規配置、VM再配置の要望を出し、その結果を管理部から取得し、取得後、その結果に沿ってVMの配置を行う。
また、計測処理部は、現在の各種計算機の状態を収集し、管理部に登録する。
また、評価部が、重み算出部、リソース写像計算部、リソース評価部、静的配置先判断部から構成されることを説明した。
重み計算部は、管理部からの情報を元に、各リソース、各計算対象の計算の重みを算出する。
また、リソース写像計算部は、重み計算部の値を元に各種リソースを単一次元に写像する。
また、リソース評価部は、リソース写像計算部の値を元に、複数のリソースを一括し評価する。
更に、静的配置先判断部は、管理部に登録されたVM配置先判断の要求に対し、リソース評価部からの結果を元にVMの配置先を判断する。
なお、以上では、図7の補正値及び図8の補正値を適用して空きリソース量を正規化(単一次元への写像)する例を説明したが、図7の補正値及び図8の補正値を適用せずに、図6の重み係数のみを用いて空きリソース量を正規化してもよい。
また、以上では、静的配置先判断部14が、ベクトルV(X)とベクトルV(Y)の関係から、VM配置先の物理計算機を選択していたが、オペレータにVM配置先の物理計算機を選択させてもよい。
例えば、静的配置先判断部14は、V(X)−V(Y)の全要素が0以上のX(物理計算機)を、ノルム|V(X)−V(Y)|が小さい順に複数リストアップし、オペレータに提示し、オペレータは、提示された複数の物理計算機の中から最適な物理計算機を選択するようにする。
また、例えば、静的配置先判断部14は、各物理計算機のベクトルV(X)と仮想計算機のベクトルV(Y)の位置関係を表すグラフを生成し、生成したグラフを表示装置に出力し、オペレータは、グラフを参照して、最適なVM配置先の物理計算機を選択するようにする。
例えば、静的配置先判断部14は、V(X)−V(Y)の全要素が0以上のX(物理計算機)を、ノルム|V(X)−V(Y)|が小さい順に複数リストアップし、オペレータに提示し、オペレータは、提示された複数の物理計算機の中から最適な物理計算機を選択するようにする。
また、例えば、静的配置先判断部14は、各物理計算機のベクトルV(X)と仮想計算機のベクトルV(Y)の位置関係を表すグラフを生成し、生成したグラフを表示装置に出力し、オペレータは、グラフを参照して、最適なVM配置先の物理計算機を選択するようにする。
実施の形態2.
本実施の形態では、VM配置部02によるVM配置要求の入力とは非同期に、重み算出部11がリソース重み係数を算出する例を説明する。
管理部01は、その他の部からのイベントを受け付け、受け付けたイベントを制御情報記憶部06に登録し、その他の部は、管理部01へイベントを登録した後は、管理部01から返答が来るまで待機する。
本実施の形態では、VM配置部02によるVM配置要求の入力とは非同期に、重み算出部11がリソース重み係数を算出する例を説明する。
管理部01は、その他の部からのイベントを受け付け、受け付けたイベントを制御情報記憶部06に登録し、その他の部は、管理部01へイベントを登録した後は、管理部01から返答が来るまで待機する。
図10は、本実施の形態におけるイベント駆動によるVM配置先判断の動作の流れを示す。
利用者は、新規VMの配置が必要になった際に、実施の形態1と同様に、VM配置部02に対してVM配置要求を行う。
VM配置要求を入力したVM配置部02は、ステップS041において管理部01の制御情報記憶部06に配置先の判断イベントを登録する。
イベント登録を受けた管理部01では、制御部16が、ステップS042において、配置先の判断を静的配置先判断部14に依頼するため、静的配置先判断部14を駆動させる。
静的配置先判断部14は、ステップS043において、配置先の判断に必要な情報を取得するようリソース評価部13に指示する。
要求を受けたリソース評価部13は、ステップS044でリソース写像計算部12に物理計算機、仮想計算機のV(X)の値の算出を要求する。
リソース写像計算部12は、ステップS045及びS046において、実施の形態1と同様の手順で、管理部01からリソース重み係数や計測値(各物理計算機の空きリソース量)、補正値を取得し、物理計算機、仮想計算機のV(X)の値を算出し、V(X)の値をリソース評価部13に返す。
リソース評価部13は、S047においてリソース写像計算部12からV(X)の値を取得し、実施の形態1と同様の演算を行い、その結果をステップS048において静的配置先判断部14に返す。
情報を受け取った静的配置先判断部14は、実施の形態1と同様に配置先の判断を行い、ステップS049において、その結果をイベント結果として管理部01に返答する。
返答を受けた管理部01では、制御部16が、ステップS050において、静的配置先判断部14の結果をVM配置部02に返答し、その結果を受けたVM配置部02は、結果に従いVMの配置を行う。
VM配置要求を入力したVM配置部02は、ステップS041において管理部01の制御情報記憶部06に配置先の判断イベントを登録する。
イベント登録を受けた管理部01では、制御部16が、ステップS042において、配置先の判断を静的配置先判断部14に依頼するため、静的配置先判断部14を駆動させる。
静的配置先判断部14は、ステップS043において、配置先の判断に必要な情報を取得するようリソース評価部13に指示する。
要求を受けたリソース評価部13は、ステップS044でリソース写像計算部12に物理計算機、仮想計算機のV(X)の値の算出を要求する。
リソース写像計算部12は、ステップS045及びS046において、実施の形態1と同様の手順で、管理部01からリソース重み係数や計測値(各物理計算機の空きリソース量)、補正値を取得し、物理計算機、仮想計算機のV(X)の値を算出し、V(X)の値をリソース評価部13に返す。
リソース評価部13は、S047においてリソース写像計算部12からV(X)の値を取得し、実施の形態1と同様の演算を行い、その結果をステップS048において静的配置先判断部14に返す。
情報を受け取った静的配置先判断部14は、実施の形態1と同様に配置先の判断を行い、ステップS049において、その結果をイベント結果として管理部01に返答する。
返答を受けた管理部01では、制御部16が、ステップS050において、静的配置先判断部14の結果をVM配置部02に返答し、その結果を受けたVM配置部02は、結果に従いVMの配置を行う。
また、上記のVM配置要求からの処理の流れとは別に、重み算出部11では適時重みの再評価を行う(図11)。
重み算出部11は、まず、リソース管理装置100が駆動した際に、環境変化が生じた場合に重み再評価を行うよう、管理部01の制御情報記憶部06にイベント登録を行う。
なお、上記の環境変化とは、計測処理部03による計測結果に変化が生じた場合などを示す。
例えば、新たな物理計算機が追加された場合や、既存の物理計算機に新たな計算機リソースが追加された場合のように、いずれかの計算機リソースのリソース量に変化が生じた場合に、計測処理部03による計測結果に変化が生じる。
なお、上記の環境変化とは、計測処理部03による計測結果に変化が生じた場合などを示す。
例えば、新たな物理計算機が追加された場合や、既存の物理計算機に新たな計算機リソースが追加された場合のように、いずれかの計算機リソースのリソース量に変化が生じた場合に、計測処理部03による計測結果に変化が生じる。
イベントが発生し、重み算出部11が起動された際、まずステップS051において、管理部01に対し重みテーブルのロックを依頼する。
これは重みテーブルが外部から改竄・参照されることを防ぐためである。
次に、実施の形態1と同様に、ステップS011からS014を行い、重みを保存しなおす。
その後、重み算出部11は、ステップS052において、管理部01に対し重みテーブルのロック解除を依頼する。
ロックの解除後に、重み算出部11は、ステップS053において、最初に行ったイベント登録と同様に、環境変化が生じ場合に重み再評価が行えるよう、管理部01に対しイベントを登録する。
これは重みテーブルが外部から改竄・参照されることを防ぐためである。
次に、実施の形態1と同様に、ステップS011からS014を行い、重みを保存しなおす。
その後、重み算出部11は、ステップS052において、管理部01に対し重みテーブルのロック解除を依頼する。
ロックの解除後に、重み算出部11は、ステップS053において、最初に行ったイベント登録と同様に、環境変化が生じ場合に重み再評価が行えるよう、管理部01に対しイベントを登録する。
このように、本実施の形態によれば、重み算出部11による重みの算出を、VM配置先の判断と並行に行えるようにすることで、VM配置先の判断に要する時間を短縮することができる。
以上、本実施の形態では、管理部は、制御情報記憶部を有し、その他の部からのイベントを受け付け、受け付けたイベントを制御情報記憶部に登録し、その他の部は、管理部へイベントを登録した後は、管理部から返答が来るまで待機することを説明した。
また、管理部は、イベントが登録された後、登録されたイベントを基に依頼先を判断し、依頼先にイベントの解決を依頼する。
また、イベント解決を依頼されたその他の部は、適時その対応を行い、その結果を管理部にイベント解決として返信し、イベント解決が行えなかった場合は、その旨を管理部に返信する。
また、管理部は、イベント解決の結果をイベント登録元に返信し、イベント登録元を起床させる。
また、管理部は、イベントが登録された後、登録されたイベントを基に依頼先を判断し、依頼先にイベントの解決を依頼する。
また、イベント解決を依頼されたその他の部は、適時その対応を行い、その結果を管理部にイベント解決として返信し、イベント解決が行えなかった場合は、その旨を管理部に返信する。
また、管理部は、イベント解決の結果をイベント登録元に返信し、イベント登録元を起床させる。
また、本実施の形態では、自律型の重み付け算出部を説明した。
つまり、重み算出部が、事前に、環境が変更された場合に呼び起こすよう管理部にイベント登録を行い、管理部から起こされた場合に、重みテーブルを一旦ロックし、重みの再評価を行う。
また、重みの再評価後、重み算出部は、重みテーブルを更新し、ロックを解除し、その後、管理部にイベントの再登録を行う。
つまり、重み算出部が、事前に、環境が変更された場合に呼び起こすよう管理部にイベント登録を行い、管理部から起こされた場合に、重みテーブルを一旦ロックし、重みの再評価を行う。
また、重みの再評価後、重み算出部は、重みテーブルを更新し、ロックを解除し、その後、管理部にイベントの再登録を行う。
実施の形態3.
本実施の形態では、リソース管理装置100がシミュレーションを行い、シミュレーションの結果に基づき、重み係数、補正値の更新を行う例を説明する。
本実施の形態では、リソース管理装置100がシミュレーションを行い、シミュレーションの結果に基づき、重み係数、補正値の更新を行う例を説明する。
図12は、本実施の形態に係るリソース管理装置100の構成例を示す。
図12において、動的配置先判断部15は、複数の物理計算機における現在の計算機リソースの状態を前提にして、新たなVM配置要求が入力されたと仮定して、管理部01、VM配置部02、計測処理部03、重み算出部11、リソース写像計算部12、リソース評価部13、静的配置先判断部14の動作のシミュレーションを行う。
動的配置先判断部15は、各パターンで異なるリソース重み係数や補正値(図7の補正値)を用いて、シミュレーションをn(nは2以上の整数)パターン行い、nパターンのシミュレーションに対応させて、複数の物理計算機における計算機リソースの状態が変動したn個の模擬状況を生成する。
更に、動的配置先判断部15は、生成したn個の模擬状況を前提にして更にシミュレーションを行い、シミュレーションの度に、シミュレーションのパターン数分の模擬状況を生成し、生成した模擬状況を前提にして更にシミュレーションを行うという動作を所定回数繰り返す。
また、動的配置先判断部15は、シミュレーション結果に基づき、新たなリソース重み係数を計算機リソースごとに決定し、また、新たな補正値を、物理計算機、仮想計算機ごとに、計算機リソース単位で決定する。
より具体的には、動的配置先判断部15は、所定回数のシミュレーションを行った後の各模擬状況の内容に基づき、前記nパターンのシミュレーションの中から特定のシミュレーションを選択し、選択したシミュレーションで用いられたリソース重み係数、補正値を新たなリソース重み係数、補正値とする。
なお、動的配置先判断部15は、シミュレーション実行部及び重み係数更新部の例に相当する。
動的配置先判断部15は、各パターンで異なるリソース重み係数や補正値(図7の補正値)を用いて、シミュレーションをn(nは2以上の整数)パターン行い、nパターンのシミュレーションに対応させて、複数の物理計算機における計算機リソースの状態が変動したn個の模擬状況を生成する。
更に、動的配置先判断部15は、生成したn個の模擬状況を前提にして更にシミュレーションを行い、シミュレーションの度に、シミュレーションのパターン数分の模擬状況を生成し、生成した模擬状況を前提にして更にシミュレーションを行うという動作を所定回数繰り返す。
また、動的配置先判断部15は、シミュレーション結果に基づき、新たなリソース重み係数を計算機リソースごとに決定し、また、新たな補正値を、物理計算機、仮想計算機ごとに、計算機リソース単位で決定する。
より具体的には、動的配置先判断部15は、所定回数のシミュレーションを行った後の各模擬状況の内容に基づき、前記nパターンのシミュレーションの中から特定のシミュレーションを選択し、選択したシミュレーションで用いられたリソース重み係数、補正値を新たなリソース重み係数、補正値とする。
なお、動的配置先判断部15は、シミュレーション実行部及び重み係数更新部の例に相当する。
また、図12において、動的配置先判断部15以外の要素は、図1に示したものと同様であるため、説明を省略する。
動的配置先判断部15の処理例を図13に示す。
動的配置先判断部15は、重み(CPU重み等)及び補正値(物理計算機ごと、仮想計算機ごとの補正値)を変化させつつ、VM配置先のシミュレーションを複数実施し、その結果を基に適切な重みや補正値を管理部01に格納する。
動的配置先判断部15は、管理部01によって適時駆動するよう登録されているものとする。
駆動後、動的配置先判断部15は、まずステップS061においてシミュレーションの実施内容を決定する。
ここで示す実施内容とは、新規VM追加、既存VMリソース変化、部分再配置などを示し、その対象やリソース量を、システム情報記憶部05や計測情報記憶部08、配置情報記憶部09からの情報を基に予測する。
シミュレーションは図14のように、世代として管理され、動的配置先判断部15は、所定の世代分の実施内容を決定する。
図14において、各ノードは世代を表す。
Gen0は、複数の物理計算機の現在の計算機リソースの状態に相当する。
Gen1は、シミュレーション結果を表す。
つまり、Gen1は、現在の計算機リソースの状態からの変動状況を模擬しており、例えばVM配置要求が入力され、いずれかの物理計算機にVMが配置され、この結果、複数の物理計算機における計算機リソースの割当て状態が変動した状況を模擬している。
同様に、Gen2は、Gen1の計算機リソースの状態からの変動状況を模擬しており、例えば更なるVM配置要求が入力され、いずれかの物理計算機にVMが配置され、この結果、複数の物理計算機における計算機リソースの割当て状態が変動した状況を模擬している。
Gen3以降についても、同様である。
各世代で模擬されている、計算機リソースの状態が変動した後の状況を模擬状況という。
動的配置先判断部15は、管理部01によって適時駆動するよう登録されているものとする。
駆動後、動的配置先判断部15は、まずステップS061においてシミュレーションの実施内容を決定する。
ここで示す実施内容とは、新規VM追加、既存VMリソース変化、部分再配置などを示し、その対象やリソース量を、システム情報記憶部05や計測情報記憶部08、配置情報記憶部09からの情報を基に予測する。
シミュレーションは図14のように、世代として管理され、動的配置先判断部15は、所定の世代分の実施内容を決定する。
図14において、各ノードは世代を表す。
Gen0は、複数の物理計算機の現在の計算機リソースの状態に相当する。
Gen1は、シミュレーション結果を表す。
つまり、Gen1は、現在の計算機リソースの状態からの変動状況を模擬しており、例えばVM配置要求が入力され、いずれかの物理計算機にVMが配置され、この結果、複数の物理計算機における計算機リソースの割当て状態が変動した状況を模擬している。
同様に、Gen2は、Gen1の計算機リソースの状態からの変動状況を模擬しており、例えば更なるVM配置要求が入力され、いずれかの物理計算機にVMが配置され、この結果、複数の物理計算機における計算機リソースの割当て状態が変動した状況を模擬している。
Gen3以降についても、同様である。
各世代で模擬されている、計算機リソースの状態が変動した後の状況を模擬状況という。
次に、動的配置先判断部15は、ステップS062において重み及び補正値の揺らぎ幅と、次に揺らぎが生じるまでの世代数、揺らがせるパターン数を決定する。
「重み及び補正値の揺らぎ幅」とは、重み及び補正値を変更させる変更タイミング(世代)においてシミュレーションに用いる重み及び補正値をどのように変更させるかを意味する。
揺らぎ幅は、各変更タイミングで異なっていてもよい。
「次に揺らぎが生じるまでの世代数」とは、重み及び補正値の変更タイミングを意味しており、何世代ごとに重み及び補正値を変化させるかを意味する。
重みごと、補正値ごとに世代数が異なっていてもよい。
「揺らがせるパターン数」とは、異なる重み及び補正値を用いるシミュレーションの数である。
「次に揺らぎが生じるまでの世代数」を2、「揺らがせるパターン数」を2とした場合の世代と重み及び補正値の変化例を図15に示す。
図15では、ハッチングのある世代において、重み及び補正値が前の世代から変化しているものとする。
つまり、「次に揺らぎが生じるまでの世代数」が2なので、Gen0→Gen1、Gen2→Gen3、Gen4→Gen5、Gen6→Gen7のそれぞれのシミュレーションで重み及び補正値を変化させている。
また、図15では、ハッチングのある世代において2つの系統に分岐している。
つまり、「揺らがせるパターン数」が2なので、重み及び補正値が変化しているGen0→Gen1、Gen2→Gen3、Gen4→Gen5、Gen6→Gen7でそれぞれ2つの系統に分岐している。
Gen0→Gen1、Gen2→Gen3、Gen4→Gen5、Gen6→Gen7のそれぞれでは、2つのシミュレーション間で、シミュレーション内容自体は共通しているが、適用する重み及び補正値が相違している。
他の世代においても同様である。
「重み及び補正値の揺らぎ幅」とは、重み及び補正値を変更させる変更タイミング(世代)においてシミュレーションに用いる重み及び補正値をどのように変更させるかを意味する。
揺らぎ幅は、各変更タイミングで異なっていてもよい。
「次に揺らぎが生じるまでの世代数」とは、重み及び補正値の変更タイミングを意味しており、何世代ごとに重み及び補正値を変化させるかを意味する。
重みごと、補正値ごとに世代数が異なっていてもよい。
「揺らがせるパターン数」とは、異なる重み及び補正値を用いるシミュレーションの数である。
「次に揺らぎが生じるまでの世代数」を2、「揺らがせるパターン数」を2とした場合の世代と重み及び補正値の変化例を図15に示す。
図15では、ハッチングのある世代において、重み及び補正値が前の世代から変化しているものとする。
つまり、「次に揺らぎが生じるまでの世代数」が2なので、Gen0→Gen1、Gen2→Gen3、Gen4→Gen5、Gen6→Gen7のそれぞれのシミュレーションで重み及び補正値を変化させている。
また、図15では、ハッチングのある世代において2つの系統に分岐している。
つまり、「揺らがせるパターン数」が2なので、重み及び補正値が変化しているGen0→Gen1、Gen2→Gen3、Gen4→Gen5、Gen6→Gen7でそれぞれ2つの系統に分岐している。
Gen0→Gen1、Gen2→Gen3、Gen4→Gen5、Gen6→Gen7のそれぞれでは、2つのシミュレーション間で、シミュレーション内容自体は共通しているが、適用する重み及び補正値が相違している。
他の世代においても同様である。
その後、動的配置先判断部15は、ステップS063にて、S061、S062で定めた値を基に全てのシミュレーションを実施する。
なお、VMの配置先の選択には最適配置解を用いるものとする。
なお、VMの配置先の選択には最適配置解を用いるものとする。
所定世代分の全てのシミュレーションを実施した後、動的配置先判断部15は、最後に、ステップS064において、第1世代毎にグループを区切り(図16)、最終世代の模擬状況におけるリソース余りの平均値が最も良好な値を示したグループの第1世代の重み及び補正値(図16では、例えばA)を新たな重み及び新たな補正値として、管理部01の重みテーブル及び補正値テーブルに登録する。
つまり、動的配置先判断部15は、図16に示すように、第1世代の分岐により、各ノードのグループ分けを行う(図16の破線のようにグループ分けを行う)。
また、動的配置先判断部15は、グループごとに、第7世代の8つの模擬状況の各々におけるリソース余り量を導出する。
リソース余り量とは、例えば、VMが配置されていない物理計算機の台数や、各計算機リソースの空きリソース量である。
次に、動的配置先判断部15は、グループごとに、第7世代の8つの模擬状況におけるリソース余り量の平均値を求める。
また、動的配置先判断部15は、2つのグループのリソース余り量の平均値を比較し、平均値が低いグループの第1世代のシミュレーション結果(図16では、A)を選択し、選択したシミュレーション結果における重み及び補正値を新たな重み及び新たな補正値として選択する。
つまり、動的配置先判断部15は、図16に示すように、第1世代の分岐により、各ノードのグループ分けを行う(図16の破線のようにグループ分けを行う)。
また、動的配置先判断部15は、グループごとに、第7世代の8つの模擬状況の各々におけるリソース余り量を導出する。
リソース余り量とは、例えば、VMが配置されていない物理計算機の台数や、各計算機リソースの空きリソース量である。
次に、動的配置先判断部15は、グループごとに、第7世代の8つの模擬状況におけるリソース余り量の平均値を求める。
また、動的配置先判断部15は、2つのグループのリソース余り量の平均値を比較し、平均値が低いグループの第1世代のシミュレーション結果(図16では、A)を選択し、選択したシミュレーション結果における重み及び補正値を新たな重み及び新たな補正値として選択する。
本実施の形態では、重みテーブル記憶部07の重みテーブルは、例えば、図17のようになる。
本実施の形態に係る重みテーブルは、図17に示すように、計算機リソースごとに設けられる。
各重みテーブルにおいて、シミュレーション履歴の欄には、シミュレーションの実施回数、すなわち、図13のS061〜S064の手順を実施した回数が記される。
つまり、最初にシミュレーション(図13のS061〜S064)を実施した際に選択されたCPU重みは「7.0」であり、2回目にシミュレーション(図13のS061〜S064)を実施した際に選択されたCPU重みは「8.0」であり、3回目にシミュレーション(図13のS061〜S064)を実施した際に選択されたCPU重みは「8.5」である。
このように、本実施の形態では、重みテーブル記憶部07は、計算機リソースごとに、シミュレーションで決定した重み係数を時系列に記録している。
また、本実施の形態では、補正値テーブル記憶部10の補正値テーブルは、例えば、図18のようになる。
本実施の形態に係る補正値テーブルは、図18に示すように、物理計算機ごと、仮想計算機ごとに設けられる。
そして、各補正値テーブルでは、シミュレーションの実施回数ごとに、計算機リソース単位で補正値が示される、
このように、本実施の形態では、補正値テーブル記憶部10は、シミュレーションで決定した補正値を時系列に記録している。
本実施の形態に係る重みテーブルは、図17に示すように、計算機リソースごとに設けられる。
各重みテーブルにおいて、シミュレーション履歴の欄には、シミュレーションの実施回数、すなわち、図13のS061〜S064の手順を実施した回数が記される。
つまり、最初にシミュレーション(図13のS061〜S064)を実施した際に選択されたCPU重みは「7.0」であり、2回目にシミュレーション(図13のS061〜S064)を実施した際に選択されたCPU重みは「8.0」であり、3回目にシミュレーション(図13のS061〜S064)を実施した際に選択されたCPU重みは「8.5」である。
このように、本実施の形態では、重みテーブル記憶部07は、計算機リソースごとに、シミュレーションで決定した重み係数を時系列に記録している。
また、本実施の形態では、補正値テーブル記憶部10の補正値テーブルは、例えば、図18のようになる。
本実施の形態に係る補正値テーブルは、図18に示すように、物理計算機ごと、仮想計算機ごとに設けられる。
そして、各補正値テーブルでは、シミュレーションの実施回数ごとに、計算機リソース単位で補正値が示される、
このように、本実施の形態では、補正値テーブル記憶部10は、シミュレーションで決定した補正値を時系列に記録している。
また、VM配置部02が実際にVM配置要求を入力した場合は、リソース写像計算部12は、図17の重みテーブル内の最新の重み係数、図18の補正値テーブル内の最新の補正値を用いて、V(X)を求める。
このため、本実施の形態では、実施の形態1で示した重み算出部11による重み算出手順(図3)は省略される。
このため、本実施の形態では、実施の形態1で示した重み算出部11による重み算出手順(図3)は省略される。
このように、本実施の形態によれば、重み付けを自動的に予測することで重みの補正を行い、配置先の正確性を向上させることができる。
以上、本実施の形態では、評価部内に動的配置先判断部を有するリソース管理装置を説明した。
動的配置先判断部は、静的配置先判断部とは別に、仮にVM配置先判断が要求された場合を想定し、VMの配置先のシミュレーションを行い、また、その結果を元に、重みの補正値を管理部に返す。
そして、シミュレーションは、重みに揺らぎを持たせつつ、新規VM配置、VM部分再配置、VMリソース変更などを実施し行う。
動的配置先判断部は、静的配置先判断部とは別に、仮にVM配置先判断が要求された場合を想定し、VMの配置先のシミュレーションを行い、また、その結果を元に、重みの補正値を管理部に返す。
そして、シミュレーションは、重みに揺らぎを持たせつつ、新規VM配置、VM部分再配置、VMリソース変更などを実施し行う。
なお、上記では、図13のS063において、重み及び補正値の両方を変化させながらシミュレーションを行うこととしたが、重みのみ又は補正値のみを変化させながらシミュレーションを行うようにしてもよい。
また、補正値を変化させる場合は、全ての物理計算機、仮想計算機で補正値を変更する必要はなく、特定の物理計算機又は仮想計算機の補正値のみを変化させながらシミュレーションを行うようにしてもよい。
また、補正値を変化させる場合は、全ての物理計算機、仮想計算機で補正値を変更する必要はなく、特定の物理計算機又は仮想計算機の補正値のみを変化させながらシミュレーションを行うようにしてもよい。
また、上記では、重みテーブル記憶部07は図17に示すように、重み係数の更新の履歴が示される重みテーブルを記憶し、補正値テーブル記憶部10は図18に示すように、補正値の更新の履歴が示される補正値テーブルを記憶していることとした。
これに代えて、重みテーブル記憶部07は最新の重み係数のみが示される重みテーブルを記憶していてもよいし、補正値テーブル記憶部10は最新の補正値のみが示される補正値テーブルを記憶していてもよい。
この場合は、重みテーブル記憶部07は図6と同様の重みテーブルを保持し、補正値テーブル記憶部10は図7と同様の補正値テーブルを保持することになる。
これに代えて、重みテーブル記憶部07は最新の重み係数のみが示される重みテーブルを記憶していてもよいし、補正値テーブル記憶部10は最新の補正値のみが示される補正値テーブルを記憶していてもよい。
この場合は、重みテーブル記憶部07は図6と同様の重みテーブルを保持し、補正値テーブル記憶部10は図7と同様の補正値テーブルを保持することになる。
実施の形態4.
本実施の形態では、動的配置先判断部15が状況変化への追従機能を有する。
本実施の形態では、動的配置先判断部15が状況変化への追従機能を有する。
実施の形態3では、動的配置先判断部15はシミュレーション内容を予め定めた後、シミュレーションを実施する。
シミュレーションの計算量が膨大な場合、このシミュレーションが完了するまでに長時間を要し、場合によってはシミュレーション中に、実環境において何世代もの変化が発生し、シミュレーション内容と、算出後の状態とが合致しなくなるおそれがある。
そのためシミュレーション中であっても、実際の環境の変化に追従する機能が必要となる。
シミュレーションの計算量が膨大な場合、このシミュレーションが完了するまでに長時間を要し、場合によってはシミュレーション中に、実環境において何世代もの変化が発生し、シミュレーション内容と、算出後の状態とが合致しなくなるおそれがある。
そのためシミュレーション中であっても、実際の環境の変化に追従する機能が必要となる。
本実施の形態では、動的配置先判断部15は、実施の形態3で示した手順でシミュレーションを行うとともに、模擬状況(シミュレーション結果)と現在の計算機リソースの状態との類似度合を判定し、現在の計算機リソースの状態に類似している模擬状況に評価値を設定する。
評価値の設定の仕方としては、現在の計算機リソースの状態に類似している模擬状況に、当該模擬状況に先行する模擬状況の評価値に所定値を加算した評価値を設定する。
また、動的配置先判断部15は、所定回数のシミュレーションを行った後の最終世代における各模擬状況の内容と各模擬状況に設定されている評価値とに基づき、第1世代のシミュレーションの中から特定のシミュレーションを選択し、選択したシミュレーションで用いられたリソース重み係数(補正値)を新たなリソース重み係数(補正値)とする。
評価値の設定の仕方としては、現在の計算機リソースの状態に類似している模擬状況に、当該模擬状況に先行する模擬状況の評価値に所定値を加算した評価値を設定する。
また、動的配置先判断部15は、所定回数のシミュレーションを行った後の最終世代における各模擬状況の内容と各模擬状況に設定されている評価値とに基づき、第1世代のシミュレーションの中から特定のシミュレーションを選択し、選択したシミュレーションで用いられたリソース重み係数(補正値)を新たなリソース重み係数(補正値)とする。
本実施の形態に係る動的配置先判断部15の動作例を図19に示す。
実施の形態3では、深さ優先、幅優先の両方でシミュレーションの実施が可能であったが、本実施の形態では幅優先でのシミュレーションを前提とする。
実施の形態3では、深さ優先、幅優先の両方でシミュレーションの実施が可能であったが、本実施の形態では幅優先でのシミュレーションを前提とする。
まず、ステップS071において、動的配置先判断部15は、最初の世代(Gen0)における複数の物理計算機における計算機リソースの状態を取得する。
この最初の世代の状態とは、現在の数の物理計算機における計算機リソースの状態である。
動的配置先判断部15は、例えば、計測処理部03から、計算機リソースごとに空きリソース量を取得したり、各物理計算機に配置されている仮想計算機の情報を取得する。
なお、この最初の状態を状態ランク0とする。
この最初の世代の状態とは、現在の数の物理計算機における計算機リソースの状態である。
動的配置先判断部15は、例えば、計測処理部03から、計算機リソースごとに空きリソース量を取得したり、各物理計算機に配置されている仮想計算機の情報を取得する。
なお、この最初の状態を状態ランク0とする。
その後、所定の世代数分まで、ステップS072〜S077を反復する。
つまり、ステップS072においては、動的配置先判断部15は、次の世代に対する重みの揺らぎを決定する。
この時、どのように揺らぎを行うかは、適時管理部01の情報を基に算出する。
なお、必ずしも揺らぎを生じさせる必要は無い。
次に、ステップS073において次の世代にて実施するシミュレーション内容を決定する。
実施の形態3同様に、管理部01の情報を基にシミュレーションの実施内容を予測し決定する。
その後、ステップS074において動的配置先判断部15は、ステップS072にて判断したパターン数分、現在の世代の情報を分岐させる。
分岐後に、ステップS075において、各分岐先にてシミュレーションを実施する。
この時、どのように揺らぎを行うかは、適時管理部01の情報を基に算出する。
なお、必ずしも揺らぎを生じさせる必要は無い。
次に、ステップS073において次の世代にて実施するシミュレーション内容を決定する。
実施の形態3同様に、管理部01の情報を基にシミュレーションの実施内容を予測し決定する。
その後、ステップS074において動的配置先判断部15は、ステップS072にて判断したパターン数分、現在の世代の情報を分岐させる。
分岐後に、ステップS075において、各分岐先にてシミュレーションを実施する。
次に、動的配置先判断部15は、シミュレーション実施後の配置状態(模擬状況)と実際の環境(実際の環境の変化の履歴も含む)とを比較し、シミュレーション実施後の配置状態(模擬状況)が実際の環境に類似する場合に、ステップS076において、該当する模擬状況の状態ランク(評価値)を上げる。
本実施の形態では、管理部01は、VMの追加やリソースの変更などの履歴を保存する。
これにより、動的配置先判断部15は、シミュレーション実施後の模擬状況と、実際の環境の変化の履歴との比較が可能である。
S072〜S076は、世代ごとに行われる。
つまり、動的配置先判断部15は、シミュレーション結果を基に、更にシミュレーションを行い、世代を更新し(S077)、反復を繰り返す。
本実施の形態では、管理部01は、VMの追加やリソースの変更などの履歴を保存する。
これにより、動的配置先判断部15は、シミュレーション実施後の模擬状況と、実際の環境の変化の履歴との比較が可能である。
S072〜S076は、世代ごとに行われる。
つまり、動的配置先判断部15は、シミュレーション結果を基に、更にシミュレーションを行い、世代を更新し(S077)、反復を繰り返す。
世代と状態ランクの変化例を図20及び図21に示す。
図20(a)のS081は、図19のS071相当となる。
図20(b)のS082は、第1世代についてS075までを実施した後のノードの分岐状況及び各ノードの状態ランクを示す。
ここでは2パターン分岐を行っている。
図20(c)のS083は、第1世代についてS076を実施した後を示す。
Gen1の下側のノード(ハッチング)の模擬状況が現在のリソースの状態と類似するため、動的配置先判断部15は、Gen1の下側のノードの状態ランクを上げている。
図20(d)のS084は、S077において第2世代に更新した後を示す。
図20(e)のS085は、第2世代についてS076を実施した後を示す。
ハッチングのあるノードの模擬状況が現在のリソースの状態と類似するため、動的配置先判断部15は、これらのノードの状態ランクを上げている。
図21(f)のS086は、S077において第3世代に更新した後を示す。
図21(g)のS087は、第3世代についてS076を実施した後を示す。
ハッチングのあるノードの模擬状況が現在のリソースの状態と類似するため、動的配置先判断部15は、これらのノードの状態ランクを上げている。
図20(b)のS082は、第1世代についてS075までを実施した後のノードの分岐状況及び各ノードの状態ランクを示す。
ここでは2パターン分岐を行っている。
図20(c)のS083は、第1世代についてS076を実施した後を示す。
Gen1の下側のノード(ハッチング)の模擬状況が現在のリソースの状態と類似するため、動的配置先判断部15は、Gen1の下側のノードの状態ランクを上げている。
図20(d)のS084は、S077において第2世代に更新した後を示す。
図20(e)のS085は、第2世代についてS076を実施した後を示す。
ハッチングのあるノードの模擬状況が現在のリソースの状態と類似するため、動的配置先判断部15は、これらのノードの状態ランクを上げている。
図21(f)のS086は、S077において第3世代に更新した後を示す。
図21(g)のS087は、第3世代についてS076を実施した後を示す。
ハッチングのあるノードの模擬状況が現在のリソースの状態と類似するため、動的配置先判断部15は、これらのノードの状態ランクを上げている。
所定世代分シミュレーションが完了した後(S078)、動的配置先判断部15は、ステップS079において、実施の形態3のステップS064と同様に、重みテーブル及び補正値テーブルにシミュレーション結果を反映させる。
動的配置先判断部15は、実施の形態3と同様に、各ノードをグループに区分するとともに、グループごとに最終世代における余りリソース量の平均値を求めるが、このとき、最終世代の各ノードの状態ランクに従い、各ノードのリソースの余り量に重みをつけ、その重みがついた余りリソース量の値をもとにグループの平均値を求める。
重みのつけ方としては、状態ランクが高いほど、リソースの余り量を低くすることが考えられる。
リソースの余り量を低くする方法は、リソース余り量から状態ランクの値を減算する方法であってもよいし、ソース余り量を状態ランクの値で除算する方法であってもよいし、その他数式により写像する方法でもよい。
動的配置先判断部15は、実施の形態3と同様に、各ノードをグループに区分するとともに、グループごとに最終世代における余りリソース量の平均値を求めるが、このとき、最終世代の各ノードの状態ランクに従い、各ノードのリソースの余り量に重みをつけ、その重みがついた余りリソース量の値をもとにグループの平均値を求める。
重みのつけ方としては、状態ランクが高いほど、リソースの余り量を低くすることが考えられる。
リソースの余り量を低くする方法は、リソース余り量から状態ランクの値を減算する方法であってもよいし、ソース余り量を状態ランクの値で除算する方法であってもよいし、その他数式により写像する方法でもよい。
このように、本実施の形態では、重み付け予測に対し適時現状を反映させることで、重み付け予測の再計算を不要とし、予測に要する時間を短縮することができる。
以上、本実施の形態では、動的重み反映機能を有するリソース管理装置を説明した。
管理部は、VMの追加やリソースの変更などの履歴を保存する。
また、動的配置先判断部は、シミュレーション実施中、全ての状態にランクを与える。
更に、動的配置先判断部は、適時シミュレーション中の世代の状態と管理部の履歴とを比較し、各世代が現実と合致する場合ランクを上げ、シミュレーションを実施する。
また、動的配置先判断部は、シミュレーションの結果を重み補正に反映させる際に、ランクをその比較に反映させる。
管理部は、VMの追加やリソースの変更などの履歴を保存する。
また、動的配置先判断部は、シミュレーション実施中、全ての状態にランクを与える。
更に、動的配置先判断部は、適時シミュレーション中の世代の状態と管理部の履歴とを比較し、各世代が現実と合致する場合ランクを上げ、シミュレーションを実施する。
また、動的配置先判断部は、シミュレーションの結果を重み補正に反映させる際に、ランクをその比較に反映させる。
以上、実施の形態1〜4を説明したが、これらの実施の形態のうち、2つ以上を組み合わせて実施しても構わない。
あるいは、これらの実施の形態のうち、1つを部分的に実施しても構わない。
あるいは、これらの実施の形態のうち、2つ以上を部分的に組み合わせて実施しても構わない。
なお、本発明は、これらの実施の形態に限定されるものではなく、必要に応じて種々の変更が可能である。
あるいは、これらの実施の形態のうち、1つを部分的に実施しても構わない。
あるいは、これらの実施の形態のうち、2つ以上を部分的に組み合わせて実施しても構わない。
なお、本発明は、これらの実施の形態に限定されるものではなく、必要に応じて種々の変更が可能である。
最後に、実施の形態1〜4に示したリソース管理装置100のハードウェア構成例について説明する。
図22は、実施の形態1〜4に示すリソース管理装置100のハードウェア資源の一例を示す図である。
なお、図22の構成は、あくまでもリソース管理装置100のハードウェア構成の一例を示すものであり、リソース管理装置100のハードウェア構成は図22に記載の構成に限らず、他の構成であってもよい。
図22は、実施の形態1〜4に示すリソース管理装置100のハードウェア資源の一例を示す図である。
なお、図22の構成は、あくまでもリソース管理装置100のハードウェア構成の一例を示すものであり、リソース管理装置100のハードウェア構成は図22に記載の構成に限らず、他の構成であってもよい。
図22において、リソース管理装置100は、プログラムを実行するCPU911(Central Processing Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう)を備えている。
CPU911は、バス912を介して、例えば、ROM(Read Only Memory)913、RAM(Random Access Memory)914、通信ボード915、表示装置901、キーボード902、マウス903、磁気ディスク装置920と接続され、これらのハードウェアデバイスを制御する。
更に、CPU911は、FDD904(Flexible Disk Drive)、コンパクトディスク装置905(CDD)、プリンタ装置906、スキャナ装置907と接続していてもよい。
また、磁気ディスク装置920の代わりに、SSD(Solid State Drive)、光ディスク装置、メモリカード(登録商標)読み書き装置などの記憶装置でもよい。
RAM914は、揮発性メモリの一例である。ROM913、FDD904、CDD905、磁気ディスク装置920の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置の一例である。
実施の形態1〜4で説明した「〜記憶部」は、RAM914、磁気ディスク装置920等により実現される。
通信ボード915、キーボード902、マウス903、スキャナ装置907などは、入力装置の一例である。
また、通信ボード915、表示装置901、プリンタ装置906などは、出力装置の一例である。
CPU911は、バス912を介して、例えば、ROM(Read Only Memory)913、RAM(Random Access Memory)914、通信ボード915、表示装置901、キーボード902、マウス903、磁気ディスク装置920と接続され、これらのハードウェアデバイスを制御する。
更に、CPU911は、FDD904(Flexible Disk Drive)、コンパクトディスク装置905(CDD)、プリンタ装置906、スキャナ装置907と接続していてもよい。
また、磁気ディスク装置920の代わりに、SSD(Solid State Drive)、光ディスク装置、メモリカード(登録商標)読み書き装置などの記憶装置でもよい。
RAM914は、揮発性メモリの一例である。ROM913、FDD904、CDD905、磁気ディスク装置920の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置の一例である。
実施の形態1〜4で説明した「〜記憶部」は、RAM914、磁気ディスク装置920等により実現される。
通信ボード915、キーボード902、マウス903、スキャナ装置907などは、入力装置の一例である。
また、通信ボード915、表示装置901、プリンタ装置906などは、出力装置の一例である。
通信ボード915は、ネットワークに接続されている。
例えば、通信ボード915は、LAN(ローカルエリアネットワーク)、インターネット、WAN(ワイドエリアネットワーク)、SAN(ストレージエリアネットワーク)などに接続されている。
例えば、通信ボード915は、LAN(ローカルエリアネットワーク)、インターネット、WAN(ワイドエリアネットワーク)、SAN(ストレージエリアネットワーク)などに接続されている。
磁気ディスク装置920には、オペレーティングシステム921(OS)、ウィンドウシステム922、プログラム群923、ファイル群924が記憶されている。
プログラム群923のプログラムは、CPU911がオペレーティングシステム921、ウィンドウシステム922を利用しながら実行する。
プログラム群923のプログラムは、CPU911がオペレーティングシステム921、ウィンドウシステム922を利用しながら実行する。
また、RAM914には、CPU911に実行させるオペレーティングシステム921のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。
また、RAM914には、CPU911による処理に必要な各種データが格納される。
また、RAM914には、CPU911による処理に必要な各種データが格納される。
また、ROM913には、BIOS(Basic Input Output System)プログラムが格納され、磁気ディスク装置920にはブートプログラムが格納されている。
リソース管理装置100の起動時には、ROM913のBIOSプログラム及び磁気ディスク装置920のブートプログラムが実行され、BIOSプログラム及びブートプログラムによりオペレーティングシステム921が起動される。
リソース管理装置100の起動時には、ROM913のBIOSプログラム及び磁気ディスク装置920のブートプログラムが実行され、BIOSプログラム及びブートプログラムによりオペレーティングシステム921が起動される。
上記プログラム群923には、実施の形態1〜4の説明において「〜部」(「〜記憶部」以外、以下同様)として説明している機能を実行するプログラムが記憶されている。
プログラムは、CPU911により読み出され実行される。
プログラムは、CPU911により読み出され実行される。
ファイル群924には、実施の形態1〜4の説明において、「〜の判断」、「〜の算出」、「〜の照合」、「〜の取得」、「〜の比較」、「〜の写像」、「〜の更新」、「〜の設定」、「〜の登録」、「〜の選択」、「〜の決定」、「〜の正規化」、「〜のシミュレーション」、「〜の模擬」、「〜の生成」、「〜の入力」、「〜の出力」等として説明している処理の結果を示す情報やデータや信号値や変数値が、ディスクやメモリなどの記憶媒体にファイルとして記憶されている。
また、暗号鍵・復号鍵や乱数値やパラメータが、ディスクやメモリなどの記憶媒体にファイルとして記憶されてもよい。
「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記憶媒体に記憶される。
ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出される。
そして、読み出された情報やデータや信号値や変数値やパラメータは、抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示などのCPUの動作に用いられる。
抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示のCPUの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリ、レジスタ、キャッシュメモリ、バッファメモリ等に一時的に記憶される。
また、実施の形態1〜4で説明しているフローチャートの矢印の部分は主としてデータや信号の入出力を示す。
データや信号値は、RAM914のメモリ、FDD904のフレキシブルディスク、CDD905のコンパクトディスク、磁気ディスク装置920の磁気ディスク、その他光ディスク、ブルーレイ(登録商標)ディスク、DVD等の記憶媒体に記録される。
また、データや信号は、バス912や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
また、暗号鍵・復号鍵や乱数値やパラメータが、ディスクやメモリなどの記憶媒体にファイルとして記憶されてもよい。
「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記憶媒体に記憶される。
ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出される。
そして、読み出された情報やデータや信号値や変数値やパラメータは、抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示などのCPUの動作に用いられる。
抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示のCPUの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリ、レジスタ、キャッシュメモリ、バッファメモリ等に一時的に記憶される。
また、実施の形態1〜4で説明しているフローチャートの矢印の部分は主としてデータや信号の入出力を示す。
データや信号値は、RAM914のメモリ、FDD904のフレキシブルディスク、CDD905のコンパクトディスク、磁気ディスク装置920の磁気ディスク、その他光ディスク、ブルーレイ(登録商標)ディスク、DVD等の記憶媒体に記録される。
また、データや信号は、バス912や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
また、実施の形態1〜4の説明において「〜部」として説明しているものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。
すなわち、実施の形態1〜4で説明したフローチャートに示すステップ、手順、処理により、本発明に係る「リソース管理方法」を実現することができる。
また、「〜部」として説明しているものは、ROM913に記憶されたファームウェアで実現されていても構わない。
或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。
ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ(登録商標)ディスク、DVD等の記憶媒体に記憶される。
プログラムはCPU911により読み出され、CPU911により実行される。
すなわち、プログラムは、実施の形態1〜4の「〜部」としてコンピュータを機能させるものである。あるいは、実施の形態1〜4の「〜部」の手順や方法をコンピュータに実行させるものである。
すなわち、実施の形態1〜4で説明したフローチャートに示すステップ、手順、処理により、本発明に係る「リソース管理方法」を実現することができる。
また、「〜部」として説明しているものは、ROM913に記憶されたファームウェアで実現されていても構わない。
或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。
ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ(登録商標)ディスク、DVD等の記憶媒体に記憶される。
プログラムはCPU911により読み出され、CPU911により実行される。
すなわち、プログラムは、実施の形態1〜4の「〜部」としてコンピュータを機能させるものである。あるいは、実施の形態1〜4の「〜部」の手順や方法をコンピュータに実行させるものである。
このように、実施の形態1〜4に示すリソース管理装置100は、処理装置たるCPU、記憶装置たるメモリ、磁気ディスク等、入力装置たるキーボード、マウス、通信ボード等、出力装置たる表示装置、通信ボード等を備えるコンピュータである。
そして、上記したように「〜部」として示された機能をこれら処理装置、記憶装置、入力装置、出力装置を用いて実現するものである。
そして、上記したように「〜部」として示された機能をこれら処理装置、記憶装置、入力装置、出力装置を用いて実現するものである。
01 管理部、02 VM配置部、03 計測処理部、04 評価部、05 システム情報記憶部、06 制御情報記憶部、07 重みテーブル記憶部、08 計測情報記憶部、09 配置情報記憶部、10 補正値テーブル記憶部、11 重み算出部、12 リソース写像計算部、13 リソース評価部、14 静的配置先判断部、15 動的配置先判断部、16 制御部、100 リソース管理装置。
Claims (20)
- 仮想マシンに複数種の計算機リソースを割当てることを要求するリソース割当要求であって、計算機リソースごとに要求リソース量の値が示されるリソース割当要求を入力するリソース割当要求入力部と、
計算機リソースごとの重み係数であるリソース重み係数を記憶するリソース重み係数記憶部と、
前記複数種の計算機リソースを備える複数の物理計算機の各々から、計算機リソースごとに、前記仮想マシンに割当て可能な空きリソース量の値を取得する物理計算機情報取得部と、
前記リソース割当要求に示される前記複数種の計算機リソースの要求リソース量の値を、それぞれ、対応するリソース重み係数を用いて、単一の次元に写像する要求リソース量写像部と、
物理計算機ごとに、前記複数種の計算機リソースの空きリソース量の値を、それぞれ、対応するリソース重み係数を用いて、前記要求リソース量写像部と同じ次元に写像する空きリソース量写像部とを有することを特徴とするリソース管理装置。 - 前記リソース管理装置は、更に、
物理計算機ごとに、前記空きリソース量写像部による物理計算機の空きリソース量の写像結果を、写像結果の全体を照合の単位にして、前記要求リソース量写像部による要求リソース量の写像結果と照合して、前記仮想マシンに前記複数種の計算機リソースを割当てる物理計算機を前記複数の物理計算機の中から選択する物理計算機選択部とを有することを特徴とする請求項1に記載のリソース管理装置。 - 前記物理計算機選択部は、
物理計算機ごとに、物理計算機の空きリソース量の写像結果を要素とするベクトルV(X)を、要求リソース量の写像結果を要素とするベクトルV(Y)と照合して、前記仮想マシンに前記複数種の計算機リソースを割当てる物理計算機を選択することを特徴とする請求項2に記載のリソース管理装置。 - 前記物理計算機選択部は、
V(X)−V(Y)の全要素が0以上であり、ノルム|V(X)−V(Y)|が最小の物理計算機を選択することを特徴とする請求項3に記載のリソース管理装置。 - 前記物理計算機選択部は、
V(X)−V(Y)の全要素が0以上であり、ノルム|V(X)−V(Y)|が最小の物理計算機が2以上ある場合に、
V(X)−V(Y)と単位ベクトルとの仰角が最小の物理計算機を選択することを特徴とする請求項4に記載のリソース管理装置。 - 前記リソース管理装置は、更に、
物理計算機ごとの、計算機リソース別の重み係数であるホスト・リソース重み係数を記憶するホスト・リソース重み係数記憶部を有し、
前記空きリソース量写像部は、
物理計算機ごとに、前記複数種の計算機リソースの空きリソース量の値を、それぞれ、対応するリソース重み係数とホスト・リソース重み係数とを用いて、前記要求リソース量写像部と同じ次元に写像することを特徴とする請求項1〜5のいずれかに記載のリソース管理装置。 - 前記リソース管理装置は、更に、
いずれかの物理計算機に配置されている仮想マシンについての、計算機リソース別の重み係数である仮想マシン・リソース重み係数を記憶する仮想マシン・リソース重み係数記憶部を有し、
前記空きリソース量写像部は、
いずれかの物理計算機に既に仮想マシンが配置されている場合は、当該物理計算機に既に配置されている仮想マシンの仮想マシン・リソース重み係数を、リソース重み係数とともに用いて、当該物理計算機の前記複数種の計算機リソースの空きリソース量の値を、それぞれ、前記要求リソース量写像部と同じ次元に写像することを特徴とする請求項1〜6のいずれかに記載のリソース管理装置。 - 前記複数種の計算機リソースのうちのいずれかの計算機リソースは、サブカテゴリーに分類され、
前記リソース管理装置は、更に、
サブカテゴリーを有する計算機リソースについて、サブカテゴリーごとの重み係数であるサブカテゴリー重み係数を記憶するサブカテゴリー重み係数記憶部を有し、
前記空きリソース量写像部は、
物理計算機が備える計算機リソースに対応するサブカテゴリー重み係数を、リソース重みとともに用いて、当該計算機リソースの空きリソース量の値を前記要求リソース量写像部と同じ次元に写像することを特徴とする請求項1〜7のいずれかに記載のリソース管理装置。 - 前記リソース管理装置は、更に、
前記複数の物理計算機における現在の計算機リソースの状態を前提にして、新たなリソース割当要求が入力されたと仮定して、前記リソース割当要求入力部、前記物理計算機情報取得部、前記要求リソース量写像部、前記空きリソース量写像部の動作のシミュレーションを行うシミュレーション実行部と、
前記シミュレーション実行部のシミュレーション結果に基づき、新たなリソース重み係数を計算機リソースごとに決定する重み係数更新部とを有し、
前記リソース重み係数記憶部は、
前記重み係数更新部により決定された、計算機リソースごとの新たなリソース重み係数を記憶することを特徴とする請求項1〜8のいずれかに記載のリソース管理装置。 - 前記シミュレーション実行部は、
各パターンで異なるリソース重み係数を用いて、前記リソース割当要求入力部、前記物理計算機情報取得部、前記要求リソース量写像部、前記空きリソース量写像部の動作のシミュレーションをn(nは2以上の整数)パターン行い、
前記重み係数更新部は、
前記シミュレーション実行部のシミュレーション結果に基づき、前記nパターンのシミュレーションの中から特定のシミュレーションを選択し、
選択したシミュレーションで用いられたリソース重み係数を、新たなリソース重み係数とすることを特徴とする請求項9に記載のリソース管理装置。 - 前記シミュレーション実行部は、
前記nパターンのシミュレーションに対応させて、前記複数の物理計算機における計算機リソースの状態が変動したn個の模擬状況を生成し、
生成したn個の模擬状況を前提にして更にシミュレーションを行い、
シミュレーションの度に、シミュレーションのパターン数分の模擬状況を生成し、生成した模擬状況を前提にして更にシミュレーションを行うという動作を所定回数繰り返し、
前記重み係数更新部は、
前記シミュレーション実行部が前記所定回数のシミュレーションを行った後の各模擬状況の内容に基づき、前記nパターンのシミュレーションの中から特定のシミュレーションを選択することを特徴とする請求項10に記載のリソース管理装置。 - 前記シミュレーション実行部は、
前記nパターンのシミュレーションに対応させて、前記複数の物理計算機における計算機リソースの状態が変動したn個の模擬状況を生成し、
模擬状況ごとに現在の計算機リソースの状態との類似度合を判定し、現在の計算機リソースの状態に類似している模擬状況に評価値を設定し、
生成したn個の模擬状況を前提にして更にシミュレーションを行い、
シミュレーションの度に、シミュレーションのパターン数分の模擬状況を生成し、模擬状況ごとに現在の計算機リソースの状態との類似度合を判定し、現在の計算機リソースの状態に類似している模擬状況に、当該模擬状況に先行する模擬状況の評価値に所定値を加算した評価値を設定し、生成した模擬状況を前提にして更にシミュレーションを行うという動作を所定回数繰り返し、
前記重み係数更新部は、
前記シミュレーション実行部が前記所定回数のシミュレーションを行った後の各模擬状況の内容と各模擬状況に設定されている評価値とに基づき、前記nパターンのシミュレーションの中から特定のシミュレーションを選択することを特徴とする請求項10又は11に記載のリソース管理装置。 - 前記リソース管理装置は、更に、
物理計算機ごとの、計算機リソース別の重み係数であるホスト・リソース重み係数を記憶するホスト・リソース重み係数記憶部を有し、
前記空きリソース量写像部は、
物理計算機ごとに、前記物理計算機情報取得部により取得された前記複数種の計算機リソースの空きリソース量の値を、それぞれ、対応するリソース重み係数とホスト・リソース重み係数とを用いて、前記要求リソース量写像部と同じ次元に写像し、
前記重み係数更新部は、
前記シミュレーション実行部のシミュレーション結果に基づき、新たなホスト・リソース重み係数を物理計算機ごとに計算機リソース別に決定することを特徴とする請求項9〜12のいずれかに記載のリソース管理装置。 - 前記シミュレーション実行部は、
各パターンで異なるホスト・リソース重み係数を用いて、前記リソース割当要求入力部、前記物理計算機情報取得部、前記要求リソース量写像部、前記空きリソース量写像部の動作のシミュレーションをn(nは2以上の整数)パターン行い、
前記重み係数更新部は、
前記シミュレーション実行部のシミュレーション結果に基づき、前記nパターンのシミュレーションの中から特定のシミュレーションを選択し、
選択したシミュレーションで用いられたホスト・リソース重み係数を、新たなホスト・リソース重み係数とすることを特徴とする請求項13に記載のリソース管理装置。 - 前記リソース管理装置は、更に、
前記複数の物理計算機における前記複数種の計算機リソースのリソース量と、前記複数の物理計算機における各計算機リソースのリソース量との比率に基づいて、計算機リソースごとにリソース重み係数を指定するリソース重み係数指定部を有し、
前記リソース重み係数記憶部は、
前記リソース重み係数指定部により指定された、計算機リソースごとのリソース重み係数を記憶することを特徴とする請求項1〜14のいずれかに記載のリソース管理装置。 - 前記リソース重み係数指定部は、
前記リソース割当要求入力部がリソース割当要求を入力した時点で、前記複数の物理計算機における前記複数種の計算機リソースのリソース量と、前記複数の物理計算機における各計算機リソースのリソース量との比率に基づいて、計算機リソースごとにリソース重み係数を指定し、
前記要求リソース量写像部は、
前記リソース割当要求入力部がリソース割当要求を入力した時点で前記リソース重み係数指定部が指定したリソース重み係数を用いて、前記複数種の計算機リソースの要求リソース量の値を、それぞれ、単一の次元に写像し、
前記空きリソース量写像部は、
前記リソース割当要求入力部がリソース割当要求を入力した時点で前記リソース重み係数指定部が指定したリソース重み係数を用いて、物理計算機ごとに、前記複数種の計算機リソースの空きリソース量の値を、それぞれ、前記要求リソース量写像部と同じ次元に写像することを特徴とする請求項15に記載のリソース管理装置。 - 前記リソース重み係数指定部は、
前記リソース割当要求入力部によるリソース割当要求の入力とは非同期に、計算機リソースごとにリソース重み係数を指定することを特徴とする請求項15に記載のリソース管理装置。 - 前記リソース重み係数指定部は、
少なくともいずれかの計算機リソースの状態に変化が生じた際に、計算機リソースごとにリソース重み係数を指定することを特徴とする請求項17に記載のリソース管理装置。 - 仮想マシンに複数種の計算機リソースを割当てることを要求するリソース割当要求であって、計算機リソースごとに要求リソース量の値が示されるリソース割当要求を、コンピュータが入力するリソース割当要求入力ステップと、
前記コンピュータが、計算機リソースごとの重み係数であるリソース重み係数を記憶するリソース重み係数記憶領域から、計算機リソースごとにリソース重み係数を読み出すリソース重み係数読み出しステップと、
前記コンピュータが、前記複数種の計算機リソースを備える複数の物理計算機の各々から、計算機リソースごとに、前記仮想マシンに割当て可能な空きリソース量の値を取得する物理計算機情報取得ステップと、
前記コンピュータが、前記リソース割当要求に示される前記複数種の計算機リソースの要求リソース量の値を、それぞれ、対応するリソース重み係数を用いて、単一の次元に写像する要求リソース量写像ステップと、
前記コンピュータが、物理計算機ごとに、前記複数種の計算機リソースの空きリソース量の値を、それぞれ、対応するリソース重み係数を用いて、前記要求リソース量写像ステップと同じ次元に写像する空きリソース量写像ステップとを有することを特徴とするリソース管理方法。 - 仮想マシンに複数種の計算機リソースを割当てることを要求するリソース割当要求であって、計算機リソースごとに要求リソース量の値が示されるリソース割当要求を入力するリソース割当要求入力ステップと、
計算機リソースごとの重み係数であるリソース重み係数を記憶するリソース重み係数記憶領域から、計算機リソースごとにリソース重み係数を読み出すリソース重み係数読み出しステップと、
前記複数種の計算機リソースを備える複数の物理計算機の各々から、計算機リソースごとに、前記仮想マシンに割当て可能な空きリソース量の値を取得する物理計算機情報取得ステップと、
前記リソース割当要求に示される前記複数種の計算機リソースの要求リソース量の値を、それぞれ、対応するリソース重み係数を用いて、単一の次元に写像する要求リソース量写像ステップと、
物理計算機ごとに、前記複数種の計算機リソースの空きリソース量の値を、それぞれ、対応するリソース重み係数を用いて、前記要求リソース量写像ステップと同じ次元に写像する空きリソース量写像ステップとをコンピュータに実行させることを特徴とするプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012161841A JP2014021847A (ja) | 2012-07-20 | 2012-07-20 | リソース管理装置及びリソース管理方法及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012161841A JP2014021847A (ja) | 2012-07-20 | 2012-07-20 | リソース管理装置及びリソース管理方法及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2014021847A true JP2014021847A (ja) | 2014-02-03 |
Family
ID=50196623
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012161841A Pending JP2014021847A (ja) | 2012-07-20 | 2012-07-20 | リソース管理装置及びリソース管理方法及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2014021847A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190123030A (ko) * | 2018-04-23 | 2019-10-31 | 한국과학기술원 | 시스템의 다중 성능 최적화를 위한 효율적인 파레토 집합 선택 방법 |
JP2020052730A (ja) * | 2018-09-27 | 2020-04-02 | 株式会社日立製作所 | Hci環境でのvm/コンテナおよびボリューム配置決定方法及びストレージシステム |
CN111324424A (zh) * | 2020-04-15 | 2020-06-23 | 中国联合网络通信集团有限公司 | 一种虚拟机部署方法、装置、服务器及存储介质 |
JP2021149299A (ja) * | 2020-03-17 | 2021-09-27 | 株式会社日立製作所 | 計算機システム |
JP2021526274A (ja) * | 2018-06-15 | 2021-09-30 | ホアウェイ・テクノロジーズ・カンパニー・リミテッド | 仮想マシンを管理する方法、装置、およびシステム |
-
2012
- 2012-07-20 JP JP2012161841A patent/JP2014021847A/ja active Pending
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102105032B1 (ko) * | 2018-04-23 | 2020-04-27 | 한국과학기술원 | 시스템의 다중 성능 최적화를 위한 효율적인 파레토 집합 선택 방법 |
KR20190123030A (ko) * | 2018-04-23 | 2019-10-31 | 한국과학기술원 | 시스템의 다중 성능 최적화를 위한 효율적인 파레토 집합 선택 방법 |
JP7074302B2 (ja) | 2018-06-15 | 2022-05-24 | ホアウェイ・テクノロジーズ・カンパニー・リミテッド | 仮想マシン管理方法、仮想マシン管理システム、仮想マシン管理装置、不揮発性コンピュータ可読記憶媒体およびコンピュータプログラム |
JP2021526274A (ja) * | 2018-06-15 | 2021-09-30 | ホアウェイ・テクノロジーズ・カンパニー・リミテッド | 仮想マシンを管理する方法、装置、およびシステム |
CN110955487A (zh) * | 2018-09-27 | 2020-04-03 | 株式会社日立制作所 | Hci环境下的vm/容器和卷配置决定方法及存储*** |
US11080081B2 (en) | 2018-09-27 | 2021-08-03 | Hitachi, Ltd. | Virtual machine and volume allocation in hyperconverged infrastructure environment and storage system |
US11080080B2 (en) | 2018-09-27 | 2021-08-03 | Hitachi, Ltd. | Virtual machine and volume allocation in hyperconverged infrastructure environment and storage system |
JP2020052730A (ja) * | 2018-09-27 | 2020-04-02 | 株式会社日立製作所 | Hci環境でのvm/コンテナおよびボリューム配置決定方法及びストレージシステム |
US11663029B2 (en) | 2018-09-27 | 2023-05-30 | Hitachi, Ltd. | Virtual machine storage controller selection in hyperconverged infrastructure environment and storage system |
JP2021149299A (ja) * | 2020-03-17 | 2021-09-27 | 株式会社日立製作所 | 計算機システム |
JP7107981B2 (ja) | 2020-03-17 | 2022-07-27 | 株式会社日立製作所 | 計算機システム |
CN111324424A (zh) * | 2020-04-15 | 2020-06-23 | 中国联合网络通信集团有限公司 | 一种虚拟机部署方法、装置、服务器及存储介质 |
CN111324424B (zh) * | 2020-04-15 | 2023-07-18 | 中国联合网络通信集团有限公司 | 一种虚拟机部署方法、装置、服务器及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10691647B2 (en) | Distributed file system metering and hardware resource usage | |
US20190079940A1 (en) | Proactive optimizations at multi-tier file systems | |
US9361092B1 (en) | Recommending upgrade actions during migration | |
US10467129B2 (en) | Measuring and optimizing test resources and test coverage effectiveness through run time customer profiling and analytics | |
US11558451B2 (en) | Machine learning based application deployment | |
CN103493028B (zh) | 虚拟盘存储技术 | |
US20110295634A1 (en) | System and Method for Dynamic Optimal Resource Constraint Mapping in Business Process Models | |
CN105051693A (zh) | 管理计算机服务器能力 | |
CA2836342A1 (en) | System and method for distributed computing using automated provisioning of heterogeneous computing resources | |
US20140189702A1 (en) | System and method for automatic model identification and creation with high scalability | |
CN114667507A (zh) | 使用基于应用的剖析的机器学习工作负载的弹性执行 | |
US20160306679A1 (en) | Managing hydrocarbon energy production while proactively maintaining a balanced workload | |
JP2014021847A (ja) | リソース管理装置及びリソース管理方法及びプログラム | |
Tertilt et al. | Generic performance prediction for ERP and SOA applications | |
US10635492B2 (en) | Leveraging shared work to enhance job performance across analytics platforms | |
US20220383149A1 (en) | Multi-agent inference | |
US10740209B2 (en) | Tracking missing data using provenance traces and data simulation | |
JP2022504370A (ja) | ストレージ・システムにおけるホールを有するトラックのデステージ | |
Bawankule et al. | Historical data based approach to mitigate stragglers from the Reduce phase of MapReduce in a heterogeneous Hadoop cluster | |
Rosas et al. | Improving performance on data-intensive applications using a load balancing methodology based on divisible load theory | |
CN114595026A (zh) | 在多平台即服务的***中估计平台上运行的工作负载的属性 | |
US20210271966A1 (en) | Transfer learning across automated machine learning systems | |
US11175958B2 (en) | Determine a load balancing mechanism for allocation of shared resources in a storage system using a machine learning module based on number of I/O operations | |
Baranov et al. | Accuracy comparison of various supercomputer job management system models | |
US11651281B2 (en) | Feature catalog enhancement through automated feature correlation |