情報処理装置、情報処理システム、配置構成決定方法、プログラムおよび記録媒体
【課題】1以上の仮想マシンを1以上の物理マシンへ割り当てる最適な配置構成を導出する。
【解決手段】配置構成制御装置120は、同一機能を備える複数の仮想マシンが含まれる各クラスタについて、時間区間毎の物理リソースの予測ピーク使用量を決定する予測部126と、物理マシン110および時間区間の各組み合わせについて、時間区間内に物理マシン110が停止したときに他の物理マシン110に対し予測される物理リソースの合計予測ピーク使用量が、物理マシン110に準備する物理リソース量を上回らないことを保証する、制約条件を設定する設定部128と、制約条件に従って、仮想マシンが割り当てられる複数の物理マシン全体の物理リソース量の総和を目的関数として最小化する、最適化問題の解を演算し、配置構成を導出する配置構成導出部132とを含む。
【解決手段】配置構成制御装置120は、同一機能を備える複数の仮想マシンが含まれる各クラスタについて、時間区間毎の物理リソースの予測ピーク使用量を決定する予測部126と、物理マシン110および時間区間の各組み合わせについて、時間区間内に物理マシン110が停止したときに他の物理マシン110に対し予測される物理リソースの合計予測ピーク使用量が、物理マシン110に準備する物理リソース量を上回らないことを保証する、制約条件を設定する設定部128と、制約条件に従って、仮想マシンが割り当てられる複数の物理マシン全体の物理リソース量の総和を目的関数として最小化する、最適化問題の解を演算し、配置構成を導出する配置構成導出部132とを含む。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理システムの最適化技術に関し、より詳細には、1以上の仮想マシンを1以上の物理マシンへ割り当てる最適な配置構成を導出するための情報処理装置、情報処理システム、配置構成決定方法、プログラムおよび記録媒体に関する。
【背景技術】
【0002】
近年、システム仮想化技術の進展に伴い、金融機関や大企業などの大規模情報処理システムを備える組織において、所有IT資源を効率的に活用し、総所有コスト(TCO;Total Cost of Ownership)を削減することを目的とし、仮想化技術を利用したサーバ統合基盤が構築されている。上記サーバ統合は、従前複数の物理サーバに分かれて稼働していた複数の業務システムのサーバ機能を、より少数の高性能な物理マシンに集約することにより、リソース利用効率を向上し、全体として物理リソース量を削減しようというものである。
【0003】
リソース利用効率の向上を目的とした従来技術として、仮想マシンへの物理リソースの割り当てを管理する技術が知られている。例えば、マイクロ・パーティショニング(Micro-Partitioning)と呼ばれる技術は、物理プロセッサの処理能力を細粒度単位で仮想マシンに割り当て可能とする。特開2007−200347号公報(特許文献1)は、各論理区画上のOS上で処理しているワークロードに関する少量の知識と、各OSの負荷に従って、計算機資源の各論理区画に対する割り当てを自動的に動的変更する技術を開示する。特開2005−148875号公報(特許文献2)は、OS稼働中に論理区画間で計算資源の割り当て変更を行う動的割り当て方法を開示する。また、リソース利用効率の向上を目的とした仮想マシン配置の管理に関連して、特開2010−237736号公報(特許文献3)は、エージェントマシンの重要度やシステムの安定性を重視して、特定のエージェントマシンへ割り当てる仮想マシンの上限を設定可能な運用管理システムを開示する。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2007−200347号公報
【特許文献2】特開2005−148875号公報
【特許文献3】特開2010−237736号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
上述したサーバ統合基盤においては、リソース利用効率を考慮して仮想マシンの配置構成を適切に計画することが望ましい。しかし、従来では、仮想マシンの配置構成の計画や、システム内に準備する必要な物理リソース量の見積もりは、表計算ソフトなどを使用して人手で行っているのが現状であった。したがって、既存の業務システムを段階的にサーバ統合基盤上に展開して行く場合、新しい業務システムを追加する毎に上記物理リソース量の見積もりを上述した人手による作業で行わなければならず、煩雑であった。また、人手による場合、見積もり精度が充分とはいえず、余剰な物理リソース量を生じさせる余地があり、利用効率の観点から充分なものではなかった。
【0006】
本発明は、上記従来技術の不充分な点に鑑みてなされたものであり、本発明は、各サーバ機能の負荷特性を考慮して、一部の物理マシンが障害またはメンテナンスのために停止した場合にも継続的にサービスを提供することが可能な必要最小限の物理リソース量を与える仮想マシンの配置構成を導出する情報処理装置、情報処理システム、配置構成決定方法、プログラムおよび記録媒体を提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明は、上記課題を解決するために、下記の特徴を有する情報処理装置、および該情報処理装置を含む情報処理システムを提供する。本発明の情報処理装置は、上記配置構成を決定する演算を行うために、同一機能を備える複数の仮想マシンが含まれる各クラスタについて、時間区間毎の物理リソースの予測ピーク使用量を決定する。そして、本発明の情報処理装置は、上記予測ピーク使用量を用いて、目的関数および制約条件を含む最適化問題を設定する。
【0008】
上記最適化問題は、第1の物理マシン、第2の物理マシンおよび時間区間の各組み合わせについて、時間区間内に第2の物理マシンが停止したときに第1の物理マシンに対し予測される物理リソースの合計予測ピーク使用量が、第1の物理マシンに準備される物理リソース量を上回らないことを保証するという制約条件を含む。上記最適化問題は、さらに、上記仮想マシンが割り当てられる対象となる複数の物理マシン全体の総物理リソース量を目的関数として含む。情報処理装置は、上記制約条件に従って、複数の物理マシン全体の総物理リソース量を目的関数として最小化する最適化問題の解を演算し、配置構成を導出する。
【0009】
さらに本発明の情報処理装置は、合計予測ピーク使用量が予測される第1の物理マシンk、第2の物理マシンk’および時間区間tに関して、クラスタcの配置構成を規定する決定変数に対応して与えられる、上記第2の物理マシンk’が停止したときに当該第1の物理マシンkに対して予測される該クラスタcによる予測ピーク使用量γc,tの総和として、上記合計予測ピーク使用量φk,k’,tを定式化することができる。なお、上記クラスタは、アクティブ−スタンバイ構成のようなサーバ機能にかかる処理を時間的に分担するクラスタ、またはアクティブ−アクティブ構成のようなサーバ機能にかかる処理を量的に分担するクラスタを含むことができる。さらに、上記最適化問題は、好適には、仮想マシンの配置構成を規定する「0」または「1」の値を取り得る決定変数を含む0−1整数線形計画問題として表現することができる。
【0010】
さらに本発明の情報処理装置は、各クラスタc内で注目する仮想マシン以外の仮想マシンの配置構成を規定する決定変数を固定しながら、当該注目する仮想マシンの配置構成を規定する決定変数の局所最適解を探索する処理を、注目する仮想マシンを切り替えて反復することにより、最適化問題の決定変数の最適解を演算することができる。さらに本発明によれば、上記情報処理装置としてコンピュータ・システムが実行する仮想マシンを物理マシンへ割り当てる配置構成を決定する配置構成決定方法、上記情報処理装置を実現するためのコンピュータ実行可能なプログラム、および上記プログラムをコンピュータ読取可能に格納する記録媒体を提供することができる。
【発明の効果】
【0011】
上記構成によれば、一部の物理マシンを停止しても継続的にサービスを提供できる必要最小限の物理リソース量を与える仮想マシンの配置構成を決定することができる。決定された配置構成は、サーバ機能の負荷特性を考慮して最適化問題の最適解として客観的に求められたものである。このため、その結果を信頼してシステム全体の物理リソース量の削減を図ることができる。
【図面の簡単な説明】
【0012】
【図1】本発明の第1の実施形態による仮想化システムの概略図を示す図。
【図2】本発明の第1の実施形態による仮想化システムにおいて、所定の配置構成で物理マシン上に配置されて稼働する仮想マシンを説明する図。
【図3】業務システム、クラスタおよび仮想マシンの関係を説明する図。
【図4】本発明の第1の実施形態による仮想化システムの機能ブロック図。
【図5】使用履歴情報から時間区間毎のクラスタ全体の物理リソースの総予測ピーク使用量および仮想マシン単位の個別予測ピーク使用量を求める方法を説明する図。
【図6】故障またはメンテナンスに起因してひとつの物理マシンが停止した場合における、残りの物理マシン上に配置された仮想マシンの物理リソース使用量の変化を説明する図。
【図7】第1の実施形態による配置構成管理装置が実行する、最適な配置構成の導出処理を示すフローチャート。
【図8】第1の実施形態において、AS構成クラスタおよびAA構成クラスタが取り得る仮想マシンの配置パターンの集合を説明する図。
【図9】ひとつの物理マシンに障害が発生した場合における、残りの物理マシン上に配置された仮想マシンの物理リソース使用量の変化を説明する図。
【図10】ひとつの物理マシンがメンテナンスに移行した場合における、残りの物理マシン上に配置された仮想マシンの物理リソース使用量の変化を説明する図。
【図11】第2の実施形態による配置構成管理装置が実行する、最適な配置構成の導出処理を示すフローチャート。
【図12】第4の実施形態による最適化問題を表す数式を示す図。
【図13】最適化問題の実験結果を説明する図。
【発明を実施するための形態】
【0013】
以下、本発明について実施形態をもって説明するが、本発明は、後述する実施形態に限定されるものではない。以下説明する実施形態では、それぞれ仮想マシン稼働環境を提供する複数の物理マシンと、上記複数の物理マシンへ各々の仮想マシンを割り当てる配置構成管理装置とを含む仮想化システムを一例として説明する。
【0014】
[第1の実施形態]
図1は、本発明の第1の実施形態による仮想化システムの概略図を示す。本実施形態の仮想化システム100は、それぞれネットワーク102に接続される複数の物理マシン110と、配置構成管理装置120とを含み構成される。物理マシン110は、それぞれ、プロセッサ、メモリ、ネットワーク・アダプタなどの物理リソースを含み、物理マシン110上には、ハイパーバイザと呼ばれる仮想化機構が稼働している。物理マシン110上で稼働する仮想化機構によって、上記物理マシン110により提供される物理リソースが抽象化され、仮想化されたコンピュータ、すなわち仮想マシン(Virtual Machine)が、物理リソース上に実現される。
【0015】
仮想マシンは、いわゆるシステム仮想マシンと呼ばれるものであり、特に限定されるものではないが、物理区画(PPAR;Physical PARtition)方式やDSD(Dynamic System Domain)方式やnPar(nPartition)方式などのハードウェア物理分割による仮想マシン、論理区画(LPAR;Logical PARtition)方式やLDOM(Logical Domain)方式やvPar(virtual Partition)方式などのハードウェア論理分割による仮想マシン、ベアメタル型あるいはホスト型の仮想化OSなどのソフトウェア分割による仮想マシンなど、如何なるアーキテクチャのシステム仮想マシンを採用することができる。好適な実施形態では、パフォーマンス、信頼性、リソース割り当てのきめ細やかさの観点からは、上記ハードウェア論理分割による仮想マシンを採用することができる。
【0016】
図2は、本発明の第1の実施形態による仮想化システムにおいて、所定の配置構成で物理マシン上に配置されて稼働する仮想マシンを説明する図である。なお、図2には、上記論理区画方式のアーキテクチャによる仮想マシンが示されている。図2に示すように、物理マシン110a〜110h各々の上には、ハイパーバイザ112a〜112hが稼働し、さらにその上で、1以上の仮想マシン(論理区画;LPAR)114(図2中、仮想マシン114a,114b,114cに代表して符号が付されている。)が稼働する。
【0017】
仮想マシン114は、それぞれ、統合される業務システムいずれかに属するサーバ機能を提供し、該サーバ機能を実装するOS(図示せず。)が仮想マシン114上で稼働する。仮想マシン114は、特に限定されるものではないが、実行系および待機系からなるアクティブ−スタンバイ構成(以下、AS構成という。)のクラスタ、または複数の実行系からなるアクティブ−アクティブ構成(以下、AA構成という。)のクラスタに属することができる。AS構成のクラスタは、実行系と呼ばれるアクティブ仮想マシンと、待機系と呼ばれるスタンバイ仮想マシンとを含み構成され、一方が待機している間は他方が実行系となり、該実行系が障害等により停止した契機で上記待機系が実行系になるというように、サーバ機能にかかる処理を時間的に分担し合う。これに対して、AA構成のクラスタは、実行系であるアクティブ仮想マシンを複数含み構成され、仮想マシンが同時に稼働し、クラスタ全体のサーバ機能にかかる処理を量的に分担し合う。いずれの構成においても、同一クラスタに属する仮想マシンは、負荷均衡を図り、また耐障害性を向上させる観点から、通常、互いに異なる物理マシン上に配置される。なお、図2には、点線にて、互いに異なる物理マシン上に配置された2つの仮想マシンからなるクラスタ116を代表して示してある。
【0018】
業務システム、クラスタおよび仮想マシンの関係について説明を加えると、本実施形態の仮想化システム100において統合される業務システムは、それぞれ1以上のサーバ機能を備えており、サーバ機能がクラスタに対応付けられて、各サーバ機能にかかる処理が対応クラスタ内の複数の仮想マシンによって分担される。つまり、上記業務システムは、単一の(または単一とみなせる)サーバ機能を備える場合は単一のクラスタと一致し、複数のサーバ機能を備える場合には、図3に示すように、複数のクラスタ210からなる上位クラスタ200に一致する。
【0019】
また、上位クラスタ200に属するクラスタ210は、アクティブ仮想マシン212a(図3ではクラスタaについて例示する。以下同じ。)とスタンバイ仮想マシン214aとからなるAS構成のクラスタ、複数のアクティブ仮想マシン216c,218c(図3ではクラスタcについて例示する。)からなるAA構成のクラスタ、単一構成の仮想マシン、またはこれらの混合として構成することができる。上位クラスタ200が形成される場合、同一上位クラスタに属するクラスタの負荷特性が類似するであろうとの推測や、同一上位クラスタに属する仮想マシンが同時に停止してしまうことは回避すべきであるとの制限から、同一上位クラスタに属する仮想マシンを異なる物理マシン上に配置することが好ましい場合がある。詳細は後述するが、上述のような仮想マシンが属する上位クラスタ間の関係を考慮して仮想マシンの配置構成を導出することができる。なお、説明する第1の実施形態では、業務システムとクラスタとが1対1で対応するものとして説明する。
【0020】
再び図1を参照すると、配置構成管理装置120は、上記仮想マシン114の物理マシン110への最適な配置構成を決定する配置構成最適化機能を備える。サーバ統合においては、同一物理マシン上に相乗りさせる業務システムの組み合わせについて検討の余地がある。例えば、負荷特性の異なる業務システムの仮想マシンを適切に組み合わせて物理マシンへ配置することにより、物理マシンの負荷ピークを平滑化し、リソース利用効率およびサーバの集約率のさらなる向上が期待できる。一方、各々の業務システムは、負荷ピーク時間帯や負荷分布など負荷特性が大きく異なる。そこで、本実施形態による配置構成管理装置120は、仮想マシン114の物理マシン110への配置構成を求めるという問題を、業務システムの負荷特性を折り込んだ最適化問題として取り扱い、仮想マシン114を割り当てる対象となる物理マシン110全体にわたる物理リソース総量を最小化する配置構成を導出する。配置構成管理装置120は、さらに、導出された配置構成に従って、仮想マシン114を物理マシン110上に配置することができる。
【0021】
配置構成管理装置120は、概ね、パーソナル・コンピュータ、ワークステーション、ラックマウント型サーバ、ブレード型サーバまたはメインフレームなど、1または複数のコンピュータからなる汎用コンピュータ・システムとして構成される。配置構成管理装置120は、より具体的には、シングルコア・プロセッサまたはマルチコア・プロセッサなどのCPU、キャッシュ・メモリ、RAM、ネットワーク・アダプタ、ストレージ・デバイスなどのハードウェア・リソースを備え、Windows(登録商標)、UNIX(登録商標)、LINUX(登録商標)、AIX(登録商標)などの適切なOSの制御の下、それぞれ、仮想マシンの配置構成を最適化する機能を実現する。なお、説明する実施形態では、物理マシン110と異なった物理システム上で配置構成管理装置120が稼働するものとして説明するが、他の実施形態では、いずれか1つ又は複数の物理マシン上の仮想マシンに、配置構成管理装置120としての機能を実装してもよい。
【0022】
配置構成管理装置120は、さらに、配置構成管理装置120が備えるディスプレイおよび入力デバイスを含むユーザ・インタフェースを介して、またはリモート・インタフェースを介して、仮想化環境の各種設定管理を行うための管理インタフェースを提供する。管理者は、入力デバイスを用いて、または上記リモート・インタフェースに接続されるクライアント端末を用いて、最適な配置構成の導出、導出された配置構成に応じた配置または再配置の実施などの各種指示を行うことができる。
【0023】
上記ネットワーク102は、ネットワーク・アダプタを介して物理マシン110間を相互に接続するネットワークであり、特に限定されるものではないが、例えばギガビット・イーサネット(登録商標)などのローカル・エリア・ネットワークを含むことができる。さらに、他の実施形態では、ネットワーク102は、専用線を介して、またはVPN(Virtual Private Network)を用いて公衆回線を介して、異なるロケーションのLANが結合されて構成される広域ネットワークとして構成することもできる。さらに、他の実施形態では、物理マシン110間は、図示しない、ファイバ・チャネルを用いたストレージ・エリア・ネットワーク(SAN)を介して、相互に接続されていてもよい。
【0024】
以下、図4〜図10を参照しながら、本発明の第1の実施形態による、仮想マシンの配置構成最適化処理について、より詳細に説明する。図4は、本発明の第1の実施形態による仮想化システムの機能ブロック図を示す。図4には、複数の物理マシン110と、上記複数の物理マシン110にわたって構築されたサーバ統合環境上で稼働する複数の業務システム116と、未統合の業務システム118と、配置構成管理装置120上に構築される機能ブロックとが示されている。
【0025】
配置構成管理装置120は、リソース使用履歴収集部122と、リソース使用履歴データベース124とを含み構成される。リソース使用履歴収集部122は、仮想化環境で稼働する各業務システム116と通信して、各クラスタ(本実施形態では業務システムに一致する。以下同じ。)に関する物理リソースの使用履歴情報を取得し、リソース使用履歴データベース124に記録する。あるいは、リソース使用履歴収集部122は、仮想化環境に統合する対象となる未統合の業務システム118の履歴情報を記憶するファイルをインポートして、その物理リソースの使用履歴情報を取得し、リソース使用履歴データベース124に記録する。クラスタに関する使用履歴情報は、詳細は後述するが、クラスタの負荷特性を反映しており、各クラスタにおける物理リソースの将来需要を予測するために利用される。
【0026】
使用履歴情報が収集される物理リソースとしては、好適には物理プロセッサを用いることができるが、特に限定されるものではなく、その他、物理メモリ、物理ネットワーク・アダプタ、物理ストレージなど物理的なハードウェアを挙げることができる。なお、本明細書においては、仮想化されたハードウェアについては、物理的なハードウェアと区別するため「仮想」を付し、物理的なハードウェアについては「物理」を付して参照する。
【0027】
上記物理リソースの使用履歴情報は、所定間隔でサンプリングされた物理リソースの使用量の時系列データとして取得することができる。上記物理リソースの使用量は、特に限定されるものではないが、物理リソースのうち実際に使用された割合を示す物理リソースの使用率、または物理リソースの動的な割り当てができる場合は仮想マシンに割り当てられる物理リソースの割当量を、適宜換算して好適に用いることができる。上記物理リソースの使用率は、業務システム116,118全体または業務システム118内のサーバ(仮想マシン)の詳細な負荷を反映する情報として利用することができる。また、仮想マシンに割り当てるプロセッサ数等が負荷に応じて動的に変更可能なアーキテクチャにおいては、プロセッサ等の割当量は、負荷を反映する情報としても利用することができる。この場合における物理リソースの割当量としてのプロセッサ数は、マイクロ・パーティショニング機能を備えるなど1より細粒度の単位で処理能力を仮想マシンに割り当て可能なアーキテクチャを採用する場合は、1より細粒度の単位(例えば小数点単位)で表される。すなわち、物理リソースの使用量は、ある時点での業務システム116,118において実際に消費された物理リソース量に概ね一致する。
【0028】
リソース使用履歴収集部122が取得し、リソース使用履歴データベース124に記録される使用履歴情報は、業務システム116から取得可能な情報であれば特に限定されるものではない。使用履歴情報は、たとえば、クラスタ全体にわたる物理リソースの総使用量として、またはクラスタに属する仮想マシン単位または物理サーバ単位にブレークダウンされた物理リソースの個別使用量として、取得することができる。なお、説明する実施形態では、細粒度の単位でプロセッサ数が動的に変更可能なアーキテクチャを採用するものとし、リソース使用履歴収集部122は、所定間隔でサンプリングされたクラスタ全体における物理プロセッサの総使用量の時系列データを取得するものとして説明する。
【0029】
配置構成管理装置120は、さらに、ピーク使用量予測部126を含み構成され、このピーク使用量予測部126は、上記リソース使用履歴データベース124に記録された各クラスタ関する使用履歴情報から、後述する配置構成を最適化するための基礎となるデータ・セットを決定する。上記データ・セットは、仮想化システム100に対象となるすべての業務システム116,118が統合されたとした場合の物理リソースの将来需要を予測するものであり、各クラスタcに関して、時間区間t毎に整理された、各クラスタc全体の物理リソースの総予測ピーク使用量、または各クラスタc内の仮想マシン単位の物理リソースの個別予測ピーク使用量とすることができる。
【0030】
上記時間区間tは、クラスタの時間的な負荷特性を特徴付けるためのものであり、好適には1日から分割された複数の時間帯として定義することができる。この場合、上記リソース使用履歴データベース124にクラスタ全体における物理プロセッサの総使用量の時系列データが記録されているのであれば、1日を周期として時間帯毎に当該時系列データを区分して、区分された各時間区間内でのピーク値を求める。なお、ピークを求める際には、時系列データの重み付け平均化等の適当な処理を施し、突発的な負荷変化を除外してもよい。他の実施形態では、時間区間tは、上記時間帯に限定されるものではなく、任意の時間間隔(インターバル)の時間区間をとし、複数の時間間隔を周期として時系列データを時間間隔毎に整理したり、1週間を周期として時系列データを曜日毎に整理したり、1ヶ月を周期として時系列データを上旬、中旬、下旬毎に整理したりすることもできる。
【0031】
図5は、取得された使用履歴情報から、時間区間t毎のクラスタ全体の物理リソースの総予測ピーク使用量、または仮想マシン単位の個別予測ピーク使用量を求める方法を説明する図である。図5(A)は、1日周期で2分割した場合を例示し、図5(B)は、1日周期で4分割した場合を例示する。ピーク使用量予測部126は、図5に示すように、クラスタ全体における物理プロセッサの総使用量の時系列データから1日分の時系列データを切り出し、12時間毎に区分し、各区分内でのピーク値を求める。なお、説明する実施形態では、時系列データから1周期分のデータを切り出すものとして説明したが、2周期以上のデータを重ね合わせてもよい。
【0032】
また、クラスタ全体の物理リソースの総予測ピーク使用量および仮想マシン単位の個別予測ピーク使用量のいずれを決定するかについては、以下のように説明される。本実施形態では、AS構成のクラスタの場合、スタンバイ仮想マシンは最小限の物理リソースを使用し、アクティブ仮想マシンは負荷に応じた物理リソースを使用する。ここで決定される予測ピーク使用量は、仮想マシン毎の負荷状況を把握するために利用されるものであることから、AS構成のクラスタiについては、アクティブおよびスタンバイの仮想マシン毎にブレークダウンされた個別予測ピーク使用量αi,tおよびσi,tを決定する。スタンバイ仮想マシンの個別予測ピーク使用量σi,tは、概ね必要最小限の一定量となり、一方、アクティブ仮想マシンの個別予測ピーク使用量αi,tは、業務システムの負荷状況を反映した値となる。図5(A)は、AS構成のクラスタiについてのクラスタ全体における物理プロセッサの総予測ピーク使用量と、アクティブ仮想マシンの個別予測ピーク使用量と、スタンバイ仮想マシンの個別予測ピーク使用量と示す。図5(A)中、概ね一定の値を示すものが、スタンバイ仮想マシンのものを表している。
【0033】
これに対して、AA構成のクラスタの場合、各仮想マシンには略均等に、または一定の重み付けに応じて負荷が割り当てられ、各仮想マシンは負荷状況に応じて物理リソースを使用する。このため、AA構成のクラスタjについては、少なくともクラスタ全体の総予測ピーク使用量πj,tが決定されれば、略均等に分配される場合には総予測ピーク使用量πj,tを並列数ρjで割ることにより、各個別予測ピーク使用量を求めることができる。図5(B)は、AA構成のクラスタjについてのクラスタ全体における物理プロセッサの総予測ピーク使用量と、各仮想マシン毎にブレークダウンされた各個別予測ピーク使用量とを、塗りつぶしの濃度を変えて表現してある。
【0034】
再び図4を参照すると、配置構成管理装置120は、さらに、配置構成最適化問題設定部128と、配置構成導出部132と、仮想マシン配置処理部136とを含み構成される。配置構成最適化問題設定部128は、仮想マシンを物理マシンへ割り当てる最適な配置構成を求めるという問題を最適化問題として取り扱い、目的関数および制約条件を含む最適化問題を記述するデータ(以下、最適化問題データと参照する。)130を設定する。ここで、目的関数は、割り当てる対象となる複数の物理マシンk(k=1,…,K)全体の物理リソース量zkの総和であり、上記最適化問題は、下記式(1)および(2)に示すような、所定の制約条件従って、複数の物理マシン全体の物理リソース量の総和Σzkを最小化する仮想マシンの配置構成を規定する決定変数の解を求めるという問題となる。
【0035】
【数1】
【0036】
上記式(2)は、すべての物理マシンk(k∈K:Kは物理マシンの集合を表す。)について保証するべき制約条件であり、上記制約条件(2)中、φk,k’,tは、時間区間t内に他の物理マシンk’が停止したときに当該物理マシンkに対して予測される物理リソースの合計予測ピーク使用量を表す。つまり、上記制約条件(2)は、障害時やメンテナンス時に少なくとも1つの物理マシンが停止した場合でも充分な物理リソースを確保できることを保証するための条件である。なお、物理マシンkの合計予測ピーク使用量φk,k’,tは、詳細は後述するが、上述したピーク使用量予測部126が決定したデータ・セットを用いて求められる。
【0037】
図6は、故障またはメンテナンスに起因してひとつの物理マシンが停止した場合における、残りの物理マシン上に配置された仮想マシンの物理リソース使用量の変化を説明する図である。図6に示すように、各物理マシンには仮想マシンに割当可能な物理プロセッサが準備されている。ここで、故障等に起因して中央の物理マシンが停止したとすると、停止前に中央の物理マシン上で稼働していた各仮想マシンに対応する他の物理マシン上の各仮想マシンは、物理プロセッサの使用量を増加させる。図6に示す例では、中央の物理マシン上のアクティブ仮想マシン(白)が停止したことに伴い、左側の物理マシン上の同一AS構成クラスタに属するスタンバイ仮想マシン(白)がアクティブ化する。同様に、中央の物理マシン上のアクティブ仮想マシン(ダークグレイ)が停止したことに伴い、右側および左側の物理マシン上の対応するアクティブ仮想マシン(ダークグレイ)が物理プロセッサの使用量を増加させる。
【0038】
このように、ひとつの物理マシンの停止に伴い、他の物理マシン上の対応する各仮想マシンの物理リソースの使用量は、当該停止した物理マシン上の各仮想マシンが負担していた処理負荷を引き受けるために引き上げられる。このとき、物理マシンの停止を許容するためには、残された物理マシンに準備される物理リソース量が、停止する物理マシンが負担していた処理負荷を担えるだけ充分に準備されている必要がある。また、このような条件は、あらゆる組み合わせで満たされる必要がある。
【0039】
上記制約条件(2)は、あらゆるk’(≠k)およびtの組み合わせについて、当該物理マシンkに予測される物理リソースの合計予測ピーク使用量φk,k’,tが、当該物理マシンkに準備する物理リソース量zkを上回らないという制約条件を表している。この制約条件を満たす限り、ひとつの物理マシンの停止を考慮しても充分な物理リソース量が確保されていることが保証される。一方、リソース利用効率を追求するためには、準備する物理リソース量を最小化する必要がある。これは、上記制約条件の下、物理マシンにわたる物理リソース量の総和Σzkが最小化されることによって達成される。
【0040】
配置構成導出部132は、配置構成最適化問題設定部128が設定した最適化問題データ130を読み出し、上記最適化問題を厳密にまたは近似的に解き、決定変数の最適解を演算する。決定変数は、仮想マシンの配置構成を表し、導出された決定変数の最適解により最適な配置構成が規定される。最適化問題は、IBM(登録商標)ILOG(登録商標)CPLEX(登録商標)、LINDO(登録商標)、NUOPT(登録商標)、lp_solveなどの既知の数理計画ソルバーを使用してその解を求めることができる。ここで、厳密に解くとは、一定の収束条件を満たすまで解が収束したことをもって最適解とする解き方をいい、近似的に解くとは、例えば反復回数など所定の打切条件を満たすまで解の演算を繰り返し、打切条件が成立した段階で得られた解を最適解とする解き方をいう。配置構成導出部132は、決定変数の最適解が求められると、この決定変数の最適解から仮想マシンの配置構成を導出し、さらに物理マシンにわたる物理リソース量の総和Σzkおよび物理マシン毎の物理リソース量zkを導出し、最適な配置構成および必要最小限の物理リソースに関する情報を含む演算結果134として出力する。なお、最適化問題の詳細については、以下、フローチャートを参照してより詳細に説明する。
【0041】
仮想マシン配置処理部136は、上記演算結果134を提示した後に管理者から了解を受領したことに応答して、または自動的に、導出された仮想マシンの配置構成に従って、仮想マシン各々を対応する物理マシン110上に配置する処理を行う。物理マシン110上への仮想マシンの配置は、仮想マシンの各々を物理マシン上にプロビジョニングすることにより、または上記仮想マシンの各々を、従前の物理マシンから対応する物理マシンへマイグレーションさせることにより行うことができる。ライブ・マイグレーション、ライブ・パーティション・モビリティ(LPM)などの技術を用いることで、仮想マシン稼働中にダウンタイムなしに、仮想マシンの再配置を実現することができる。
【0042】
図7は、第1の実施形態による配置構成管理装置120が実行する、最適な配置構成の導出処理を示すフローチャートである。図7に示す処理は、例えば管理者から上記ユーザ・インタフェースまたはリモート・インタフェースを介した明示的な指示に応答して、ステップS100から開始される。ステップS101では、ピーク使用量予測部126は、リソース使用履歴データベース124から履歴情報を読み出し、各時間区間tおよびクラスタc毎の総予測ピーク使用量を決定する。ステップS102では、上記各クラスタc毎の総予測ピーク使用量から、少なくともAS構成のクラスタiに関しては、各時間区間tおよび仮想マシン毎の個別予測ピーク使用量を決定する。
【0043】
ステップS103では、配置構成最適化問題設定部128は、目的関数および制約条件を含む最適化問題を生成し、最適化問題データ130に記述する。第1の実施形態における最適化問題は、下記式(3)〜(8)で表される0−1整数線形計画問題として表現される。
【0044】
【数2】
(ここで、IはAS構成のクラスタ数;JはAA構成のクラスタ数;Kは物理マシン数;
Tは時間区間数;Pは、AS構成の仮想マシン配置パターンの集合;Qは、AA構成の仮想マシン配置パターンの集合;
Akは、物理マシンkにアクティブ仮想マシンを配置するAS構成の仮想マシン配置パターンの集合(∈P);Skは、物理マシンkにスタンバイ仮想マシンを配置するAS構成の仮想マシン配置パターンの集合(⊆P);Qkは、物理マシンkに仮想マシンを配置するAA構成の仮想マシン配置パターンの集合(⊆Q);|q|は、仮想マシン配置パターンqに含まれる仮想マシン数;
xi,p=1は、AS構成のクラスタiを仮想マシン配置パターンpで配置することと同値;yj,q=1は、AA構成のクラスタjを仮想マシン配置パターンqで配置することと同値;
ai,tは、時間区間tにおけるAS構成クラスタi内のアクティブ仮想マシンの物理プロセッサの個別予測ピーク使用量;si,tは、時間区間tにおけるAS構成クラスタi内のスタンバイ仮想マシンの物理プロセッサの個別予測ピーク使用量;ci,tは、時間区間tにおけるAA構成クラスタj内の物理プロセッサの総予測ピーク使用量である。)
【0045】
上記0−1整数線形計画問題において決定変数は、上記式(4)および(5)で定義される、AS構成クラスタiの仮想マシンの配置を規定するxi,pと、AA構成クラスタjの仮想マシンの配置を規定するyj,qとを含み、これらは「0」または「1」いずれかの値を取り得る。上記式(6)および(7)は、各クラスタがいずれかの仮想マシン配置パターンで表されることを意味している。なお、個別予測ピーク使用量ai,t,si,tおよび総予測ピーク使用量ci,tは、それぞれ、ステップS102およびステップS101で求められるものである。
【0046】
図8は、AS構成クラスタiおよびAA構成クラスタjが取り得る仮想マシンの配置パターンの集合を説明する図である。図8中、「A」および「S」は、アクティブ仮想マシンおよびスタンバイ仮想マシンが配置されることを表している。図8に示すように、集合Pは、アクティブおよびスタンバイの仮想マシンからなるAS構成のあらゆる仮想マシン配置パターンを含み、いずれの仮想マシン配置パターンも、アクティブおよびスタンバイの両仮想マシンを同一物理マシン上に配置しない。同様に、集合Qは、2以上物理マシン数以下の仮想マシンからなるAA構成のあらゆる仮想マシン配置パターンを含み、いずれの仮想マシン配置パターンも、同一物理マシン上に複数のアクティブ仮想マシンを配置しない。
【0047】
上記式(8)は、上述した制約条件(2)に対応するものであり、各物理マシンkについて保証される制約条件であって、あらゆるk’,tの組み合わせに関し、時間区間t内に他の物理マシンk’が停止したときの当該物理マシンkに予測される物理リソースの合計予測ピーク使用量が、当該物理マシンkに準備する物理リソース量zkを上回らないという制約条件を表している。上記式(8)の左辺は、上記式(2)における合計予測ピーク使用量φk,k’,tに対応する。
【0048】
上記式(8)左辺中、第1項目のiに関する総和Σは、時間区間t内に他の物理マシンk’が停止したときの当該物理マシンkで発生するAS構成クラスタi毎の予測ピーク使用量を、すべてのAS構成クラスタi(i=1,…,I)にわたって総和をとることを意味する。上記式(8)左辺中、第2項目のjに関する総和Σは、同様に、時間区間t内に他の物理マシンk’が停止したときの当該物理マシンkに発生するAA構成クラスタj毎の予測ピーク使用量を、すべてのAA構成クラスタj(j=1,…,J)にわたって総和をとることを意味する。
【0049】
第1項目のiについての総和Σにおける第1番目の総和Σai,txi,pは、ある決定変数xi,pが与えられたときに、当該決定変数xi,pが、上記他の物理マシンk’が停止した後の状態において物理マシンk上にAS構成クラスタiのアクティブ仮想マシンを配置するものである場合(物理マシンk上にアクティブ仮想マシンを配置する場合(p∈Ak)と、物理マシンk上にスタンバイ仮想マシンを配置し、他の物理マシンk’にアクティブ仮想マシンを配置する場合(p∈Sk∩Ak’)との両方を含む。)に、アクティブ仮想マシンの個別予測ピーク使用量ai,tを与えるものである。図9(A)に示すように、物理マシンk上にスタンバイ、他の物理マシンk’上にアクティブ仮想マシンを配置する場合(p∈Sk∩Ak’)は、他の仮想マシンk’が停止した場合、当該物理マシンk上のスタンバイ仮想マシンがアクティブ化され、アクティブ仮想マシンとなる。
【0050】
同様に、第2番目の総和Σsi,txi,pは、与えられた決定変数xi,pが、上記他の物理マシンk’が停止した後の状態において物理マシンk上にAS構成クラスタiのスタンバイ仮想マシンを配置するものであった場合(物理マシンk上にスタンバイ仮想マシンを配置し、他の物理マシンk’にアクティブ仮想マシンを配置する場合を除く(p∈Sk∩(¬Ak’))。)に、スタンバイ仮想マシンの個別予測ピーク使用量si,tを与えるものである。
【0051】
第2項目のAA構成クラスタjに関する総和Σの括弧内は、ある決定変数yi,qが与えられたときに、当該決定変数が、上記他の物理マシンk’が停止した後の状態において物理マシンk上にAA構成クラスタjのアクティブ仮想マシンを配置するものであった場合に、アクティブ仮想マシンの物理プロセッサの個別予測ピーク使用量を与えるものである。この個別予測ピーク使用量は、他の物理マシンk’にアクティブ仮想マシンが配置されているか否かで値が異なる。物理マシンk’上に配置される場合(q∈Qk∩Qk’)には、個別予測ピーク使用量は、図9(B)に示すように、停止した物理マシンk’上の仮想マシンの負荷を残りの物理マシン間で負担し合うため、AA構成クラスタj内の物理プロセッサの総予測ピーク使用量cj,tを並列数|q|−1(停止仮想マシン数)で割った相当量となる。物理マシンk’上に配置されない場合(q∈Qk∩(¬Qk’))には、個別予測ピーク使用量は、総予測ピーク使用量cj,tを並列数|q|で割った相当量となる。
【0052】
上記式(8)に関してまとめると、以下のように説明される。すなわち、
(i)第1項目のAS構成クラスタiに関する総和Σは、クラスタiの配置構成を規定する決定変数xi,pに対応して与えられる、他の物理マシンk’が停止したときに物理マシンkに対して予測される該クラスタiによる予測ピーク使用量(0か、ai,tか、またはsi,tの値をとる。)の、すべてのAS構成クラスタi(i=1,…,I)にわたる総和を表し、
(ii)第2項目のAA構成クラスタjに関する総和Σは、クラスタjの配置構成を規定する決定変数yj,qに対応して与えられる、他の物理マシンk’が停止したときに物理マシンkに対して予測される該クラスタjによる予測ピーク使用量(0か、cj,t/(|q|−1)か、またはcj,t/|q|かの値をとる。)の、AA構成クラスタj(j=1,…,J)にわたる総和を表し、
上記式(8)は全体として、クラスタc(AS構成クラスタiおよびAA構成クラスタjを含む。)の配置構成を規定する決定変数xi,p,yj,qに対応して与えられる、他の物理マシンk’が停止したときに物理マシンkに対して予測される該クラスタcによる予測ピーク使用量のすべてのクラスタにわたる合計が、当該物理マシンk上に準備される物理リソース量を上回らないという制約を課す。
【0053】
再び図7を参照すると、ステップS104では、配置構成最適化問題設定部128は、目的関数および制約条件を含む最適化問題を数理計画ソルバーに設定する。ステップS105では、配置構成導出部132は、上記最適化問題が設定された数理計画ソルバーに対して演算の実行を指令し、最適化問題の決定変数の最適解を得る。第1の実施形態における最適化問題は、上記式(3)〜(8)で表される0−1整数線形計画問題として表現されるため、分枝限定法や分枝切除法などのアルゴリズムを実装する数理計画ソルバーを用いることができる。ステップS106では、配置構成導出部132は、決定変数が規定する仮想マシンの配置構成を取得し、数理計画ソルバーから上記最適解に対応する最小化された目的関数の値を、必要最小限の物理リソース量として取得し、演算結果134を書き込む。なお、上記式(3)〜(8)で表される0−1整数線形計画問題では、決定変数xi,p,yj、qは、各クラスタi,jの一意の仮想マシン配置パターンを示すため、決定変数xi,p,yj、qから、各仮想マシンを物理マシンへマッピングする具体的な配置構成を得る。
【0054】
ステップS107では、仮想マシン配置処理部136は、演算結果134を読み出して、上記ユーザ・インタフェースまたはリモート・インタフェースを介して、仮想マシンの配置構成および必要最小限の物理リソース量を管理者に提示し、以後の指示を仰ぐ。ステップS108では、管理者から配置実施の指示があったか否かで処理を分岐させる。ステップS108で、配置実施の指示があった場合(YES)には、ステップS109で、仮想マシン配置処理部136は、取得された配置構成に従って、各クラスタの各々の仮想マシンを対応する物理マシン上へ配置し、ステップS110で処理を終了する。一方、ステップS108で、配置実施の指示がなかった場合(NO)には、ステップS110へ直接分岐させて、ステップS110で処理を終了する。
【0055】
上述した第1の実施形態による配置構成管理装置120によれば、一部の物理マシンが障害のために停止した場合にも継続的にサービスを提供するに充分な物理リソース量を確保し、かつ、割り当て対象となる物理マシンの全体の物理リソース量を最小化する仮想マシンの配置構成を決定することができる。このとき、決定された配置構成は、各業務システムのサーバ機能の負荷特性を考慮して、最適化問題の最適解として客観的に求められたものである。このため、仮想マシンの配置構成の担当者は、その結果を信頼してシステム全体の物理リソース量を低減することができ、リソース利用効率を向上し、仮想化システム100全体の設備コストを削減することが可能となる。
【0056】
なお、決定された物理リソース量が、実際に物理マシンに準備された物理リソース量を超える場合には、物理プロセッサ、メモリ等の物理リソースを人手により物理マシンに増設すればよい。その他、物理マシンが、CUoD(Capacity Upgrade on Demand)等の技術に対応している場合には、ユーザーの要求に応じてコンソール端末等から任意のコードを入力することで予備用として搭載している物理プロセッサを有効化することで物理プロセッサを増設する対応としてもよい。
【0057】
なお、上述した第1の実施形態では、物理マシンが故障に起因して停止した場合について説明したが、他の実施形態では、物理マシンがメンテナンスに起因して停止する場合について適用してもよい。メンテナンスを行う場合、図10に示すように、メンテナンスに移行する物理マシン上の仮想マシンは、予め所定の待避先の物理マシン上に待避される。物理マシンがメンテナンスに起因して停止する場合に対応する実施形態では、詳細は後述するが、待避先の物理マシンを指定する制約条件をさらに規定し、上記式(8)で示す制約条件を適宜修正すればよい。
【0058】
[第2の実施形態]
以下、物理マシン数が多い場合に有効な第2の実施形態による配置構成管理装置について説明する。なお、第2の実施形態による仮想化システムは、最適化問題以外の構成については、第1の実施形態による仮想化システム100と概ね同一の構成を備えるため、以下、最適化問題について説明する。
【0059】
第2の実施形態における最適化問題は、下記式(9)〜(17)で表される0−1整数線形計画問題として表現される。
【0060】
【数3】
(ここで、IはAS構成のクラスタ数;JはAA構成のクラスタ数;Kは物理マシン数;Tは時間区間数;Pは、AS構成の仮想マシン配置パターンの集合;Akは、物理マシンkにアクティブ仮想マシンを配置するAS構成の仮想マシン配置パターンの集合(∈P);Skは、物理マシンkにスタンバイ仮想マシンを配置するAS構成の仮想マシン配置パターンの集合(⊆P);
xi,p=1は、AS構成のクラスタiを仮想マシン配置パターンpで配置することと同値;yj,k=1は、AA構成のクラスタj内の仮想マシンを物理マシンkに配置することと同値;wj,k,k’は、AA構成のクラスタjの仮想マシンを物理マシンkおよび他の物理マシンk’に配置すると「1」となり、それ以外は「0」または「1」となる;qjは、AA構成のクラスタjの並列度;
ai,tは、時間区間tにおけるAS構成のクラスタi内のアクティブ仮想マシンの予測ピークCPU使用量;si,tは、時間区間tにおけるAS構成のクラスタi内のスタンバイ仮想マシンの予測ピークCPU使用量;ci,tは、時間区間tにおけるAA構成のクラスタj内の合計予測ピークCPU使用量である。)
【0061】
上記0−1整数線形計画問題において決定変数は、上記式(10)および(11)で定義される、AS構成クラスタiの仮想マシンの配置を規定するxi,pと、AA構成クラスタjの仮想マシンの配置を規定するyj,kを含み、これらは「0」または「1」いずれかの値を取り得る。一方、第2の実施形態では、AA構成クラスタjの仮想マシンの配置は、複数の仮想マシン全体の配置を規定するパターンではなく、物理マシンk上に仮想マシンが配置されるか否かを示す決定変数yj,kを用いて表され、上記式(14)によりアクティブ仮想マシンの合計数が制限される。さらに、第2の実施形態では、上記式(12)および(15)に規定される変数wj,k,k’が導入され、この変数wj,k,k’は、AA構成クラスタjの仮想マシンが物理マシンkおよび他の物理マシンk’の両方に配置される場合に値が「1」となる。
【0062】
上記式(16)および(17)は、上述した制約条件(2)に対応するものであり、物理マシンkについて保証するべき制約条件であって、kおよびk’の大小関係で場合分けして、あらゆるk’,tの組み合わせに関し、時間区間t内に他の物理マシンk’が停止したときの当該物理マシンkに予測される物理リソースの合計予測ピーク使用量が、当該物理マシンkに準備する物理リソース量zkを上回らないという制約条件を表している。
【0063】
上記式(16)および上記式(17)の左辺中、第1項目のiに関する総和Σは、第1の実施形態の場合と同様である。上記式(16)および式(17)の左辺中、第2項目のjに関する総和Σは、第1の実施形態の場合と表現形式は異なっているものの、概ね同一の内容を規定するものである。上記式(8)との相違は、クラスタjの配置構成を規定する決定変数yj,kが与えられたときに、第2項目のjに関する総和Σ内の第1項目で、故障なく並列度qjで分配した場合に相当する使用量を与え、第2項目で、さらに他の物理マシンk’上にもアクティブ仮想マシンが配置される場合の差分を加算して与えるよう定式化されている点である。上記差分は、故障により並列度qj−1で分配した使用量と、故障なく並列度qjで分配した使用量との差である。
【0064】
第2の実施形態による最適化問題は、物理マシン数Kが多く、並列度qjが概ね物理マシン数Kの半分程度に抑えられるケースで演算パフォーマンスの観点から有効である。さらに他の実施形態では、上記式(9)〜(17)の定式化に、冗長な不等式・等式を追加することで、さらに演算パフォーマンスを向上させることができる。これらの冗長な不等式・等式は、整数解を探索する時の探索空間を限定し、探索範囲を縮小する効果を持つことから演算パフォーマンスの向上が期待できる。例えば、上記式(15)の制約によれば、wj,k,k’の値がyj,kかけるyj,k’となるように、yj,kとyj,k’の両方が1の場合、wj,k,k’の値も1でないといけないが、それ以外の場合、wj,k,k’の値は0でも1でもよいことになっている。しかし、最適解ではwj,k,k’の値が0であることが知られているので、以下のように冗長な等式を追加することでwj,k,k’の探索空間を限定する効果が期待できる。
【0065】
【数4】
【0066】
[第3の実施形態]
以下、最適化問題が大規模化する場合に有効な、第3の実施形態による配置構成管理装置について説明する。なお、第3の実施形態による仮想化システムは、最適化問題と、フローチャートとが異なる他は、第1の実施形態による仮想化システム100と概ね同様の構成を備えるため、以下、フローチャートおよび最適化問題について説明する。
【0067】
図11は、本発明の第3の実施形態による配置構成管理装置120が実行する、最適な配置構成の導出処理を示すフローチャートである。図11に示す処理は、例えば管理者から上記ユーザ・インタフェースまたはリモート・インタフェースを介した明示的な指示に応答して、ステップS200から開始される。ステップS201では、ピーク使用量予測部126は、リソース使用履歴データベース124から履歴情報を読み出し、各時間区間tおよびクラスタc毎の総予測ピーク使用量を決定する。ステップS202では、上記各クラスタc毎の総予測ピーク使用量から、少なくともAS構成のクラスタiに関しては、各時間区間tおよび仮想マシン毎の個別予測ピーク使用量を決定する。
【0068】
ステップS203では、配置構成最適化問題設定部128は、目的関数および制約条件を含む最適化問題を生成し、最適化問題データ130に記述する。第3の実施形態における最適化問題は、下記式(18)〜(24)で表される0−1整数2次計画問題として表現される。
【0069】
【数5】
(ここで、IはAS構成のクラスタ数;JはAA構成のクラスタ数;Kは物理マシン数;
Tは時間区間数;
Pは、AS構成のアクティブ仮想マシンの配置を規定する配置行列;Sは、AS構成のスタンバイ仮想マシンの配置を規定する配置行列;Xは、AA構成の仮想マシンの配置を規定する配置行列;
Pik=1は、AS構成クラスタiのアクティブ仮想マシンを物理マシンkに配置することと同値;Sik=1は、AS構成クラスタiのスタンバイ仮想マシンを物理マシンkに配置することと同値;Xjk=1は、AA構成クラスタjのアクティブ仮想マシンを物理マシンkに配置することと同値;qjは、AA構成のクラスタjの並列度;
ai,tは、時間区間tにおけるAS構成クラスタi内のアクティブ仮想マシンの物理プロセッサの個別予測ピーク使用量;si,tは、時間区間tにおけるAS構成クラスタi内のスタンバイ仮想マシンの物理プロセッサの個別予測ピーク使用量;cj,tは、時間区間tにおけるAA構成クラスタj内の物理プロセッサの総予測ピーク使用量である。)
【0070】
上記0−1整数2次計画問題において決定変数は、上記式(21)で定義されるAS構成クラスタiの仮想マシンの配置を規定するPi,k,Si,k(配置行列P,S)、および上記式(23)で定義されるAA構成クラスタjの仮想マシンの配置を規定するXj,k(配置行列X)を含み、これらの要素「0」または「1」いずれかの値を取り得る。上記式(19)および(20)は、各AS構成クラスタiに関して、アクティブ仮想マシンおよびスタンバイ仮想マシンは、1つずつ、いずれかの物理マシン上に存在し、同一物理マシン上にアクティブ仮想マシンおよびスタンバイ仮想マシンの両方が配置されないことを意味している。上記式(22)は、各AA構成クラスタjに関して、合計qj個のアクティブ仮想マシンがいずれかの物理マシン上に存在することを表す。
【0071】
上記式(24)は、上述した制約条件(2)に対応するものであり、あらゆるtに関し、時間区間t内に他のいずれかの物理マシンK’が停止したときの当該物理マシンkに予測される物理リソースの合計予測ピーク使用量が、当該物理マシンkに準備する物理リソース量zkを上回らないという制約条件を表し、第1の実施形態や第2の実施形態と表現形式が異なるが、概ね同一の内容を規定するものである。
【0072】
上記式(18)〜(24)で表される0−1整数2次計画問題は、好適には、下記式(25)〜(29)および下記式(30)〜(34)で表されるような、複数の0−1整数線形計画問題に分けて、配置行列の一方について他の配置行列を固定しながら反復法を適用することより解くことができる。なお、下記式(25)〜(29)および下記式(30)〜(34)は、説明の便宜上、それぞれ、AS構成のクラスタiのみを含む場合において、配置行列Pを固定して配置行列Sについて局所最適解を求める0−1整数線形計画問題と、配置行列Sを固定して配置行列Qについて局所最適解を求める0−1整数線形計画問題とを表している。しかしながら、AA構成のクラスタのみの場合、またはAS構成のクラスタとAA構成クラスタとの混合構成の場合についても同様に適用可能であることは容易に理解されるであろう。
【0073】
【数6】
【0074】
【数7】
【0075】
ステップS204では、配置構成最適化問題設定部128は、局所最適解を求める注目する仮想マシンを切り替えながら設定し、ステップS205で、生成された最適化問題全体のうち、対応する制約条件を含む最適化問題を数理計画ソルバーに設定する。ここで、注目する仮想マシンとは、例えば上記式(25)〜(29)で表される0−1整数線形計画問題では、注目する仮想マシンは、配置行列Sに対応するスタンバイ仮想マシンであり、例えば上記式(30)〜(34)で表される0−1整数線形計画問題では、注目する仮想マシンは、配置行列Pに対応するアクティブ仮想マシンとなる。AS構成のみの場合、ステップS204では、アクティブ仮想マシンおよびスタンバイ仮想マシンをそれぞれ注目する仮想マシンとして切り替えながら、ステップS205で、最適化問題を数理計画ソルバーに設定する。AA構成のみの場合、ステップS204では、それぞれのクラスタから注目する仮想マシンをひとつずつ選択し、ステップS205で、最適化問題を数理計画ソルバーに設定する。
【0076】
ステップS206では、上記最適化問題が設定された数理計画ソルバーに対して演算の実行を指令し、配置構成導出部132は、注目する仮想マシンの配置に関して、注目する仮想マシン以外の仮想マシンの配置行列を固定しながら、対応する0−1整数線形計画問題を解いて、当該注目する仮想マシンの配置行列の目的関数を最小化する局所最適解を求める。ステップS207では、配置構成管理装置120は、終了条件が成立したが否かを判定する。ここで、終了条件は、例えば、求められる局所最適解が収束したかを判定する収束条件、または所定の反復回数や時間により打ち切るための打切条件である。ステップS207で、終了条件が成立していないと判定された場合(NO)には、ステップS204へ処理をループさえ、次の注目する仮想マシンに切り替えて、終了条件が満たされるまで局所最適解の導出を繰り返す。
【0077】
一方、ステップS207で、終了条件が満たされると判定された場合(YES)には、ステップS208へ処理を分岐させる。第3の実施形態における最適化問題は、上記式(25)〜(29)または上記式(30)〜(34)で表される0−1整数線形計画問題として表現されるため、分枝限定法や分枝切除法などのアルゴリズムを実装する数理計画ソルバーを用いることができる。ステップS208では、配置構成導出部132は、決定変数である配置行列P,S,Xが規定する仮想マシンの配置構成を取得し、終了条件が満たされたときの最小化された目的関数の値を、必要最小限の物理リソース量として取得し、演算結果134を書き込む。なお、上記0−1整数線形計画問題では、配置行列P,Sが仮想マシンの配置パターンを示すため、これらか、各仮想マシンを物理マシンへマップする具体的な配置構成が得られる。
【0078】
ステップS209〜ステップS212の処理は、第1の実施形態において、図7のステップS107〜ステップS110で示す処理と同様であるため、説明は割愛する。なお、上記説明では、AA構成クラスタについての説明を割愛したが、AS構成クラスタiに関して上記PおよびSを固定して反復法により解く場合と同様に、q−1個の仮想マシンを固定しながら、残り1つの仮想マシンの局所最適解を求めて、これを他のq−1個の仮想マシンについて反復することにより行うことができる。
【0079】
上記第3の実施形態による最適化問題は、好適には近似的に解くことができる。上記第3の実施形態では、一方の仮想マシンの配置行列を固定しながら他方の仮想マシンの配置行列の局所最適解を求めるため、一度に取り扱う決定変数が削減され、第3の実施形態は、上記第1の実施形態および第2の実施形態に比べて、大規模の問題を取り扱う際に有利な形態であるといえる。
【0080】
[第4の実施形態]
以下、上位クラスタに関する条件やメンテナンス時の待避先の指定を含むより複雑な設定を可能とする第4の実施形態の配置構成管理装置について説明する。なお、第4の実施形態による仮想化システムは、最適化問題が異なる他は第1の実施形態による仮想化システム100と概ね同様の構成を備えるため、以下、最適化問題について説明する。
【0081】
第4の実施形態における最適化問題は、図12に示す式(35)〜(50)で表される0−1整数計画問題として表現される。図12に示す式(35)〜(50)で表される最適化問題は、マイクロ・パーティショニング機能が利用可能な環境であって、物理プロセッサを仮想マシン間で共有し、メモリを各物理マシンに固定に割り当てた環境において、通常時、物理マシンの障害時、メンテナンス時のすべてにおいて、各物理マシンに配置された仮想マシンの物理プロセッサの予測ピーク使用量の総和が、物理マシンに搭載された物理プロセッサ数を上回らないという制約条件に従い、複数の物理マシン全体の物理プロセッサ数の総和を最小化する最適な物理マシンの配置構成を導出するものである。
【0082】
ここで、図12に示す式(35)〜(50)中、Bは業務システム(上位システム)の集合;CAS(b)は業務システムb∈BのAS構成クラスタの集合;CAA(b)は業務システムb∈BのAA構成クラスタの集合;Kは物理マシンの集合;Tは時間区間の集合;
qb,cは、業務システムb∈BのAA構成クラスタc∈CAA(b)の仮想マシン数;ab,c,tは、業務システムb∈BのAS構成クラスタc∈CAS(b)のアクティブ仮想マシンの時間区間tにおける物理プロセッサの個別予測ピーク使用量;sb,c,tは、業務システムb∈BのAS構成クラスタc∈CAS(b)のスタンバイ仮想マシンの時間区間tにおける物理プロセッサの個別予測ピーク使用量;pb,c,tは、業務システムb∈BのAA構成クラスタc∈CAS(b)の時間区間tにおける物理プロセッサの総予測ピーク使用量;Uは各物理マシンに搭載できる最大物理プロセッサ数である。
【0083】
図12に示す式(35)は、最小化するべき目的関数を表し、図12に示す式(36)〜(42)は、当該整数計画問題における各変数を定義する。より具体的には、式(36)は、xb,c,i,k,lが1のとき、業務システムbのAS構成クラスタcのアクティブまたはスタンバイの仮想マシンを物理マシンkに配置し、メンテナンス時に物理マシンlに待避することと同値であることを表す。式(37)は、yb,c,k,lが1のとき、業務システムbのAA構成クラスタcの仮想マシンをひとつ物理マシンkに配置し、メンテナンス時に物理マシンlに待避することと同値であることを表す。つまり、式(36)および(37)は、物理マシンの保守時に当該物理マシンk上に存在する仮想マシンを待避する待避先となる物理マシンlを規定する変数の取り得る範囲を表す。一方、式(38)は、業務システムbのAS構成クラスタcのアクティブ仮想マシンを物理マシンkに配置し、スタンバイ仮想マシンを物理マシンk’に配置するとvb,c,k,k’=1となることを表す。式(39)は、業務システムbのAA構成クラスタcの仮想マシンのうち2つを物理マシンk,k’に配置するとwb,c,k,k’=1となることを表す。式(40)は、物理マシンkに準備する物理プロセッサ数を表す。
【0084】
図12に示す式(41)〜(43)は、当該整数計画問題におけるASクラスタに関する基本的な制約条件を表す。式(41)は、業務システムbのAS構成クラスタcのアクティブ仮想マシンとスタンバイ仮想マシンとは同一の物理マシンkに配置されないという制約条件を表す。一方、式(43)は、業務システムbのAS構成クラスタcの各仮想マシンは、いずれかの物理マシンに配置され、待避先の物理マシンも一意に定まることを表している。式(43)は、業務システムbのAS構成クラスタcのアクティブ仮想マシンが物理マシンkに配置され、スタンバイ仮想マシンが物理マシンk’に配置されている場合、vb,c,k,k’=1となることを表す。
【0085】
図12に示す式(44)〜(46)は、当該整数計画問題におけるAAクラスタに関する基本的な制約条件を表す。式(44)は、業務システムbのAA構成クラスタcの各仮想マシンの待避先が一意に決まることを表し、式(45)は、業務システムbのAA構成クラスタcの仮想マシンが、qb、c個の物理マシン上に配置されることを表す。式(46)は、業務システムbのAA構成クラスタcの仮想マシンが物理マシンk,k’に配置されている場合、wb,c,k,k’=1となることを表す。
【0086】
図12に示す式(47)は、同一物理マシン上に配置される同一業務システムに属するアクティブ仮想マシンの数をバランスさせる追加の制約条件を表す。式(47)は、物理マシンkに配置する業務システムbのアクティブ仮想マシンの数は、概ねその業務マシンの総アクティブ仮想マシン数を物理マシン数Kで割った値とする制約条件を表す。これにより、仮想マシン数に対し物理マシン数Kが少ない場合も極力分散して配置される。なお、他の実施形態では、同一業務システムに属するアクティブ仮想マシンを同じ物理マシン上に配置しないという制約条件とすることもできる。
【0087】
図12に示す式(48)および(49)は、物理マシン障害時の制約を表す。式(48)は、時間区間t内において、物理マシンk’(>k)に障害があったときの物理マシンkの物理プロセッサの予測ピーク使用量の総和が、物理マシンkに準備された物理リソース量zkを上回らないという制約条件を表し、式(49)は、同様に、物理マシンk’(>k)の場合を表す。また図12に示す式(50)は、物理マシンのメンテナンス時の制約を表す。この場合において、AS構成クラスタ内では、アクティブ仮想マシンを収容する物理マシンが障害に陥った場合、スタンバイ仮想マシンは、アクティブ化し、アクティブ仮想マシンの性能を維持する。さらに、AA構成クラスタ内では、アクティブ仮想マシンを収容する物理マシンが障害に陥った場合、残りのアクティブ仮想マシンで均等に性能を維持する。
【0088】
式(50)は、時間区間t内において物理マシンk’をメンテナンスする場合において物理マシンkの物理プロセッサの予測ピーク使用量の総和が、物理マシンkに準備された物理リソース量zkを上回らないという制約条件を表している。なお、メンテナンス時は、ある時点で、メンテナンス対象の物理マシン上で稼働する仮想マシンすべてを他の物理マシンへ移動するとし、その際に物理プロセッサや物理メモリなどの物理リソース量は維持されるとしている。
【0089】
なお、論理区画方式の仮想化環境では、ネットワーク・リソースやストレージ・リソースなどの入出力に関してVIOS(Virtual I/O Server)が各物理マシン上で作動する場合があるが、VIOSの仮想マシンについては、各物理マシン上に1または複数(例えば2つ)で固定し、CPUも固定割り当てとして、上記最適化問題の考慮から除外して計算することもできる。VIOSは、同一物理マシン内の仮想マシンに対して仮想入出力機能を提供する仮想マシンであるため、障害時には、VIOSの能力の維持に関して考慮する必要はないためである。メンテナンス時も同様に、VIOSのように物理マシンに固定される仮想マシンについては待避する必要はない。
【0090】
以上説明した第4の実施形態による配置構成管理装置120によれば、上位クラスタに関する条件やメンテナンス時の待避先の指定を含むより複雑な設定が可能となる。上記最適化問題においては、同じ上位クラスタに属するアクティブ仮想マシンの数をバランスするなど、クラスタ内の関係を越えた制約条件を課すことができる。また、障害時に加えて、メンテナンス対象の物理マシン上の仮想マシンを他の物理マシン上へ移動させる場合においても、必要充分な物理リソース量を確保することを可能とする。
【0091】
[実験]
1.コンピュータにおける実装
クロック数2.26GHzのマルチコア・プロセッサ(インテル(登録商標)Core(登録商標)2Duo P8400)と2.94GBのRAMを備えるThinkPad(登録商標)X200を用いて、本発明の第4実施形態による構成配置管理装置のプログラムを実装するコンピュータ・システムを実装した。このコンピュータ・システムのオペレーティング・システムは、WINDOWS(登録商標)XPとした。上記プログラムは、Pythonによって記述し、数理計画ソルバーとして、IBM(登録商標)ILOG(登録商標)CPLEX(登録商標)を用いた。
【0092】
2.使用履歴情報およびデータ・セット
使用履歴情報として、図13(A)に点で示すような実測値の時系列データを使用した。なお、図13(A)に示す実測値は、あるLPARについて、24時間にわたり1分間隔でサンプリングされたものであり、黒(系列A)がアクティブLPARの実測値を表し、ダークグレイ(系列B)がスタンバイLPARの実測値を表す。また、破線(系列D)は、人手で仮想マシンの配置を決定する際に、担当者が必要と見積もったCPU数を表すが、以下の実験ではこの値は必要としない。
【0093】
3.実験例
(実験例1)図13(A)に点で示すような実測値の時系列データから、ライトグレイの線(C系列)で示すような1時間毎のCPU数単位の予測ピーク使用量を求め、最適化問題を生成するためのデータ・セットとした。図13(A)によれば、測定対象のアクティブLPARにかかる業務システムは、深夜時間帯である午前0時から1ないし2時まで負荷が高く、8時から20時までの業務時間帯にかけて負荷が発生するという時間特性を示した。
【0094】
上記実装およびデータ・セットにおいて、20LPARを4筐体(物理マシン)に配置する0−1整数線形計画問題を数理計画ソルバーに解かせたところ、1.3秒で厳密な解に至った。最終的に求められた配置構成は、人手によりその妥当性を確認した。本実験例1では、過去に人手でスプレッドシートを用いた場合に全体として33個のCPUが必要であるとされた実例に対して、24個のプロセッサが最適解における必要最小限の物理リソース量として求められた。
【0095】
(実験例2)24時間を4分割して6時間毎のCPU数単位の予測ピーク使用量をランダムに生成し、最適化問題を生成するためのデータ・セットとした。上記実装において、50のAS構成クラスタおよび50のAA構成のクラスタを含む100LPARを9筐体に配置する0−1整数線形計画問題を数理計画ソルバーに解かせたところ、30秒で最適解から平均4%以内の近似解に至った。図13(B)に、実験例2の結果として、ランダムに生成された最適化問題のそれぞれのインスタンスついてその近似解と下限値を示す。
【0096】
(実験例3)比較のため、時間区間を分割せずに24時間平均の予測ピーク使用量をランダムに生成し、最適化問題を生成するためのデータ・セットとした。上記実装において、50のAS構成クラスタおよび50のAA構成のクラスタを含む100LPARを9筐体(物理マシン)に配置する0−1整数線形計画問題を数理計画ソルバーに解かせて近似解を得た。図13(B)に、実験例3の結果として、ランダムに生成された最適化問題のそれぞれのインスタンスついてその近似解と下限値を示す。
【0097】
4.考察
上記実験例1の結果を参照すると、本発明による配置構成最適化処理によれば、人手による計算に比べて、CPUを27%削減し、かつ、バリュー・アット・リスクの意味においての保証を与え得ることが示された。つまり、得られた配置構成を信頼して、CPU数を低減することにより、リソース利用効率を更に向上させることができる。また得られた配置構成の妥当性も検証され、信頼に足る結果であることが確認された。
【0098】
図13(B)は、横軸がランダムに生成された最適化問題のそれぞれのインスタンスを意味し、縦軸が、求められたCPU数を意味する。図13(B)中、系列Eは、上記比較のため分割を行わなかった実験例3の近似解を表し、系列Fは、実験例3の下限値を表す。また図13(B)中、系列Gは、上記実験例2の近似解を表し、系列Hは、上記実験例2の下限値を表し、系列Gは、実験例2の実験例3に対する削減量を表す。なお、実験例2は、本発明の実施例を表し、実験例で2は、図13(B)に示すように、時間区間に分割しない実験例3に比べて、24時間を4つの時間区間に分割して最適化問題を解き、配置構成の最適解を求めることで、30%程度のCPUを削減することが可能となった。
【0099】
以上説明したように、本発明の実施形態によれば、複数のサーバ機能の負荷特性を考慮して、一部の物理マシンが障害またはメンテナンスのために停止した場合にも、残りの物理マシン間で負荷を分担し、継続的にサービスを提供するために必要充分な物理リソース量を確保し、かつ当該物理リソース量を最小化する仮想マシンの配置構成を導出することができる、情報処理装置、情報処理システム、配置構成決定方法、プログラムおよび記録媒体を提供することができる。
【0100】
上述までの実施形態では、業務システムを統合するサーバ統合環境を構築する仮想化システムについて説明してきたが、これに限定されるものではなく、プライベートまたはパブリックのクラウド・コンピューティングの基盤として利用してもよいことはいうまでもない。
【0101】
本発明の実施形態による配置構成管理装置は、コンピュータ実行可能なプログラムを、コンピュータ装置にロードして各機能部を実現することにより提供される。このようなプログラムとしては、例えば、FORTRAN、COBOL、PL/I、C、C++、Java(登録商標)、Java(登録商標)Beans、Java(登録商標)Applet、Java(登録商標)Script、Perl、Ruby、Pythonなどのレガシー・プログラミング言語や、OPL、AMPLなどのモデリング言語や、オブジェクト指向プログラミング言語などで記述された、コンピュータ実行可能なプログラムにより実現でき、装置可読な記録媒体に格納して頒布することができる。
【0102】
これまで本発明を図面に示した実施形態および実施例をもって説明してきたが、本発明は図面に示した実施形態に限定されるものではなく、他の実施形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
【符号の説明】
【0103】
100…仮想化システム、102…ネットワーク、110…物理マシン、112…ハイパーバイザ、114…仮想マシン、116…業務システム(クラスタ)、118…未統合の業務システム、120…配置構成管理装置、122…リソース使用履歴収集部、124…リソース使用履歴データベース、126…ピーク使用量予測部、128…配置構成最適化問題設定部、130…最適化問題データ、132…配置構成導出部、134…演算結果、136…仮想マシン配置処理部、200…上位クラスタ、210…クラスタ、212,216,218…アクティブ仮想マシン、214…スタンバイ仮想マシン
【技術分野】
【0001】
本発明は、情報処理システムの最適化技術に関し、より詳細には、1以上の仮想マシンを1以上の物理マシンへ割り当てる最適な配置構成を導出するための情報処理装置、情報処理システム、配置構成決定方法、プログラムおよび記録媒体に関する。
【背景技術】
【0002】
近年、システム仮想化技術の進展に伴い、金融機関や大企業などの大規模情報処理システムを備える組織において、所有IT資源を効率的に活用し、総所有コスト(TCO;Total Cost of Ownership)を削減することを目的とし、仮想化技術を利用したサーバ統合基盤が構築されている。上記サーバ統合は、従前複数の物理サーバに分かれて稼働していた複数の業務システムのサーバ機能を、より少数の高性能な物理マシンに集約することにより、リソース利用効率を向上し、全体として物理リソース量を削減しようというものである。
【0003】
リソース利用効率の向上を目的とした従来技術として、仮想マシンへの物理リソースの割り当てを管理する技術が知られている。例えば、マイクロ・パーティショニング(Micro-Partitioning)と呼ばれる技術は、物理プロセッサの処理能力を細粒度単位で仮想マシンに割り当て可能とする。特開2007−200347号公報(特許文献1)は、各論理区画上のOS上で処理しているワークロードに関する少量の知識と、各OSの負荷に従って、計算機資源の各論理区画に対する割り当てを自動的に動的変更する技術を開示する。特開2005−148875号公報(特許文献2)は、OS稼働中に論理区画間で計算資源の割り当て変更を行う動的割り当て方法を開示する。また、リソース利用効率の向上を目的とした仮想マシン配置の管理に関連して、特開2010−237736号公報(特許文献3)は、エージェントマシンの重要度やシステムの安定性を重視して、特定のエージェントマシンへ割り当てる仮想マシンの上限を設定可能な運用管理システムを開示する。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2007−200347号公報
【特許文献2】特開2005−148875号公報
【特許文献3】特開2010−237736号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
上述したサーバ統合基盤においては、リソース利用効率を考慮して仮想マシンの配置構成を適切に計画することが望ましい。しかし、従来では、仮想マシンの配置構成の計画や、システム内に準備する必要な物理リソース量の見積もりは、表計算ソフトなどを使用して人手で行っているのが現状であった。したがって、既存の業務システムを段階的にサーバ統合基盤上に展開して行く場合、新しい業務システムを追加する毎に上記物理リソース量の見積もりを上述した人手による作業で行わなければならず、煩雑であった。また、人手による場合、見積もり精度が充分とはいえず、余剰な物理リソース量を生じさせる余地があり、利用効率の観点から充分なものではなかった。
【0006】
本発明は、上記従来技術の不充分な点に鑑みてなされたものであり、本発明は、各サーバ機能の負荷特性を考慮して、一部の物理マシンが障害またはメンテナンスのために停止した場合にも継続的にサービスを提供することが可能な必要最小限の物理リソース量を与える仮想マシンの配置構成を導出する情報処理装置、情報処理システム、配置構成決定方法、プログラムおよび記録媒体を提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明は、上記課題を解決するために、下記の特徴を有する情報処理装置、および該情報処理装置を含む情報処理システムを提供する。本発明の情報処理装置は、上記配置構成を決定する演算を行うために、同一機能を備える複数の仮想マシンが含まれる各クラスタについて、時間区間毎の物理リソースの予測ピーク使用量を決定する。そして、本発明の情報処理装置は、上記予測ピーク使用量を用いて、目的関数および制約条件を含む最適化問題を設定する。
【0008】
上記最適化問題は、第1の物理マシン、第2の物理マシンおよび時間区間の各組み合わせについて、時間区間内に第2の物理マシンが停止したときに第1の物理マシンに対し予測される物理リソースの合計予測ピーク使用量が、第1の物理マシンに準備される物理リソース量を上回らないことを保証するという制約条件を含む。上記最適化問題は、さらに、上記仮想マシンが割り当てられる対象となる複数の物理マシン全体の総物理リソース量を目的関数として含む。情報処理装置は、上記制約条件に従って、複数の物理マシン全体の総物理リソース量を目的関数として最小化する最適化問題の解を演算し、配置構成を導出する。
【0009】
さらに本発明の情報処理装置は、合計予測ピーク使用量が予測される第1の物理マシンk、第2の物理マシンk’および時間区間tに関して、クラスタcの配置構成を規定する決定変数に対応して与えられる、上記第2の物理マシンk’が停止したときに当該第1の物理マシンkに対して予測される該クラスタcによる予測ピーク使用量γc,tの総和として、上記合計予測ピーク使用量φk,k’,tを定式化することができる。なお、上記クラスタは、アクティブ−スタンバイ構成のようなサーバ機能にかかる処理を時間的に分担するクラスタ、またはアクティブ−アクティブ構成のようなサーバ機能にかかる処理を量的に分担するクラスタを含むことができる。さらに、上記最適化問題は、好適には、仮想マシンの配置構成を規定する「0」または「1」の値を取り得る決定変数を含む0−1整数線形計画問題として表現することができる。
【0010】
さらに本発明の情報処理装置は、各クラスタc内で注目する仮想マシン以外の仮想マシンの配置構成を規定する決定変数を固定しながら、当該注目する仮想マシンの配置構成を規定する決定変数の局所最適解を探索する処理を、注目する仮想マシンを切り替えて反復することにより、最適化問題の決定変数の最適解を演算することができる。さらに本発明によれば、上記情報処理装置としてコンピュータ・システムが実行する仮想マシンを物理マシンへ割り当てる配置構成を決定する配置構成決定方法、上記情報処理装置を実現するためのコンピュータ実行可能なプログラム、および上記プログラムをコンピュータ読取可能に格納する記録媒体を提供することができる。
【発明の効果】
【0011】
上記構成によれば、一部の物理マシンを停止しても継続的にサービスを提供できる必要最小限の物理リソース量を与える仮想マシンの配置構成を決定することができる。決定された配置構成は、サーバ機能の負荷特性を考慮して最適化問題の最適解として客観的に求められたものである。このため、その結果を信頼してシステム全体の物理リソース量の削減を図ることができる。
【図面の簡単な説明】
【0012】
【図1】本発明の第1の実施形態による仮想化システムの概略図を示す図。
【図2】本発明の第1の実施形態による仮想化システムにおいて、所定の配置構成で物理マシン上に配置されて稼働する仮想マシンを説明する図。
【図3】業務システム、クラスタおよび仮想マシンの関係を説明する図。
【図4】本発明の第1の実施形態による仮想化システムの機能ブロック図。
【図5】使用履歴情報から時間区間毎のクラスタ全体の物理リソースの総予測ピーク使用量および仮想マシン単位の個別予測ピーク使用量を求める方法を説明する図。
【図6】故障またはメンテナンスに起因してひとつの物理マシンが停止した場合における、残りの物理マシン上に配置された仮想マシンの物理リソース使用量の変化を説明する図。
【図7】第1の実施形態による配置構成管理装置が実行する、最適な配置構成の導出処理を示すフローチャート。
【図8】第1の実施形態において、AS構成クラスタおよびAA構成クラスタが取り得る仮想マシンの配置パターンの集合を説明する図。
【図9】ひとつの物理マシンに障害が発生した場合における、残りの物理マシン上に配置された仮想マシンの物理リソース使用量の変化を説明する図。
【図10】ひとつの物理マシンがメンテナンスに移行した場合における、残りの物理マシン上に配置された仮想マシンの物理リソース使用量の変化を説明する図。
【図11】第2の実施形態による配置構成管理装置が実行する、最適な配置構成の導出処理を示すフローチャート。
【図12】第4の実施形態による最適化問題を表す数式を示す図。
【図13】最適化問題の実験結果を説明する図。
【発明を実施するための形態】
【0013】
以下、本発明について実施形態をもって説明するが、本発明は、後述する実施形態に限定されるものではない。以下説明する実施形態では、それぞれ仮想マシン稼働環境を提供する複数の物理マシンと、上記複数の物理マシンへ各々の仮想マシンを割り当てる配置構成管理装置とを含む仮想化システムを一例として説明する。
【0014】
[第1の実施形態]
図1は、本発明の第1の実施形態による仮想化システムの概略図を示す。本実施形態の仮想化システム100は、それぞれネットワーク102に接続される複数の物理マシン110と、配置構成管理装置120とを含み構成される。物理マシン110は、それぞれ、プロセッサ、メモリ、ネットワーク・アダプタなどの物理リソースを含み、物理マシン110上には、ハイパーバイザと呼ばれる仮想化機構が稼働している。物理マシン110上で稼働する仮想化機構によって、上記物理マシン110により提供される物理リソースが抽象化され、仮想化されたコンピュータ、すなわち仮想マシン(Virtual Machine)が、物理リソース上に実現される。
【0015】
仮想マシンは、いわゆるシステム仮想マシンと呼ばれるものであり、特に限定されるものではないが、物理区画(PPAR;Physical PARtition)方式やDSD(Dynamic System Domain)方式やnPar(nPartition)方式などのハードウェア物理分割による仮想マシン、論理区画(LPAR;Logical PARtition)方式やLDOM(Logical Domain)方式やvPar(virtual Partition)方式などのハードウェア論理分割による仮想マシン、ベアメタル型あるいはホスト型の仮想化OSなどのソフトウェア分割による仮想マシンなど、如何なるアーキテクチャのシステム仮想マシンを採用することができる。好適な実施形態では、パフォーマンス、信頼性、リソース割り当てのきめ細やかさの観点からは、上記ハードウェア論理分割による仮想マシンを採用することができる。
【0016】
図2は、本発明の第1の実施形態による仮想化システムにおいて、所定の配置構成で物理マシン上に配置されて稼働する仮想マシンを説明する図である。なお、図2には、上記論理区画方式のアーキテクチャによる仮想マシンが示されている。図2に示すように、物理マシン110a〜110h各々の上には、ハイパーバイザ112a〜112hが稼働し、さらにその上で、1以上の仮想マシン(論理区画;LPAR)114(図2中、仮想マシン114a,114b,114cに代表して符号が付されている。)が稼働する。
【0017】
仮想マシン114は、それぞれ、統合される業務システムいずれかに属するサーバ機能を提供し、該サーバ機能を実装するOS(図示せず。)が仮想マシン114上で稼働する。仮想マシン114は、特に限定されるものではないが、実行系および待機系からなるアクティブ−スタンバイ構成(以下、AS構成という。)のクラスタ、または複数の実行系からなるアクティブ−アクティブ構成(以下、AA構成という。)のクラスタに属することができる。AS構成のクラスタは、実行系と呼ばれるアクティブ仮想マシンと、待機系と呼ばれるスタンバイ仮想マシンとを含み構成され、一方が待機している間は他方が実行系となり、該実行系が障害等により停止した契機で上記待機系が実行系になるというように、サーバ機能にかかる処理を時間的に分担し合う。これに対して、AA構成のクラスタは、実行系であるアクティブ仮想マシンを複数含み構成され、仮想マシンが同時に稼働し、クラスタ全体のサーバ機能にかかる処理を量的に分担し合う。いずれの構成においても、同一クラスタに属する仮想マシンは、負荷均衡を図り、また耐障害性を向上させる観点から、通常、互いに異なる物理マシン上に配置される。なお、図2には、点線にて、互いに異なる物理マシン上に配置された2つの仮想マシンからなるクラスタ116を代表して示してある。
【0018】
業務システム、クラスタおよび仮想マシンの関係について説明を加えると、本実施形態の仮想化システム100において統合される業務システムは、それぞれ1以上のサーバ機能を備えており、サーバ機能がクラスタに対応付けられて、各サーバ機能にかかる処理が対応クラスタ内の複数の仮想マシンによって分担される。つまり、上記業務システムは、単一の(または単一とみなせる)サーバ機能を備える場合は単一のクラスタと一致し、複数のサーバ機能を備える場合には、図3に示すように、複数のクラスタ210からなる上位クラスタ200に一致する。
【0019】
また、上位クラスタ200に属するクラスタ210は、アクティブ仮想マシン212a(図3ではクラスタaについて例示する。以下同じ。)とスタンバイ仮想マシン214aとからなるAS構成のクラスタ、複数のアクティブ仮想マシン216c,218c(図3ではクラスタcについて例示する。)からなるAA構成のクラスタ、単一構成の仮想マシン、またはこれらの混合として構成することができる。上位クラスタ200が形成される場合、同一上位クラスタに属するクラスタの負荷特性が類似するであろうとの推測や、同一上位クラスタに属する仮想マシンが同時に停止してしまうことは回避すべきであるとの制限から、同一上位クラスタに属する仮想マシンを異なる物理マシン上に配置することが好ましい場合がある。詳細は後述するが、上述のような仮想マシンが属する上位クラスタ間の関係を考慮して仮想マシンの配置構成を導出することができる。なお、説明する第1の実施形態では、業務システムとクラスタとが1対1で対応するものとして説明する。
【0020】
再び図1を参照すると、配置構成管理装置120は、上記仮想マシン114の物理マシン110への最適な配置構成を決定する配置構成最適化機能を備える。サーバ統合においては、同一物理マシン上に相乗りさせる業務システムの組み合わせについて検討の余地がある。例えば、負荷特性の異なる業務システムの仮想マシンを適切に組み合わせて物理マシンへ配置することにより、物理マシンの負荷ピークを平滑化し、リソース利用効率およびサーバの集約率のさらなる向上が期待できる。一方、各々の業務システムは、負荷ピーク時間帯や負荷分布など負荷特性が大きく異なる。そこで、本実施形態による配置構成管理装置120は、仮想マシン114の物理マシン110への配置構成を求めるという問題を、業務システムの負荷特性を折り込んだ最適化問題として取り扱い、仮想マシン114を割り当てる対象となる物理マシン110全体にわたる物理リソース総量を最小化する配置構成を導出する。配置構成管理装置120は、さらに、導出された配置構成に従って、仮想マシン114を物理マシン110上に配置することができる。
【0021】
配置構成管理装置120は、概ね、パーソナル・コンピュータ、ワークステーション、ラックマウント型サーバ、ブレード型サーバまたはメインフレームなど、1または複数のコンピュータからなる汎用コンピュータ・システムとして構成される。配置構成管理装置120は、より具体的には、シングルコア・プロセッサまたはマルチコア・プロセッサなどのCPU、キャッシュ・メモリ、RAM、ネットワーク・アダプタ、ストレージ・デバイスなどのハードウェア・リソースを備え、Windows(登録商標)、UNIX(登録商標)、LINUX(登録商標)、AIX(登録商標)などの適切なOSの制御の下、それぞれ、仮想マシンの配置構成を最適化する機能を実現する。なお、説明する実施形態では、物理マシン110と異なった物理システム上で配置構成管理装置120が稼働するものとして説明するが、他の実施形態では、いずれか1つ又は複数の物理マシン上の仮想マシンに、配置構成管理装置120としての機能を実装してもよい。
【0022】
配置構成管理装置120は、さらに、配置構成管理装置120が備えるディスプレイおよび入力デバイスを含むユーザ・インタフェースを介して、またはリモート・インタフェースを介して、仮想化環境の各種設定管理を行うための管理インタフェースを提供する。管理者は、入力デバイスを用いて、または上記リモート・インタフェースに接続されるクライアント端末を用いて、最適な配置構成の導出、導出された配置構成に応じた配置または再配置の実施などの各種指示を行うことができる。
【0023】
上記ネットワーク102は、ネットワーク・アダプタを介して物理マシン110間を相互に接続するネットワークであり、特に限定されるものではないが、例えばギガビット・イーサネット(登録商標)などのローカル・エリア・ネットワークを含むことができる。さらに、他の実施形態では、ネットワーク102は、専用線を介して、またはVPN(Virtual Private Network)を用いて公衆回線を介して、異なるロケーションのLANが結合されて構成される広域ネットワークとして構成することもできる。さらに、他の実施形態では、物理マシン110間は、図示しない、ファイバ・チャネルを用いたストレージ・エリア・ネットワーク(SAN)を介して、相互に接続されていてもよい。
【0024】
以下、図4〜図10を参照しながら、本発明の第1の実施形態による、仮想マシンの配置構成最適化処理について、より詳細に説明する。図4は、本発明の第1の実施形態による仮想化システムの機能ブロック図を示す。図4には、複数の物理マシン110と、上記複数の物理マシン110にわたって構築されたサーバ統合環境上で稼働する複数の業務システム116と、未統合の業務システム118と、配置構成管理装置120上に構築される機能ブロックとが示されている。
【0025】
配置構成管理装置120は、リソース使用履歴収集部122と、リソース使用履歴データベース124とを含み構成される。リソース使用履歴収集部122は、仮想化環境で稼働する各業務システム116と通信して、各クラスタ(本実施形態では業務システムに一致する。以下同じ。)に関する物理リソースの使用履歴情報を取得し、リソース使用履歴データベース124に記録する。あるいは、リソース使用履歴収集部122は、仮想化環境に統合する対象となる未統合の業務システム118の履歴情報を記憶するファイルをインポートして、その物理リソースの使用履歴情報を取得し、リソース使用履歴データベース124に記録する。クラスタに関する使用履歴情報は、詳細は後述するが、クラスタの負荷特性を反映しており、各クラスタにおける物理リソースの将来需要を予測するために利用される。
【0026】
使用履歴情報が収集される物理リソースとしては、好適には物理プロセッサを用いることができるが、特に限定されるものではなく、その他、物理メモリ、物理ネットワーク・アダプタ、物理ストレージなど物理的なハードウェアを挙げることができる。なお、本明細書においては、仮想化されたハードウェアについては、物理的なハードウェアと区別するため「仮想」を付し、物理的なハードウェアについては「物理」を付して参照する。
【0027】
上記物理リソースの使用履歴情報は、所定間隔でサンプリングされた物理リソースの使用量の時系列データとして取得することができる。上記物理リソースの使用量は、特に限定されるものではないが、物理リソースのうち実際に使用された割合を示す物理リソースの使用率、または物理リソースの動的な割り当てができる場合は仮想マシンに割り当てられる物理リソースの割当量を、適宜換算して好適に用いることができる。上記物理リソースの使用率は、業務システム116,118全体または業務システム118内のサーバ(仮想マシン)の詳細な負荷を反映する情報として利用することができる。また、仮想マシンに割り当てるプロセッサ数等が負荷に応じて動的に変更可能なアーキテクチャにおいては、プロセッサ等の割当量は、負荷を反映する情報としても利用することができる。この場合における物理リソースの割当量としてのプロセッサ数は、マイクロ・パーティショニング機能を備えるなど1より細粒度の単位で処理能力を仮想マシンに割り当て可能なアーキテクチャを採用する場合は、1より細粒度の単位(例えば小数点単位)で表される。すなわち、物理リソースの使用量は、ある時点での業務システム116,118において実際に消費された物理リソース量に概ね一致する。
【0028】
リソース使用履歴収集部122が取得し、リソース使用履歴データベース124に記録される使用履歴情報は、業務システム116から取得可能な情報であれば特に限定されるものではない。使用履歴情報は、たとえば、クラスタ全体にわたる物理リソースの総使用量として、またはクラスタに属する仮想マシン単位または物理サーバ単位にブレークダウンされた物理リソースの個別使用量として、取得することができる。なお、説明する実施形態では、細粒度の単位でプロセッサ数が動的に変更可能なアーキテクチャを採用するものとし、リソース使用履歴収集部122は、所定間隔でサンプリングされたクラスタ全体における物理プロセッサの総使用量の時系列データを取得するものとして説明する。
【0029】
配置構成管理装置120は、さらに、ピーク使用量予測部126を含み構成され、このピーク使用量予測部126は、上記リソース使用履歴データベース124に記録された各クラスタ関する使用履歴情報から、後述する配置構成を最適化するための基礎となるデータ・セットを決定する。上記データ・セットは、仮想化システム100に対象となるすべての業務システム116,118が統合されたとした場合の物理リソースの将来需要を予測するものであり、各クラスタcに関して、時間区間t毎に整理された、各クラスタc全体の物理リソースの総予測ピーク使用量、または各クラスタc内の仮想マシン単位の物理リソースの個別予測ピーク使用量とすることができる。
【0030】
上記時間区間tは、クラスタの時間的な負荷特性を特徴付けるためのものであり、好適には1日から分割された複数の時間帯として定義することができる。この場合、上記リソース使用履歴データベース124にクラスタ全体における物理プロセッサの総使用量の時系列データが記録されているのであれば、1日を周期として時間帯毎に当該時系列データを区分して、区分された各時間区間内でのピーク値を求める。なお、ピークを求める際には、時系列データの重み付け平均化等の適当な処理を施し、突発的な負荷変化を除外してもよい。他の実施形態では、時間区間tは、上記時間帯に限定されるものではなく、任意の時間間隔(インターバル)の時間区間をとし、複数の時間間隔を周期として時系列データを時間間隔毎に整理したり、1週間を周期として時系列データを曜日毎に整理したり、1ヶ月を周期として時系列データを上旬、中旬、下旬毎に整理したりすることもできる。
【0031】
図5は、取得された使用履歴情報から、時間区間t毎のクラスタ全体の物理リソースの総予測ピーク使用量、または仮想マシン単位の個別予測ピーク使用量を求める方法を説明する図である。図5(A)は、1日周期で2分割した場合を例示し、図5(B)は、1日周期で4分割した場合を例示する。ピーク使用量予測部126は、図5に示すように、クラスタ全体における物理プロセッサの総使用量の時系列データから1日分の時系列データを切り出し、12時間毎に区分し、各区分内でのピーク値を求める。なお、説明する実施形態では、時系列データから1周期分のデータを切り出すものとして説明したが、2周期以上のデータを重ね合わせてもよい。
【0032】
また、クラスタ全体の物理リソースの総予測ピーク使用量および仮想マシン単位の個別予測ピーク使用量のいずれを決定するかについては、以下のように説明される。本実施形態では、AS構成のクラスタの場合、スタンバイ仮想マシンは最小限の物理リソースを使用し、アクティブ仮想マシンは負荷に応じた物理リソースを使用する。ここで決定される予測ピーク使用量は、仮想マシン毎の負荷状況を把握するために利用されるものであることから、AS構成のクラスタiについては、アクティブおよびスタンバイの仮想マシン毎にブレークダウンされた個別予測ピーク使用量αi,tおよびσi,tを決定する。スタンバイ仮想マシンの個別予測ピーク使用量σi,tは、概ね必要最小限の一定量となり、一方、アクティブ仮想マシンの個別予測ピーク使用量αi,tは、業務システムの負荷状況を反映した値となる。図5(A)は、AS構成のクラスタiについてのクラスタ全体における物理プロセッサの総予測ピーク使用量と、アクティブ仮想マシンの個別予測ピーク使用量と、スタンバイ仮想マシンの個別予測ピーク使用量と示す。図5(A)中、概ね一定の値を示すものが、スタンバイ仮想マシンのものを表している。
【0033】
これに対して、AA構成のクラスタの場合、各仮想マシンには略均等に、または一定の重み付けに応じて負荷が割り当てられ、各仮想マシンは負荷状況に応じて物理リソースを使用する。このため、AA構成のクラスタjについては、少なくともクラスタ全体の総予測ピーク使用量πj,tが決定されれば、略均等に分配される場合には総予測ピーク使用量πj,tを並列数ρjで割ることにより、各個別予測ピーク使用量を求めることができる。図5(B)は、AA構成のクラスタjについてのクラスタ全体における物理プロセッサの総予測ピーク使用量と、各仮想マシン毎にブレークダウンされた各個別予測ピーク使用量とを、塗りつぶしの濃度を変えて表現してある。
【0034】
再び図4を参照すると、配置構成管理装置120は、さらに、配置構成最適化問題設定部128と、配置構成導出部132と、仮想マシン配置処理部136とを含み構成される。配置構成最適化問題設定部128は、仮想マシンを物理マシンへ割り当てる最適な配置構成を求めるという問題を最適化問題として取り扱い、目的関数および制約条件を含む最適化問題を記述するデータ(以下、最適化問題データと参照する。)130を設定する。ここで、目的関数は、割り当てる対象となる複数の物理マシンk(k=1,…,K)全体の物理リソース量zkの総和であり、上記最適化問題は、下記式(1)および(2)に示すような、所定の制約条件従って、複数の物理マシン全体の物理リソース量の総和Σzkを最小化する仮想マシンの配置構成を規定する決定変数の解を求めるという問題となる。
【0035】
【数1】
【0036】
上記式(2)は、すべての物理マシンk(k∈K:Kは物理マシンの集合を表す。)について保証するべき制約条件であり、上記制約条件(2)中、φk,k’,tは、時間区間t内に他の物理マシンk’が停止したときに当該物理マシンkに対して予測される物理リソースの合計予測ピーク使用量を表す。つまり、上記制約条件(2)は、障害時やメンテナンス時に少なくとも1つの物理マシンが停止した場合でも充分な物理リソースを確保できることを保証するための条件である。なお、物理マシンkの合計予測ピーク使用量φk,k’,tは、詳細は後述するが、上述したピーク使用量予測部126が決定したデータ・セットを用いて求められる。
【0037】
図6は、故障またはメンテナンスに起因してひとつの物理マシンが停止した場合における、残りの物理マシン上に配置された仮想マシンの物理リソース使用量の変化を説明する図である。図6に示すように、各物理マシンには仮想マシンに割当可能な物理プロセッサが準備されている。ここで、故障等に起因して中央の物理マシンが停止したとすると、停止前に中央の物理マシン上で稼働していた各仮想マシンに対応する他の物理マシン上の各仮想マシンは、物理プロセッサの使用量を増加させる。図6に示す例では、中央の物理マシン上のアクティブ仮想マシン(白)が停止したことに伴い、左側の物理マシン上の同一AS構成クラスタに属するスタンバイ仮想マシン(白)がアクティブ化する。同様に、中央の物理マシン上のアクティブ仮想マシン(ダークグレイ)が停止したことに伴い、右側および左側の物理マシン上の対応するアクティブ仮想マシン(ダークグレイ)が物理プロセッサの使用量を増加させる。
【0038】
このように、ひとつの物理マシンの停止に伴い、他の物理マシン上の対応する各仮想マシンの物理リソースの使用量は、当該停止した物理マシン上の各仮想マシンが負担していた処理負荷を引き受けるために引き上げられる。このとき、物理マシンの停止を許容するためには、残された物理マシンに準備される物理リソース量が、停止する物理マシンが負担していた処理負荷を担えるだけ充分に準備されている必要がある。また、このような条件は、あらゆる組み合わせで満たされる必要がある。
【0039】
上記制約条件(2)は、あらゆるk’(≠k)およびtの組み合わせについて、当該物理マシンkに予測される物理リソースの合計予測ピーク使用量φk,k’,tが、当該物理マシンkに準備する物理リソース量zkを上回らないという制約条件を表している。この制約条件を満たす限り、ひとつの物理マシンの停止を考慮しても充分な物理リソース量が確保されていることが保証される。一方、リソース利用効率を追求するためには、準備する物理リソース量を最小化する必要がある。これは、上記制約条件の下、物理マシンにわたる物理リソース量の総和Σzkが最小化されることによって達成される。
【0040】
配置構成導出部132は、配置構成最適化問題設定部128が設定した最適化問題データ130を読み出し、上記最適化問題を厳密にまたは近似的に解き、決定変数の最適解を演算する。決定変数は、仮想マシンの配置構成を表し、導出された決定変数の最適解により最適な配置構成が規定される。最適化問題は、IBM(登録商標)ILOG(登録商標)CPLEX(登録商標)、LINDO(登録商標)、NUOPT(登録商標)、lp_solveなどの既知の数理計画ソルバーを使用してその解を求めることができる。ここで、厳密に解くとは、一定の収束条件を満たすまで解が収束したことをもって最適解とする解き方をいい、近似的に解くとは、例えば反復回数など所定の打切条件を満たすまで解の演算を繰り返し、打切条件が成立した段階で得られた解を最適解とする解き方をいう。配置構成導出部132は、決定変数の最適解が求められると、この決定変数の最適解から仮想マシンの配置構成を導出し、さらに物理マシンにわたる物理リソース量の総和Σzkおよび物理マシン毎の物理リソース量zkを導出し、最適な配置構成および必要最小限の物理リソースに関する情報を含む演算結果134として出力する。なお、最適化問題の詳細については、以下、フローチャートを参照してより詳細に説明する。
【0041】
仮想マシン配置処理部136は、上記演算結果134を提示した後に管理者から了解を受領したことに応答して、または自動的に、導出された仮想マシンの配置構成に従って、仮想マシン各々を対応する物理マシン110上に配置する処理を行う。物理マシン110上への仮想マシンの配置は、仮想マシンの各々を物理マシン上にプロビジョニングすることにより、または上記仮想マシンの各々を、従前の物理マシンから対応する物理マシンへマイグレーションさせることにより行うことができる。ライブ・マイグレーション、ライブ・パーティション・モビリティ(LPM)などの技術を用いることで、仮想マシン稼働中にダウンタイムなしに、仮想マシンの再配置を実現することができる。
【0042】
図7は、第1の実施形態による配置構成管理装置120が実行する、最適な配置構成の導出処理を示すフローチャートである。図7に示す処理は、例えば管理者から上記ユーザ・インタフェースまたはリモート・インタフェースを介した明示的な指示に応答して、ステップS100から開始される。ステップS101では、ピーク使用量予測部126は、リソース使用履歴データベース124から履歴情報を読み出し、各時間区間tおよびクラスタc毎の総予測ピーク使用量を決定する。ステップS102では、上記各クラスタc毎の総予測ピーク使用量から、少なくともAS構成のクラスタiに関しては、各時間区間tおよび仮想マシン毎の個別予測ピーク使用量を決定する。
【0043】
ステップS103では、配置構成最適化問題設定部128は、目的関数および制約条件を含む最適化問題を生成し、最適化問題データ130に記述する。第1の実施形態における最適化問題は、下記式(3)〜(8)で表される0−1整数線形計画問題として表現される。
【0044】
【数2】
(ここで、IはAS構成のクラスタ数;JはAA構成のクラスタ数;Kは物理マシン数;
Tは時間区間数;Pは、AS構成の仮想マシン配置パターンの集合;Qは、AA構成の仮想マシン配置パターンの集合;
Akは、物理マシンkにアクティブ仮想マシンを配置するAS構成の仮想マシン配置パターンの集合(∈P);Skは、物理マシンkにスタンバイ仮想マシンを配置するAS構成の仮想マシン配置パターンの集合(⊆P);Qkは、物理マシンkに仮想マシンを配置するAA構成の仮想マシン配置パターンの集合(⊆Q);|q|は、仮想マシン配置パターンqに含まれる仮想マシン数;
xi,p=1は、AS構成のクラスタiを仮想マシン配置パターンpで配置することと同値;yj,q=1は、AA構成のクラスタjを仮想マシン配置パターンqで配置することと同値;
ai,tは、時間区間tにおけるAS構成クラスタi内のアクティブ仮想マシンの物理プロセッサの個別予測ピーク使用量;si,tは、時間区間tにおけるAS構成クラスタi内のスタンバイ仮想マシンの物理プロセッサの個別予測ピーク使用量;ci,tは、時間区間tにおけるAA構成クラスタj内の物理プロセッサの総予測ピーク使用量である。)
【0045】
上記0−1整数線形計画問題において決定変数は、上記式(4)および(5)で定義される、AS構成クラスタiの仮想マシンの配置を規定するxi,pと、AA構成クラスタjの仮想マシンの配置を規定するyj,qとを含み、これらは「0」または「1」いずれかの値を取り得る。上記式(6)および(7)は、各クラスタがいずれかの仮想マシン配置パターンで表されることを意味している。なお、個別予測ピーク使用量ai,t,si,tおよび総予測ピーク使用量ci,tは、それぞれ、ステップS102およびステップS101で求められるものである。
【0046】
図8は、AS構成クラスタiおよびAA構成クラスタjが取り得る仮想マシンの配置パターンの集合を説明する図である。図8中、「A」および「S」は、アクティブ仮想マシンおよびスタンバイ仮想マシンが配置されることを表している。図8に示すように、集合Pは、アクティブおよびスタンバイの仮想マシンからなるAS構成のあらゆる仮想マシン配置パターンを含み、いずれの仮想マシン配置パターンも、アクティブおよびスタンバイの両仮想マシンを同一物理マシン上に配置しない。同様に、集合Qは、2以上物理マシン数以下の仮想マシンからなるAA構成のあらゆる仮想マシン配置パターンを含み、いずれの仮想マシン配置パターンも、同一物理マシン上に複数のアクティブ仮想マシンを配置しない。
【0047】
上記式(8)は、上述した制約条件(2)に対応するものであり、各物理マシンkについて保証される制約条件であって、あらゆるk’,tの組み合わせに関し、時間区間t内に他の物理マシンk’が停止したときの当該物理マシンkに予測される物理リソースの合計予測ピーク使用量が、当該物理マシンkに準備する物理リソース量zkを上回らないという制約条件を表している。上記式(8)の左辺は、上記式(2)における合計予測ピーク使用量φk,k’,tに対応する。
【0048】
上記式(8)左辺中、第1項目のiに関する総和Σは、時間区間t内に他の物理マシンk’が停止したときの当該物理マシンkで発生するAS構成クラスタi毎の予測ピーク使用量を、すべてのAS構成クラスタi(i=1,…,I)にわたって総和をとることを意味する。上記式(8)左辺中、第2項目のjに関する総和Σは、同様に、時間区間t内に他の物理マシンk’が停止したときの当該物理マシンkに発生するAA構成クラスタj毎の予測ピーク使用量を、すべてのAA構成クラスタj(j=1,…,J)にわたって総和をとることを意味する。
【0049】
第1項目のiについての総和Σにおける第1番目の総和Σai,txi,pは、ある決定変数xi,pが与えられたときに、当該決定変数xi,pが、上記他の物理マシンk’が停止した後の状態において物理マシンk上にAS構成クラスタiのアクティブ仮想マシンを配置するものである場合(物理マシンk上にアクティブ仮想マシンを配置する場合(p∈Ak)と、物理マシンk上にスタンバイ仮想マシンを配置し、他の物理マシンk’にアクティブ仮想マシンを配置する場合(p∈Sk∩Ak’)との両方を含む。)に、アクティブ仮想マシンの個別予測ピーク使用量ai,tを与えるものである。図9(A)に示すように、物理マシンk上にスタンバイ、他の物理マシンk’上にアクティブ仮想マシンを配置する場合(p∈Sk∩Ak’)は、他の仮想マシンk’が停止した場合、当該物理マシンk上のスタンバイ仮想マシンがアクティブ化され、アクティブ仮想マシンとなる。
【0050】
同様に、第2番目の総和Σsi,txi,pは、与えられた決定変数xi,pが、上記他の物理マシンk’が停止した後の状態において物理マシンk上にAS構成クラスタiのスタンバイ仮想マシンを配置するものであった場合(物理マシンk上にスタンバイ仮想マシンを配置し、他の物理マシンk’にアクティブ仮想マシンを配置する場合を除く(p∈Sk∩(¬Ak’))。)に、スタンバイ仮想マシンの個別予測ピーク使用量si,tを与えるものである。
【0051】
第2項目のAA構成クラスタjに関する総和Σの括弧内は、ある決定変数yi,qが与えられたときに、当該決定変数が、上記他の物理マシンk’が停止した後の状態において物理マシンk上にAA構成クラスタjのアクティブ仮想マシンを配置するものであった場合に、アクティブ仮想マシンの物理プロセッサの個別予測ピーク使用量を与えるものである。この個別予測ピーク使用量は、他の物理マシンk’にアクティブ仮想マシンが配置されているか否かで値が異なる。物理マシンk’上に配置される場合(q∈Qk∩Qk’)には、個別予測ピーク使用量は、図9(B)に示すように、停止した物理マシンk’上の仮想マシンの負荷を残りの物理マシン間で負担し合うため、AA構成クラスタj内の物理プロセッサの総予測ピーク使用量cj,tを並列数|q|−1(停止仮想マシン数)で割った相当量となる。物理マシンk’上に配置されない場合(q∈Qk∩(¬Qk’))には、個別予測ピーク使用量は、総予測ピーク使用量cj,tを並列数|q|で割った相当量となる。
【0052】
上記式(8)に関してまとめると、以下のように説明される。すなわち、
(i)第1項目のAS構成クラスタiに関する総和Σは、クラスタiの配置構成を規定する決定変数xi,pに対応して与えられる、他の物理マシンk’が停止したときに物理マシンkに対して予測される該クラスタiによる予測ピーク使用量(0か、ai,tか、またはsi,tの値をとる。)の、すべてのAS構成クラスタi(i=1,…,I)にわたる総和を表し、
(ii)第2項目のAA構成クラスタjに関する総和Σは、クラスタjの配置構成を規定する決定変数yj,qに対応して与えられる、他の物理マシンk’が停止したときに物理マシンkに対して予測される該クラスタjによる予測ピーク使用量(0か、cj,t/(|q|−1)か、またはcj,t/|q|かの値をとる。)の、AA構成クラスタj(j=1,…,J)にわたる総和を表し、
上記式(8)は全体として、クラスタc(AS構成クラスタiおよびAA構成クラスタjを含む。)の配置構成を規定する決定変数xi,p,yj,qに対応して与えられる、他の物理マシンk’が停止したときに物理マシンkに対して予測される該クラスタcによる予測ピーク使用量のすべてのクラスタにわたる合計が、当該物理マシンk上に準備される物理リソース量を上回らないという制約を課す。
【0053】
再び図7を参照すると、ステップS104では、配置構成最適化問題設定部128は、目的関数および制約条件を含む最適化問題を数理計画ソルバーに設定する。ステップS105では、配置構成導出部132は、上記最適化問題が設定された数理計画ソルバーに対して演算の実行を指令し、最適化問題の決定変数の最適解を得る。第1の実施形態における最適化問題は、上記式(3)〜(8)で表される0−1整数線形計画問題として表現されるため、分枝限定法や分枝切除法などのアルゴリズムを実装する数理計画ソルバーを用いることができる。ステップS106では、配置構成導出部132は、決定変数が規定する仮想マシンの配置構成を取得し、数理計画ソルバーから上記最適解に対応する最小化された目的関数の値を、必要最小限の物理リソース量として取得し、演算結果134を書き込む。なお、上記式(3)〜(8)で表される0−1整数線形計画問題では、決定変数xi,p,yj、qは、各クラスタi,jの一意の仮想マシン配置パターンを示すため、決定変数xi,p,yj、qから、各仮想マシンを物理マシンへマッピングする具体的な配置構成を得る。
【0054】
ステップS107では、仮想マシン配置処理部136は、演算結果134を読み出して、上記ユーザ・インタフェースまたはリモート・インタフェースを介して、仮想マシンの配置構成および必要最小限の物理リソース量を管理者に提示し、以後の指示を仰ぐ。ステップS108では、管理者から配置実施の指示があったか否かで処理を分岐させる。ステップS108で、配置実施の指示があった場合(YES)には、ステップS109で、仮想マシン配置処理部136は、取得された配置構成に従って、各クラスタの各々の仮想マシンを対応する物理マシン上へ配置し、ステップS110で処理を終了する。一方、ステップS108で、配置実施の指示がなかった場合(NO)には、ステップS110へ直接分岐させて、ステップS110で処理を終了する。
【0055】
上述した第1の実施形態による配置構成管理装置120によれば、一部の物理マシンが障害のために停止した場合にも継続的にサービスを提供するに充分な物理リソース量を確保し、かつ、割り当て対象となる物理マシンの全体の物理リソース量を最小化する仮想マシンの配置構成を決定することができる。このとき、決定された配置構成は、各業務システムのサーバ機能の負荷特性を考慮して、最適化問題の最適解として客観的に求められたものである。このため、仮想マシンの配置構成の担当者は、その結果を信頼してシステム全体の物理リソース量を低減することができ、リソース利用効率を向上し、仮想化システム100全体の設備コストを削減することが可能となる。
【0056】
なお、決定された物理リソース量が、実際に物理マシンに準備された物理リソース量を超える場合には、物理プロセッサ、メモリ等の物理リソースを人手により物理マシンに増設すればよい。その他、物理マシンが、CUoD(Capacity Upgrade on Demand)等の技術に対応している場合には、ユーザーの要求に応じてコンソール端末等から任意のコードを入力することで予備用として搭載している物理プロセッサを有効化することで物理プロセッサを増設する対応としてもよい。
【0057】
なお、上述した第1の実施形態では、物理マシンが故障に起因して停止した場合について説明したが、他の実施形態では、物理マシンがメンテナンスに起因して停止する場合について適用してもよい。メンテナンスを行う場合、図10に示すように、メンテナンスに移行する物理マシン上の仮想マシンは、予め所定の待避先の物理マシン上に待避される。物理マシンがメンテナンスに起因して停止する場合に対応する実施形態では、詳細は後述するが、待避先の物理マシンを指定する制約条件をさらに規定し、上記式(8)で示す制約条件を適宜修正すればよい。
【0058】
[第2の実施形態]
以下、物理マシン数が多い場合に有効な第2の実施形態による配置構成管理装置について説明する。なお、第2の実施形態による仮想化システムは、最適化問題以外の構成については、第1の実施形態による仮想化システム100と概ね同一の構成を備えるため、以下、最適化問題について説明する。
【0059】
第2の実施形態における最適化問題は、下記式(9)〜(17)で表される0−1整数線形計画問題として表現される。
【0060】
【数3】
(ここで、IはAS構成のクラスタ数;JはAA構成のクラスタ数;Kは物理マシン数;Tは時間区間数;Pは、AS構成の仮想マシン配置パターンの集合;Akは、物理マシンkにアクティブ仮想マシンを配置するAS構成の仮想マシン配置パターンの集合(∈P);Skは、物理マシンkにスタンバイ仮想マシンを配置するAS構成の仮想マシン配置パターンの集合(⊆P);
xi,p=1は、AS構成のクラスタiを仮想マシン配置パターンpで配置することと同値;yj,k=1は、AA構成のクラスタj内の仮想マシンを物理マシンkに配置することと同値;wj,k,k’は、AA構成のクラスタjの仮想マシンを物理マシンkおよび他の物理マシンk’に配置すると「1」となり、それ以外は「0」または「1」となる;qjは、AA構成のクラスタjの並列度;
ai,tは、時間区間tにおけるAS構成のクラスタi内のアクティブ仮想マシンの予測ピークCPU使用量;si,tは、時間区間tにおけるAS構成のクラスタi内のスタンバイ仮想マシンの予測ピークCPU使用量;ci,tは、時間区間tにおけるAA構成のクラスタj内の合計予測ピークCPU使用量である。)
【0061】
上記0−1整数線形計画問題において決定変数は、上記式(10)および(11)で定義される、AS構成クラスタiの仮想マシンの配置を規定するxi,pと、AA構成クラスタjの仮想マシンの配置を規定するyj,kを含み、これらは「0」または「1」いずれかの値を取り得る。一方、第2の実施形態では、AA構成クラスタjの仮想マシンの配置は、複数の仮想マシン全体の配置を規定するパターンではなく、物理マシンk上に仮想マシンが配置されるか否かを示す決定変数yj,kを用いて表され、上記式(14)によりアクティブ仮想マシンの合計数が制限される。さらに、第2の実施形態では、上記式(12)および(15)に規定される変数wj,k,k’が導入され、この変数wj,k,k’は、AA構成クラスタjの仮想マシンが物理マシンkおよび他の物理マシンk’の両方に配置される場合に値が「1」となる。
【0062】
上記式(16)および(17)は、上述した制約条件(2)に対応するものであり、物理マシンkについて保証するべき制約条件であって、kおよびk’の大小関係で場合分けして、あらゆるk’,tの組み合わせに関し、時間区間t内に他の物理マシンk’が停止したときの当該物理マシンkに予測される物理リソースの合計予測ピーク使用量が、当該物理マシンkに準備する物理リソース量zkを上回らないという制約条件を表している。
【0063】
上記式(16)および上記式(17)の左辺中、第1項目のiに関する総和Σは、第1の実施形態の場合と同様である。上記式(16)および式(17)の左辺中、第2項目のjに関する総和Σは、第1の実施形態の場合と表現形式は異なっているものの、概ね同一の内容を規定するものである。上記式(8)との相違は、クラスタjの配置構成を規定する決定変数yj,kが与えられたときに、第2項目のjに関する総和Σ内の第1項目で、故障なく並列度qjで分配した場合に相当する使用量を与え、第2項目で、さらに他の物理マシンk’上にもアクティブ仮想マシンが配置される場合の差分を加算して与えるよう定式化されている点である。上記差分は、故障により並列度qj−1で分配した使用量と、故障なく並列度qjで分配した使用量との差である。
【0064】
第2の実施形態による最適化問題は、物理マシン数Kが多く、並列度qjが概ね物理マシン数Kの半分程度に抑えられるケースで演算パフォーマンスの観点から有効である。さらに他の実施形態では、上記式(9)〜(17)の定式化に、冗長な不等式・等式を追加することで、さらに演算パフォーマンスを向上させることができる。これらの冗長な不等式・等式は、整数解を探索する時の探索空間を限定し、探索範囲を縮小する効果を持つことから演算パフォーマンスの向上が期待できる。例えば、上記式(15)の制約によれば、wj,k,k’の値がyj,kかけるyj,k’となるように、yj,kとyj,k’の両方が1の場合、wj,k,k’の値も1でないといけないが、それ以外の場合、wj,k,k’の値は0でも1でもよいことになっている。しかし、最適解ではwj,k,k’の値が0であることが知られているので、以下のように冗長な等式を追加することでwj,k,k’の探索空間を限定する効果が期待できる。
【0065】
【数4】
【0066】
[第3の実施形態]
以下、最適化問題が大規模化する場合に有効な、第3の実施形態による配置構成管理装置について説明する。なお、第3の実施形態による仮想化システムは、最適化問題と、フローチャートとが異なる他は、第1の実施形態による仮想化システム100と概ね同様の構成を備えるため、以下、フローチャートおよび最適化問題について説明する。
【0067】
図11は、本発明の第3の実施形態による配置構成管理装置120が実行する、最適な配置構成の導出処理を示すフローチャートである。図11に示す処理は、例えば管理者から上記ユーザ・インタフェースまたはリモート・インタフェースを介した明示的な指示に応答して、ステップS200から開始される。ステップS201では、ピーク使用量予測部126は、リソース使用履歴データベース124から履歴情報を読み出し、各時間区間tおよびクラスタc毎の総予測ピーク使用量を決定する。ステップS202では、上記各クラスタc毎の総予測ピーク使用量から、少なくともAS構成のクラスタiに関しては、各時間区間tおよび仮想マシン毎の個別予測ピーク使用量を決定する。
【0068】
ステップS203では、配置構成最適化問題設定部128は、目的関数および制約条件を含む最適化問題を生成し、最適化問題データ130に記述する。第3の実施形態における最適化問題は、下記式(18)〜(24)で表される0−1整数2次計画問題として表現される。
【0069】
【数5】
(ここで、IはAS構成のクラスタ数;JはAA構成のクラスタ数;Kは物理マシン数;
Tは時間区間数;
Pは、AS構成のアクティブ仮想マシンの配置を規定する配置行列;Sは、AS構成のスタンバイ仮想マシンの配置を規定する配置行列;Xは、AA構成の仮想マシンの配置を規定する配置行列;
Pik=1は、AS構成クラスタiのアクティブ仮想マシンを物理マシンkに配置することと同値;Sik=1は、AS構成クラスタiのスタンバイ仮想マシンを物理マシンkに配置することと同値;Xjk=1は、AA構成クラスタjのアクティブ仮想マシンを物理マシンkに配置することと同値;qjは、AA構成のクラスタjの並列度;
ai,tは、時間区間tにおけるAS構成クラスタi内のアクティブ仮想マシンの物理プロセッサの個別予測ピーク使用量;si,tは、時間区間tにおけるAS構成クラスタi内のスタンバイ仮想マシンの物理プロセッサの個別予測ピーク使用量;cj,tは、時間区間tにおけるAA構成クラスタj内の物理プロセッサの総予測ピーク使用量である。)
【0070】
上記0−1整数2次計画問題において決定変数は、上記式(21)で定義されるAS構成クラスタiの仮想マシンの配置を規定するPi,k,Si,k(配置行列P,S)、および上記式(23)で定義されるAA構成クラスタjの仮想マシンの配置を規定するXj,k(配置行列X)を含み、これらの要素「0」または「1」いずれかの値を取り得る。上記式(19)および(20)は、各AS構成クラスタiに関して、アクティブ仮想マシンおよびスタンバイ仮想マシンは、1つずつ、いずれかの物理マシン上に存在し、同一物理マシン上にアクティブ仮想マシンおよびスタンバイ仮想マシンの両方が配置されないことを意味している。上記式(22)は、各AA構成クラスタjに関して、合計qj個のアクティブ仮想マシンがいずれかの物理マシン上に存在することを表す。
【0071】
上記式(24)は、上述した制約条件(2)に対応するものであり、あらゆるtに関し、時間区間t内に他のいずれかの物理マシンK’が停止したときの当該物理マシンkに予測される物理リソースの合計予測ピーク使用量が、当該物理マシンkに準備する物理リソース量zkを上回らないという制約条件を表し、第1の実施形態や第2の実施形態と表現形式が異なるが、概ね同一の内容を規定するものである。
【0072】
上記式(18)〜(24)で表される0−1整数2次計画問題は、好適には、下記式(25)〜(29)および下記式(30)〜(34)で表されるような、複数の0−1整数線形計画問題に分けて、配置行列の一方について他の配置行列を固定しながら反復法を適用することより解くことができる。なお、下記式(25)〜(29)および下記式(30)〜(34)は、説明の便宜上、それぞれ、AS構成のクラスタiのみを含む場合において、配置行列Pを固定して配置行列Sについて局所最適解を求める0−1整数線形計画問題と、配置行列Sを固定して配置行列Qについて局所最適解を求める0−1整数線形計画問題とを表している。しかしながら、AA構成のクラスタのみの場合、またはAS構成のクラスタとAA構成クラスタとの混合構成の場合についても同様に適用可能であることは容易に理解されるであろう。
【0073】
【数6】
【0074】
【数7】
【0075】
ステップS204では、配置構成最適化問題設定部128は、局所最適解を求める注目する仮想マシンを切り替えながら設定し、ステップS205で、生成された最適化問題全体のうち、対応する制約条件を含む最適化問題を数理計画ソルバーに設定する。ここで、注目する仮想マシンとは、例えば上記式(25)〜(29)で表される0−1整数線形計画問題では、注目する仮想マシンは、配置行列Sに対応するスタンバイ仮想マシンであり、例えば上記式(30)〜(34)で表される0−1整数線形計画問題では、注目する仮想マシンは、配置行列Pに対応するアクティブ仮想マシンとなる。AS構成のみの場合、ステップS204では、アクティブ仮想マシンおよびスタンバイ仮想マシンをそれぞれ注目する仮想マシンとして切り替えながら、ステップS205で、最適化問題を数理計画ソルバーに設定する。AA構成のみの場合、ステップS204では、それぞれのクラスタから注目する仮想マシンをひとつずつ選択し、ステップS205で、最適化問題を数理計画ソルバーに設定する。
【0076】
ステップS206では、上記最適化問題が設定された数理計画ソルバーに対して演算の実行を指令し、配置構成導出部132は、注目する仮想マシンの配置に関して、注目する仮想マシン以外の仮想マシンの配置行列を固定しながら、対応する0−1整数線形計画問題を解いて、当該注目する仮想マシンの配置行列の目的関数を最小化する局所最適解を求める。ステップS207では、配置構成管理装置120は、終了条件が成立したが否かを判定する。ここで、終了条件は、例えば、求められる局所最適解が収束したかを判定する収束条件、または所定の反復回数や時間により打ち切るための打切条件である。ステップS207で、終了条件が成立していないと判定された場合(NO)には、ステップS204へ処理をループさえ、次の注目する仮想マシンに切り替えて、終了条件が満たされるまで局所最適解の導出を繰り返す。
【0077】
一方、ステップS207で、終了条件が満たされると判定された場合(YES)には、ステップS208へ処理を分岐させる。第3の実施形態における最適化問題は、上記式(25)〜(29)または上記式(30)〜(34)で表される0−1整数線形計画問題として表現されるため、分枝限定法や分枝切除法などのアルゴリズムを実装する数理計画ソルバーを用いることができる。ステップS208では、配置構成導出部132は、決定変数である配置行列P,S,Xが規定する仮想マシンの配置構成を取得し、終了条件が満たされたときの最小化された目的関数の値を、必要最小限の物理リソース量として取得し、演算結果134を書き込む。なお、上記0−1整数線形計画問題では、配置行列P,Sが仮想マシンの配置パターンを示すため、これらか、各仮想マシンを物理マシンへマップする具体的な配置構成が得られる。
【0078】
ステップS209〜ステップS212の処理は、第1の実施形態において、図7のステップS107〜ステップS110で示す処理と同様であるため、説明は割愛する。なお、上記説明では、AA構成クラスタについての説明を割愛したが、AS構成クラスタiに関して上記PおよびSを固定して反復法により解く場合と同様に、q−1個の仮想マシンを固定しながら、残り1つの仮想マシンの局所最適解を求めて、これを他のq−1個の仮想マシンについて反復することにより行うことができる。
【0079】
上記第3の実施形態による最適化問題は、好適には近似的に解くことができる。上記第3の実施形態では、一方の仮想マシンの配置行列を固定しながら他方の仮想マシンの配置行列の局所最適解を求めるため、一度に取り扱う決定変数が削減され、第3の実施形態は、上記第1の実施形態および第2の実施形態に比べて、大規模の問題を取り扱う際に有利な形態であるといえる。
【0080】
[第4の実施形態]
以下、上位クラスタに関する条件やメンテナンス時の待避先の指定を含むより複雑な設定を可能とする第4の実施形態の配置構成管理装置について説明する。なお、第4の実施形態による仮想化システムは、最適化問題が異なる他は第1の実施形態による仮想化システム100と概ね同様の構成を備えるため、以下、最適化問題について説明する。
【0081】
第4の実施形態における最適化問題は、図12に示す式(35)〜(50)で表される0−1整数計画問題として表現される。図12に示す式(35)〜(50)で表される最適化問題は、マイクロ・パーティショニング機能が利用可能な環境であって、物理プロセッサを仮想マシン間で共有し、メモリを各物理マシンに固定に割り当てた環境において、通常時、物理マシンの障害時、メンテナンス時のすべてにおいて、各物理マシンに配置された仮想マシンの物理プロセッサの予測ピーク使用量の総和が、物理マシンに搭載された物理プロセッサ数を上回らないという制約条件に従い、複数の物理マシン全体の物理プロセッサ数の総和を最小化する最適な物理マシンの配置構成を導出するものである。
【0082】
ここで、図12に示す式(35)〜(50)中、Bは業務システム(上位システム)の集合;CAS(b)は業務システムb∈BのAS構成クラスタの集合;CAA(b)は業務システムb∈BのAA構成クラスタの集合;Kは物理マシンの集合;Tは時間区間の集合;
qb,cは、業務システムb∈BのAA構成クラスタc∈CAA(b)の仮想マシン数;ab,c,tは、業務システムb∈BのAS構成クラスタc∈CAS(b)のアクティブ仮想マシンの時間区間tにおける物理プロセッサの個別予測ピーク使用量;sb,c,tは、業務システムb∈BのAS構成クラスタc∈CAS(b)のスタンバイ仮想マシンの時間区間tにおける物理プロセッサの個別予測ピーク使用量;pb,c,tは、業務システムb∈BのAA構成クラスタc∈CAS(b)の時間区間tにおける物理プロセッサの総予測ピーク使用量;Uは各物理マシンに搭載できる最大物理プロセッサ数である。
【0083】
図12に示す式(35)は、最小化するべき目的関数を表し、図12に示す式(36)〜(42)は、当該整数計画問題における各変数を定義する。より具体的には、式(36)は、xb,c,i,k,lが1のとき、業務システムbのAS構成クラスタcのアクティブまたはスタンバイの仮想マシンを物理マシンkに配置し、メンテナンス時に物理マシンlに待避することと同値であることを表す。式(37)は、yb,c,k,lが1のとき、業務システムbのAA構成クラスタcの仮想マシンをひとつ物理マシンkに配置し、メンテナンス時に物理マシンlに待避することと同値であることを表す。つまり、式(36)および(37)は、物理マシンの保守時に当該物理マシンk上に存在する仮想マシンを待避する待避先となる物理マシンlを規定する変数の取り得る範囲を表す。一方、式(38)は、業務システムbのAS構成クラスタcのアクティブ仮想マシンを物理マシンkに配置し、スタンバイ仮想マシンを物理マシンk’に配置するとvb,c,k,k’=1となることを表す。式(39)は、業務システムbのAA構成クラスタcの仮想マシンのうち2つを物理マシンk,k’に配置するとwb,c,k,k’=1となることを表す。式(40)は、物理マシンkに準備する物理プロセッサ数を表す。
【0084】
図12に示す式(41)〜(43)は、当該整数計画問題におけるASクラスタに関する基本的な制約条件を表す。式(41)は、業務システムbのAS構成クラスタcのアクティブ仮想マシンとスタンバイ仮想マシンとは同一の物理マシンkに配置されないという制約条件を表す。一方、式(43)は、業務システムbのAS構成クラスタcの各仮想マシンは、いずれかの物理マシンに配置され、待避先の物理マシンも一意に定まることを表している。式(43)は、業務システムbのAS構成クラスタcのアクティブ仮想マシンが物理マシンkに配置され、スタンバイ仮想マシンが物理マシンk’に配置されている場合、vb,c,k,k’=1となることを表す。
【0085】
図12に示す式(44)〜(46)は、当該整数計画問題におけるAAクラスタに関する基本的な制約条件を表す。式(44)は、業務システムbのAA構成クラスタcの各仮想マシンの待避先が一意に決まることを表し、式(45)は、業務システムbのAA構成クラスタcの仮想マシンが、qb、c個の物理マシン上に配置されることを表す。式(46)は、業務システムbのAA構成クラスタcの仮想マシンが物理マシンk,k’に配置されている場合、wb,c,k,k’=1となることを表す。
【0086】
図12に示す式(47)は、同一物理マシン上に配置される同一業務システムに属するアクティブ仮想マシンの数をバランスさせる追加の制約条件を表す。式(47)は、物理マシンkに配置する業務システムbのアクティブ仮想マシンの数は、概ねその業務マシンの総アクティブ仮想マシン数を物理マシン数Kで割った値とする制約条件を表す。これにより、仮想マシン数に対し物理マシン数Kが少ない場合も極力分散して配置される。なお、他の実施形態では、同一業務システムに属するアクティブ仮想マシンを同じ物理マシン上に配置しないという制約条件とすることもできる。
【0087】
図12に示す式(48)および(49)は、物理マシン障害時の制約を表す。式(48)は、時間区間t内において、物理マシンk’(>k)に障害があったときの物理マシンkの物理プロセッサの予測ピーク使用量の総和が、物理マシンkに準備された物理リソース量zkを上回らないという制約条件を表し、式(49)は、同様に、物理マシンk’(>k)の場合を表す。また図12に示す式(50)は、物理マシンのメンテナンス時の制約を表す。この場合において、AS構成クラスタ内では、アクティブ仮想マシンを収容する物理マシンが障害に陥った場合、スタンバイ仮想マシンは、アクティブ化し、アクティブ仮想マシンの性能を維持する。さらに、AA構成クラスタ内では、アクティブ仮想マシンを収容する物理マシンが障害に陥った場合、残りのアクティブ仮想マシンで均等に性能を維持する。
【0088】
式(50)は、時間区間t内において物理マシンk’をメンテナンスする場合において物理マシンkの物理プロセッサの予測ピーク使用量の総和が、物理マシンkに準備された物理リソース量zkを上回らないという制約条件を表している。なお、メンテナンス時は、ある時点で、メンテナンス対象の物理マシン上で稼働する仮想マシンすべてを他の物理マシンへ移動するとし、その際に物理プロセッサや物理メモリなどの物理リソース量は維持されるとしている。
【0089】
なお、論理区画方式の仮想化環境では、ネットワーク・リソースやストレージ・リソースなどの入出力に関してVIOS(Virtual I/O Server)が各物理マシン上で作動する場合があるが、VIOSの仮想マシンについては、各物理マシン上に1または複数(例えば2つ)で固定し、CPUも固定割り当てとして、上記最適化問題の考慮から除外して計算することもできる。VIOSは、同一物理マシン内の仮想マシンに対して仮想入出力機能を提供する仮想マシンであるため、障害時には、VIOSの能力の維持に関して考慮する必要はないためである。メンテナンス時も同様に、VIOSのように物理マシンに固定される仮想マシンについては待避する必要はない。
【0090】
以上説明した第4の実施形態による配置構成管理装置120によれば、上位クラスタに関する条件やメンテナンス時の待避先の指定を含むより複雑な設定が可能となる。上記最適化問題においては、同じ上位クラスタに属するアクティブ仮想マシンの数をバランスするなど、クラスタ内の関係を越えた制約条件を課すことができる。また、障害時に加えて、メンテナンス対象の物理マシン上の仮想マシンを他の物理マシン上へ移動させる場合においても、必要充分な物理リソース量を確保することを可能とする。
【0091】
[実験]
1.コンピュータにおける実装
クロック数2.26GHzのマルチコア・プロセッサ(インテル(登録商標)Core(登録商標)2Duo P8400)と2.94GBのRAMを備えるThinkPad(登録商標)X200を用いて、本発明の第4実施形態による構成配置管理装置のプログラムを実装するコンピュータ・システムを実装した。このコンピュータ・システムのオペレーティング・システムは、WINDOWS(登録商標)XPとした。上記プログラムは、Pythonによって記述し、数理計画ソルバーとして、IBM(登録商標)ILOG(登録商標)CPLEX(登録商標)を用いた。
【0092】
2.使用履歴情報およびデータ・セット
使用履歴情報として、図13(A)に点で示すような実測値の時系列データを使用した。なお、図13(A)に示す実測値は、あるLPARについて、24時間にわたり1分間隔でサンプリングされたものであり、黒(系列A)がアクティブLPARの実測値を表し、ダークグレイ(系列B)がスタンバイLPARの実測値を表す。また、破線(系列D)は、人手で仮想マシンの配置を決定する際に、担当者が必要と見積もったCPU数を表すが、以下の実験ではこの値は必要としない。
【0093】
3.実験例
(実験例1)図13(A)に点で示すような実測値の時系列データから、ライトグレイの線(C系列)で示すような1時間毎のCPU数単位の予測ピーク使用量を求め、最適化問題を生成するためのデータ・セットとした。図13(A)によれば、測定対象のアクティブLPARにかかる業務システムは、深夜時間帯である午前0時から1ないし2時まで負荷が高く、8時から20時までの業務時間帯にかけて負荷が発生するという時間特性を示した。
【0094】
上記実装およびデータ・セットにおいて、20LPARを4筐体(物理マシン)に配置する0−1整数線形計画問題を数理計画ソルバーに解かせたところ、1.3秒で厳密な解に至った。最終的に求められた配置構成は、人手によりその妥当性を確認した。本実験例1では、過去に人手でスプレッドシートを用いた場合に全体として33個のCPUが必要であるとされた実例に対して、24個のプロセッサが最適解における必要最小限の物理リソース量として求められた。
【0095】
(実験例2)24時間を4分割して6時間毎のCPU数単位の予測ピーク使用量をランダムに生成し、最適化問題を生成するためのデータ・セットとした。上記実装において、50のAS構成クラスタおよび50のAA構成のクラスタを含む100LPARを9筐体に配置する0−1整数線形計画問題を数理計画ソルバーに解かせたところ、30秒で最適解から平均4%以内の近似解に至った。図13(B)に、実験例2の結果として、ランダムに生成された最適化問題のそれぞれのインスタンスついてその近似解と下限値を示す。
【0096】
(実験例3)比較のため、時間区間を分割せずに24時間平均の予測ピーク使用量をランダムに生成し、最適化問題を生成するためのデータ・セットとした。上記実装において、50のAS構成クラスタおよび50のAA構成のクラスタを含む100LPARを9筐体(物理マシン)に配置する0−1整数線形計画問題を数理計画ソルバーに解かせて近似解を得た。図13(B)に、実験例3の結果として、ランダムに生成された最適化問題のそれぞれのインスタンスついてその近似解と下限値を示す。
【0097】
4.考察
上記実験例1の結果を参照すると、本発明による配置構成最適化処理によれば、人手による計算に比べて、CPUを27%削減し、かつ、バリュー・アット・リスクの意味においての保証を与え得ることが示された。つまり、得られた配置構成を信頼して、CPU数を低減することにより、リソース利用効率を更に向上させることができる。また得られた配置構成の妥当性も検証され、信頼に足る結果であることが確認された。
【0098】
図13(B)は、横軸がランダムに生成された最適化問題のそれぞれのインスタンスを意味し、縦軸が、求められたCPU数を意味する。図13(B)中、系列Eは、上記比較のため分割を行わなかった実験例3の近似解を表し、系列Fは、実験例3の下限値を表す。また図13(B)中、系列Gは、上記実験例2の近似解を表し、系列Hは、上記実験例2の下限値を表し、系列Gは、実験例2の実験例3に対する削減量を表す。なお、実験例2は、本発明の実施例を表し、実験例で2は、図13(B)に示すように、時間区間に分割しない実験例3に比べて、24時間を4つの時間区間に分割して最適化問題を解き、配置構成の最適解を求めることで、30%程度のCPUを削減することが可能となった。
【0099】
以上説明したように、本発明の実施形態によれば、複数のサーバ機能の負荷特性を考慮して、一部の物理マシンが障害またはメンテナンスのために停止した場合にも、残りの物理マシン間で負荷を分担し、継続的にサービスを提供するために必要充分な物理リソース量を確保し、かつ当該物理リソース量を最小化する仮想マシンの配置構成を導出することができる、情報処理装置、情報処理システム、配置構成決定方法、プログラムおよび記録媒体を提供することができる。
【0100】
上述までの実施形態では、業務システムを統合するサーバ統合環境を構築する仮想化システムについて説明してきたが、これに限定されるものではなく、プライベートまたはパブリックのクラウド・コンピューティングの基盤として利用してもよいことはいうまでもない。
【0101】
本発明の実施形態による配置構成管理装置は、コンピュータ実行可能なプログラムを、コンピュータ装置にロードして各機能部を実現することにより提供される。このようなプログラムとしては、例えば、FORTRAN、COBOL、PL/I、C、C++、Java(登録商標)、Java(登録商標)Beans、Java(登録商標)Applet、Java(登録商標)Script、Perl、Ruby、Pythonなどのレガシー・プログラミング言語や、OPL、AMPLなどのモデリング言語や、オブジェクト指向プログラミング言語などで記述された、コンピュータ実行可能なプログラムにより実現でき、装置可読な記録媒体に格納して頒布することができる。
【0102】
これまで本発明を図面に示した実施形態および実施例をもって説明してきたが、本発明は図面に示した実施形態に限定されるものではなく、他の実施形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
【符号の説明】
【0103】
100…仮想化システム、102…ネットワーク、110…物理マシン、112…ハイパーバイザ、114…仮想マシン、116…業務システム(クラスタ)、118…未統合の業務システム、120…配置構成管理装置、122…リソース使用履歴収集部、124…リソース使用履歴データベース、126…ピーク使用量予測部、128…配置構成最適化問題設定部、130…最適化問題データ、132…配置構成導出部、134…演算結果、136…仮想マシン配置処理部、200…上位クラスタ、210…クラスタ、212,216,218…アクティブ仮想マシン、214…スタンバイ仮想マシン
【特許請求の範囲】
【請求項1】
仮想マシンを物理マシンへ割り当てる配置構成を決定する情報処理装置であって、
同一機能を備える複数の仮想マシンが含まれる各クラスタについて、時間区間毎の物理リソースの予測ピーク使用量を決定する予測部と、
第1の物理マシン、第2の物理マシンおよび時間区間の各組み合わせについて、前記時間区間内に前記第2の物理マシンが停止したときに前記第1の物理マシンに対し予測される物理リソースの合計予測ピーク使用量が、前記第1の物理マシンに準備する物理リソース量を上回らないことを保証する、制約条件を設定する設定部と、
前記制約条件に従って、前記仮想マシンが割り当てられる複数の物理マシン全体の前記物理リソース量の総和を目的関数として最小化する、最適化問題の解を演算し、配置構成を導出する配置構成導出部と
を含む、情報処理装置。
【請求項2】
前記設定部は、前記合計予測ピーク使用量が予測される前記第1の物理マシンk、前記第2の物理マシンk’および前記時間区間tに関して、
クラスタcの配置構成を規定する決定変数に対応して与えられる、前記第2の物理マシンk’が停止したときに前記第1の物理マシンkに対して予測される該クラスタcによる予測ピーク使用量γc,tの、クラスタ全体の総和として、
前記合計予測ピーク使用量φk,k’,tを定式化することを特徴とする、請求項1に記載の情報処理装置。
【請求項3】
前記配置構成導出部は、各クラスタc内で注目する仮想マシン以外の仮想マシンの配置構成を規定する決定変数を固定しながら、当該注目する仮想マシンの配置構成を規定する決定変数の最適解を探索する処理を、前記注目する仮想マシンを切り替えて反復することにより、前記最適化問題の決定変数の最適解を演算する、請求項2に記載の情報処理装置。
【請求項4】
1以上のクラスタが集合して上位クラスタを構成し、前記設定部は、同一物理マシン上に配置される同一上位クラスタに属するアクティブ仮想マシンの数をバランスさせる追加の制約条件をさらに設定する、請求項1に記載の情報処理装置。
【請求項5】
前記設定部は、物理マシンの保守時に当該物理マシン上に存在する仮想マシンを待避する待避先となる物理マシンを規定する追加の制約条件をさらに設定する、請求項1に記載の情報処理装置。
【請求項6】
導出された配置構成により定められる物理マシン上に各々の仮想マシンを配置する配置処理部をさらに含む、請求項1に記載の情報処理装置。
【請求項7】
前記配置構成導出部は、前記目的関数の最小値を必要充分な物理リソース量として出力する、請求項1に記載の情報処理装置。
【請求項8】
前記設定部は、同一クラスタに属する仮想マシンが同一物理マシン上に配置されないという追加の制約条件をさらに設定する、請求項1に記載の情報処理装置。
【請求項9】
前記設定部は、前記クラスタcのうちの、アクティブ仮想マシンおよびスタンバイ仮想マシンを含むクラスタiについては、
前記第1の物理マシンk上に前記アクティブ仮想マシンが存在する場合、または前記第1の物理マシンk上に前記スタンバイ仮想マシンが存在し、かつ、前記第2の物理マシンk’上に前記アクティブ仮想マシンが存在する場合には、前記アクティブ仮想マシンに対し予測される予測ピーク使用量αi,tを前記予測ピーク使用量γc,tとし、
前記第1の物理マシンk上に前記スタンバイ仮想マシンが存在し、かつ、前記第2の物理マシンk’上に前記アクティブ仮想マシンが存在しない場合には、前記スタンバイ仮想マシンに対し予測される予測ピーク使用量σi,tを前記予測ピーク使用量γc,tとして、
前記合計予測ピーク使用量φk,k’,tを定式化することを特徴とする、請求項2に記載の情報処理装置。
【請求項10】
前記設定部は、前記クラスタcのうちの、並列度ρjのアクティブ仮想マシンを含むクラスタjについては、
前記第1の物理マシンk上にアクティブ仮想マシンが存在し、前記第2の物理マシンk’上にアクティブ仮想マシンが存在しない場合には、前記クラスタj全体に対し予測される総予測ピーク使用量πj,tを前記並列数ρjで除した相当分の使用量を前記予測ピーク使用量γc,tとし、
前記第1の物理マシンkおよび前記第2の物理マシンk’両方の上に前記アクティブ仮想マシンが存在する場合には、前記総予測ピーク使用量πj,tを、前記第2の物理マシンk’が停止したときの並列数ρj’で除した相当分の使用量を前記予測ピーク使用量γc,tとして、
前記合計予測ピーク使用量φk,k’,tを定式化することを特徴とする、請求項2または9に記載の情報処理装置。
【請求項11】
それぞれ仮想マシン稼働環境を提供する複数の物理マシンと、前記複数の物理マシンへ各々の仮想マシンを割り当てる情報処理装置とを含む情報処理システムであって、前記情報処理装置は、
同一機能を備える複数の仮想マシンが含まれる各クラスタについて、時間区間毎の物理リソースの予測ピーク使用量を決定する予測部と、
第1の物理マシン、第2の物理マシンおよび時間区間の各組み合わせについて、前記時間区間内に前記第2の物理マシンが停止したときに前記第1の物理マシンに対し予測される物理リソースの合計予測ピーク使用量が、前記第1の物理マシンに準備する物理リソース量を上回らないことを保証する制約条件を設定する設定部と、
前記制約条件に従って、前記仮想マシンが割り当てられる複数の物理マシン全体の前記物理リソース量の総和を目的関数として最小化する、最適化問題の解を演算し、配置構成を導出する配置構成導出部と
前記複数の物理マシンのうち前記配置構成により定められる物理マシン上に各々の仮想マシンを配置する配置処理部と
を含む、情報処理システム。
【請求項12】
コンピュータ・システムが実行する仮想マシンを物理マシンへ割り当てる配置構成を決定する方法であって、
コンピュータ・システムが、同一機能を備える複数の仮想マシンが含まれる各クラスタについて、時間区間毎の物理リソースの予測ピーク使用量を決定するステップと、
コンピュータ・システムが、第1の物理マシン、第2の物理マシンおよび時間区間の各組み合わせについて、前記時間区間内に前記第2の物理マシンが停止したときに前記第1の物理マシンに対し予測される物理リソースの合計予測ピーク使用量が、前記第1の物理マシンに準備する物理リソース量を上回らないことを保証する制約条件を設定するステップと、
コンピュータ・システムが、前記制約条件に従って、前記仮想マシンが割り当てられる複数の物理マシン全体の前記物理リソース量の総和を目的関数として最小化する最適化問題の解を演算し、配置構成を導出するステップと
を含む、配置構成決定方法。
【請求項13】
前記最適化問題を設定するステップは、コンピュータ・システムが、前記合計予測ピーク使用量が予測される前記第1の物理マシンk、前記第2の物理マシンk’および前記時間区間tに関して、
クラスタcの配置構成を規定する決定変数に対応して与えられる、前記第2の物理マシンk’が停止したときに前記第1の物理マシンkに対して予測される該クラスタcによる予測ピーク使用量γc,tの、クラスタ全体の総和として、
前記合計予測ピーク使用量φk,k’,tを定式化するステップを含む、請求項12に記載の配置構成決定方法。
【請求項14】
前記導出するステップは、各クラスタc内で注目する仮想マシン以外の仮想マシンの配置構成を規定する決定変数を固定しながら、当該注目する仮想マシンの配置構成を規定する決定変数の最適解を探索するステップと、前記注目する仮想マシンを切り替えて、収束条件または打ち切り条件が成立するまで、前記探索するステップを反復させるステップとを含む、請求項13に記載の配置構成決定方法。
【請求項15】
コンピュータ・システム上に仮想マシンを物理マシンへ割り当てる配置構成を決定する情報処理装置を実現するためのコンピュータ実行可能なプログラムであって、前記コンピュータ・システムを、
同一機能を備える複数の仮想マシンが含まれる各クラスタについて、時間区間毎の物理リソースの予測ピーク使用量を決定する予測部、
第1の物理マシン、第2の物理マシンおよび時間区間の各組み合わせについて、前記時間区間内に前記第2の物理マシンが停止したときに前記第1の物理マシンに対し予測される物理リソースの合計予測ピーク使用量が、前記第1の物理マシンに準備する物理リソース量を上回らないことを保証する制約条件を設定する設定部、および
前記制約条件に従って、前記仮想マシンが割り当てられる複数の物理マシン全体の前記物理リソース量の総和を目的関数として最小化する、最適化問題の解を演算し、配置構成を導出する配置構成導出部
として機能させるためのプログラム。
【請求項16】
請求項15に記載のコンピュータ実行可能なプログラムをコンピュータ読取可能に格納する記録媒体。
【請求項1】
仮想マシンを物理マシンへ割り当てる配置構成を決定する情報処理装置であって、
同一機能を備える複数の仮想マシンが含まれる各クラスタについて、時間区間毎の物理リソースの予測ピーク使用量を決定する予測部と、
第1の物理マシン、第2の物理マシンおよび時間区間の各組み合わせについて、前記時間区間内に前記第2の物理マシンが停止したときに前記第1の物理マシンに対し予測される物理リソースの合計予測ピーク使用量が、前記第1の物理マシンに準備する物理リソース量を上回らないことを保証する、制約条件を設定する設定部と、
前記制約条件に従って、前記仮想マシンが割り当てられる複数の物理マシン全体の前記物理リソース量の総和を目的関数として最小化する、最適化問題の解を演算し、配置構成を導出する配置構成導出部と
を含む、情報処理装置。
【請求項2】
前記設定部は、前記合計予測ピーク使用量が予測される前記第1の物理マシンk、前記第2の物理マシンk’および前記時間区間tに関して、
クラスタcの配置構成を規定する決定変数に対応して与えられる、前記第2の物理マシンk’が停止したときに前記第1の物理マシンkに対して予測される該クラスタcによる予測ピーク使用量γc,tの、クラスタ全体の総和として、
前記合計予測ピーク使用量φk,k’,tを定式化することを特徴とする、請求項1に記載の情報処理装置。
【請求項3】
前記配置構成導出部は、各クラスタc内で注目する仮想マシン以外の仮想マシンの配置構成を規定する決定変数を固定しながら、当該注目する仮想マシンの配置構成を規定する決定変数の最適解を探索する処理を、前記注目する仮想マシンを切り替えて反復することにより、前記最適化問題の決定変数の最適解を演算する、請求項2に記載の情報処理装置。
【請求項4】
1以上のクラスタが集合して上位クラスタを構成し、前記設定部は、同一物理マシン上に配置される同一上位クラスタに属するアクティブ仮想マシンの数をバランスさせる追加の制約条件をさらに設定する、請求項1に記載の情報処理装置。
【請求項5】
前記設定部は、物理マシンの保守時に当該物理マシン上に存在する仮想マシンを待避する待避先となる物理マシンを規定する追加の制約条件をさらに設定する、請求項1に記載の情報処理装置。
【請求項6】
導出された配置構成により定められる物理マシン上に各々の仮想マシンを配置する配置処理部をさらに含む、請求項1に記載の情報処理装置。
【請求項7】
前記配置構成導出部は、前記目的関数の最小値を必要充分な物理リソース量として出力する、請求項1に記載の情報処理装置。
【請求項8】
前記設定部は、同一クラスタに属する仮想マシンが同一物理マシン上に配置されないという追加の制約条件をさらに設定する、請求項1に記載の情報処理装置。
【請求項9】
前記設定部は、前記クラスタcのうちの、アクティブ仮想マシンおよびスタンバイ仮想マシンを含むクラスタiについては、
前記第1の物理マシンk上に前記アクティブ仮想マシンが存在する場合、または前記第1の物理マシンk上に前記スタンバイ仮想マシンが存在し、かつ、前記第2の物理マシンk’上に前記アクティブ仮想マシンが存在する場合には、前記アクティブ仮想マシンに対し予測される予測ピーク使用量αi,tを前記予測ピーク使用量γc,tとし、
前記第1の物理マシンk上に前記スタンバイ仮想マシンが存在し、かつ、前記第2の物理マシンk’上に前記アクティブ仮想マシンが存在しない場合には、前記スタンバイ仮想マシンに対し予測される予測ピーク使用量σi,tを前記予測ピーク使用量γc,tとして、
前記合計予測ピーク使用量φk,k’,tを定式化することを特徴とする、請求項2に記載の情報処理装置。
【請求項10】
前記設定部は、前記クラスタcのうちの、並列度ρjのアクティブ仮想マシンを含むクラスタjについては、
前記第1の物理マシンk上にアクティブ仮想マシンが存在し、前記第2の物理マシンk’上にアクティブ仮想マシンが存在しない場合には、前記クラスタj全体に対し予測される総予測ピーク使用量πj,tを前記並列数ρjで除した相当分の使用量を前記予測ピーク使用量γc,tとし、
前記第1の物理マシンkおよび前記第2の物理マシンk’両方の上に前記アクティブ仮想マシンが存在する場合には、前記総予測ピーク使用量πj,tを、前記第2の物理マシンk’が停止したときの並列数ρj’で除した相当分の使用量を前記予測ピーク使用量γc,tとして、
前記合計予測ピーク使用量φk,k’,tを定式化することを特徴とする、請求項2または9に記載の情報処理装置。
【請求項11】
それぞれ仮想マシン稼働環境を提供する複数の物理マシンと、前記複数の物理マシンへ各々の仮想マシンを割り当てる情報処理装置とを含む情報処理システムであって、前記情報処理装置は、
同一機能を備える複数の仮想マシンが含まれる各クラスタについて、時間区間毎の物理リソースの予測ピーク使用量を決定する予測部と、
第1の物理マシン、第2の物理マシンおよび時間区間の各組み合わせについて、前記時間区間内に前記第2の物理マシンが停止したときに前記第1の物理マシンに対し予測される物理リソースの合計予測ピーク使用量が、前記第1の物理マシンに準備する物理リソース量を上回らないことを保証する制約条件を設定する設定部と、
前記制約条件に従って、前記仮想マシンが割り当てられる複数の物理マシン全体の前記物理リソース量の総和を目的関数として最小化する、最適化問題の解を演算し、配置構成を導出する配置構成導出部と
前記複数の物理マシンのうち前記配置構成により定められる物理マシン上に各々の仮想マシンを配置する配置処理部と
を含む、情報処理システム。
【請求項12】
コンピュータ・システムが実行する仮想マシンを物理マシンへ割り当てる配置構成を決定する方法であって、
コンピュータ・システムが、同一機能を備える複数の仮想マシンが含まれる各クラスタについて、時間区間毎の物理リソースの予測ピーク使用量を決定するステップと、
コンピュータ・システムが、第1の物理マシン、第2の物理マシンおよび時間区間の各組み合わせについて、前記時間区間内に前記第2の物理マシンが停止したときに前記第1の物理マシンに対し予測される物理リソースの合計予測ピーク使用量が、前記第1の物理マシンに準備する物理リソース量を上回らないことを保証する制約条件を設定するステップと、
コンピュータ・システムが、前記制約条件に従って、前記仮想マシンが割り当てられる複数の物理マシン全体の前記物理リソース量の総和を目的関数として最小化する最適化問題の解を演算し、配置構成を導出するステップと
を含む、配置構成決定方法。
【請求項13】
前記最適化問題を設定するステップは、コンピュータ・システムが、前記合計予測ピーク使用量が予測される前記第1の物理マシンk、前記第2の物理マシンk’および前記時間区間tに関して、
クラスタcの配置構成を規定する決定変数に対応して与えられる、前記第2の物理マシンk’が停止したときに前記第1の物理マシンkに対して予測される該クラスタcによる予測ピーク使用量γc,tの、クラスタ全体の総和として、
前記合計予測ピーク使用量φk,k’,tを定式化するステップを含む、請求項12に記載の配置構成決定方法。
【請求項14】
前記導出するステップは、各クラスタc内で注目する仮想マシン以外の仮想マシンの配置構成を規定する決定変数を固定しながら、当該注目する仮想マシンの配置構成を規定する決定変数の最適解を探索するステップと、前記注目する仮想マシンを切り替えて、収束条件または打ち切り条件が成立するまで、前記探索するステップを反復させるステップとを含む、請求項13に記載の配置構成決定方法。
【請求項15】
コンピュータ・システム上に仮想マシンを物理マシンへ割り当てる配置構成を決定する情報処理装置を実現するためのコンピュータ実行可能なプログラムであって、前記コンピュータ・システムを、
同一機能を備える複数の仮想マシンが含まれる各クラスタについて、時間区間毎の物理リソースの予測ピーク使用量を決定する予測部、
第1の物理マシン、第2の物理マシンおよび時間区間の各組み合わせについて、前記時間区間内に前記第2の物理マシンが停止したときに前記第1の物理マシンに対し予測される物理リソースの合計予測ピーク使用量が、前記第1の物理マシンに準備する物理リソース量を上回らないことを保証する制約条件を設定する設定部、および
前記制約条件に従って、前記仮想マシンが割り当てられる複数の物理マシン全体の前記物理リソース量の総和を目的関数として最小化する、最適化問題の解を演算し、配置構成を導出する配置構成導出部
として機能させるためのプログラム。
【請求項16】
請求項15に記載のコンピュータ実行可能なプログラムをコンピュータ読取可能に格納する記録媒体。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【公開番号】特開2012−159928(P2012−159928A)
【公開日】平成24年8月23日(2012.8.23)
【国際特許分類】
【出願番号】特願2011−17876(P2011−17876)
【出願日】平成23年1月31日(2011.1.31)
【出願人】(390009531)インターナショナル・ビジネス・マシーンズ・コーポレーション (4,084)
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MASCHINES CORPORATION
【復代理人】
【識別番号】100110607
【弁理士】
【氏名又は名称】間山 進也
【公開日】平成24年8月23日(2012.8.23)
【国際特許分類】
【出願日】平成23年1月31日(2011.1.31)
【出願人】(390009531)インターナショナル・ビジネス・マシーンズ・コーポレーション (4,084)
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MASCHINES CORPORATION
【復代理人】
【識別番号】100110607
【弁理士】
【氏名又は名称】間山 進也
[ Back to top ]