IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日本電信電話株式会社の特許一覧

特許7647870リソース決定装置、方法およびプログラム
<>
  • 特許-リソース決定装置、方法およびプログラム 図1
  • 特許-リソース決定装置、方法およびプログラム 図2
  • 特許-リソース決定装置、方法およびプログラム 図3
  • 特許-リソース決定装置、方法およびプログラム 図4
  • 特許-リソース決定装置、方法およびプログラム 図5
  • 特許-リソース決定装置、方法およびプログラム 図6
  • 特許-リソース決定装置、方法およびプログラム 図7
  • 特許-リソース決定装置、方法およびプログラム 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-03-10
(45)【発行日】2025-03-18
(54)【発明の名称】リソース決定装置、方法およびプログラム
(51)【国際特許分類】
   G06F 9/50 20060101AFI20250311BHJP
【FI】
G06F9/50 120Z
【請求項の数】 7
(21)【出願番号】P 2023508307
(86)(22)【出願日】2021-03-25
(86)【国際出願番号】 JP2021012509
(87)【国際公開番号】W WO2022201420
(87)【国際公開日】2022-09-29
【審査請求日】2023-07-21
(73)【特許権者】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(74)【代理人】
【識別番号】110003708
【氏名又は名称】弁理士法人鈴榮特許綜合事務所
(72)【発明者】
【氏名】呉 超
(72)【発明者】
【氏名】田山 健一
(72)【発明者】
【氏名】堀内 信吾
(72)【発明者】
【氏名】村瀬 健司
(72)【発明者】
【氏名】菊島 宏明
【審査官】三坂 敏夫
(56)【参考文献】
【文献】特開2015-022501(JP,A)
【文献】国際公開第2020/090830(WO,A1)
【文献】特開2015-011365(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 9/455-9/54
(57)【特許請求の範囲】
【請求項1】
仮想マシンのリソース配置、前記仮想マシンの複数種類の処理負荷、および前記仮想マシンの処理性能の関係を示すモデルを用いる装置であって
前記複数種類の処理負荷のうち前記処理性能との関連性が比較的高い処理負荷の種別を抽出する抽出部と、
前記リソース配置および時間帯を引数として、前記抽出部により抽出された種別に係る処理負荷を戻り値とする関数を導出する関数導出部と、
前記関数導出部により導出された関数に基づいて、指定された時間帯における指定された前記リソース配置での前記処理負荷を算出し、
前記算出された処理負荷を前記モデルに入力することで、前記指定された前記リソース配置で、かつ前記指定された時間帯での前記処理性能を算出し、
前記算出された処理性能が当該処理性能の要件を満たす場合に、前記指定された前記リソース配置が適切なリソース配置であると判定する、
判定部と、
を備えるリソース決定装置。
【請求項2】
前記関数導出部は、
前記導出された関数を、時間を引数として、単位量当たりの前記リソース配置における処理負荷を戻り値とする関数と、前記リソース配置との積に変換し、
前記判定部は、
前記変換された結果に基づいて、前記指定された時間における前記指定された前記リソース配置での前記処理負荷を算出し、
前記算出された処理負荷を前記モデルに入力することで、前記指定された前記リソース配置で、かつ前記指定された時間での前記処理性能を算出し、
前記算出された処理性能が当該処理性能の要件を満たす場合に、前記指定された前記リソース配置が適切なリソース配置であると判定する、
請求項に記載のリソース決定装置。
【請求項3】
前記判定部は、
前記関数導出部により導出された関数に基づいて、前記指定された時間における前記指定された前記リソース配置での前記処理負荷を算出し、
前記算出された、前記指定された時間における前記処理負荷をサンプリングし、
前記サンプリングされた処理負荷を前記モデルに入力することで、前記指定された前記リソース配置で、かつ前記指定された時間での前記処理性能を算出し、
前記算出された処理性能が当該処理性能の要件を満たす場合に、前記指定された前記リソース配置が適切なリソース配置であると判定する、
請求項に記載のリソース決定装置。
【請求項4】
仮想マシンのリソース配置、前記仮想マシンの複数種類の処理負荷、および前記仮想マシンの処理性能の関係を示すモデルを用いるリソース決定装置により行れる方法であって、
前記リソース決定装置の抽出部により、前記複数種類の処理負荷のうち前記処理性能との関連性が比較的高い処理負荷の種別を抽出することと、
前記リソース決定装置の関数導出部により、前記リソース配置および時間帯を引数として、前記抽出部により抽出された種別に係る処理負荷を戻り値とする関数を導出することと、
前記リソース決定装置の判定部により、
前記関数導出部により導出された関数に基づいて、指定された時間帯における指定された前記リソース配置での前記処理負荷を算出し、
前記算出された処理負荷を前記モデルに入力することで、前記指定された前記リソース配置で、かつ前記指定された時間帯での前記処理性能を算出し、
前記算出された処理性能が当該処理性能の要件を満たす場合に、前記指定された前記リソース配置が適切なリソース配置であると判定することと、
を備えるリソース決定方法。
【請求項5】
前記関数は、
前記導出された関数を、時間を引数として、単位量当たりの前記リソース配置における処理負荷を戻り値とする関数と、前記リソース配置との積に変換し、
前記判定は、
前記変換された結果に基づいて、前記指定された時間における前記指定された前記リソース配置での前記処理負荷を算出し、
前記算出された処理負荷を前記モデルに入力することで、前記指定された前記リソース配置で、かつ前記指定された時間での前記処理性能を算出し、
前記算出された処理性能が当該処理性能の要件を満たす場合に、前記指定された前記リソース配置が適切なリソース配置であると判定す
請求項に記載のリソース決定方法。
【請求項6】
前記判定部は、
前記関数導出部により導出された関数に基づいて、前記指定された時間帯における前記指定された前記リソース配置での前記処理負荷を算出し、
前記算出された、前記指定された時間帯における前記処理負荷をサンプリングし、
前記サンプリングされた処理負荷を前記モデルに入力することで、前記指定された前記リソース配置で、かつ前記指定された時間帯での前記処理性能を算出し、
前記算出された処理性能が当該処理性能の要件を満たす場合に、前記指定された前記リソース配置が適切なリソース配置であると判定する、
請求項4に記載のリソース決定方法。
【請求項7】
請求項1乃至のいずれか1項に記載のリソース決定装置の部としてプロセッサを機能させるリソース決定処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、リソース決定装置、方法およびプログラムに関する。
【背景技術】
【0002】
VDI(Virtual Desktop Infrastructure:仮想デスクトップ基盤)環境において、パフォーマンス(performance)要件に応じて適切に割り当てられるリソース(resource)量、例えばホスト(host)に配置可能なVM(Virtual Machine:仮想マシン)の数が算出される必要がある。
【0003】
これらのリソース量が自動的に算出されるために、リソース量と、ワークロード(work load)と、処理性能であるパフォーマンスと、の関係性、すなわち依存関係が表現される学習モデル(model)を訓練し、このモデルを用いて、所定のパフォーマンス要件に応じて、割り当てられるべきリソース量を算出する、すなわち逆算する手法が適用され得る(例えば非特許文献1参照)。
【先行技術文献】
【非特許文献】
【0004】
【文献】C. Wu, H. Shingo, K. Tayama, “A Resource Design Framework to Realize Intent-based Cloud Management,” IEEE Cloudcom 2019, Sydney, December 2019, p37-44.
【発明の概要】
【発明が解決しようとする課題】
【0005】
モデルの訓練においては、過去ログデータ(log data)が用いられ得るが、実際のVDIの運用では、VMの数を大幅に変動させるオペレーション(operation)は実施されないことから、過去ログデータ内において、割り当てられるリソース量のバリエーション(variation)は極めて少ない。
したがって、モデルにリソース量とパフォーマンスとの関係性を正確に表現することができず、学習モデルを用いて、パフォーマンス要件に応じて、割り当てられるべきリソース量を高い精度で算出することは困難である。
【0006】
この発明は、上記事情に着目してなされたもので、その目的とするところは、割り当てられるべきリソース量を高い精度で算出することができるようにしたリソース決定装置、方法およびプログラムを提供することにある。
【課題を解決するための手段】
【0007】
本発明の一態様に係るリソース決定装置は、仮想マシンのリソース配置、前記仮想マシンの複数種類の処理負荷、および前記仮想マシンの処理性能の関係を示すモデルを用いる装置であって、前記複数種類の処理負荷のうち前記処理性能との関連性が比較的高い処理負荷の種別を抽出する抽出部と、前記リソース配置および時間帯を引数として、前記抽出部により抽出された種別に係る処理負荷を戻り値とする関数を導出する関数導出部と、前記関数導出部により導出された関数に基づいて、指定された時間帯における指定された前記リソース配置での前記処理負荷を算出し、前記算出された処理負荷を前記モデルに入力することで、前記指定された前記リソース配置で、かつ前記指定された時間帯での前記処理性能を算出し、前記算出された処理性能が当該処理性能の要件を満たす場合に、前記指定された前記リソース配置が適切なリソース配置であると判定する、判定部と、を備える。
【0008】
本発明の一態様に係るリソース決定方法は、仮想マシンのリソース配置、前記仮想マシンの複数種類の処理負荷、および前記仮想マシンの処理性能の関係を示すモデルを用いるリソース決定装置により行れる方法であって、前記リソース決定装置の抽出部により、前記複数種類の処理負荷のうち前記処理性能との関連性が比較的高い処理負荷の種別を抽出することと、前記リソース決定装置の関数導出部により、前記リソース配置および時間帯を引数として、前記抽出部により抽出された種別に係る処理負荷を戻り値とする関数を導出することと、前記リソース決定装置の判定部により、前記関数導出部により導出された関数に基づいて、指定された時間帯における指定された前記リソース配置での前記処理負荷を算出し、前記算出された処理負荷を前記モデルに入力することで、前記指定された前記リソース配置で、かつ前記指定された時間帯での前記処理性能を算出し、前記算出された処理性能が当該処理性能の要件を満たす場合に、前記指定された前記リソース配置が適切なリソース配置であると判定することと、を備える。
【発明の効果】
【0009】
本発明によれば、割り当てられるべきリソース量を高い精度で算出することができる。
【図面の簡単な説明】
【0010】
図1図1は、本発明の一実施形態に係るリソース決定装置の適用例を示すブロック図(block diagram)である。
図2図2は、モデルに対する特徴量とパフォーマンスとの関係の一例を示す図である。
図3図3は、過去ログデータにおける、各時刻におけるVM数、ホストCPU(Central Processing Unit)使用率、およびホストDisk利用状況の一例を表形式で示す図である。
図4図4は、各時刻における、単位VM数当たりのホストCPU使用率、および単位VM数当たりのホストDisk利用状況の一例を表形式で示す図である。
図5図5は、本発明の一実施形態に係るリソース決定装置の最適VM数算出部による入出力の一例を示す図である。
図6図6は、本発明の一実施形態に係るリソース決定装置の最適VM数算出部による処理動作の一例を示すフローチャート(flow chart)である。
図7図7は、本発明の一実施形態に係るリソース決定装置によるパフォーマンスの予測値と実績値の比較結果の一例を示す図である。
図8図8は、本発明の一実施形態に係るリソース決定装置のハードウエア(hardware)構成の一例を示すブロック図である。
【発明を実施するための形態】
【0011】
以下、図面を参照しながら、この発明に係わる一実施形態を説明する。
図1は、本発明の一実施形態に係るリソース決定装置の適用例を示すブロック図である。
図1に示されるように、本発明の一実施形態に係るリソース決定装置10は、モデル生成部11、最適VM数算出部12、高関連特徴量抽出部13、およびVM数関数導出部14を備える。
本実施形態では、リソース決定装置10は、リソースの特徴量(以下、特徴量と称することがある)の種別のうち、パフォーマンスとの関連性が比較的高い特徴量(以下、高関連特徴量と称することがある)の種別、例えば、ホストCPU利用率を抽出または絞り込みし、これらの高関連特徴量の種別とリソース量との関係性を導出する。
【0012】
リソース決定装置10は、パフォーマンスとの関連性が高い特徴量の種別をベース(base)に、ある一定のリソース量が割り当てられた状況でのパフォーマンスを予測可能である。故に、パフォーマンス要件を満たすリソース量が高い精度で算出され得る。
【0013】
具体的には、リソース決定装置10は、まず、リソース量以外の他の種別の特徴量とパフォーマンスとの間の関係を分析し、パフォーマンスとの関連性が高い特徴量の種別を絞り込む。
次に、リソース決定装置10は、これらの種別の特徴量の各々について、少なくともリソース量を引数として、当該種別の特徴量を戻り値とする関数として導出する。
リソース決定装置10は、ある一定のリソース量が割り当てられた状況で、パフォーマンスとの関連性が高い特徴量の種別を算出することに用いられる、訓練済のモデルを用いて、特徴量からパフォーマンスを予測する。その結果、パフォーマンス要件を満たすリソース量の導出が可能となる。
【0014】
上記の予測が行われることで、ログデータにおいて、割り当てられるリソース量に関するバリエーションが不足する場合でも、VDIのパフォーマンス要件に応じて割り当てられるリソース量を高い精度で算出可能である。
従って、VDIの運用者による割り当てリソース量の算出における稼働削減、リソース利用の効率化、及びVDIのユーザ(user)の体感品質の向上が期待できる。
【0015】
本実施形態では、VDIシナリオ(scenario)において、割り当てられるべきリソース量を算出するために、以下の処理が行われる。
本実施形態では、VDI環境で代表的な、割り当てられるリソース量である「ホスト当たりに最適なVM数」(最適VM数で略称する)を算出することに適用された場合について説明するが、他のVDI環境の他のリソース量を算出することにも適用され得る。
【0016】
前提として、モデル生成部11は、VDI環境から以下の特徴変数および目的変数に関する過去ログデータを収集済みである。
モデル生成部11は、上記の収集済みの過去ログデータを用いて、以下の特徴変数および目的変数が表現されるモデルを訓練する。この訓練されたモデルはリソース決定装置10の内部メモリ(internal memory)または別途の例えば外部の記憶装置に格納される。
【0017】
モデルの特徴変数は、リソース配置およびワークロードを含む。
具体的には、上記のリソース配置は、ホストに配置されたVM数等が挙げられる。
また、具体的には、上記のワークロードは、ホストCPUの利用率、メモリの利用率、ディスクの利用状況、およびネットワーク(network)のトラフィック(traffic)等が挙げられる。
【0018】
モデルの目的変数は、特徴変数で示されるリソース配置およびワークロードなどが割り当てられた場合のVDIのパフォーマンス、具体的には、ホストCPU ready time、ホストディスク書き込み遅延および読み出し遅延等が挙げられる。
【0019】
最適VM数算出部12は、設定可能なVM数に応じて、後述するVM数関数を用い、また、モデル生成部11によりで生成されたモデルを用いて、該当の設定されたVM数におけるパフォーマンスを算出し、設定された各種のVM数のうち、すべてのパフォーマンス要件を満たせるVM数を適切なVM数と保存する。また、最適VM数算出部12は、上記適切なVM数のうち、最大のVM数を最適VM数に設定して出力する。
【0020】
本実施形態では、リソース決定装置10は、VM数以外の他の特徴量とパフォーマンスとの依存関係、及びこれらの他の特徴量とVM数との依存関係を用いて、最適なVM数を間接的に算出する。
【0021】
次に、高関連特徴量抽出部13、VM数関数導出部14の機能の概要について説明する。
リソース決定装置10の高関連特徴量抽出部13は、モデルの目的変数であるパフォーマンスとの関連性が高い高関連特徴量の種別を選出する。
VM数関数導出部14は、これらの選出した種別の各々について、VM数および時間、例えば時刻または日時を引数として当該種別の特徴量を戻り値とする関数として導出する。本実施形態では、この関数はVM数関数と称されることもある。
【0022】
リソース決定装置10の最適VM数算出部12は、ユーザにより設定可能なVM数のいずれかが設定されたときに、時間を引数として、単位VM数ごとの高関連特徴量を戻り値とする関数とVM数との積に基づいて、任意の時刻における高関連特徴量の値、例えばホストCPU利用率およびホストDisk利用率を算出する。
【0023】
最適VM数算出部12は、この算出結果を、モデル生成部11により生成されたモデルの特徴変数として入力し、モデルの目的変数として、任意の時刻におけるパフォーマンス、例えばホストCPU ready timeを予測する。
そして、最適VM数算出部12は、予測されたパフォーマンスがパフォーマンス要件を満たせるときのVM数に基づいて、最適なVM数を算出する。
【0024】
次に、高関連特徴量抽出部13およびVM数関数導出部14の機能の詳細について説明する。
詳しくは、高関連特徴量抽出部13は、VM数以外の特徴量、例えば、ホストCPU利用率、メモリ利用率、ディスク利用状況などのバリエーション、及びこれらの特徴量とパフォーマンスとの依存関係を例えばリソース決定装置10の内部メモリまたは別途の記憶装置から取得する。
この取得結果に基づいて、高関連特徴量抽出部13は、これらの特徴量のうち、パフォーマンスとの依存関係が高い特徴量の種別を選出する。
【0025】
特徴量とパフォーマンスとの依存関係は、様々な手法により特定され得るが、例えば既存のピアソンの積率相関係数(pearson product-moment correlation coefficient)を算出し、この参集結果に基づいて、特徴量とパフォーマンスとの相関性を判断する手法が挙げられる。
【0026】
VM数関数導出部14は、VM数および時刻を引数として、高関連特徴量抽出部13により選出された種別の高関連特徴量を戻り値とする関数として導出する。
図2は、モデルに対する特徴量とパフォーマンスとの関係の一例を示す図である。
図2に示された例では、ホストCPU利用率、およびホストDisk利用状況がパフォーマンスであるホストCPU ready timeに対する高関連特徴量の種別として選出される(図2の符号aおよびb参照)。ホストDisk利用状況はホストDisk利用率とも称される。
これらの種別の特徴量を戻り値とする関数は、VM数と時刻とを引数とする関数として種別ごとに定義されることで導出される。なお、図2に示した例では、VM数とホストCPU ready timeとの関連性の高低は不明である(図2の符号c参照)。
【0027】
図2に示された例では、VM数と時刻とを引数として、ホストCPU利用率を戻り値とする関数は「f(VM数,時刻)」と表記される。また、VM数と時刻とを引数として、ホストDisk利用状況を戻り値とする関数は「g(VM数,時刻)」と表記される。
【0028】
高関連特徴量を戻り値とする関数の定義および当該特徴量の導出にはいくつのパターン(pattern)が挙げられる。仮にVDIのユーザが同質なユーザである、「同一ホスト内の各VMは同じ負荷を与える。」との仮定のもとで、ホストのリソース利用率はVM数と比例することが想定できることにより、上記の関数f(VM数,時刻)は、以下の式(1)のように変換され得る。すなわち、VM数と時刻とを引数としてホストCPU利用率を戻り値とする関数は、時間を引数として単位量当たりのVMにおけるホストCPU利用率を戻り値とする関数と、VM数との積と、後述する値eとの和に変換され得る。
f(VM数,時刻)=VM数*f´(時刻)+e …式(1)
【0029】
同様に、上記の関数g(VM数,時刻)は、以下の式(2)のように変換され得る。すなわち、VM数と時刻とを引数としてホストDisk利用状況を戻り値とする関数は、時間を引数として単位量当たりのVMにおけるホストDisk利用状況を戻り値とする関数と、VM数との積と、後述する値eとの和に変換され得る。
g(VM数,時刻)=VM数*g´(時刻)+e …式(2)
式(1)のf´(時刻)は、ある時刻における単位VM数当たりのホストCPU利用率であり、式(2)のg´(時刻)は、ある時刻における単位VM数当たりのホストDisk利用状況である。
【0030】
また、式(1)および(2)の値eは、ホストがVMを実行すること以外の条件で発生するワークロード、例えば、ホストOS(Operating System)を実行する際に発生したCPU利用量を表す。アルゴリズムの精度を向上させるために、eは調整可能である。
【0031】
式(1)のf´(時刻)および式(2)のg´(時刻)を求めるためには、色々な手法が挙げられる。
未来のパフォーマンス予測を行うためにはワークロードの各種情報の予測を行う必要がある。本実施形態では、同じ条件で、例えば同じ曜日などにおいて、ワークロードが変わらない、例えば一日における同じ時刻においてユーザによるリソースの使い方が変化しないという前提で、過去ログデータから、各時刻においてのホストCPU利用率をVM数で除することで、単位VM数当たりのCPU利用率を戻り値とする関数としてf´(時刻)が導出され得る。
【0032】
同様に、同じ条件で、例えば上記と同じく、同じ曜日などにおいて、ワークロードが変わらないという前提で、過去ログデータから、各時刻においてのホストDisk利用状況をVM数で除することで、単位VM数当たりのホストDisk利用状況を戻り値とする関数としてg´(時刻)が導出され得る。
【0033】
また、上記の例に限られず、例えば、時系列予測手法(time series forecasting)を用いて、将来の任意の時刻における単位VM数当たりのリソース利用率を戻り値とする関数として上記f´(時刻)およびg´(時刻)が導出されてもよい。
【0034】
図3は、過去ログデータにおける、各時刻におけるVM数、ホストCPU使用率、およびホストDisk利用状況の一例を表形式で示す図である。
図3に示された例では、過去の各時刻において稼働するVMの数、該当の稼働するVMに係るホストCPU使用率、および該当の稼働するVMに係るホストDisk利用状況の関係が示される。
【0035】
図4は、各時刻における、単位VM数当たりのホストCPU使用率、および単位VM数当たりのホストDisk利用状況の一例を表形式で示す図である。
図4に示された例では、各時刻と、単位VM数当たりのホストCPU使用率との関係は上記式(1)で示される関数f´(時刻)に対応する。そして、図4に示される単位VM数当たりのホストCPU使用率は、上記式(1)におけるeが0であるとの仮定のもとで、各時刻において、図3に示されるホストCPU使用率を、同時刻で稼働するVMの数で除した値である。
【0036】
また、各時刻と、単位VM数当たりのホストDisk利用状況との関係は上記式(2)で示される関数g´(時刻)に対応する。そして、図4に示された例では、単位VM数当たりのホストDisk利用状況は、上記式(2)におけるeが0であるとの仮定のもとで、各時刻において、図3に示されるホストDisk利用状況を、同時刻で稼働するVMの数で除した値である。
上記図4に示される、各時刻と、単位VM数当たりのホストCPU使用率との関係は、単位VM数当たりのホストCPU使用率を上記f´(時刻)として、例えば以下の式(3)のように表現され得る。
【0037】
【数1】
【0038】
また、上記図4に示される、各時刻と、単位VM数当たりのホストDisk利用状況との関係は、単位VM数当たりのホストDisk利用状況をg´(時刻)として、例えば以下の式(4)のように表現され得る。実際のプログラムでは、ベクトルとして扱うことで、より効率的に計算可能である。
【0039】
【数2】
【0040】
図5は、本発明の一実施形態に係るリソース決定装置の最適VM数算出部による入出力の一例を示す図である。
ここでは前提として、第1に、モデル生成部11により、VM数、ホストCPU利用率、ホストDisk利用状況、およびその他ワークロードを特徴変数とし、ホストCPU ready timeを目的変数とするモデルが生成されたとする。
【0041】
第2に、高関連特徴量抽出部13により、ホストCPU利用率およびホストDisk利用状況が高関連特徴量の種別として抽出されたと仮定する。
第3に、この抽出結果に応じて、VM数関数導出部14により、上記抽出されたホストCPU利用率について上記式(3)で示される関数が導出され、上記抽出されたホストDisk利用状況について上記式(4)で示される関数が導出されたと仮定する。
【0042】
リソース決定装置10の内部メモリまたは別途の記憶装置には、図5に示されるように、ユーザにより設定可能であるVM数であるnVMの集合C、および任意の日時の情報が保存される。図5に示された例では、設定可能であるVM数であるnVMの範囲は、図5の符号aで示される1~50である。
【0043】
また、最適VM数算出部12は、モデルの特徴変数の1つであるVM数として、上記nVMのうちユーザにより設定された値、例えば図5の符号bで示される「10」をモデルに入力する。
【0044】
最適VM数算出部12は、目的変数としてホストCPU ready timeを出力するモデルの特徴変数の1つであって1種類目の上記高関連特徴量であるホストCPU利用率として、上記式(3)で示される関数に任意の日時、ここでは指定時間帯t1~t2を反映してなる戻り値をサンプリングした値、例えば指定時間帯t1~t2におけるホストCPU利用率の最大値について、(1)上記nVMのうちユーザにより設定された値、および(2)eの値、が反映されてなる、以下の式(5)で示される値もモデルに入力する。timeをモデルに入力する。
sample(f´cpu-use(t))*nVM+e …式(5)
【0045】
また、最適VM数算出部12は、目的変数としてホストCPU ready timeを出力するモデルの特徴変数の1つであって2種類目の上記高関連特徴量であるホストDisk利用状況として、上記式(4)で示される関数に任意の日時、ここでは指定時間帯t1~t2を反映してなる戻り値をサンプリングした値、例えば指定時間帯t1~t2におけるホストDisk利用状況の最大値について、(1)上記nVMのうちユーザにより設定された値および(2)eの値、が反映されてなる、以下の式(6)で示される値もモデルに入力する。timeをモデルに入力する。
sample(g´disk-use(t))*nVM+e …式(6)
【0046】
図5では、高関連特徴量であるホストCPU利用率およびホストDisk利用状況が、VM数の一次関数として表現された例が示される。
上記特徴変数としての、(1)VM数、(2)ホストCPU利用率、(3)ホストDisk利用状況、および(4)その他のワークロード、の値が上記モデルに入力された結果、このモデルからはホストCPU ready timeが出力される。
【0047】
また、図5に示されるように、上記のモデルとは別に、目的変数としてホストDisk書き込み遅延を出力するモデル、または目的変数としてその他のパフォーマンスを出力するモデルをモデル生成部11により生成した場合でも同様に、上記(1)VM数、(2)ホストCPU利用率、(3)ホストDisk利用状況、および(4)その他のワークロードが当該モデルに入力されることで、目的変数に対応する出力がなされる。
【0048】
以下、上記図5に示された入出力に係る、最適VM数算出部12による処理の具体例を説明する。
図6は、本発明の一実施形態に係るリソース決定装置の最適VM数算出部による処理動作の一例を示すフローチャートである。
まず、最適VM数算出部12は、任意の指定時間帯およびVDIのパフォーマンス要件Rを入力し、各種処理により、上記指定時間帯における上記VDIパフォーマンス要件Rを満足する最適VM数を出力する。
【0049】
最適VM数算出部12は、(1)任意の指定時間帯t1~t2(=1,2,3,…)、例えば「翌日(月曜日)の9:00~12:00」、および(2)任意のパフォーマンス要件R、例えば「ホストCPU ready timeが5秒以下である」を入力する(S11)。
【0050】
最適VM数算出部12は、ユーザにより設定(指定)可能なVM数の集合Cをリソース決定装置10の内部メモリなどから取得する(S12)。ここでは、VM数の集合Cは1~50、すなわち1台から50台の範囲であるとする。
【0051】
最適VM数算出部12は、S12で取得した集合Cからの、ユーザによる入力操作により指定されたVM数を設定する(for nVM in C)(S13)。ここでは、指定されたVM数は10であるとする。
【0052】
最適VM数算出部12は、高関連特徴量抽出部13により抽出された種別に係る高関連特徴量を求めることに用いられる、VM数関数導出部14により導出された関数に、S13で設定されたVM数を用いて、VM数が式(5)および(6)のnVMの場合で、時刻が上記指定時間帯t1~t2の範囲内の時刻t(=1,2,3,…)の各々であるときの各種高関連特徴量の値を算出する(S14)。
【0053】
詳しくは、高関連特徴量抽出部13により抽出された1つ目の高関連特徴量であるホストCPU利用率について、最適VM数算出部12は、上記式(5)のnVMに上記S13で設定された「10」が代入されて、上記式(5)のtに上記指定時間帯t1~t2の範囲内の時刻t(=1,2,3,…)の各々が代入されたときの、以下の式(7)である結果で示される値をホストCPU利用率として算出する。ここではe=0であるとする。
【0054】
【数3】
【0055】
同様に、高関連特徴量抽出部13により抽出された2つ目の高関連特徴量であるホストDisk利用状況について、最適VM数算出部12は、上記式(6)のnVMに上記S13で設定された「10」が代入されて、上記式(6)のtに上記指定時間帯t1~t2の範囲内の時刻t(=1, 2, 3,…)の各々が代入されたときの、以下の式(8)である結果で示される値をホストDisk利用状況として算出する。ここではe=0であるとする。
【0056】
【数4】
【0057】
最適VM数算出部12は、S14で算出された、上記指定時間帯t1~t2における各種の高関連特徴量の値をサンプリング(sampling)する(S15)。
このサンプリングは、以降の計算量が削減されるための処理であり、必須ではない処理である。サンプリングには色々な手法が挙げられるが、例としては、上記指定時間帯t1~t2における各種の高関連特徴量の最大値を抽出すること等が挙げられる。
【0058】
次に、最適VM数算出部12は、S15でサンプリングされた各種高関連特徴量の値を上記生成されたモデルの特徴変数に入力すること、VM数が上記設定されたときの上記指定時間帯t1~t2の範囲内の各々の時刻におけるVDIパフォーマンスを算出する(S16)。ここでは、例えば上記指定時間帯t1~t2の時刻tが1であるときのホストCPU ready time(=4.2)、時刻tが2であるときのホストCPU ready time(=5.0)、および時刻tが3であるときのホストCPU ready time(=6.1)がそれぞれ算出される。
【0059】
最適VM数算出部12は、S16で算出したパフォーマンスが上記設定されたパフォーマンス要件Rを満足するか否かを判定する(S1)。S1で「No」と判定されたときは、S13に戻り、別のVM数が設定される。また、S1で「Yes」と判定されたときは、この算出に係りS13で設定されたVM数を適切なVM数としてリソース決定装置10の内部メモリなどに保存する(S18)。
【0060】
上記のようにVM数が10の場合で、時刻tが「1」、「2」、および「3」の各々のときのホストCPU ready timeである「4.2」、「5.0」および「6.1」は、上記のパフォーマンス要件であるホストCPU ready time(=5秒以下)を満たさないので、S1で「No」と判定され、別のVM数が設定される。
【0061】
S18の後、上記集合Cのうち他に設定可能なVM数があるときは(S19のYes)、S13に戻り、別のVM数が設定される。
一方、上記集合Cのうち他に設定可能なVM数がないとき(S19のNo)、最適VM数算出部12は、S18で保存された適切なVM数のうち最大値を最適VM数として算出し、これを出力する(S20)。
【0062】
図7は、本発明の一実施形態に係るリソース決定装置によるパフォーマンスの予測値と実績値の比較結果の一例を示す図である。
図7では、5台のVDIサーバの各々において、最適VM数算出部12により算出されたパフォーマンス予測値と、同じ条件でのパフォーマンスの実測値が1時間平均値同士で比較された例である。図7に示されるように、高関連特徴量が用いられて算出されたパフォーマンス予測値と実測値との誤差は小さい。すなわち最適VM数算出部12は、パフォーマンスを高い精度で予測できる。故に、パフォーマンス要件を満たすVM数を高い精度で算出可能である。
【0063】
図8は、本発明の一実施形態に係るリソース決定装置のハードウエア構成の一例を示すブロック図である。
図8に示された例では、上記の実施形態に係るリソース決定装置10は、例えばサーバコンピュータ(server computer)またはパーソナルコンピュータ(personal computer)により構成され、CPU等のハードウエアプロセッサ(hardware processor)111Aを有する。そして、このハードウエアプロセッサ111Aに対し、プログラムメモリ(program memory)111B、データメモリ(data memory)112、入出力インタフェース(interface)113及び通信インタフェース114が、バス(bus)120を介して接続される。
【0064】
通信インタフェース114は、例えば1つ以上の無線の通信インタフェースユニット(interface unit)を含んでおり、通信ネットワークNWとの間で情報の送受信を可能にする。無線インタフェースとしては、例えば無線LAN(Local Area Network)などの小電力無線データ通信規格が採用されたインタフェースが使用される。
【0065】
入出力インタフェース113には、リソース決定装置10に付設される、利用者などにより用いられる入力デバイス(device)200および出力デバイス300が接続される。
入出力インタフェース113は、キーボード(keyboard)、タッチパネル(touch panel)、タッチパッド(touchpad)、マウス(mouse)等の入力デバイス200を通じて利用者などにより入力された操作データを取り込むとともに、出力データを液晶または有機EL(Electro Luminescence)等が用いられた表示デバイスを含む出力デバイス300へ出力して表示させる処理を行なうことができる。なお、入力デバイス200および出力デバイス300には、リソース決定装置10に内蔵されたデバイスが使用されてもよく、また、ネットワークNWを介してリソース決定装置10と通信可能である他の情報端末の入力デバイスおよび出力デバイスが使用されてもよい。
【0066】
プログラムメモリ111Bは、非一時的な有形の記憶媒体として、例えば、HDD(Hard Disk Drive)またはSSD(Solid State Drive)等の随時書込みおよび読出しが可能な不揮発性メモリ(non-volatile memory)と、ROM(Read Only Memory)等の不揮発性メモリとが組み合わせて使用されたもので、一実施形態に係る各種制御処理等を実行する為に必要なプログラムが格納され得る。
【0067】
データメモリ112は、有形の記憶媒体として、例えば、上記の不揮発性メモリと、RAM(Random Access Memory)等の揮発性メモリ(volatile memory)とが組み合わせて使用されたもので、各種処理が行なわれる過程で取得および作成された各種データまたは情報が記憶される為に用いられ得る。データメモリ112には、図1に示されるモデル生成部11により生成されたモデル、最適VM数算出部12により算出された最適VM数、高関連特徴量抽出部13により抽出された高関連特徴量の情報、およびVM数関数導出部14により導出された関数、などの各種データまたは情報が記憶され得る。
【0068】
本発明の一実施形態に係るリソース決定装置10は、ソフトウエア(software)による処理機能部として、図1に示されるモデル生成部11、最適VM数算出部12、高関連特徴量抽出部13、およびVM数関数導出部14を有するデータ処理装置として構成され得る。
【0069】
リソース決定装置10の各部によるワークメモリなどとして用いられる各情報記憶部は、図8に示されたデータメモリ112が用いられることで構成され得る。ただし、これらの構成される記憶領域はリソース決定装置10内に必須の構成ではなく、例えば、USB(Universal Serial Bus)メモリなどの外付け記憶媒体、又はクラウド(cloud)に配置されたデータベースサーバ(database server)等の記憶装置に設けられた領域であってもよい。
【0070】
上記のモデル生成部11、最適VM数算出部12、高関連特徴量抽出部13、およびVM数関数導出部14の各部における処理機能部は、いずれも、プログラムメモリ111Bに格納されたプログラムを上記ハードウエアプロセッサ111Aにより読み出させて実行させることにより実現され得る。なお、これらの処理機能部の一部または全部は、特定用途向け集積回路(ASIC(Application Specific Integrated Circuit))またはFPGA(Field-Programmable Gate Array)などの集積回路を含む、他の多様な形式によって実現されてもよい。
【0071】
本発明の一実施形態に係るリソース決定装置では、仮想マシンのリソース配置、仮想マシンの複数種類の処理負荷、および仮想マシンの処理性能の関係を示すモデルを用い、複数種類の処理負荷のうち処理性能との関連性が比較的高い処理負荷の種別を抽出し、少なくともリソース配置を引数として、抽出された種別に係る処理負荷を戻り値とする関数を導出し、導出された関数に基づいて、指定されたリソース配置での処理負荷を算出し、算出された処理負荷をモデルに入力することで、指定されたリソース配置での処理性能を算出し、算出された処理性能が当該処理性能の要件を満たす場合に、指定されたリソース配置が適切なリソース配置であると判定するので、割り当てられるべきリソース量を高い精度で算出することができる。
【0072】
また、各実施形態に記載された手法は、計算機(コンピュータ)に実行させることができるプログラム(ソフトウエア手段)として、例えば磁気ディスク(フロッピー(登録商標)ディスク(Floppy disk)、ハードディスク(hard disk)等)、光ディスク(optical disc)(CD-ROM、DVD、MO等)、半導体メモリ(ROM、RAM、フラッシュメモリ(Flash memory)等)等の記録媒体に格納し、また通信媒体により伝送して頒布され得る。なお、媒体側に格納されるプログラムには、計算機に実行させるソフトウエア手段(実行プログラムのみならずテーブル(table)、データ構造も含む)を計算機内に構成させる設定プログラムをも含む。本装置を実現する計算機は、記録媒体に記録されたプログラムを読み込み、また場合により設定プログラムによりソフトウエア手段を構築し、このソフトウエア手段によって動作が制御されることにより上述した処理を実行する。なお、本明細書でいう記録媒体は、頒布用に限らず、計算機内部あるいはネットワークを介して接続される機器に設けられた磁気ディスク、半導体メモリ等の記憶媒体を含むものである。
【0073】
なお、本発明は、上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、各実施形態は適宜組み合わせて実施してもよく、その場合組み合わせた効果が得られる。更に、上記実施形態には種々の発明が含まれており、開示される複数の構成要件から選択された組み合わせにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、課題が解決でき、効果が得られる場合には、この構成要件が削除された構成が発明として抽出され得る。
【符号の説明】
【0074】
10…リソース決定装置
11…モデル生成部
12…最適VM数算出部
13…高関連特徴量抽出部
14…VM数関数導出部
図1
図2
図3
図4
図5
図6
図7
図8