(57)【要約】  電子計算機システム（１）は、複数のサーバ（２）、複数の電源装置（３）及び制御装置（４）を備えている。各サーバ（２）には、仮想マシンが配置される。各電源装置（３）は、サーバ（２）に電力を供給する。制御装置（４）は、サーバ（２）に対する仮想マシンの配置を制御する。制御装置（４）は、仮想マシンの配置の関数として記述された、サーバ（２）での消費電力と電源装置（３）での消費電力との合計消費電力を目的関数とする整数計画問題を解く。制御装置（４）は、整数計画問題の解に基づいて各サーバ（２）に仮想マシンを配置する。
2013042615.tif 000002
【特許請求の範囲】
【請求項１】
仮想マシンが配置される複数のサーバと、
複数の前記サーバに電力を供給する複数の電源装置と、
前記サーバに対する前記仮想マシンの配置を制御する制御装置と、
を備え、
前記制御装置は、前記仮想マシンの配置の関数として記述された、前記サーバでの消費電力と前記電源装置での消費電力との合計消費電力を目的関数とする整数計画問題を解き、前記整数計画問題の解に基づいて前記仮想マシンを配置することを特徴とする電子計算機システム。
【請求項２】
前記制御装置は、全ての前記サーバが停止中であることを制約条件の一つとして前記整数計画問題を解くことを特徴とする請求項１に記載の電子計算機システム。
【請求項３】
前記制御装置は、一つ以上の前記仮想マシンが配置されていることを制約条件の一つとして前記整数計画問題を解くことで、配置済みの前記仮想マシンがある状態に他の前記仮想マシンを追加で配置することを特徴とする請求項１に記載の電子計算機システム。
【請求項４】
前記制御装置は、一つ以上の前記仮想マシンが配置されていることを制約条件の一つとし、前記合計消費電力に、配置済みの前記仮想マシンを別のサーバに移動させることにより消費される電力を加えて前記整数計画問題を解くことで、配置済みの前記仮想マシンを再配置することを特徴とする請求項１に記載の電子計算機システム。
【請求項５】
前記目的関数は、前記サーバでの消費電力を、前記仮想マシンのサイズが前記仮想マシンごとに異なるとして表した関数であることを特徴とする請求項２または３に記載の電子計算機システム。
【請求項６】
前記サーバ及び前記電源装置を収容する空間に対して空気調和を行う空気調和装置をさらに備え、
前記制御装置は、前記仮想マシンの配置の関数として記述された、前記空気調和装置での消費電力をさらに合算した合計消費電力を目的関数とする混合整数計画問題を解き、前記混合整数計画問題の解に基づいて前記仮想マシンを配置することを特徴とする請求項２、３または５に記載の電子計算機システム。
【請求項７】
前記サーバは、複数のラックに分散されて収容されており、
前記目的関数は、前記仮想マシンが配置されるラック数に応じたペナルティを課す項を含むことを特徴とする請求項２、３、５または６に記載の電子計算機システム。
【請求項８】
前記目的関数は、前記サーバでの消費電力を、前記仮想マシンのサイズが前記仮想マシンごとに異なるとして表した関数であり、
前記制御装置は、一つ以上の前記仮想マシンが配置されていることを制約条件の一つとし、前記合計消費電力に、配置済みの前記仮想マシンを別のサーバに移動させることにより消費される電力を加えて前記整数計画問題を解くことで、配置済みの前記仮想マシンを再配置することを特徴とする請求項１に記載の電子計算機システム。
【請求項９】
前記目的関数は、前記サーバでの消費電力を、前記仮想マシンのサイズが前記仮想マシンごとに異なるとして表した関数であり、
前記サーバは、複数のラックに分散されて収容されており、
前記目的関数は、前記仮想マシンが配置されるラック数に応じたペナルティを課す項を含むことを特徴とする請求項１または８に記載の電子計算機システム。
【請求項１０】
前記目的関数は、前記サーバの電源がＯＮになってから前記サーバに前記仮想マシンが配置可能となるまでの起動待ち時間に応じたペナルティを課す項を含むことを特徴とする請求項１または８に記載の電子計算機システム。
【請求項１１】
前記目的関数は、配置済みの前記仮想マシンを前記別のサーバに移動させる場合に前記仮想マシンのサイズに従って前記仮想マシンによる処理が停止する停止時間に応じたペナルティを課す項を含むことを特徴とする請求項４または８に記載の電子計算機システム。
【請求項１２】
前記目的関数は、前記別のサーバに移動させる仮想マシン群の個数に基づいて前記別のサーバでの前記仮想マシン群の再配置が完了するまでの待ち時間に応じたペナルティを課す項を含むことを特徴とする請求項１または８に記載の電子計算機システム。
【請求項１３】
複数の電源装置から供給される電力で稼働する複数のサーバに対して仮想マシンを配置するにあたって、
前記仮想マシンの配置の関数として記述された、前記サーバでの消費電力と前記電源装置での消費電力との合計消費電力を目的関数とする整数計画問題を解き、前記整数計画問題の解に基づいて前記仮想マシンを配置することを特徴とする仮想マシン配置方法。
【請求項１４】
全ての前記サーバが停止中であることを制約条件の一つとして前記整数計画問題を解くことを特徴とする請求項１３に記載の仮想マシン配置方法。
【請求項１５】
一つ以上の前記仮想マシンが配置されていることを制約条件の一つとして前記整数計画問題を解くことで、配置済みの前記仮想マシンがある状態に他の前記仮想マシンを追加で配置することを特徴とする請求項１３に記載の仮想マシン配置方法。
【請求項１６】
一つ以上の前記仮想マシンが配置されていることを制約条件の一つとし、前記合計消費電力に、配置済みの前記仮想マシンを別のサーバに移動させることにより消費される電力を加えて前記整数計画問題を解くことで、配置済みの前記仮想マシンを再配置することを特徴とする請求項１３に記載の仮想マシン配置方法。
【請求項１７】
前記目的関数は、前記サーバでの消費電力を、前記仮想マシンのサイズが前記仮想マシンごとに異なるとして表した関数であることを特徴とする請求項１４または１５に記載の仮想マシン配置方法。
【請求項１８】
前記仮想マシンの配置の関数として記述された、前記サーバ及び前記電源装置を収容する空間に対して空気調和を行う空気調和装置での消費電力をさらに合算した合計消費電力を目的関数とする混合整数計画問題を解き、前記混合整数計画問題の解に基づいて前記仮想マシンを配置することを特徴とする請求項１４、１５または１７に記載の仮想マシン配置方法。
【請求項１９】
前記サーバは、複数のラックに分散されて収容されており、
前記目的関数は、前記仮想マシンが配置されるラック数に応じたペナルティを課す項を含むことを特徴とする請求項１４、１５、１７または１８に記載の仮想マシン配置方法。
【請求項２０】
前記目的関数は、前記サーバでの消費電力を、前記仮想マシンのサイズが前記仮想マシンごとに異なるとして表した関数であり、
一つ以上の前記仮想マシンが配置されていることを制約条件の一つとし、前記合計消費電力に、配置済みの前記仮想マシンを別のサーバに移動させることにより消費される電力を加えて前記整数計画問題を解くことで、配置済みの前記仮想マシンを再配置することを特徴とする請求項１３に記載の仮想マシン配置方法。
【請求項２１】
前記目的関数は、前記サーバでの消費電力を、前記仮想マシンのサイズが前記仮想マシンごとに異なるとして表した関数であり、
前記サーバは、複数のラックに分散されて収容されており、
前記目的関数は、前記仮想マシンが配置されるラック数に応じたペナルティを課す項を含むことを特徴とする請求項１３または２０に記載の仮想マシン配置方法。
【請求項２２】
前記目的関数は、前記サーバの電源がＯＮになってから前記サーバに前記仮想マシンが配置可能となるまでの起動待ち時間に応じたペナルティを課す項を含むことを特徴とする請求項１３または２０に記載の仮想マシン配置方法。
【請求項２３】
前記目的関数は、配置済みの前記仮想マシンを前記別のサーバに移動させる場合に前記仮想マシンのサイズに従って前記仮想マシンによる処理が停止する停止時間に応じたペナルティを課す項を含むことを特徴とする請求項１６または２０に記載の仮想マシン配置方法。
【請求項２４】
前記目的関数は、前記別のサーバに移動させる仮想マシン群の個数に基づいて前記別のサーバでの前記仮想マシン群の再配置が完了するまでの待ち時間に応じたペナルティを課す項を含むことを特徴とする請求項１３または２０に記載の仮想マシン配置方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、電子計算機システム及び仮想マシン配置方法に関する。
【背景技術】
【０００２】
従来、同時に運転する機種及び台数が異なるケースごとに消費エネルギーの最小値を混合整数計画法で算出し、消費エネルギーが最も小さくなるケースを最終的に選択することで、複数のエネルギー供給手段を稼働させて負荷を分担させる方法がある（例えば、特許文献１参照）。また、生成する仮想サーバのプロセッサの数やメモリ量及びリソースの割り当てポリシーを含む生成要求を受け付け、受け付けた生成要求に基づいて割り当てポリシーを満たすようにプロセッサとメモリを仮想サーバに割り当てる方法がある（例えば、特許文献２参照）。また、プロセッサがソフトウェア処理を実行する際に使用されるリソース量に基づいてソフトウェア処理ごとに消費電力を算出し、算出された消費電力に応じて、一部のソフトウェア処理を第１プロセッサから第２プロセッサに移行する方法がある（例えば、特許文献３参照）。また、複数のサーバの電力消費量と空調機の電力消費量を最小化するための物理サーバリソースと論理サーバの各組み合わせにおける論理サーバに割り当てるリソース量を算出して、物理サーバのリソースの論理サーバへの割り当てを変更する方法がある（例えば、特許文献４参照）。また、情報処理装置の位置と稼働情報、並びに給電設備及び冷却設備の位置と環境情報を用いて、情報処理装置群の消費電力と給電設備の給電損失と冷却設備の冷却電力の総和を低減するように情報処理装置群へ作業負荷を割り当てる方法がある（例えば、特許文献５参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平６−１４１４６８号公報
【特許文献２】特開２００９−１５１７４５号公報
【特許文献３】特開２０１０−２０５２００号公報
【特許文献４】特開２０１１−３９８８９号公報
【特許文献５】特開２００９−２５２０５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、複数台のラックのそれぞれに無停電電源装置（ＵＰＳ：Ｕｎｉｎｔｅｒｒｕｐｔｉｂｌｅ  Ｐｏｗｅｒ  Ｓｕｐｐｌｙ）と複数のサーバを備えた電子計算機システムにおいて、従来の方法では、複数のサーバに複数の仮想マシン（仮想マシン：Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ）を割り当てることができないという問題点がある。また、従来の方法で複数のサーバに複数の仮想マシンを割り当てても、省電力化を図ることができない場合があるという問題点がある。【０００５】
複数のサーバに複数の仮想マシンを割り当てる際に省電力化を図ることができる電子計算機システム及び仮想マシン配置方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
電子計算機システムは、複数のサーバ、複数の電源装置及び制御装置を備えている。各サーバには、仮想マシンが配置される。各電源装置は、サーバに電力を供給する。制御装置は、サーバに対する仮想マシンの配置を制御する。制御装置は、仮想マシンの配置の関数として記述された、サーバでの消費電力と電源装置での消費電力との合計消費電力を目的関数とする整数計画問題を解き、整数計画問題の解に基づいて仮想マシンを配置する。
【発明の効果】
【０００７】
電子計算機システム及び仮想マシン配置方法によれば、複数のサーバに複数の仮想マシンを割り当てる際に省電力化を図ることができるという効果を奏する。
【図面の簡単な説明】
【０００８】
【図１】図１は、実施例１にかかる電子計算機システムを示すブロック図である。
【図２】図２は、実施例２にかかる電子計算機システムの制御装置のハードウェア構成を示すブロック図である。
【図３】図３は、実施例２にかかる電子計算機システムの制御装置の機能的構成を示すブロック図である。
【図４】図４は、実施例２にかかる電子計算機システムにおけるデータセンタの構成を規定するデータを示す図である。
【図５】図５は、実施例２にかかる電子計算機システムにおける仮想マシンの数を規定するデータを示す図である。
【図６】図６は、実施例２にかかる電子計算機システムにおけるスケーリングファクターを規定するデータを示す図である。
【図７】図７は、実施例２にかかる電子計算機システムにおける実行可能な最大仮想マシン数を規定するデータを示す図である。
【図８】図８は、実施例２にかかる電子計算機システムにおける仮想マシンの消費電力を規定するデータを示す図である。
【図９】図９は、実施例２にかかる電子計算機システムにおけるベース消費電力を規定するデータを示す図である。
【図１０】図１０は、実施例２にかかる電子計算機システムにおける仮想マシンの移動元の消費電力を規定するデータを示す図である。
【図１１】図１１は、実施例２にかかる電子計算機システムにおける仮想マシンの移動先の消費電力を規定するデータを示す図である。
【図１２】図１２は、実施例２にかかる電子計算機システムにおける仮想マシンの初期配置データを示す図である。
【図１３】図１３は、実施例２にかかる電子計算機システムにおける電源装置のベース消費電力及び比例係数を規定するデータを示す図である。
【図１４】図１４は、実施例２にかかる仮想マシン配置方法を示すフローチャートである。
【図１５】図１５は、実施例３にかかる電子計算機システムを示すブロック図である。
【図１６】図１６は、実施例３にかかる電子計算機システムの制御装置の機能的構成を示すブロック図である。
【図１７】図１７は、実施例３にかかる電子計算機システムにおける仮想マシンのサイズを規定するデータを示す図である。
【図１８】図１８は、実施例３にかかる電子計算機システムにおける仮想マシンの初期配置データを示す図である。
【図１９】図１９は、実施例３にかかる電子計算機システムにおける空気調和装置の数を規定するデータを示す図である。
【図２０】図２０は、実施例３にかかる電子計算機システムにおける空調室内機のベース消費電力及び比例係数を規定するデータを示す図である。
【図２１】図２１は、実施例３にかかる電子計算機システムにおける空調室外機の比例係数を規定するデータを示す図である。
【図２２】図２２は、実施例３にかかる電子計算機システムにおけるラックと空気調和装置との間の熱流量関係を規定するデータを示す図である。
【図２３】図２３は、実施例３にかかる電子計算機システムにおけるラックと空気調和装置との供給熱流量を規定するデータを示す図である。
【図２４】図２４は、実施例３にかかる仮想マシン配置方法を示すフローチャートである。
【図２５】図２５は、実施例４にかかる電子計算機システムにおけるペナルティを規定するデータを示す図である。
【図２６】図２６は、実施例５にかかる電子計算機システムにおけるサービス個数を規定するデータを示す図である。
【図２７】図２７は、実施例５にかかる電子計算機システムにおけるサービスごとの仮想マシンの個数を規定するデータを示す図である。
【図２８】図２８は、実施例５にかかる電子計算機システムにおける仮想マシンのサイズを規定するデータを示す図である。
【図２９】図２９は、実施例５にかかる仮想マシン配置方法を示すフローチャートである。
【図３０】図３０は、実施例６にかかる電子計算機システムにおける使用ラック数ペナルティ係数を規定するデータを示す図である。
【図３１】図３１は、実施例６にかかる仮想マシン配置方法を示すフローチャートである。
【図３２】図３２は、マイグレーション待ち時間の説明図である。
【図３３】図３３は、実施例７にかかる電子計算機システムにおける起動待ち時間ペナルティ係数を規定するデータを示す図である。
【図３４】図３４は、起動待ち時間ペナルティ係数ｂijの値を決定するテーブルの一例を示す説明図である。
【図３５】図３５は、仮想マシン停止時間ペナルティ係数を規定するデータを示す図である。
【図３６】図３６は、マイグレーション待ちの仮想マシンの待機個数の閾値を規定するデータを示す図である。
【図３７】図３７は、閾値ｌを超えた分の仮想マシンの待機個数に対するペナルティ係数を示す図である。
【図３８】図３８は、実施例７にかかる仮想マシン配置方法を示すフローチャートである。
【図３９】図３９は、初期配置を示すｘ0m,n,i,jの一覧を示す図である。
【発明を実施するための形態】
【０００９】
以下に、この発明にかかる電子計算機システム及び仮想マシン配置方法の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
【００１０】
（実施例１）
図１は、実施例１にかかる電子計算機システムを示すブロック図である。図１に示すように、電子計算機システム１は、複数のサーバ２、複数の電源装置３及び制御装置４を備えている。各サーバ２には、仮想マシンが配置される。各電源装置３は、サーバ２に電力を供給する。
【００１１】
制御装置４は、サーバ２に対する仮想マシンの配置を制御する。制御装置４は、仮想マシンの配置の関数として記述された、サーバ２での消費電力と電源装置３での消費電力との合計消費電力を目的関数とする整数計画問題を解く。制御装置４は、整数計画問題の解に基づいて各サーバ２に仮想マシンを配置する。
【００１２】
実施例１によれば、サーバ２での消費電力と電源装置３での消費電力との合計消費電力を目的関数とする整数計画問題を解くことによって、合計消費電力を最小とし得る仮想マシンの配置を求めることができる。従って、電子計算機システム１の省電力化を図ることができる。
【００１３】
（実施例２）
実施例２では、実施例１にかかる電子計算機システム１の一例について説明する。電子計算機システム１の一例として、例えばデータセンタが挙げられる。データセンタでは、多数のコンピュータやデータ通信などの装置が運用される。
【００１４】
・データセンタの説明
図１に示す電子計算機システム１において、データセンタには、複数のラック５が設置されている。各ラック５には、一台または複数のサーバ２と電源装置３として例えば一台の無停電電源装置とが収容されている。電源装置３は、ラック５ごとに、同じラック５に収容されている複数のサーバ２に電力を供給する。各ラック５と制御装置４とは、例えばＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）ケーブルなどの通信ケーブルや、無線通信などによって、相互に接続されていてもよい。
【００１５】
・制御装置のハードウェア構成
図２は、実施例２にかかる電子計算機システムの制御装置のハードウェア構成を示すブロック図である。図２に示すように、制御装置４は、ＣＰＵ１１、ＲＯＭ１２、ＲＡＭ１３、ハードディスクドライブ（ＨＤＤ）１４、ハードディスク（ＨＤ）２０、フレキシブルディスクドライブ（ＦＤＤ）１５、着脱可能な記録媒体の一例としてのフレキシブルディスク（ＦＤ）２１を備えている。制御装置４は、ディスプレイ１６、キーボード１７、マウス１８及びインターフェース１９を備えている。これらの構成部１１〜１９は、バス２５によってそれぞれ接続されている。
【００１６】
ＣＰＵ１１は、制御装置４の全体の制御を司る。ＣＰＵ１１は、後述する仮想マシン配置方法を実現するプログラムを実行することにより、整数計画問題の求解及び仮想マシンの配置を行う。ＲＯＭ１２は、ブートプログラムや仮想マシン配置方法を実現するプログラムなどのプログラムを記憶している。ＲＡＭ１３は、ＣＰＵ１１のワークエリアとして使用される。
【００１７】
ハードディスクドライブ１４は、ハードディスク２０に対するデータのリード／ライトを制御する。ハードディスク２０は、ハードディスクドライブ１４の制御で書き込まれたデータを記憶する。フレキシブルディスクドライブ１５は、フレキシブルディスク２１に対するデータのリード／ライトを制御する。フレキシブルディスク２１は、フレキシブルディスクドライブ１５の制御で書き込まれたデータを記憶する。
【００１８】
着脱可能な記録媒体として、フレキシブルディスク２１のほか、ＣＤ−ＲＯＭ（ＣＤ−Ｒ、ＣＤ−ＲＷ）、ＭＯ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）またはメモリーカードなどであってもよい。ディスプレイ１６は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ１６には、例えば、ＣＲＴ、ＴＦＴ液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
【００１９】
インターフェース１９は、図示しないネットワークを介してデータセンタの各ラック５に接続される。インターフェース１９は、各ラック５に対するデータの入出力を制御する。インターフェース１９には、例えばＬＡＮアダプタなどを採用することができる。
【００２０】
キーボード１７は、文字、数字または各種指示などの入力のためのキーを備え、データの入力を行う。キーボード１７は、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス１８は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などを行う。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
【００２１】
また、制御装置４に、画像を取り込むスキャナが接続されていてもよい。制御装置４に、出力装置の一例としてプリンタが接続されていてもよい。制御装置４は、パーソナルコンピュータやワークステーションのような電子計算機であってもよいし、携帯電話機や携帯型の情報処理装置などであってもよい。
【００２２】
・制御装置の機能的構成
図３は、実施例２にかかる電子計算機システムの制御装置の機能的構成を示すブロック図である。図３に示すように、制御装置４は、判定部３１、記憶部３２、管理部３３、求解部３４及び配置部３５を備えている。これらの構成部３１〜３５は、ＣＰＵ１１が、仮想マシン配置方法を実現するプログラムを実行することによって、実現されてもよい。
【００２３】
管理部３３は、サーバ２に配置されている仮想マシンの情報に基づいて、仮想マシンの初期配置データを書き換える。初期配置データには、サーバ２ごとに、配置されている仮想マシンの数が格納されている。初期配置データは、例えば記憶部３２に記憶されていてもよい。
【００２４】
記憶部３２は、データ（定数）、変数、目的関数及び制約条件を記憶している。記憶部３２は、求解部３４にデータ（定数）、変数、目的関数及び制約条件を入力する。記憶部３２は、記憶媒体として例えばＲＯＭ１２やＲＡＭ１３などのメモリを用いてもよい。なお、動的に変化しないデータ（定数）、変数、目的関数及び制約条件については、仮想マシン配置方法を実現するプログラムに記述されていてもよい。
【００２５】
判定部３１は、仮想マシンの初期配置、仮想マシンの追加配置及び仮想マシンの再配置のいずれに対応した整数計画問題を解くべきかを判定する。判定部３１は、判定結果に基づいて、求解部３４に指示を出す。
【００２６】
仮想マシンの初期配置に対応した整数計画問題を解くことによって、全てのサーバ２が停止している状態で、１個以上のサーバ２に１個以上の仮想マシンを配置することができる。このときの仮想マシンの初期配置状態は、いずれのサーバ２にも１個も仮想マシンが配置されていない状態である。
【００２７】
仮想マシンの追加配置に対応した整数計画問題を解くことによって、１個以上のサーバ２に１個以上の仮想マシンが既に配置されている初期配置状態に、１個以上のサーバ２にさらに１個以上の仮想マシンを追加で配置することができる。ただし、初期配置状態で配置されている仮想マシンは、他のサーバ２へ移動することはない。
【００２８】
仮想マシンの再配置に対応した整数計画問題を解くことによって、１個以上のサーバ２に１個以上の仮想マシンが既に配置されている初期配置状態に対して、ライブマイグレーションを利用して仮想マシンの配置をし直すことができる。ライブマイグレーションを利用することによって、あるサーバ２に配置された仮想マシンの動作を止めることなく、別のサーバ２にこの仮想マシンを配置させることができる。制御装置４は、内蔵するタイマなどによってデータセンタの稼働時間を監視し、一定時間ごとに仮想マシンの再配置を行うようにしてもよい。
【００２９】
求解部３４は、記憶部３２から渡されるデータ（定数）、変数、目的関数及び制約条件と、判定部３１からの指示とに基づいて、整数計画問題を解く。求解部３４は、仮想マシンの初期配置を行う際には、例えば後述する（８）式〜（１２）式で定式化された整数計画問題を解いてもよい。求解部３４は、仮想マシンの追加配置を行う際には、例えば後述する（１４）式〜（１８）式で定式化された整数計画問題を解いてもよい。求解部３４は、仮想マシンの再配置を行う際には、例えば後述する（３６）式〜（５０）式で定式化された整数計画問題を解いてもよい。
【００３０】
求解部３４の一例として、例えば整数計画問題を解くためのソフトウェア（ソルバー）が挙げられる。ソルバーの一例として、例えばＧＬＰＫやＳＹＭＰＨＯＮＹやＧｕｒｏｂｉ  Ｏｐｔｉｍｉｚｅｒが挙げられる。配置部３５は、求解部３４が導出する整数計画問題の解に基づいて、サーバ２に仮想マシンを配置する。
【００３１】
・データ構造の説明
図４は、実施例２にかかる電子計算機システムにおけるデータセンタの構成を規定するデータを示す図である。図４に示すように、データセンタに設定されているラックの数はＮ個であり、一ラックあたりのサーバの数はＳ個である。Ｎ及びＳは正の整数である。
【００３２】
図５は、実施例２にかかる電子計算機システムにおける仮想マシンの数を規定するデータを示す図である。図５に示すように、配置すべき仮想マシンの数はＭ個である。Ｍは正の整数である。
【００３３】
図６は、実施例２にかかる電子計算機システムにおけるスケーリングファクターを規定するデータを示す図である。スケーリングファクターは、仮想マシンの再配置を行う際に、再配置後の消費電力とライブマイグレーションによる消費電力とのいずれの削減を重視するかを規定する定数である。図６に示すように、スケーリングファクターはｃである。ｃは正の実数である。
【００３４】
例えば、ｃは、ライブマイグレーションの平均動作時間を再配置後の仮想マシンの平均動作時間で除した値であってもよい。このときのｃは１未満の値となる。このようにｃを選択することによって、サーバ２での消費電力と電源装置３での消費電力との合計消費電力を最小にすることができる。
【００３５】
図７は、実施例２にかかる電子計算機システムにおける実行可能な最大仮想マシン数を規定するデータを示す図である。図７に示すように、ｉ番目のラックのｊ番目のサーバで実行できる最大仮想マシン数はＬij個である。Ｌijは正の整数である。ｉは１〜Ｎの整数であり、ｊは１〜Ｓの整数である。
【００３６】
図８は、実施例２にかかる電子計算機システムにおける仮想マシンの消費電力を規定するデータを示す図である。図８に示すように、ｉ番目のラックのｊ番目のサーバで動作する仮想マシン１個あたりで消費される電力はαijワットである。αijは正の実数である。
【００３７】
図９は、実施例２にかかる電子計算機システムにおけるベース消費電力を規定するデータを示す図である。図９に示すように、ｉ番目のラックのｊ番目のサーバの電源がオンになることで消費される電力はβijワットである。βijは正の実数である。
【００３８】
図１０は、実施例２にかかる電子計算機システムにおける仮想マシンの移動元の消費電力を規定するデータを示す図である。ライブマイグレーションによって仮想マシンを移動させると、移動元のサーバで電力が消費される。図１０に示すように、ｉ番目のラックのｊ番目のサーバから１個の仮想マシンが別のサーバへ移動していくときに消費される電力はγ-ijワットである。γ-ijは正の実数である。
【００３９】
図１１は、実施例２にかかる電子計算機システムにおける仮想マシンの移動先の消費電力を規定するデータを示す図である。ライブマイグレーションによって仮想マシンを移動させると、移動先のサーバで電力が消費される。図１１に示すように、ｉ番目のラックのｊ番目のサーバに別のサーバから１個の仮想マシンが移動してくるときに消費される電力はγ+ijワットである。γ+ijは正の実数である。
【００４０】
図１２は、実施例２にかかる電子計算機システムにおける仮想マシンの初期配置データを示す図である。図１２に示すように、ｉ番目のラックのｊ番目のサーバに配置済みの仮想マシンの数はｗij［０］個である。ｗij［０］は０以上Ｌij以下の整数である。
【００４１】
図１３は、実施例２にかかる電子計算機システムにおける電源装置のベース消費電力及び比例係数を規定するデータを示す図である。図１３に示すように、ｉ番目のラックの電源装置で常に消費されるベース消費電力はηiワットである。ηiは正の実数である。また、ｉ番目のラック内のサーバの合計消費電力に対して、その何倍の電力が電源装置３で消費されるかということを表す比例係数はεiである。εiは正の実数である。一例として、一般的な電源装置のカタログによると、εiは０．０１〜０．０４程度である。
【００４２】
上述したＮ及びＳの各値は、データセンタの構成によって予め決まる。ｃ、Ｌij、αij、βij、γ-ij及びγ+ijの各値は、サーバによって予め決まる。ηi及びεiの各値は、電源装置によって予め決まる。ｗij［０］は、データセンタの運用中に管理部３３によって動的に書き換えられる。Ｍは、起動されるアプリケーションの数などによって決まる。
【００４３】
・仮想マシン配置方法の説明
図１４は、実施例２にかかる仮想マシン配置方法を示すフローチャートである。図１４に示すように、仮想マシンの配置が開始されると、まず、制御装置４の判定部３１は、仮想マシンの配置の種類が、初期配置、追加配置及び再配置のいずれであるかを判定する（ステップＳ１）。そして、判定部３１は、判定結果に基づいて、求解部３４に配置の種類を指示する。
【００４４】
次いで、記憶部３２は、求解部３４にデータ（定数）、変数、目的関数及び制約条件を入力する（ステップＳ２）。求解部３４は、入力されたデータ（定数）、変数、目的関数及び制約条件と、判定部３１からの指示とに基づいて、例えばソルバーによって整数計画問題を解き、解を求める（ステップＳ３）。整数計画問題としての定式化については、配置の種類ごとに後述する。配置部３５は、求解部３４が求めた解に基づいて、仮想マシンを配置する（ステップＳ４）。このようにして、一連の仮想マシン配置処理が終了する。
【００４５】
・整数計画問題としての定式化について
・消費電力のモデリング
まず、サーバの消費電力、電源装置の消費電力、ラック内のサーバ及び電源装置の合計消費電力、並びにデータセンタ内のサーバ及び電源装置の合計消費電力のそれぞれのモデリングについて説明する。
【００４６】
・サーバの消費電力のモデリング
サーバは、消費電力に関して次の（Ｓ−１）〜（Ｓ−３）の性質を有する。
（Ｓ−１）仮想マシンが１個でも実行されると、サーバの電源がオンになる。仮想マシンの実行数が０であるときには、サーバの電源はオフとなる。
（Ｓ−２）電源がオンになると一定の電力が消費される。
（Ｓ−３）実行される仮想マシンの数が増えると、それに応じて消費電力が増える。
【００４７】
ここで、ｉ番目のラックのｊ番目のサーバで実行される仮想マシンの数を表す変数をｗijとする。ｗijは、０以上Ｌij以下の整数変数である。また、ｉ番目のラックのｊ番目のサーバについて、ｖijを０または１のいずれかの値をとる変数とする。このｖijに対して次の制約条件を課す。
【００４８】
【数１】
2013042615.tif 000003
【００４９】
上記（１）式において、ｗijが１以上であるとき、ｖijが０であると、（１）式の右側の不等式が成立しないので、ｖijは１である。一方、ｗijが０であるとき、ｖijが１であると、（１）式の左側の不等式が成立しないので、ｖijは０である。
【００５０】
従って、ｖijの値は、サーバの電源のオン／オフを表していることになる。ｖijの値が０であればサーバの電源がオフであり、１であればサーバの電源がオンであることを表す。これを表したものが、次の（２）式及び（３）式である。
【００５１】
【数２】
2013042615.tif 000004
【００５２】
【数３】
2013042615.tif 000005
【００５３】
以上の定数及び変数を用いて、ｉ番目のラックのｊ番目のサーバの消費電力は、次の（４）式で表される。この（４）式は、上述した（Ｓ−１）〜（Ｓ−３）の性質を変数ｗij及びｖijの１次式で表したものである。
【００５４】
【数４】
2013042615.tif 000006
【００５５】
上記（４）式において、αijｗijは、［仮想マシン一つあたり消費される電力×仮想マシン数］であるので、仮想マシン数に応じて消費される電力を表している。また、βijｖijは、サーバの電源がオンのときにβijとなり、サーバの電源がオフのときに０となるので、サーバの電源がオンになることによって消費される電力を表している。
【００５６】
・電源装置の消費電力のモデリング
電源装置は、消費電力に関して次の（Ｕ−１）及び（Ｕ−２）の性質を有する。
（Ｕ−１）ラック内のサーバの動作状態にかかわらず、常に一定の電力が消費される。
（Ｕ−２）ラック内のサーバの合計消費電力が増えると、それに応じて消費電力が増える。
【００５７】
（Ｕ−１）及び（Ｕ−２）の性質に基づいて、ｉ番目のラックに備え付けられた電源装置の消費電力は、次の（５）式で表される。この（５）式は、（Ｕ−１）及び（Ｕ−２）の性質を変数ｗij及びｖijの１次式で表したものである。
【００５８】
【数５】
2013042615.tif 000007
【００５９】
上記（５）式において、［Σ（βijｖij＋αijｗij）］（ただし、Σのインデックスｊは省略）は、ｉ番目のラック内のサーバの合計消費電力を表している。このｉ番目のラック内のサーバの合計消費電力にεiをかけた（５）式の第２項は、ｉ番目のラック内のサーバの合計消費電力に応じて電源装置で消費される電力を表している。ηiは、ｉ番目のラックの電源装置で常に消費される電力である。
【００６０】
・ラック内のサーバ及び電源装置の合計消費電力のモデリング
電源装置の消費電力のモデリングの項で述べたように、ｉ番目のラック内のサーバの合計消費電力は、［Σ（βijｖij＋αijｗij）］（ただし、Σのインデックスｊは省略）である。また、ｉ番目のラックに備え付けられた電源装置の消費電力は、上記（５）式で表される。これらを足したものが、ｉ番目のラックの合計消費電力となる。従って、ｉ番目のラックの合計消費電力は、次の（６）式で表される。
【００６１】
【数６】
2013042615.tif 000008
【００６２】
ここで、ラック内のサーバの台数は可変であってもよい。ラック内のサーバの台数が可変であることは、ｉ番目のラック内のサーバの台数を、Ｓより小さい整数ｓを用いてｓ個とすると、整数計画問題を解くにあたって、［ｗij＝０，ｊ≧ｓ］という制約条件で表現することができる。
【００６３】
・データセンタ内のサーバ及び電源装置の合計消費電力のモデリング
上記（６）式を１番目〜Ｎ番目の全てのラック分、足したものが、データセンタ内の合計消費電力となる。従って、データセンタ内の合計消費電力は、次の（７）式で表される。
【００６４】
【数７】
2013042615.tif 000009
【００６５】
次に、仮想マシンの初期配置、追加配置及び再配置のそれぞれについて、整数計画問題としての定式化について説明する。
【００６６】
・仮想マシンの初期配置
仮想マシンの初期配置を行う際には、いずれのサーバにも仮想マシンは配置されていない。従って、全てのサーバの電源はオフとなっている。
【００６７】
仮想マシンの初期配置を行うときのサーバ及び電源装置の省電力化問題は、以下の（８）式〜（１２）式で表される整数計画問題として定式化することができる。（８）式は目的関数を表し、（９）式〜（１２）式は制約条件を表す。（１１）式は、配置される仮想マシン数の合計が、配置すべき仮想マシン数に一致するための制約条件である。決定変数は、ｗij，ｖij，ｉ＝１，・・・，Ｎ，ｊ＝１，・・・，Ｓである。
【００６８】
【数８】
2013042615.tif 000010
【００６９】
【数９】
2013042615.tif 000011
【００７０】
【数１０】
2013042615.tif 000012
【００７１】
【数１１】
2013042615.tif 000013
【００７２】
【数１２】
2013042615.tif 000014
【００７３】
・仮想マシンの追加配置
仮想マシンの追加配置を行う際の前提として、ｉ番目のラックのｊ番目のサーバにｗij［０］個の仮想マシンが既に配置されているとする。また、現在、配置されている仮想マシンは移動しないとする。従って、初期配置状態として既にｗij［０］個の仮想マシンが配置されているサーバに、さらに仮想マシンが追加で配置されることになるので、ｗijはｗij［０］以上の値になる。これを制約条件として表すと、次の（１３）式となる。
【００７４】
【数１３】
2013042615.tif 000015
【００７５】
また、追加で配置される仮想マシン数をΔＭとする。初期配置状態で配置されている仮想マシン数が［ΣΣｗij［０］］（ただし、前のΣのインデックスｉ及び後のΣのインデックスｊは省略）であるので、追加配置後の仮想マシン数は［ΣΣｗij［０］＋ΔＭ］（ただし、前のΣのインデックスｉ及び後のΣのインデックスｊは省略）となる。
【００７６】
従って、仮想マシンの追加配置を行うときのサーバ及び電源装置の省電力化問題は、以下の（１４）式〜（１８）式で表される整数計画問題として定式化することができる。（１４）式は目的関数を表し、（１５）式〜（１８）式は制約条件を表す。（１７）式は、追加配置後の仮想マシン数の合計が、初期配置状態での仮想マシン数と追加配置される仮想マシン数とを足した値に一致するための制約条件である。決定変数は、ｗij，ｖij，ｉ＝１，・・・，Ｎ，ｊ＝１，・・・，Ｓである。
【００７７】
【数１４】
2013042615.tif 000016
【００７８】
【数１５】
2013042615.tif 000017
【００７９】
【数１６】
2013042615.tif 000018
【００８０】
【数１７】
2013042615.tif 000019
【００８１】
【数１８】
2013042615.tif 000020
【００８２】
・仮想マシンの再配置
仮想マシンの再配置を行う際の前提として、ｉ番目のラックのｊ番目のサーバにｗij［０］個の仮想マシンが既に配置されているとする。仮想マシンの再配置では、仮想マシンは、ライブマイグレーションを使って移動させられる。ライブマイグレーションを使って仮想マシンを移動させると、移動元のサーバ及び移動先のサーバの両方で電力が消費される。
【００８３】
ｉ番目のラックのｊ番目のサーバについて、δ-ijを０または１のいずれかの値をとる変数とする。このδ-ijに対して次の制約条件を課す。ただし、ｄは１未満の正の実数である。
【００８４】
【数１９】
2013042615.tif 000021
【００８５】
上記（１９）式において、［ｗij−ｗij［０］］が０以下であるとき、δ-ijが０であると、（１９）式の左側の不等式が成立しないので、δ-ijは１である。一方、［ｗij−ｗij［０］］が１以上であるとき、δ-ijが１であると、（１９）式の右側の不等式が成立しないので、δ-ijは０である。これを表したものが、次の（２０）式及び（２１）式である。
【００８６】
【数２０】
2013042615.tif 000022
【００８７】
【数２１】
2013042615.tif 000023
【００８８】
また、ｉ番目のラックのｊ番目のサーバについて、ｚ-ijを０〜Ｌijのいずれかの値をとる整数変数とする。このｚ-ijに対して次の制約条件を課す。
【００８９】
【数２２】
2013042615.tif 000024
【００９０】
【数２３】
2013042615.tif 000025
【００９１】
［ｗij−ｗij［０］］が１以上であるとき、上記（２１）式より、δ-ijは０である。従って、上記（２２）式は、［０≦ｚ-ij≦０］となるので、ｚ-ijは０である。［ｗij−ｗij［０］≧１，δ-ij＝０，ｚ-ij＝０］であるとき、上記（２３）式において、［−（ｗij−ｗij［０］）＋Ｌij≧０≧−（ｗij−ｗij［０］）−Ｌij］である。従って、上記（２３）式は成立する。これを表したものが、次の（２４）式である。
【００９２】
【数２４】
2013042615.tif 000026
【００９３】
一方、［ｗij−ｗij［０］］が０以下であるとき、上記（２０）式より、δ-ijは１である。従って、上記（２３）式は、［−（ｗij−ｗij［０］）≦ｚ-ij≦−（ｗij−ｗij［０］）］となるので、ｚ-ijは、［−（ｗij−ｗij［０］）］に等しくなる。
【００９４】
［ｗij−ｗij［０］≦０，δ-ij＝１，ｚ-ij＝−（ｗij−ｗij［０］）］であるとき、上記（２２）式において、［−Ｌij≦−（ｗij−ｗij［０］）≦Ｌij］である。従って、上記（２２）式は成立する。これを表したものが、次の（２５）式である。
【００９５】
【数２５】
2013042615.tif 000027
【００９６】
［ｗij−ｗij［０］］が０以下であるということは、ｉ番目のラックのｊ番目のサーバから仮想マシンが別のサーバへ移動していくということである。また、［ｗij−ｗij［０］］が１以上であるということは、ｉ番目のラックのｊ番目のサーバに別のサーバから仮想マシンが移動してくるということである。つまり、ｚ-ijは、ｉ番目のラックのｊ番目のサーバから別のサーバへ移動していく仮想マシンの数を表している。
【００９７】
従って、ｉ番目のラックのｊ番目のサーバから別のサーバへｚ-ij個の仮想マシンが移動していく場合の消費電力は、次の（２６）式で表される。
【００９８】
【数２６】
2013042615.tif 000028
【００９９】
また、ｉ番目のラックのｊ番目のサーバについて、δ+ijを０または１のいずれかの値をとる変数とする。このδ+ijに対して以下の制約条件を課す。
【０１００】
【数２７】
2013042615.tif 000029
【０１０１】
上記（２７）式の制約条件、上記（２０）式及び（２１）式より、次の（２８）式及び（２９）式が得られる。
【０１０２】
【数２８】
2013042615.tif 000030
【０１０３】
【数２９】
2013042615.tif 000031
【０１０４】
また、ｉ番目のラックのｊ番目のサーバについて、ｚ+ijを０〜Ｌijのいずれかの値をとる整数変数とする。このｚ+ijに対して次の制約条件を課す。
【０１０５】
【数３０】
2013042615.tif 000032
【０１０６】
【数３１】
2013042615.tif 000033
【０１０７】
［ｗij−ｗij［０］］が１以上であるとき、上記（２９）式より、δ+ijは１である。従って、上記（３１）式は、［ｗij−ｗij［０］≦ｚ+ij≦ｗij−ｗij［０］］となるので、ｚ+ijは、［ｗij−ｗij［０］］に等しくなる。
【０１０８】
［ｗij−ｗij［０］≧１，δ+ij＝１，ｚ+ij＝ｗij−ｗij［０］］であるとき、上記（３０）式において、［−Ｌij≦ｗij−ｗij［０］≦Ｌij］である。従って、上記（３０）式は成立する。これを表したものが、次の（３２）式である。
【０１０９】
【数３２】
2013042615.tif 000034
【０１１０】
一方、［ｗij−ｗij［０］］が０以下であるとき、上記（２８）式より、δ+ijは０である。従って、上記（３０）式は、［０≦ｚ+ij≦０］となるので、ｚ+ijは０である。［ｗij−ｗij［０］≦０，δ+ij＝０，ｚ+ij＝０］であるとき、上記（３１）式において、［（ｗij−ｗij［０］）−Ｌij≦０≦（ｗij−ｗij［０］）＋Ｌij］である。従って、上記（３１）式は成立する。これを表したものが、次の（３３）式である。
【０１１１】
【数３３】
2013042615.tif 000035
【０１１２】
ｚ+ijは、ｉ番目のラックのｊ番目のサーバに別のサーバから移動してくる仮想マシンの数を表している。従って、ｉ番目のラックのｊ番目のサーバに別のサーバからｚ+ij個の仮想マシンが移動してくる場合の消費電力は、次の（３４）式で表される。
【０１１３】
【数３４】
2013042615.tif 000036
【０１１４】
ライブマイグレーションによって消費される電力は、ｉ番目のラックのｊ番目のサーバについて、別のサーバへｚ-ij個の仮想マシンが移動していく場合の消費電力と、別のサーバからｚ+ij個の仮想マシンが移動してくる場合の消費電力との合計を、全サーバ分、足したものとなる。従って、ライブマイグレーションによって消費される電力は、次の（３５）式で表される。
【０１１５】
【数３５】
2013042615.tif 000037
【０１１６】
従って、仮想マシンの再配置を行うときのサーバ及び電源装置の省電力化問題は、以下の（３６）式〜（５０）式で表される整数計画問題として定式化することができる。（３６）式は目的関数を表し、（３７）式〜（５０）式は制約条件を表す。決定変数は、ｗij，ｖij，δ-ij，δ+ij，ｚ-ij，ｚ+ij，ｉ＝１，・・・，Ｎ，ｊ＝１，・・・，Ｓである。
【０１１７】
【数３６】
2013042615.tif 000038
【０１１８】
【数３７】
2013042615.tif 000039
【０１１９】
【数３８】
2013042615.tif 000040
【０１２０】
【数３９】
2013042615.tif 000041
【０１２１】
【数４０】
2013042615.tif 000042
【０１２２】
【数４１】
2013042615.tif 000043
【０１２３】
【数４２】
2013042615.tif 000044
【０１２４】
【数４３】
2013042615.tif 000045
【０１２５】
【数４４】
2013042615.tif 000046
【０１２６】
【数４５】
2013042615.tif 000047
【０１２７】
【数４６】
2013042615.tif 000048
【０１２８】
【数４７】
2013042615.tif 000049
【０１２９】
【数４８】
2013042615.tif 000050
【０１３０】
【数４９】
2013042615.tif 000051
【０１３１】
【数５０】
2013042615.tif 000052
【０１３２】
実施例２によれば、仮想マシンの初期配置、追加配置及び再配置のそれぞれについて、実施例１と同様の効果が得られる。
【０１３３】
（実施例３）
実施例３では、実施例１にかかる電子計算機システム１の一例として、例えば実施例２のデータセンタに空気調和装置が設置されており、この空気調和装置の消費電力を含めて、データセンタ全体の省電力化を図る場合について説明する。また、実施例３では、仮想マシンのサイズが仮想マシンごとに異なっていてもよい。実施例２と同様の構成には同一の符号を付して、重複する説明を省略する。
【０１３４】
・データセンタの説明
図１５は、実施例３にかかる電子計算機システムを示すブロック図である。図１５に示すように、ラック５を収容する空間を含むデータセンタ６には、空調室内機（ＣＲＡＣ  Ｕｎｉｔ：Ｃｏｍｐｕｔｅｒ  Ｒｏｏｍ  Ａｉｒ  Ｃｏｎｄｉｔｉｏｎｉｎｇ  Ｕｎｉｔ、クラック・ユニット）７及び空調室外機（Ｃｈｉｌｌｅｒ  Ｐｌａｎｔ、チラー・プラント）８を含む空気調和装置が設置されている。図１５には現れていないが、ラック５にはサーバ及び電源装置が収容されている。
【０１３５】
図示例では、空調室内機７及び空調室外機８が２台ずつ示されているが、空調室内機７及び空調室外機８の数は１台ずつでもよいし、３台ずつ以上でもよい。また、複数の空調室内機７が１台の空調室外機８に接続されていてもよい。ここでは、空調室内機７と空調室外機８とが１台ずつ対になっているとして説明する。
【０１３６】
・制御装置の機能的構成
図１６は、実施例３にかかる電子計算機システムの制御装置の機能的構成を示すブロック図である。図１６に示すように、実施例３にかかる制御装置４では、仮想マシンの初期配置、追加配置及び再配置のいずれに対応した混合整数計画問題を解くべきかを判定する必要がないので、実施例２における判定部３１が設けられていなくてもよい。
【０１３７】
求解部３４は、記憶部３２から渡されるデータ（定数）、変数、目的関数及び制約条件に基づいて、後述する混合整数計画問題を解く。 求解部３４の一例として、例えば混合整数計画問題を解くためのソフトウェア（ソルバー）が挙げられる。ソルバーの一例として、例えばＧＬＰＫやＳＹＭＰＨＯＮＹやＧｕｒｏｂｉ  Ｏｐｔｉｍｉｚｅｒが挙げられる。なお、実施例２と同様に、仮想マシンの初期配置、追加配置及び再配置のいずれにも対応する場合には、制御装置４は、図３に示すように、判定部３１を有する構成としてもよい。
【０１３８】
・データ構造の説明
電子計算機システム１は、データセンタの構成を規定するデータＮ，Ｓ（図４）、仮想マシンの数を規定するデータＭ（図５）及び最大仮想マシン数を規定するデータＬij（図７）を有していてもよい。また、電子計算機システム１は、仮想マシンの消費電力を規定するデータαij（図８）、ベース消費電力を規定するデータβij（図９）、並びに電源装置のベース消費電力ηi及び比例係数を規定するデータεi（図１３）を有していてもよい。ただし、実施例３では、αijは、ｉ番目のラックのｊ番目のサーバにおいて仮想マシンが動作する際の単位サイズ（例えば、１コアまたは１スレッド）あたり消費される電力である。それ以外に、電子計算機システム１は、以下に挙げるデータを有していてもよい。
【０１３９】
図１７は、実施例３にかかる電子計算機システムにおける仮想マシンのサイズを規定するデータを示す図である。図１７に示すように、配置すべきＭ個の仮想マシンに１〜Ｍの番号を付したときのｎ番目の仮想マシンのサイズは、τnである。ｎは１〜Ｍの整数である。仮想マシンのサイズの一例として、サーバに配置された仮想マシンによって使用されるコア数が挙げられる。あるいは、仮想マシンのサイズの一例として、サーバに配置された仮想マシンによって実行されるスレッドの数が挙げられる。
【０１４０】
図１８は、実施例３にかかる電子計算機システムにおける仮想マシンの初期配置データを示す図である。図１８に示すように、ｉ番目のラックのｊ番目のサーバに初期配置として既に配置されている仮想マシンの合計サイズは、ｗ0ijである。
【０１４１】
図１９は、実施例３にかかる電子計算機システムにおける空気調和装置の数を規定するデータを示す図である。図１９に示すように、空調室内機７と空調室外機８とが１台ずつ対になった空気調和装置の数はＣ台である。Ｃは正の整数である。
【０１４２】
図２０は、実施例３にかかる電子計算機システムにおける空調室内機のベース消費電力及び比例係数を規定するデータを示す図である。図２０に示すように、ｋ番目の空調室内機で常に消費されるベース消費電力はλkワットである。ｋは１〜Ｃの整数である。λkは正の実数である。また、ｋ番目の空調室内機に流入する熱流量に対して、その何倍の電力が空調室内機で消費されるかということを表す比例係数はμkである。μkは正の実数である。実施例３では、熱流量は、例えばその熱流量を消費するのに要する電力に換算されている。
【０１４３】
図２１は、実施例３にかかる電子計算機システムにおける空調室外機の比例係数を規定するデータを示す図である。図２１に示すように、ｋ番目の空調室外機に流入する熱流量に対して、その何倍の電力が空調室外機で消費されるかということを表す比例係数はκkである。κkは正の実数である。なお、空調室外機が常に電力を消費する場合には、空調室内機と同様に、空調室外機に関するデータにも、空調室外機のベース消費電力のデータが含まれる。
【０１４４】
図２２は、実施例３にかかる電子計算機システムにおけるラックと空気調和装置との間の熱流量関係を規定するデータを示す図である。図２２に示すように、ｉ番目のラックから排出された熱流量の何倍がｋ番目の空調室内機に流入するかということを表す比例係数はψkiである。ψkiは、０以上１以下の実数である。
【０１４５】
図２３は、実施例３にかかる電子計算機システムにおけるラックと空気調和装置との供給熱流量を規定するデータを示す図である。図２３に示すように、ｉ番目のラックに対して空調室内機から供給される熱流量はｑsup,iワットである。ｑsup,iは実数である。
【０１４６】
上述したＣ、λk、μk及びκkの各値は、空気調和装置の構成によって予め決まる。ψki及びｑsup,iの各値は、ラックと空気調和装置の構成によって予め決まる。ｗ0ijは、データセンタの運用中に管理部３３によって動的に書き換えられる。
【０１４７】
・仮想マシン配置方法の説明
図２４は、実施例３にかかる仮想マシン配置方法を示すフローチャートである。図２４に示すように、仮想マシンの配置が開始されると、まず、記憶部３２は、求解部３４にデータ（定数）、変数、目的関数及び制約条件を入力する（ステップＳ１１）。求解部３４は、入力されたデータ（定数）、変数、目的関数及び制約条件と、判定部３１からの指示とに基づいて、例えばソルバーによって混合整数計画問題を解き、解を求める（ステップＳ１２）。混合整数計画問題としての定式化については後述する。配置部３５は、求解部３４が求めた解に基づいて、仮想マシンを配置する（ステップＳ１３）。このようにして、一連の仮想マシン配置処理が終了する。
【０１４８】
・混合整数計画問題としての定式化について
・仮想マシン及び仮想マシンの配置のモデリング
図１７に示すように、配置されるｎ番目の仮想マシンのサイズをτnとする。また、ｘn,i,jを０または１のいずれかの値をとる変数とする。ｘn,i,jの値は、ｉ番目のラックのｊ番目のサーバでｎ番目の仮想マシンが実行されるときに１であり、そうでないとき、すなわち仮想マシンが実行されないときに０である。従って、ｘn,i,jによって、仮想マシンの配置を表すことができる。
【０１４９】
・消費電力のモデリング
サーバの消費電力、電源装置の消費電力、空調室内機の消費電力、空調室外機の消費電力及びデータセンタ全体の消費電力のそれぞれのモデリングについて説明する。
【０１５０】
・サーバの消費電力のモデリング
サーバの消費電力については、実施例２と同様にしてモデリングすることができる。実施例３では、サーバは、実施例２において説明した（Ｓ−１）及び（Ｓ−２）の性質と、次の（Ｓ−４）の性質とを有する。
（Ｓ−４）実行される仮想マシンの合計サイズが増えると負荷が高くなり、それに応じて消費電力が増える。
【０１５１】
ｉ番目のラックのｊ番目のサーバにおいて、合計サイズがｗ0ijである仮想マシンが初期配置されており、このサーバにさらにサイズがτnの仮想マシンを配置する場合の消費電力は、次の（５１）式で表される。この（５１）式は、上述した（Ｓ−１）、（Ｓ−２）及び（Ｓ−４）の性質を変数ｘn,i,j及びｖijの１次式で表したものである。ｖijは実施例２において説明した通りである。
【０１５２】
【数５１】
2013042615.tif 000053
【０１５３】
・電源装置の消費電力のモデリング
電源装置の消費電力については、実施例２と同様にしてモデリングすることができる。実施例３では、電源装置は、実施例２において説明した（Ｕ−１）及び（Ｕ−２）の性質を有する。サーバの消費電力が上記（５１）式で表されるので、電源装置の消費電力は、次の（５２）式で表される。この（５２）式は、（Ｕ−１）及び（Ｕ−２）の性質を変数ｘn,i,j及びｖijの１次式で表したものである。
【０１５４】
【数５２】
2013042615.tif 000054
【０１５５】
・空調室内機の消費電力のモデリング
空調室内機は、消費電力に関して次の（Ｃ−１）及び（Ｃ−２）の性質を有する。
（Ｃ−１）常に一定の電力が消費される。
（Ｃ−２）ｋ番目の空調室内機に流入する熱流量が増えると、ｋ番目の空調室内機の消費電力が増える。
【０１５６】
（Ｃ−１）及び（Ｃ−２）の性質に基づいて、ｋ番目の空調室内機の消費電力は、次の（５３）式で表される。（５３）式において、ｑin,CRAC,kは、ｋ番目の空調室内機に流入する熱流量（単位：ワット）である。
【０１５７】
【数５３】
2013042615.tif 000055
【０１５８】
・空調室外機の消費電力のモデリング
空調室外機は、消費電力に関して次の（Ｃ−３）及び（Ｃ−４）の性質を有する。
（Ｃ−３）ｋ番目の空調室外機に流入する熱流量は、ｋ番目の空調室内機から排出される熱流量に等しい。
（Ｃ−４）ｋ番目の空調室外機から排出される熱流量が増えると、ｋ番目の空調室外機の消費電力が増える。
【０１５９】
（Ｃ−３）及び（Ｃ−４）の性質に基づいて、ｋ番目の空調室外機の消費電力は、次の（５４）式で表される。（５４）式において、ｑout,CRAC,kは、ｋ番目の空調室内機から流出する熱流量（単位：ワット）である。なお、空調室外機が常に電力を消費する場合には、空調室内機と同様に、（５４）式に空調室外機のベース消費電力の項が加えられる。
【０１６０】
【数５４】
2013042615.tif 000056
【０１６１】
・データセンタ全体の消費電力のモデリング
上記（５１）式を１番目〜Ｓ番目の全てのサーバ分、足したものに、上記（５２）式を足し合わせたものを１番目〜Ｎ番目の全てのラック分、足したものが、データセンタ内のサーバ及び電源装置の合計消費電力である。このサーバ及び電源装置の合計消費電力に、上記（５３）式を１番目〜Ｃ番目の全ての空調室内機分と、上記（５４）式を１番目〜Ｃ番目の全ての空調室外機分、足したものが、データセンタ全体の消費電力となる。従って、データセンタ全体の消費電力は、次の（５５）式で表される。
【０１６２】
【数５５】
2013042615.tif 000057
【０１６３】
・熱流量のモデリング
次に、熱流量のモデリングについて説明する。熱流量に関して、ラック及び空気調和装置の間に次の（Ｑ−１）〜（Ｑ−３）の関係が成り立つ。
（Ｑ−１）各空調室内機から排出される熱流量は、各空調室内機に流入する熱流量にその空調室内機で発生した熱流量（すなわち、消費電力）を足したものである。
（Ｑ−２）各空調室内機に流入する熱流量は、各ラックから排出される熱流量である。
（Ｑ−３）各ラックから排出される熱流量は、各ラックに流入する熱流量にそのラックで発生した熱流量（すなわち、消費電力）を足したものである。
【０１６４】
（Ｑ−１）の関係に基づいて、ｋ番目の空調室内機から排出される熱流量は、次の（５６）式で表される。
【０１６５】
【数５６】
2013042615.tif 000058
【０１６６】
（Ｑ−２）の関係に基づいて、ｋ番目の空調室内機に流入する熱流量は、次の（５７）式で表される。（５７）式において、ｑout,RACK,iは、ｉ番目のラックから流出する熱流量（単位：ワット）を表す変数である。
【０１６７】
【数５７】
2013042615.tif 000059
【０１６８】
（Ｑ−３）の関係に基づいて、ｉ番目のラックから排出される熱流量は、次の（５８）式で表される。
【０１６９】
【数５８】
2013042615.tif 000060
【０１７０】
（５８）式より、ｉ番目のラックから排出される熱流量ｑout,RACK,iは、変数ｘn,i,j及びｖijの関数である。従って、上記（５７）式より、ｋ番目の空調室内機に流入する熱流量ｑin,CRAC,kも、変数ｘn,i,j及びｖijの関数である。また、上記（５６）式より、ｋ番目の空調室内機から排出される熱流量ｑout,CRAC,kも、変数ｘn,i,j及びｖijの関数である。
【０１７１】
・空気調和装置を考慮した省電力化問題の混合整数計画問題としての定式化
以上より、仮想マシンを配置するときのサーバ、電源装置、空調室内機及び空調室外機の合計消費電力の省電力化問題は、以下の（５９）式〜（６６）式で表される混合整数計画問題として定式化することができる。（５９）式は目的関数を表し、（６０）式〜（６６）式は制約条件を表す。決定変数は、ｘn,i,j，ｖij，ｑin,CRAC,k,ｑout,CRAC,k,ｑout,RACK,i,ｎ＝１，・・・，Ｍ，ｉ＝１，・・・，Ｎ，ｊ＝１，・・・，Ｓ，ｋ＝１，・・・，Ｃである。
【０１７２】
【数５９】
2013042615.tif 000061
【０１７３】
【数６０】
2013042615.tif 000062
【０１７４】
【数６１】
2013042615.tif 000063
【０１７５】
【数６２】
2013042615.tif 000064
【０１７６】
【数６３】
2013042615.tif 000065
【０１７７】
【数６４】
2013042615.tif 000066
【０１７８】
【数６５】
2013042615.tif 000067
【０１７９】
【数６６】
2013042615.tif 000068
【０１８０】
実施例３によれば、サーバ２での消費電力、電源装置３での消費電力、空調室内機７での消費電力及び空調室外機８での消費電力の合計消費電力を目的関数とする混合整数計画問題を解くことによって、合計消費電力を最小とし得る仮想マシンの配置を求めることができる。従って、電子計算機システム１の省電力化を図ることができる。また、仮想マシンのサイズが異なる場合でも、合計消費電力を最小とし得る仮想マシンの配置を求めて、電子計算機システム１の省電力化を図ることができる。
【０１８１】
また、実施例３によれば、空調室内機７の消費電力や空調室外機８の消費電力を１次関数で表して混合整数計画問題を解くので、空気調和装置の消費電力を熱流体シミュレーションや熱交換シミュレーションによって求める場合よりも高速に解を求めることができる。従って、データセンタ６を円滑に運用することができる。
【０１８２】
また、実施例３によれば、サーバ２の数に合わせて仮想的に空気調和設備を分解してデータセンタ６の消費電力を最小化し得る解を求める場合に比べて、より一層、データセンタ６の運用の実態に即した解を求めることができる。
【０１８３】
なお、配置すべき全ての仮想マシンについてサイズτnを同じ値にしてもよい。そうすれば、実施例２と同様に、配置すべき全ての仮想マシンのサイズが同じになるので、実施例３によれば、配置すべき全ての仮想マシンのサイズが同じ場合でも省電力化の効果を得ることができる。
【０１８４】
また、全てのサーバ２について初期配置されている仮想マシンの合計サイズｗ0ijを０にしてもよい。そうすれば、実施例２の「仮想マシンの初期配置」と同様に、いずれのサーバ２にも仮想マシンが配置されていない状況で各サーバ２に仮想マシンを初期配置することになるので、実施例３によれば、仮想マシンを初期配置する場合でも省電力化の効果を得ることができる。
【０１８５】
さらに、上記（５９）式の目的関数及び上記（６４）式〜（６６）式の制約条件において、空気調和装置の熱流量に関する項や式を除いて整数計画問題を解いてもよい。そうすれば、空気調和装置の消費電力を考慮しないで、サイズが異なる仮想マシンを配置する場合の省電力化を図ることができる。
【０１８６】
（実施例４）
実施例４では、実施例３にかかる電子計算機システム１において、配置すべきＭ個の仮想マシンをできるだけ同一のラック５に配置するようにする場合の例である。同一のラック５に配置することによって、例えばＭ個の仮想マシンが１つのサービスに含まれる場合、そのサービスが例えば通信を行う際に通信速度が上がることがある。実施例３と同様の構成には同一の符号を付して、重複する説明を省略する。
【０１８７】
・データ構造の説明
図２５は、実施例４にかかる電子計算機システムにおけるペナルティを規定するデータを示す図である。図２５に示すように、同一のラック５に配置されるのが好ましい仮想マシンが複数のラック５に分散されて配置される場合のラック一つあたりのペナルティはａワットである。ａの値が大きくなるほど、同一のラック５に配置されるのが好ましい仮想マシンが同一のラック５に配置されやすくなり、ａの値が小さくなるほど、省電力化の効果が大きくなる。その他のデータ構造については、実施例３と同様である。
【０１８８】
・補助変数の導入
実施例４では、（６７）式で表されるように、ｉ番目のラックについて、σiを０または１のいずれかの値をとる補助変数とする。
【０１８９】
【数６７】
2013042615.tif 000069
【０１９０】
このσiに対して（６８）式で表される制約条件を課す。
【０１９１】
【数６８】
2013042615.tif 000070
【０１９２】
上記（６８）式において、Σｘn,i,j（ただし、Σのインデックスｎ，ｊは省略）が１以上であるとき、σiが０であると、（６８）式の右側の不等式が成立しないので、σiは１である。一方、Σｘn,i,j（ただし、Σのインデックスｎ，ｊは省略）が０であるとき、σiが１であると、（６８）式の左側の不等式が成立しないので、σiは０である。
【０１９３】
従って、σiの値は、ｉ番目のラックで仮想マシンが実行されるか否かを表していることになる。つまり、σiの値は、ｉ番目のラックで仮想マシンが実行されたら１であり、そうでないとき、すなわち仮想マシンが実行されなければ０である。これを表したものが、次の（６９）式及び（７０）式である。σiを１番目〜Ｎ番目の全てのラック分、足したものが、新たに配置された仮想マシンが実行されるラックの数となる。
【０１９４】
【数６９】
2013042615.tif 000071
【０１９５】
【数７０】
2013042615.tif 000072
【０１９６】
・同一ラックへの優先配置を考慮した省電力化問題の混合整数計画問題としての定式化
以上より、同一ラックに仮想マシンを優先配置する場合の省電力化問題は、以下の（７１）式〜（８０）式で表される混合整数計画問題として定式化することができる。（７１）式は目的関数を表し、（７２）式〜（８０）式は制約条件を表す。決定変数は、ｘn,i,j，ｖij，σi,ｑin,CRAC,k,ｑout,CRAC,k,ｑout,RACK,i,ｎ＝１，・・・，Ｍ，ｉ＝１，・・・，Ｎ，ｊ＝１，・・・，Ｓ，ｋ＝１，・・・，Ｃである。
【０１９７】
【数７１】
2013042615.tif 000073
【０１９８】
【数７２】
2013042615.tif 000074
【０１９９】
【数７３】
2013042615.tif 000075
【０２００】
【数７４】
2013042615.tif 000076
【０２０１】
【数７５】
2013042615.tif 000077
【０２０２】
【数７６】
2013042615.tif 000078
【０２０３】
【数７７】
2013042615.tif 000079
【０２０４】
【数７８】
2013042615.tif 000080
【０２０５】
【数７９】
2013042615.tif 000081
【０２０６】
【数８０】
2013042615.tif 000082
【０２０７】
実施例４によれば、実施例３と同様の効果が得られるとともに、複数の仮想マシンを同一のラックに配置することで通信速度の向上と省電力化を期待できるようになる。
【０２０８】
（実施例５）
実施例５は、仮想マシンのサイズが異なる場合に仮想マシンを再配置する例である。具体的には、実施例５は、サーバと無停電電源装置および空調機により消費される電力を、サイズの異なる仮想マシンの配置の関数としてモデリングした例である。そして、実施例５にかかる電子計算機システムは、仮想マシンマイグレーションを使った仮想マシン再配置による省電力化問題を混合整数計画問題として定式化、求解することにより、省電力化を達成する仮想マシン配置を算出する。
【０２０９】
これにより、仮想マシンのサイズが異なる場合でも、省電力化に最適な仮想マシンの再配置をおこなうことができる。なお、実施例５では、実施例１にかかる電子計算機システム１の一例として、図１５に示した電子計算機システムおよび図１６に示した電子計算機システムの制御装置での省電力化について説明する。実施例１〜４と同様の構成には同一の符号を付して、重複する説明を省略する。
【０２１０】
・データ構造の説明
実施例５では、電子計算機システム１は、データセンタの構成を規定するデータＮ，Ｓ（図４）、仮想マシンの数を規定するデータＭ（図５）及び最大仮想マシン数を規定するデータＬij（図７）を有していてもよい。ただし、実施例５では、仮想マシンの数を規定するデータＭは、１サービスに含まれる仮想マシンの最大個数を示す。また、電子計算機システム１は、仮想マシンの消費電力を規定するデータαij（図８）、ベース消費電力を規定するデータβij（図９）、並びに電源装置のベース消費電力ηi及び比例係数を規定するデータεi（図１３）を有していてもよい。ただし、実施例５では、αijは、ｉ番目のラックのｊ番目のサーバにおいて仮想マシンが動作する際の単位サイズ（例えば、１コアまたは１スレッド）あたり消費される電力である。
【０２１１】
また、実施例５では、電子計算機システム１は、空気調和装置の数を規定するデータ（図１９）、空調室内機のベース消費電力及び比例係数を規定するデータ（図２０）を有していてもよい。また、実施例５では、電子計算機システム１は、空調室外機の比例係数を規定するデータ（図２１）、ラックと空気調和装置との間の熱流量関係を規定するデータ（図２２）、及びラックと空気調和装置との供給熱流量を規定するデータ（図２３）を有していてもよい。それ以外に、電子計算機システム１は、以下に挙げるデータを有する。
【０２１２】
図２６は、実施例５にかかる電子計算機システムにおけるサービス個数を規定するデータを示す図である。サービス個数Ｖとは、電子計算機システムで提供されるサービスの数である。サービスは、１以上の仮想マシンにより実行される。Ｖは、１以上の整数である。
【０２１３】
図２７は、実施例５にかかる電子計算機システムにおけるサービスごとの仮想マシンの個数を規定するデータを示す図である。図２７において、番号とは、サービスを一意に特定する識別情報であり、個数とは、サービスごとの仮想マシンの個数である。たとえば、サービス番号「１」のサービスに用いられる仮想マシンの個数は「Ｍ1」であり、サービス番号「Ｖ」のサービスに用いられる仮想マシンの個数は「ＭV」である。
【０２１４】
図２８は、実施例５にかかる電子計算機システムにおける仮想マシンのサイズを規定するデータを示す図である。図２８は、提供すべきサービスに１〜Ｖの番号を付し、各サービスにおいて配置すべき仮想マシンに１〜Ｍの番号を付したときの仮想マシンのサイズを示す。例えば、サービス番号「Ｖ」において起動される「Ｍ」番目の仮想マシンのサイズは、「τVM」である。仮想マシンのサイズの一例として、サーバに配置された仮想マシンによって使用されるコア数が挙げられる。あるいは、仮想マシンのサイズの一例として、サーバに配置された仮想マシンによって実行されるスレッドの数が挙げられる。
【０２１５】
・仮想マシン配置方法の説明
図２９は、実施例５にかかる仮想マシン配置方法を示すフローチャートである。図２９に示すように、仮想マシンの配置が開始されると、まず、記憶部３２は、求解部３４にデータ（定数）、変数、目的関数及び制約条件を入力する（ステップＳ５１）。求解部３４は、入力されたデータ（定数）、変数、目的関数及び制約条件と、判定部３１からの指示とに基づいて、例えばソルバーによって混合整数計画問題を解き、解を求める（ステップＳ５２）。混合整数計画問題としての定式化については後述する。配置部３５は、求解部３４が求めた解に基づいて、仮想マシンを配置する（ステップＳ５３）。このようにして、一連の仮想マシン配置処理が終了する。
【０２１６】
・混合整数計画問題としての定式化について
つぎに、実施例５にかかる混合整数計画問題の定式化について説明する。実施例５では、実施例３と同様、空調室内機の消費電力および空調室外機の消費電力もモデリングされるが、空調室内機の消費電力のモデリング及び空調室外機の消費電力のモデリングについては、実施例３と同一内容であるため、説明を省略する。
【０２１７】
・仮想マシン及び仮想マシン配置のモデリング
図２６に示したように、サービス個数は「Ｖ」であり、図２７に示したように、１つのサービスに含まれる仮想マシンの最大個数は「Ｍ」である。したがって、ｍ番目のサービスのｎ番目の仮想マシンのサイズを「τmn」とする。ただし、ｍ番目のサービスに含まれる仮想マシンの個数Ｍmが、Ｍm＜Ｍのときは、τmn＝０、ｎ＝Ｍm＋１，…，Ｍとして表現される。
【０２１８】
また、ｘm,n,i,jを、i番目のラックのj番目のサーバで、ｍ番目のサービスのｎ番目の仮想マシンが実行されるときは「１」、そうでないときは「０」をとる変数とする。また、ｗijを、ｉ番目のラックのｊ番目のサーバで実行される仮想マシンの合計サイズを表す変数とする。この場合、ｘm,n,i,jとｗijとは、下記（８１）式に示す関係にある。
【０２１９】
【数８１】
2013042615.tif 000083
【０２２０】
・サーバの消費電力のモデリング
ｉ番目のラックのｊ番目のサーバで1つでも仮想マシンが実行されるということは、サーバの電源がすでにＯＮになっているということなので、電源ＯＮにより電力が消費される。また、ｉ番目のラックのｊ番目のサーバで実行される仮想マシンの合計サイズが増えると負荷が高くなり、より多くの電力が消費される。したがって、ｉ番目のラックのｊ番目のサーバの消費電力は、以下のようにモデリングされる。
【０２２１】
【数８２】
2013042615.tif 000084
【０２２２】
（８２）式において、ｖijは、ｉ番目のラックのｊ番目のサーバのＯＮ／ＯＦＦを示す変数である。ＯＮの場合が「１」、ＯＦＦの場合が「０」とする。βijは、ｉ番目のラックのｊ番目のサーバがＯＮのとき、それだけで消費されるベース消費電力である。βijは定数であり、単位はＷ（ワット）である。αijは、ｉ番目のラックのｊ番目のサーバにおいて単位サイズ（１コアや１スレッド）あたり消費される電力である。αijも定数であり、単位はＷ（ワット）である。
【０２２３】
・無停電電源装置（ＵＰＳ）の消費電力のモデリング
ＵＰＳでは、常時一定の電力が消費されている。それに加えて、そのＵＰＳが備え付けられているラックに搭載されるサーバ台数の消費電力に応じた電力が消費される。したがって、ｉ番目のラックでのＵＰＳの消費電力は、以下のようにモデリングされる。
【０２２４】
【数８３】
2013042615.tif 000085
【０２２５】
（８３）式において、Ｓは、１ラックあたりのサーバ台数であり、定数である。ηiは、ｉ番目のラックについてＵＰＳで常に消費されるベース消費電力である。ηiは定数であり、単位はＷ（ワット）である（図１３を参照）。εiは、ｉ番目のラック内のサーバの消費電力に対して、その何倍の電力がＵＰＳで消費されるかを表す比例係数である。εiは、定数である（図１３を参照）。なお、ｉ番目のラックのサーバ台数がｓ(＜Ｓ)という状況は、ｘm,n,i,j＝０、ｊ≧ｓという制約条件で表現することが可能である。すなわち、ラック内のサーバ台数は、可変である。
【０２２６】
・データセンタ全体の消費電力のモデリング
データセンタ全体の、サーバ、無停電電源装置、空調室内機、及び空調室外機で消費される電力は以下のようにモデリングされる。
【０２２７】
【数８４】
2013042615.tif 000086
【０２２８】
（８４）式において、Ｎはデータセンタ内のラック数であり、Ｃはデータセンタ内の空調室内機及び空調室外機のそれぞれの台数である。
【０２２９】
・熱流量のモデリング
実施例３で説明した（Ｑ−１）の関係に基づいて、ｋ番目の空調室内機から排出される熱流量は、上記（５６）式に示したとおりである。また、実施例３で説明した（Ｑ−２）の関係に基づいて、ｋ番目の空調室内機に流入する熱流量は、上記（５７）式に示したとおりである。実施例３で説明した（Ｑ−３）の関係に基づいて、ｉ番目のラックから排出される熱流量は、下記（８５）式で表される。
【０２３０】
【数８５】
2013042615.tif 000087
【０２３１】
（８５）式において、ｑsup,iは、ｉ番目のラックに対して空調室内機から供給される熱流量である。ｑsup,iは定数であり、単位はＷ（ワット）である。
【０２３２】
・マイグレーションコストのモデリング
仮想マシンのマイグレーションが実行されると、仮想マシンの移行元と移行先とで電力が消費される。したがって、仮想マシンのマイグレーションの消費電力は、以下のようにモデリングされる。
【０２３３】
【数８６】
2013042615.tif 000088
【０２３４】
・省電力化問題の混合整数計画問題としての定式化
以上により、仮想マシンの再配置によるサーバ、無停電電源装置、空調室内機、空調室外機の電力最小化問題は、以下の混合整数計画問題として定式化できる。
【０２３５】
【数８７】
2013042615.tif 000089
【０２３６】
すなわち、（８７）式が最小となるように混合整数計画問題を解けばよい。なお、スケーリングファクターｃ（＞０）の妥当な決め方として、ｃ＝仮想マシンのマイグレーションの平均時間／再配置後の仮想マシンの平均動作時間が挙げられる。また、（８７）式は、以下の（８８）式〜（１０７）式に示した条件にしたがう。
【０２３７】
【数８８】
2013042615.tif 000090
【０２３８】
【数８９】
2013042615.tif 000091
【０２３９】
【数９０】
2013042615.tif 000092
【０２４０】
【数９１】
2013042615.tif 000093
【０２４１】
（８８）式において、ｘm,n,i,jは、０または１のいずれかの値をとる変数とする。ｘm,n,i,jの値は，ｍ番目のサービスのｎ番目の仮想マシンがｉ番目のラックのｊ番目のサーバで実行される（配置される）ときは「１」、そうでないときは「０」となる。すなわち、ｘm,n,i,jは、仮想マシンの配置を示す。
【０２４２】
（９３）式において、δ-ijは、０または１のいずれかの値をとる変数とする。δ-ijに対しては、（９９）式に示した制約条件が課される。ただし，ｄは１未満の正の実数である。（９９）式に示した制約条件により、δ-ijは、以下の関係を満たす。
【０２４３】
【数９２】
2013042615.tif 000094
【０２４４】
ここではδ-ijについて以上のような順序で説明したが，逆に言うと，「０または１のいずれかの値をとり，上記（１０８）式、（１０９）式をみたす変数」が必要であるために，変数δ-ijに制約条件として（９９）式を課してそのような性質をもたせている。
【０２４５】
（１１０）式および（１１１）式において、δ+ijは、（９４）式に示したように、０または１のいずれかの値をとる変数とする。δ+ijに対しては、（１０２）式に示した制約条件が課される。（１０２）式に示した制約条件により、δ+ijは、以下の関係を満たす。
【０２４６】
【数９３】
2013042615.tif 000095
【０２４７】
（１１２）式および（１１３）式において、ｖijは、（９０）式に示したように、０または１のいずれかの値をとる変数とする。ｖijに対して（９８）式に示した制約条件が課される。（９８）式に示した制約条件により、ｖijは、以下の関係を満たす。
【０２４８】
【数９４】
2013042615.tif 000096
【０２４９】
なお、Σm,nτmnｘm,n,i,jはｉ番目のラックのｊ番目のサーバに配置される仮想マシンの合計サイズを表すため、Σm,nτmnｘm,n,i,j＝０は、ｉ番目のラックのｊ番目のサーバに仮想マシンが配置されないことを示す。すなわち，ｉ番目のラックのｊ番目のサーバに仮想マシンが配置されないこととｖijが「０」となることは等価であり、ｉ番目のラックのｊ番目のサーバに仮想マシンが配置されることとｖijが「１」となることが等価である。実施例５では、サーバに仮想マシンが配置されないときには消費電力削減のためにサーバの電源をオフにすることを想定する。したがって、ｖij＝１はｉ番目のラックのｊ番目のサーバの電源がオンであることを示し、ｖij= 0 はｉ番目のラックのｊ番目のサーバの電源がオフであることを示す。
【０２５０】
このように、実施例５において定式化された混合整数計画問題は、例えばＧＬＰＫやＳＹＭＰＨＯＮＹやＧｕｒｏｂｉ  Ｏｐｔｉｍｉｚｅｒなどのソルバーにより求解される。そして、電子計算機システムの制御装置は、仮想マシンのサイズが異なる場合であっても、ソルバーによって求められた解に従って、仮想マシンのマイグレーションを実行することにより、データセンタの省電力化を図ることができる。
【０２５１】
（実施例６）
実施例６は、同一サービスの仮想マシン同士を同一ラック内のサーバに優先的に配置させる例である。電子計算機システムでは、各サーバは、ネットワークスイッチに接続され、ネットワークスイッチを経由して他のサーバと通信を行う。そのため、同一のネットワークスイッチに接続されているサーバ間の通信の遅延が、異なるネットワークスイッチに接続されているサーバ間の通信よりも少ない。同じように、仮想マシン間の通信も、その仮想マシンが配置されているサーバが同一のネットワークスイッチに接続されている場合、異なるネットワークスイッチに接続されているサーバに配置された仮想マシンとの通信よりも遅延が少ない。
【０２５２】
したがって、１つのサービスを構成している仮想マシン同士の通信遅延を少なくするためには、同一のネットワークスイッチに接続されているサーバに仮想マシンを配置することが望ましい。実施例６では、各ラックに１つのネットワークスイッチが備え付けられ、ラック内のサーバはそのネットワークスイッチに接続される状況を想定する。そのため、同一のネットワークスイッチに接続されているサーバに仮想マシンを配置することと同一のラックのサーバに仮想マシンを配置することは等価となる。以下、補助変数を導入し、目的関数を変更することで省電力化とともに同じサービスに含まれる仮想マシンをできる限り１つのラックに配置する例について説明する。
【０２５３】
なお、実施例６では、実施例１にかかる電子計算機システム１の一例として、図１５に示した電子計算機システムおよび図１６に示した電子計算機システムの制御装置での省電力化について説明する。なお、図１５に示した電子計算機システムの各ラックは、ラック内のサーバに接続されるネットワークスイッチを有するものとする。また、実施例１〜５と同様の構成には同一の符号を付して、重複する説明を省略する。
【０２５４】
・データ構造の説明
実施例６では、電子計算機システム１は、データセンタの構成を規定するデータＮ，Ｓ（図４）、仮想マシンの数を規定するデータＭ（図５）及び最大仮想マシン数を規定するデータＬij（図７）を有する。ただし、実施例５に追加される場合は、仮想マシンの数を規定するデータＭは、１サービスに含まれる仮想マシンの最大個数を示す。また、電子計算機システム１は、仮想マシンの消費電力を規定するデータαij（図８）、ベース消費電力を規定するデータβij（図９）、並びに電源装置のベース消費電力ηi及び比例係数を規定するデータεi（図１３）を有する。ただし、実施例５に追加される場合は、αijは、ｉ番目のラックのｊ番目のサーバにおいて仮想マシンが動作する際の単位サイズ（例えば、１コアまたは１スレッド）あたり消費される電力である。
【０２５５】
また、実施例６では、電子計算機システム１は、仮想マシンのサイズを規定するデータ（図１７）、仮想マシンの初期配置データ（図１８）、空気調和装置の数を規定するデータ（図１９）、空調室内機のベース消費電力及び比例係数を規定するデータ（図２０）を有していてもよい。また、実施例６では、電子計算機システム１は、空調室外機の比例係数を規定するデータ（図２１）、ラックと空気調和装置との間の熱流量関係を規定するデータ（図２２）、及びラックと空気調和装置との供給熱流量を規定するデータ（図２３）を有していてもよい。
【０２５６】
また、実施例６の電子計算機システム１は、実施例５に追加される場合は、サービス個数を規定するデータ（図２６）、サービスごとの仮想マシンの個数を規定するデータ（図２７）、及び仮想マシンのサイズを規定するデータ（図２８）を有していてもよい。それ以外に、電子計算機システム１は、以下に挙げるデータを有する。
【０２５７】
図３０は、実施例６にかかる電子計算機システムにおける使用ラック数ペナルティ係数を規定するデータを示す図である。使用ラック数ペナルティとは、同じサービスに含まれる仮想マシンをなるべく１つのラックに配置させるため、同じサービスに含まれる仮想マシンが複数のラックにまたがった場合に与えられるペナルティである。使用ラック数ペナルティ係数とは、使用ラック数ペナルティに与えられる定数である。使用ラック数ペナルティは、混合整数計画問題で使用される。
【０２５８】
・仮想マシン配置方法の説明
図３１は、実施例６にかかる仮想マシン配置方法を示すフローチャートである。図３１に示すように、仮想マシンの配置が開始されると、まず、記憶部３２は、求解部３４にデータ（定数）、変数、目的関数及び制約条件を入力する（ステップＳ６１）。求解部３４は、入力されたデータ（定数）、変数、目的関数及び制約条件と、判定部３１からの指示とに基づいて、例えばソルバーによって混合整数計画問題を解き、解を求める（ステップＳ６２）。混合整数計画問題としての定式化については後述する。配置部３５は、求解部３４が求めた解に基づいて、仮想マシンを配置する（ステップＳ６３）。このようにして、一連の仮想マシン配置処理が終了する。
【０２５９】
・混合整数計画問題としての定式化について
つぎに、実施例６にかかる混合整数計画問題の定式化について説明する。実施例１〜５で説明したモデリングと同一内容については説明を省略する。
【０２６０】
・同一ラックへの優先配置のモデリング
上述した使用ラック数ペナルティは、（１１４）式によって表される。
【０２６１】
【数９５】
2013042615.tif 000097
【０２６２】
（１１５）式は、ｍ番目のサービスの仮想マシンが、ｉ番目のラックでは１つも配置されていないことを示す。（１１６）式は、ｍ番目のサービスの仮想マシンが、ｉ番目のラックに配置されていることを示す。また、（１１４）式のΣσm,iは、ｍ番目のサービスに含まれる仮想マシンが実行されるラック数を表す。また、ａは、使用ラック数ペナルティ係数である。使用ラック数ペナルティ係数ａは、ラック１つあたりのペナルティ係数である。使用ラック数ペナルティ係数ａは定数であり、単位はＷ（ワット）である。
【０２６３】
・省電力化問題の混合整数計画問題としての定式化
以上により、仮想マシンの再配置によるサーバ、無停電電源装置、空調室内機、空調室外機の電力最小化問題は、以下の混合整数計画問題として定式化できる。（１１７）式は、上記（８８）式〜（１０７）式に示した条件のほか、（１０８）式に示した条件にしたがう。
【０２６４】
【数９６】
2013042615.tif 000098
【０２６５】
すなわち、（１１７）式が最小となるように混合整数計画問題を解けばよい。（１１７）式は、実施例５に示した（８７）式に、（１１４）式が追加された式である。同一サービスを構成する仮想マシンが複数のラックにまたがると、（１１７）式の最終項の値が大きくなる。一方、同一ラックに集約されると小さくなる。なお、ラック使用ペナルティは、実施例２の（３６）式、実施例３の（５９）式、実施例４の（７１）式に適用してもよい。
【０２６６】
このように、実施例６において定式化された混合整数計画問題は、例えばＧＬＰＫやＳＹＭＰＨＯＮＹやＧｕｒｏｂｉ  Ｏｐｔｉｍｉｚｅｒなどのソルバーにより求解される。そして、電子計算機システムの制御装置は、ソルバーによって求められた解に従って仮想マシンのマイグレーションを行い、仮想マシンを再配置することで、同一サービスに含まれる仮想マシンがなるべく同一ラックに配置されるよう考慮しつつデータセンタの省電力化を図ることができる。
【０２６７】
（実施例７）
実施例７は、起動待ち時間、仮想マシン停止時間、およびマイグレーション待ち時間を考慮した省電力化の例である。起動待ち時間とは、サーバの起動により生じる待ち時間である。サーバの電源をＯＮにしてから仮想マシンを配置できるようになるまでには一定の時間がかかる。起動待ち時間とは、そのために発生する待ち時間である。仮想マシン停止時間とは、仮想マシンの停止により生じる時間である。仮想マシンのマイグレーションを行うと、仮想マシンのサイズに比例した時間分、仮想マシンが停止する。仮想マシン停止時間とは、そのために発生する時間である。
【０２６８】
マイグレーション待ち時間とは、仮想マシンのマイグレーションにより生じる待ち時間である。サーバごとの仮想マシンの受け入れは１つずつ行われる。マイグレーション待ち時間とは、その受け入れのため、1つのサーバに多くの仮想マシンが再配置されると発生する待ち時間である。
【０２６９】
図３２は、マイグレーション待ち時間の説明図である。仮想マシンが複数移行されてくる場合、仮想マシンはリスト化されて１つずつ順番に移行処理される。図３２では、待機する仮想マシンの待機個数の閾値を４とし、４以上になるとペナルティを課すことにする。（Ａ）では、リスト化された仮想マシンの待機個数は３個であるため、閾値未満となり、ペナルティは課されない。一方、（Ｂ）では、リスト化された仮想マシンの待機個数は６個であるため、閾値以上となり、ペナルティが課される。以下、補助変数を導入し、目的関数を変更することで、省電力化とともになるべく待ち時間、停止時間を少なくする方法について説明する。
【０２７０】
・データ構造の説明
実施例７では、電子計算機システム１は、データセンタの構成を規定するデータＮ，Ｓ（図４）、仮想マシンの数を規定するデータＭ（図５）及び最大仮想マシン数を規定するデータＬij（図７）を有する。ただし、実施例５に追加される場合は、仮想マシンの数を規定するデータＭは、１サービスに含まれる仮想マシンの最大個数を示す。また、電子計算機システム１は、仮想マシンの消費電力を規定するデータαij（図８）、ベース消費電力を規定するデータβij（図９）、並びに電源装置のベース消費電力ηi及び比例係数を規定するデータεi（図１３）を有する。ただし、実施例５に追加される場合は、αijは、ｉ番目のラックのｊ番目のサーバにおいて仮想マシンが動作する際の単位サイズ（例えば、１コアまたは１スレッド）あたり消費される電力である。
【０２７１】
また、実施例７では、電子計算機システム１は、仮想マシンのサイズを規定するデータ（図１７）、仮想マシンの初期配置データ（図１８）、空気調和装置の数を規定するデータ（図１９）、空調室内機のベース消費電力及び比例係数を規定するデータ（図２０）を有していてもよい。また、実施例６では、電子計算機システム１は、空調室外機の比例係数を規定するデータ（図２１）、ラックと空気調和装置との間の熱流量関係を規定するデータ（図２２）、及びラックと空気調和装置との供給熱流量を規定するデータ（図２３）を有していてもよい。
【０２７２】
また、実施例７の電子計算機システム１は、実施例５に追加される場合は、サービス個数を規定するデータ（図２６）、サービスごとの仮想マシンの個数を規定するデータ（図２７）、及び仮想マシンのサイズを規定するデータ（図２８）を有していてもよい。それ以外に、電子計算機システム１は、以下に挙げるデータを有する。
【０２７３】
図３３は、実施例７にかかる電子計算機システムにおける起動待ち時間ペナルティ係数を規定するデータを示す図である。起動待ち時間ペナルティとは、起動待ち時間に応じて割当てられるペナルティであり、起動待ち時間ペナルティ係数とは、起動待ち時間ペナルティに与えられる値である。単位はワット（Ｗ）である。起動待ち時間ペナルティは、混合整数計画問題で使用される。図３３において、起動待ち時間ペナルティ係数ｂijは、ｉ番目のラックのｊ番目のサーバごとに規定される。たとえば、Ｎ番目のラックのＳ番目のサーバについての起動待ち時間ペナルティ係数は、ｂNSである。また、起動待ち時間ペナルティ係数ｂijは、サーバがＯＮになってから混合整数計画問題の求解を開始する時点までの経過時間により決定される。
【０２７４】
図３４は、起動待ち時間ペナルティ係数ｂijの値を決定するテーブルの一例を示す説明図である。図３４において、経過時間が短いほど、起動待ち時間ペナルティ係数ｂijの値が大きくなるため、ペナルティが増加する。すなわち、経過時間が短いほど、経過後の起動待ち時間が長くなるためである。
【０２７５】
図３５は、仮想マシン停止時間ペナルティ係数を規定するデータを示す図である。仮想マシン停止時間ペナルティとは、仮想マシン停止時間に応じて割当てられるペナルティであり、仮想マシン停止時間ペナルティ係数ｂとは、仮想マシン停止時間ペナルティに与えられる定数である。単位はワット（Ｗ）である。
【０２７６】
図３６は、マイグレーション待ちの仮想マシンの待機個数の閾値を規定するデータを示す図である。図３２の例では、仮想マシンの待機個数の閾値ｌは、ｌ＝４となる。
【０２７７】
図３７は、閾値ｌを超えた分の仮想マシンの待機個数に対するペナルティ係数を示す図である。図３２の（Ｂ）の例は、待機個数が「６」、閾値ｌが「４」であるため、閾値ｌを超えた分の待機個数は、２（＝６−４）である。したがって、ペナルティ係数ｅは、閾値ｌを超えた分の待機個数「２」に対して与えられるペナルティである。ペナルティ係数ｅの単位は、ワット（Ｗ）である。
【０２７８】
・仮想マシン配置方法の説明
図３８は、実施例７にかかる仮想マシン配置方法を示すフローチャートである。図３８に示すように、仮想マシンの配置が開始されると、まず、記憶部３２は、求解部３４にデータ（定数）、変数、目的関数及び制約条件を入力する（ステップＳ７１）。求解部３４は、入力されたデータ（定数）、変数、目的関数及び制約条件と、判定部３１からの指示とに基づいて、例えばソルバーによって混合整数計画問題を解き、解を求める（ステップＳ７２）。混合整数計画問題としての定式化については後述する。配置部３５は、求解部３４が求めた解に基づいて、仮想マシンを配置する（ステップＳ７３）。このようにして、一連の仮想マシン配置処理が終了する。
【０２７９】
・混合整数計画問題としての定式化について
つぎに、実施例７にかかる混合整数計画問題の定式化について説明する。実施例１〜５で説明したモデリングと同一内容については説明を省略する。
【０２８０】
・起動待ち時間のモデリング
上述した起動待ち時間に対するペナルティは、（１１９）式によって表される。
【０２８１】
【数９７】
2013042615.tif 000099
【０２８２】
・仮想マシン停止時間のモデリング
上述した仮想マシン停止時間に対するペナルティは、（１２０）式によって表される。
【０２８３】
【数９８】
2013042615.tif 000100
【０２８４】
ここで、ｙm,n,i,jは、下記の（１２１）式を満たすバイナリ変数である。
【０２８５】
【数９９】
2013042615.tif 000101
【０２８６】
すなわち、ｙm,n,i,jは、ｍ番目のサービスのｎ番目の仮想マシンがライブマイグレーションによってｉ番目のラックのｊ番目のサーバへ移動するときは「１」、それ以外のときは「０」をとる。
【０２８７】
また、（１２０）式のΣｙm,n,i,jは、ｍ番目のサービスのｎ番目の仮想マシンがライブマイグレーションされれば「１」、そうでなければ「０」となる。
【０２８８】
したがって、（１２０）式は、ｍ番目のサービスのｎ番目の仮想マシンがライブマイグレーションで移動されることよって生じる停止時間に対するペナルティの総和を表す。すなわち、停止時間は、サイズτmnに比例することになる。
【０２８９】
また、仮想マシンの初期配置を示すｘ0m,n,i,jを定数とする。ただし、ｎ≧Ｍm＋１に対しては、ｘ0m,n,i,j＝１とする。Ｍmはｍ番目のサービスでの仮想マシンの個数である。この場合、以下の関係がある。
【０２９０】
【数１００】
2013042615.tif 000102
【０２９１】
図３９は、仮想マシンの初期配置を示すｘ0m,n,i,jの一覧を示す図である。ｘ0m,n,i,jは、サービスを一意に特定するサービス番号と、仮想マシンを一意に特定するＶＭ番号と、ラックを一意に特定するラック番号と、サーバを一意に特定するサーバ番号とによって決まる定数である。図３９では、サービス番号１において起動される１番目の仮想マシンの１番目のラックの１番目のサーバに関するｘ01,1,1,1から、サービス番号Ｖにおいて起動されるＭ番目の仮想マシンのＮ番目のラックのＳ番目のサーバに関するｘ0V,M,N,Sまでを定義する。
【０２９２】
・マイグレーション待ち時間のモデリング
上述したマイグレーション待ち時間に対するペナルティは、（１２４）式によって表される。
【０２９３】
【数１０１】
2013042615.tif 000103
【０２９４】
ここで、ｕijは、下記の（１２５）式及び（１２６）式を満たす、０以上Ｌij以下の整数変数である。
【０２９５】
【数１０２】
2013042615.tif 000104
【０２９６】
（１２５）式および（１２６）式の左側の不等式の左辺は、ｉ番目のラックのｊ番目のサーバへ移動してくる仮想マシンの個数を表す。すなわち、（１２５）式において、ｉ番目のラックのｊ番目のサーバへ移動してくる仮想マシンの個数がｌ以上のときに、ｕijは、（１２５）式の左側の不等式の左辺の値をとる。一方、（１２６）式において、ｉ番目のラックのｊ番目のサーバへ移動してくる仮想マシンの個数がｌ−１以下のときに、ｕijは、０となる。したがって、ｅ×ｕijは、はｉ番目のラックのｊ番目のサーバへ移動してくる仮想マシンのうち、閾値ｌ以上になった分の待ち時間に対するペナルティを表す。このため、（１２４）式は、それらの総和を表す。
【０２９７】
また、ρijは、下記の（１２７）式を満たすバイナリ変数である。ρijは、ｕijを定義するために使用される。
【０２９８】
【数１０３】
2013042615.tif 000105
【０２９９】
・省電力化問題の混合整数計画問題としての定式化
以上により、仮想マシンの再配置によるサーバ、無停電電源装置、空調室内機、空調室外機の電力最小化問題は、以下の混合整数計画問題として定式化できる。
【０３００】
【数１０４】
2013042615.tif 000106
【０３０１】
また、（１２８）式は、上記（８８）式〜（１０７）式に示した条件のほか、下記の（１２９）式〜（１３５）式に示した条件にしたがう。
【０３０２】
【数１０５】
2013042615.tif 000107
【０３０３】
すなわち、（１２８）式が最小となるように混合整数計画問題を解けばよい。（１２８）式は、実施例５に示した（８７）式に、（１１９）式、（１２０）式、及び（１２４）式が追加された式である。なお、（１１９）式、（１２０）式、及び（１２４）式は、実施例２の（３６）式、実施例３の（５９）式、実施例４の（７１）式、実施例６の（１１７）式に適用してもよい。（１１９）式、（１２０）式、及び（１２４）式をすべて用いる必要はなく、いずれか１つ採用してもよい。
【０３０４】
このように、実施例７において定式化された混合整数計画問題は、例えばＧＬＰＫやＳＹＭＰＨＯＮＹやＧｕｒｏｂｉ  Ｏｐｔｉｍｉｚｅｒなどのソルバーにより求解される。そして、電子計算機システムの制御装置は、ソルバーによって求められた解に従って仮想マシンのマイグレーションを行い、仮想マシンを再配置することで、軌道待ち時間、仮想マシン停止時間、マイグレーション待ち時間が少なくなるよう考慮しつつ、データセンタの省電力化を図ることができる。
【符号の説明】
【０３０５】
１  電子計算機システム
２  サーバ
３  電源装置
４  制御装置
５  ラック
６  データセンタ
７，８  空気調和装置
【図１】
2013042615.tif 000108
【図２】
2013042615.tif 000109
【図３】
2013042615.tif 000110
【図４】
2013042615.tif 000111
【図５】
2013042615.tif 000112
【図６】
2013042615.tif 000113
【図７】
2013042615.tif 000114
【図８】
2013042615.tif 000115
【図９】
2013042615.tif 000116
【図１０】
2013042615.tif 000117
【図１１】
2013042615.tif 000118
【図１２】
2013042615.tif 000119
【図１３】
2013042615.tif 000120
【図１４】
2013042615.tif 000121
【図１５】
2013042615.tif 000122
【図１６】
2013042615.tif 000123
【図１７】
2013042615.tif 000124
【図１８】
2013042615.tif 000125
【図１９】
2013042615.tif 000126
【図２０】
2013042615.tif 000127
【図２１】
2013042615.tif 000128
【図２２】
2013042615.tif 000129
【図２３】
2013042615.tif 000130
【図２４】
2013042615.tif 000131
【図２５】
2013042615.tif 000132
【図２６】
2013042615.tif 000133
【図２７】
2013042615.tif 000134
【図２８】
2013042615.tif 000135
【図２９】
2013042615.tif 000136
【図３０】
2013042615.tif 000137
【図３１】
2013042615.tif 000138
【図３２】
2013042615.tif 000139
【図３３】
2013042615.tif 000140
【図３４】
2013042615.tif 000141
【図３５】
2013042615.tif 000142
【図３６】
2013042615.tif 000143
【図３７】
2013042615.tif 000144
【図３８】
2013042615.tif 000145
【図３９】
2013042615.tif 000146
【手続補正書】
【提出日】平成26年3月20日(2014.3.20)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
仮想マシンが配置される複数のサーバと、
複数の前記サーバに電力を供給する複数の電源装置と、
前記サーバに対する前記仮想マシンの配置を制御する制御装置と、
を備え、
前記制御装置は、前記仮想マシンの配置の関数として記述された、前記サーバでの消費電力と前記電源装置での消費電力との合計消費電力を目的関数とする整数計画問題を解き、前記整数計画問題の解に基づいて前記仮想マシンを配置することを特徴とする電子計算機システム。
【請求項２】
前記制御装置は、全ての前記サーバが停止中であることを制約条件の一つとして前記整数計画問題を解くことを特徴とする請求項１に記載の電子計算機システム。
【請求項３】
前記制御装置は、一つ以上の前記仮想マシンが配置されていることを制約条件の一つとして前記整数計画問題を解くことで、配置済みの前記仮想マシンがある状態に他の前記仮想マシンを追加で配置することを特徴とする請求項１に記載の電子計算機システム。
【請求項４】
前記制御装置は、一つ以上の前記仮想マシンが配置されていることを制約条件の一つとし、前記合計消費電力に、配置済みの前記仮想マシンを別のサーバに移動させることにより消費される電力を加えて前記整数計画問題を解くことで、配置済みの前記仮想マシンを再配置することを特徴とする請求項１に記載の電子計算機システム。
【請求項５】
前記目的関数は、前記サーバでの消費電力を、前記仮想マシンのサイズが前記仮想マシンごとに異なるとして表した関数であることを特徴とする請求項２または３に記載の電子計算機システム。
【請求項６】
前記サーバ及び前記電源装置を収容する空間に対して空気調和を行う空気調和装置をさらに備え、
前記制御装置は、前記仮想マシンの配置の関数として記述された、前記空気調和装置での消費電力をさらに合算した合計消費電力を目的関数とする混合整数計画問題を解き、前記混合整数計画問題の解に基づいて前記仮想マシンを配置することを特徴とする請求項２、３または５に記載の電子計算機システム。
【請求項７】
前記サーバは、複数のラックに分散されて収容されており、
前記目的関数は、前記仮想マシンが配置されるラック数に応じたペナルティを課す項を含むことを特徴とする請求項２、３、５または６に記載の電子計算機システム。
【請求項８】
複数の電源装置から供給される電力で稼働する複数のサーバに対して仮想マシンを配置するにあたって、
前記仮想マシンの配置の関数として記述された、前記サーバでの消費電力と前記電源装置での消費電力との合計消費電力を目的関数とする整数計画問題を解き、前記整数計画問題の解に基づいて前記仮想マシンを配置することを特徴とする仮想マシン配置方法。
【請求項９】
全ての前記サーバが停止中であることを制約条件の一つとして前記整数計画問題を解くことを特徴とする請求項８に記載の仮想マシン配置方法。
【請求項１０】
一つ以上の前記仮想マシンが配置されていることを制約条件の一つとして前記整数計画問題を解くことで、配置済みの前記仮想マシンがある状態に他の前記仮想マシンを追加で配置することを特徴とする請求項８に記載の仮想マシン配置方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、電子計算機システム及び仮想マシン配置方法に関する。
【背景技術】
【０００２】
従来、同時に運転する機種及び台数が異なるケースごとに消費エネルギーの最小値を混合整数計画法で算出し、消費エネルギーが最も小さくなるケースを最終的に選択することで、複数のエネルギー供給手段を稼働させて負荷を分担させる方法がある（例えば、特許文献１参照）。また、生成する仮想サーバのプロセッサの数やメモリ量及びリソースの割り当てポリシーを含む生成要求を受け付け、受け付けた生成要求に基づいて割り当てポリシーを満たすようにプロセッサとメモリを仮想サーバに割り当てる方法がある（例えば、特許文献２参照）。また、プロセッサがソフトウェア処理を実行する際に使用されるリソース量に基づいてソフトウェア処理ごとに消費電力を算出し、算出された消費電力に応じて、一部のソフトウェア処理を第１プロセッサから第２プロセッサに移行する方法がある（例えば、特許文献３参照）。また、複数のサーバの電力消費量と空調機の電力消費量を最小化するための物理サーバリソースと論理サーバの各組み合わせにおける論理サーバに割り当てるリソース量を算出して、物理サーバのリソースの論理サーバへの割り当てを変更する方法がある（例えば、特許文献４参照）。また、情報処理装置の位置と稼働情報、並びに給電設備及び冷却設備の位置と環境情報を用いて、情報処理装置群の消費電力と給電設備の給電損失と冷却設備の冷却電力の総和を低減するように情報処理装置群へ作業負荷を割り当てる方法がある（例えば、特許文献５参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平６−１４１４６８号公報
【特許文献２】特開２００９−１５１７４５号公報
【特許文献３】特開２０１０−２０５２００号公報
【特許文献４】特開２０１１−３９８８９号公報
【特許文献５】特開２００９−２５２０５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、複数台のラックのそれぞれに無停電電源装置（ＵＰＳ：Ｕｎｉｎｔｅｒｒｕｐｔｉｂｌｅ  Ｐｏｗｅｒ  Ｓｕｐｐｌｙ）と複数のサーバを備えた電子計算機システムにおいて、従来の方法では、複数のサーバに複数の仮想マシン（仮想マシン：Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ）を割り当てることができないという問題点がある。また、従来の方法で複数のサーバに複数の仮想マシンを割り当てても、省電力化を図ることができない場合があるという問題点がある。
【０００５】
複数のサーバに複数の仮想マシンを割り当てる際に省電力化を図ることができる電子計算機システム及び仮想マシン配置方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
電子計算機システムは、複数のサーバ、複数の電源装置及び制御装置を備えている。各サーバには、仮想マシンが配置される。各電源装置は、サーバに電力を供給する。制御装置は、サーバに対する仮想マシンの配置を制御する。制御装置は、仮想マシンの配置の関数として記述された、サーバでの消費電力と電源装置での消費電力との合計消費電力を目的関数とする整数計画問題を解き、整数計画問題の解に基づいて仮想マシンを配置する。
【発明の効果】
【０００７】
電子計算機システム及び仮想マシン配置方法によれば、複数のサーバに複数の仮想マシンを割り当てる際に省電力化を図ることができるという効果を奏する。
【図面の簡単な説明】
【０００８】
【図１】図１は、実施例１にかかる電子計算機システムを示すブロック図である。
【図２】図２は、実施例２にかかる電子計算機システムの制御装置のハードウェア構成を示すブロック図である。
【図３】図３は、実施例２にかかる電子計算機システムの制御装置の機能的構成を示すブロック図である。
【図４】図４は、実施例２にかかる電子計算機システムにおけるデータセンタの構成を規定するデータを示す図である。
【図５】図５は、実施例２にかかる電子計算機システムにおける仮想マシンの数を規定するデータを示す図である。
【図６】図６は、実施例２にかかる電子計算機システムにおけるスケーリングファクターを規定するデータを示す図である。
【図７】図７は、実施例２にかかる電子計算機システムにおける実行可能な最大仮想マシン数を規定するデータを示す図である。
【図８】図８は、実施例２にかかる電子計算機システムにおける仮想マシンの消費電力を規定するデータを示す図である。
【図９】図９は、実施例２にかかる電子計算機システムにおけるベース消費電力を規定するデータを示す図である。
【図１０】図１０は、実施例２にかかる電子計算機システムにおける仮想マシンの移動元の消費電力を規定するデータを示す図である。
【図１１】図１１は、実施例２にかかる電子計算機システムにおける仮想マシンの移動先の消費電力を規定するデータを示す図である。
【図１２】図１２は、実施例２にかかる電子計算機システムにおける仮想マシンの初期配置データを示す図である。
【図１３】図１３は、実施例２にかかる電子計算機システムにおける電源装置のベース消費電力及び比例係数を規定するデータを示す図である。
【図１４】図１４は、実施例２にかかる仮想マシン配置方法を示すフローチャートである。
【図１５】図１５は、実施例３にかかる電子計算機システムを示すブロック図である。
【図１６】図１６は、実施例３にかかる電子計算機システムの制御装置の機能的構成を示すブロック図である。
【図１７】図１７は、実施例３にかかる電子計算機システムにおける仮想マシンのサイズを規定するデータを示す図である。
【図１８】図１８は、実施例３にかかる電子計算機システムにおける仮想マシンの初期配置データを示す図である。
【図１９】図１９は、実施例３にかかる電子計算機システムにおける空気調和装置の数を規定するデータを示す図である。
【図２０】図２０は、実施例３にかかる電子計算機システムにおける空調室内機のベース消費電力及び比例係数を規定するデータを示す図である。
【図２１】図２１は、実施例３にかかる電子計算機システムにおける空調室外機の比例係数を規定するデータを示す図である。
【図２２】図２２は、実施例３にかかる電子計算機システムにおけるラックと空気調和装置との間の熱流量関係を規定するデータを示す図である。
【図２３】図２３は、実施例３にかかる電子計算機システムにおけるラックと空気調和装置との供給熱流量を規定するデータを示す図である。
【図２４】図２４は、実施例３にかかる仮想マシン配置方法を示すフローチャートである。
【図２５】図２５は、実施例４にかかる電子計算機システムにおけるペナルティを規定するデータを示す図である。
【図２６】図２６は、実施例５にかかる電子計算機システムにおけるサービス個数を規定するデータを示す図である。
【図２７】図２７は、実施例５にかかる電子計算機システムにおけるサービスごとの仮想マシンの個数を規定するデータを示す図である。
【図２８】図２８は、実施例５にかかる電子計算機システムにおける仮想マシンのサイズを規定するデータを示す図である。
【図２９】図２９は、実施例５にかかる仮想マシン配置方法を示すフローチャートである。
【図３０】図３０は、実施例６にかかる電子計算機システムにおける使用ラック数ペナルティ係数を規定するデータを示す図である。
【図３１】図３１は、実施例６にかかる仮想マシン配置方法を示すフローチャートである。
【図３２】図３２は、マイグレーション待ち時間の説明図である。
【図３３】図３３は、実施例７にかかる電子計算機システムにおける起動待ち時間ペナルティ係数を規定するデータを示す図である。
【図３４】図３４は、起動待ち時間ペナルティ係数ｂijの値を決定するテーブルの一例を示す説明図である。
【図３５】図３５は、仮想マシン停止時間ペナルティ係数を規定するデータを示す図である。
【図３６】図３６は、マイグレーション待ちの仮想マシンの待機個数の閾値を規定するデータを示す図である。
【図３７】図３７は、閾値ｌを超えた分の仮想マシンの待機個数に対するペナルティ係数を示す図である。
【図３８】図３８は、実施例７にかかる仮想マシン配置方法を示すフローチャートである。
【図３９】図３９は、初期配置を示すｘ0m,n,i,jの一覧を示す図である。
【発明を実施するための形態】
【０００９】
以下に、この発明にかかる電子計算機システム及び仮想マシン配置方法の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
【００１０】
（実施例１）
図１は、実施例１にかかる電子計算機システムを示すブロック図である。図１に示すように、電子計算機システム１は、複数のサーバ２、複数の電源装置３及び制御装置４を備えている。各サーバ２には、仮想マシンが配置される。各電源装置３は、サーバ２に電力を供給する。
【００１１】
制御装置４は、サーバ２に対する仮想マシンの配置を制御する。制御装置４は、仮想マシンの配置の関数として記述された、サーバ２での消費電力と電源装置３での消費電力との合計消費電力を目的関数とする整数計画問題を解く。制御装置４は、整数計画問題の解に基づいて各サーバ２に仮想マシンを配置する。
【００１２】
実施例１によれば、サーバ２での消費電力と電源装置３での消費電力との合計消費電力を目的関数とする整数計画問題を解くことによって、合計消費電力を最小とし得る仮想マシンの配置を求めることができる。従って、電子計算機システム１の省電力化を図ることができる。
【００１３】
（実施例２）
実施例２では、実施例１にかかる電子計算機システム１の一例について説明する。電子計算機システム１の一例として、例えばデータセンタが挙げられる。データセンタでは、多数のコンピュータやデータ通信などの装置が運用される。
【００１４】
・データセンタの説明
図１に示す電子計算機システム１において、データセンタには、複数のラック５が設置されている。各ラック５には、一台または複数のサーバ２と電源装置３として例えば一台の無停電電源装置とが収容されている。電源装置３は、ラック５ごとに、同じラック５に収容されている複数のサーバ２に電力を供給する。各ラック５と制御装置４とは、例えばＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）ケーブルなどの通信ケーブルや、無線通信などによって、相互に接続されていてもよい。
【００１５】
・制御装置のハードウェア構成
図２は、実施例２にかかる電子計算機システムの制御装置のハードウェア構成を示すブロック図である。図２に示すように、制御装置４は、ＣＰＵ１１、ＲＯＭ１２、ＲＡＭ１３、ハードディスクドライブ（ＨＤＤ）１４、ハードディスク（ＨＤ）２０、フレキシブルディスクドライブ（ＦＤＤ）１５、着脱可能な記録媒体の一例としてのフレキシブルディスク（ＦＤ）２１を備えている。制御装置４は、ディスプレイ１６、キーボード１７、マウス１８及びインターフェース１９を備えている。これらの構成部１１〜１９は、バス２５によってそれぞれ接続されている。
【００１６】
ＣＰＵ１１は、制御装置４の全体の制御を司る。ＣＰＵ１１は、後述する仮想マシン配置方法を実現するプログラムを実行することにより、整数計画問題の求解及び仮想マシンの配置を行う。ＲＯＭ１２は、ブートプログラムや仮想マシン配置方法を実現するプログラムなどのプログラムを記憶している。ＲＡＭ１３は、ＣＰＵ１１のワークエリアとして使用される。
【００１７】
ハードディスクドライブ１４は、ハードディスク２０に対するデータのリード／ライトを制御する。ハードディスク２０は、ハードディスクドライブ１４の制御で書き込まれたデータを記憶する。フレキシブルディスクドライブ１５は、フレキシブルディスク２１に対するデータのリード／ライトを制御する。フレキシブルディスク２１は、フレキシブルディスクドライブ１５の制御で書き込まれたデータを記憶する。
【００１８】
着脱可能な記録媒体として、フレキシブルディスク２１のほか、ＣＤ−ＲＯＭ（ＣＤ−Ｒ、ＣＤ−ＲＷ）、ＭＯ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）またはメモリーカードなどであってもよい。ディスプレイ１６は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ１６には、例えば、ＣＲＴ、ＴＦＴ液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
【００１９】
インターフェース１９は、図示しないネットワークを介してデータセンタの各ラック５に接続される。インターフェース１９は、各ラック５に対するデータの入出力を制御する。インターフェース１９には、例えばＬＡＮアダプタなどを採用することができる。
【００２０】
キーボード１７は、文字、数字または各種指示などの入力のためのキーを備え、データの入力を行う。キーボード１７は、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス１８は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などを行う。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
【００２１】
また、制御装置４に、画像を取り込むスキャナが接続されていてもよい。制御装置４に、出力装置の一例としてプリンタが接続されていてもよい。制御装置４は、パーソナルコンピュータやワークステーションのような電子計算機であってもよいし、携帯電話機や携帯型の情報処理装置などであってもよい。
【００２２】
・制御装置の機能的構成
図３は、実施例２にかかる電子計算機システムの制御装置の機能的構成を示すブロック図である。図３に示すように、制御装置４は、判定部３１、記憶部３２、管理部３３、求解部３４及び配置部３５を備えている。これらの構成部３１〜３５は、ＣＰＵ１１が、仮想マシン配置方法を実現するプログラムを実行することによって、実現されてもよい。
【００２３】
管理部３３は、サーバ２に配置されている仮想マシンの情報に基づいて、仮想マシンの初期配置データを書き換える。初期配置データには、サーバ２ごとに、配置されている仮想マシンの数が格納されている。初期配置データは、例えば記憶部３２に記憶されていてもよい。
【００２４】
記憶部３２は、データ（定数）、変数、目的関数及び制約条件を記憶している。記憶部３２は、求解部３４にデータ（定数）、変数、目的関数及び制約条件を入力する。記憶部３２は、記憶媒体として例えばＲＯＭ１２やＲＡＭ１３などのメモリを用いてもよい。なお、動的に変化しないデータ（定数）、変数、目的関数及び制約条件については、仮想マシン配置方法を実現するプログラムに記述されていてもよい。
【００２５】
判定部３１は、仮想マシンの初期配置、仮想マシンの追加配置及び仮想マシンの再配置のいずれに対応した整数計画問題を解くべきかを判定する。判定部３１は、判定結果に基づいて、求解部３４に指示を出す。
【００２６】
仮想マシンの初期配置に対応した整数計画問題を解くことによって、全てのサーバ２が停止している状態で、１個以上のサーバ２に１個以上の仮想マシンを配置することができる。このときの仮想マシンの初期配置状態は、いずれのサーバ２にも１個も仮想マシンが配置されていない状態である。
【００２７】
仮想マシンの追加配置に対応した整数計画問題を解くことによって、１個以上のサーバ２に１個以上の仮想マシンが既に配置されている初期配置状態に、１個以上のサーバ２にさらに１個以上の仮想マシンを追加で配置することができる。ただし、初期配置状態で配置されている仮想マシンは、他のサーバ２へ移動することはない。
【００２８】
仮想マシンの再配置に対応した整数計画問題を解くことによって、１個以上のサーバ２に１個以上の仮想マシンが既に配置されている初期配置状態に対して、ライブマイグレーションを利用して仮想マシンの配置をし直すことができる。ライブマイグレーションを利用することによって、あるサーバ２に配置された仮想マシンの動作を止めることなく、別のサーバ２にこの仮想マシンを配置させることができる。制御装置４は、内蔵するタイマなどによってデータセンタの稼働時間を監視し、一定時間ごとに仮想マシンの再配置を行うようにしてもよい。
【００２９】
求解部３４は、記憶部３２から渡されるデータ（定数）、変数、目的関数及び制約条件と、判定部３１からの指示とに基づいて、整数計画問題を解く。求解部３４は、仮想マシンの初期配置を行う際には、例えば後述する（８）式〜（１２）式で定式化された整数計画問題を解いてもよい。求解部３４は、仮想マシンの追加配置を行う際には、例えば後述する（１４）式〜（１８）式で定式化された整数計画問題を解いてもよい。求解部３４は、仮想マシンの再配置を行う際には、例えば後述する（３６）式〜（５０）式で定式化された整数計画問題を解いてもよい。
【００３０】
求解部３４の一例として、例えば整数計画問題を解くためのソフトウェア（ソルバー）が挙げられる。ソルバーの一例として、例えばＧＬＰＫやＳＹＭＰＨＯＮＹやＧｕｒｏｂｉ  Ｏｐｔｉｍｉｚｅｒが挙げられる。配置部３５は、求解部３４が導出する整数計画問題の解に基づいて、サーバ２に仮想マシンを配置する。
【００３１】
・データ構造の説明
図４は、実施例２にかかる電子計算機システムにおけるデータセンタの構成を規定するデータを示す図である。図４に示すように、データセンタに設定されているラックの数はＮ個であり、一ラックあたりのサーバの数はＳ個である。Ｎ及びＳは正の整数である。
【００３２】
図５は、実施例２にかかる電子計算機システムにおける仮想マシンの数を規定するデータを示す図である。図５に示すように、配置すべき仮想マシンの数はＭ個である。Ｍは正の整数である。
【００３３】
図６は、実施例２にかかる電子計算機システムにおけるスケーリングファクターを規定するデータを示す図である。スケーリングファクターは、仮想マシンの再配置を行う際に、再配置後の消費電力とライブマイグレーションによる消費電力とのいずれの削減を重視するかを規定する定数である。図６に示すように、スケーリングファクターはｃである。ｃは正の実数である。
【００３４】
例えば、ｃは、ライブマイグレーションの平均動作時間を再配置後の仮想マシンの平均動作時間で除した値であってもよい。このときのｃは１未満の値となる。このようにｃを選択することによって、サーバ２での消費電力と電源装置３での消費電力との合計消費電力を最小にすることができる。
【００３５】
図７は、実施例２にかかる電子計算機システムにおける実行可能な最大仮想マシン数を規定するデータを示す図である。図７に示すように、ｉ番目のラックのｊ番目のサーバで実行できる最大仮想マシン数はＬij個である。Ｌijは正の整数である。ｉは１〜Ｎの整数であり、ｊは１〜Ｓの整数である。
【００３６】
図８は、実施例２にかかる電子計算機システムにおける仮想マシンの消費電力を規定するデータを示す図である。図８に示すように、ｉ番目のラックのｊ番目のサーバで動作する仮想マシン１個あたりで消費される電力はαijワットである。αijは正の実数である。
【００３７】
図９は、実施例２にかかる電子計算機システムにおけるベース消費電力を規定するデータを示す図である。図９に示すように、ｉ番目のラックのｊ番目のサーバの電源がオンになることで消費される電力はβijワットである。βijは正の実数である。
【００３８】
図１０は、実施例２にかかる電子計算機システムにおける仮想マシンの移動元の消費電力を規定するデータを示す図である。ライブマイグレーションによって仮想マシンを移動させると、移動元のサーバで電力が消費される。図１０に示すように、ｉ番目のラックのｊ番目のサーバから１個の仮想マシンが別のサーバへ移動していくときに消費される電力はγ-ijワットである。γ-ijは正の実数である。
【００３９】
図１１は、実施例２にかかる電子計算機システムにおける仮想マシンの移動先の消費電力を規定するデータを示す図である。ライブマイグレーションによって仮想マシンを移動させると、移動先のサーバで電力が消費される。図１１に示すように、ｉ番目のラックのｊ番目のサーバに別のサーバから１個の仮想マシンが移動してくるときに消費される電力はγ+ijワットである。γ+ijは正の実数である。
【００４０】
図１２は、実施例２にかかる電子計算機システムにおける仮想マシンの初期配置データを示す図である。図１２に示すように、ｉ番目のラックのｊ番目のサーバに配置済みの仮想マシンの数はｗij［０］個である。ｗij［０］は０以上Ｌij以下の整数である。
【００４１】
図１３は、実施例２にかかる電子計算機システムにおける電源装置のベース消費電力及び比例係数を規定するデータを示す図である。図１３に示すように、ｉ番目のラックの電源装置で常に消費されるベース消費電力はηiワットである。ηiは正の実数である。また、ｉ番目のラック内のサーバの合計消費電力に対して、その何倍の電力が電源装置３で消費されるかということを表す比例係数はεiである。εiは正の実数である。一例として、一般的な電源装置のカタログによると、εiは０．０１〜０．０４程度である。
【００４２】
上述したＮ及びＳの各値は、データセンタの構成によって予め決まる。ｃ、Ｌij、αij、βij、γ-ij及びγ+ijの各値は、サーバによって予め決まる。ηi及びεiの各値は、電源装置によって予め決まる。ｗij［０］は、データセンタの運用中に管理部３３によって動的に書き換えられる。Ｍは、起動されるアプリケーションの数などによって決まる。
【００４３】
・仮想マシン配置方法の説明
図１４は、実施例２にかかる仮想マシン配置方法を示すフローチャートである。図１４に示すように、仮想マシンの配置が開始されると、まず、制御装置４の判定部３１は、仮想マシンの配置の種類が、初期配置、追加配置及び再配置のいずれであるかを判定する（ステップＳ１）。そして、判定部３１は、判定結果に基づいて、求解部３４に配置の種類を指示する。
【００４４】
次いで、記憶部３２は、求解部３４にデータ（定数）、変数、目的関数及び制約条件を入力する（ステップＳ２）。求解部３４は、入力されたデータ（定数）、変数、目的関数及び制約条件と、判定部３１からの指示とに基づいて、例えばソルバーによって整数計画問題を解き、解を求める（ステップＳ３）。整数計画問題としての定式化については、配置の種類ごとに後述する。配置部３５は、求解部３４が求めた解に基づいて、仮想マシンを配置する（ステップＳ４）。このようにして、一連の仮想マシン配置処理が終了する。
【００４５】
・整数計画問題としての定式化について
・消費電力のモデリング
まず、サーバの消費電力、電源装置の消費電力、ラック内のサーバ及び電源装置の合計消費電力、並びにデータセンタ内のサーバ及び電源装置の合計消費電力のそれぞれのモデリングについて説明する。
【００４６】
・サーバの消費電力のモデリング
サーバは、消費電力に関して次の（Ｓ−１）〜（Ｓ−３）の性質を有する。
（Ｓ−１）仮想マシンが１個でも実行されると、サーバの電源がオンになる。仮想マシンの実行数が０であるときには、サーバの電源はオフとなる。
（Ｓ−２）電源がオンになると一定の電力が消費される。
（Ｓ−３）実行される仮想マシンの数が増えると、それに応じて消費電力が増える。
【００４７】
ここで、ｉ番目のラックのｊ番目のサーバで実行される仮想マシンの数を表す変数をｗijとする。ｗijは、０以上Ｌij以下の整数変数である。また、ｉ番目のラックのｊ番目のサーバについて、ｖijを０または１のいずれかの値をとる変数とする。このｖijに対して次の制約条件を課す。
【００４８】
【数１】
2013042615.tif 000147
【００４９】
上記（１）式において、ｗijが１以上であるとき、ｖijが０であると、（１）式の右側の不等式が成立しないので、ｖijは１である。一方、ｗijが０であるとき、ｖijが１であると、（１）式の左側の不等式が成立しないので、ｖijは０である。
【００５０】
従って、ｖijの値は、サーバの電源のオン／オフを表していることになる。ｖijの値が０であればサーバの電源がオフであり、１であればサーバの電源がオンであることを表す。これを表したものが、次の（２）式及び（３）式である。
【００５１】
【数２】
2013042615.tif 000148
【００５２】
【数３】
2013042615.tif 000149
【００５３】
以上の定数及び変数を用いて、ｉ番目のラックのｊ番目のサーバの消費電力は、次の（４）式で表される。この（４）式は、上述した（Ｓ−１）〜（Ｓ−３）の性質を変数ｗij及びｖijの１次式で表したものである。
【００５４】
【数４】
2013042615.tif 000150
【００５５】
上記（４）式において、αijｗijは、［仮想マシン一つあたり消費される電力×仮想マシン数］であるので、仮想マシン数に応じて消費される電力を表している。また、βijｖijは、サーバの電源がオンのときにβijとなり、サーバの電源がオフのときに０となるので、サーバの電源がオンになることによって消費される電力を表している。
【００５６】
・電源装置の消費電力のモデリング
電源装置は、消費電力に関して次の（Ｕ−１）及び（Ｕ−２）の性質を有する。
（Ｕ−１）ラック内のサーバの動作状態にかかわらず、常に一定の電力が消費される。
（Ｕ−２）ラック内のサーバの合計消費電力が増えると、それに応じて消費電力が増える。
【００５７】
（Ｕ−１）及び（Ｕ−２）の性質に基づいて、ｉ番目のラックに備え付けられた電源装置の消費電力は、次の（５）式で表される。この（５）式は、（Ｕ−１）及び（Ｕ−２）の性質を変数ｗij及びｖijの１次式で表したものである。
【００５８】
【数５】
2013042615.tif 000151
【００５９】
上記（５）式において、［Σ（βijｖij＋αijｗij）］（ただし、Σのインデックスｊは省略）は、ｉ番目のラック内のサーバの合計消費電力を表している。このｉ番目のラック内のサーバの合計消費電力にεiをかけた（５）式の第２項は、ｉ番目のラック内のサーバの合計消費電力に応じて電源装置で消費される電力を表している。ηiは、ｉ番目のラックの電源装置で常に消費される電力である。
【００６０】
・ラック内のサーバ及び電源装置の合計消費電力のモデリング
電源装置の消費電力のモデリングの項で述べたように、ｉ番目のラック内のサーバの合計消費電力は、［Σ（βijｖij＋αijｗij）］（ただし、Σのインデックスｊは省略）である。また、ｉ番目のラックに備え付けられた電源装置の消費電力は、上記（５）式で表される。これらを足したものが、ｉ番目のラックの合計消費電力となる。従って、ｉ番目のラックの合計消費電力は、次の（６）式で表される。
【００６１】
【数６】
2013042615.tif 000152
【００６２】
ここで、ラック内のサーバの台数は可変であってもよい。ラック内のサーバの台数が可変であることは、ｉ番目のラック内のサーバの台数を、Ｓより小さい整数ｓを用いてｓ個とすると、整数計画問題を解くにあたって、［ｗij＝０，ｊ≧ｓ］という制約条件で表現することができる。
【００６３】
・データセンタ内のサーバ及び電源装置の合計消費電力のモデリング
上記（６）式を１番目〜Ｎ番目の全てのラック分、足したものが、データセンタ内の合計消費電力となる。従って、データセンタ内の合計消費電力は、次の（７）式で表される。
【００６４】
【数７】
2013042615.tif 000153
【００６５】
次に、仮想マシンの初期配置、追加配置及び再配置のそれぞれについて、整数計画問題としての定式化について説明する。
【００６６】
・仮想マシンの初期配置
仮想マシンの初期配置を行う際には、いずれのサーバにも仮想マシンは配置されていない。従って、全てのサーバの電源はオフとなっている。
【００６７】
仮想マシンの初期配置を行うときのサーバ及び電源装置の省電力化問題は、以下の（８）式〜（１２）式で表される整数計画問題として定式化することができる。（８）式は目的関数を表し、（９）式〜（１２）式は制約条件を表す。（１１）式は、配置される仮想マシン数の合計が、配置すべき仮想マシン数に一致するための制約条件である。決定変数は、ｗij，ｖij，ｉ＝１，・・・，Ｎ，ｊ＝１，・・・，Ｓである。
【００６８】
【数８】
2013042615.tif 000154
【００６９】
【数９】
2013042615.tif 000155
【００７０】
【数１０】
2013042615.tif 000156
【００７１】
【数１１】
2013042615.tif 000157
【００７２】
【数１２】
2013042615.tif 000158
【００７３】
・仮想マシンの追加配置
仮想マシンの追加配置を行う際の前提として、ｉ番目のラックのｊ番目のサーバにｗij［０］個の仮想マシンが既に配置されているとする。また、現在、配置されている仮想マシンは移動しないとする。従って、初期配置状態として既にｗij［０］個の仮想マシンが配置されているサーバに、さらに仮想マシンが追加で配置されることになるので、ｗijはｗij［０］以上の値になる。これを制約条件として表すと、次の（１３）式となる。
【００７４】
【数１３】
2013042615.tif 000159
【００７５】
また、追加で配置される仮想マシン数をΔＭとする。初期配置状態で配置されている仮想マシン数が［ΣΣｗij［０］］（ただし、前のΣのインデックスｉ及び後のΣのインデックスｊは省略）であるので、追加配置後の仮想マシン数は［ΣΣｗij［０］＋ΔＭ］（ただし、前のΣのインデックスｉ及び後のΣのインデックスｊは省略）となる。
【００７６】
従って、仮想マシンの追加配置を行うときのサーバ及び電源装置の省電力化問題は、以下の（１４）式〜（１８）式で表される整数計画問題として定式化することができる。（１４）式は目的関数を表し、（１５）式〜（１８）式は制約条件を表す。（１７）式は、追加配置後の仮想マシン数の合計が、初期配置状態での仮想マシン数と追加配置される仮想マシン数とを足した値に一致するための制約条件である。決定変数は、ｗij，ｖij，ｉ＝１，・・・，Ｎ，ｊ＝１，・・・，Ｓである。
【００７７】
【数１４】
2013042615.tif 000160
【００７８】
【数１５】
2013042615.tif 000161
【００７９】
【数１６】
2013042615.tif 000162
【００８０】
【数１７】
2013042615.tif 000163
【００８１】
【数１８】
2013042615.tif 000164
【００８２】
・仮想マシンの再配置
仮想マシンの再配置を行う際の前提として、ｉ番目のラックのｊ番目のサーバにｗij［０］個の仮想マシンが既に配置されているとする。仮想マシンの再配置では、仮想マシンは、ライブマイグレーションを使って移動させられる。ライブマイグレーションを使って仮想マシンを移動させると、移動元のサーバ及び移動先のサーバの両方で電力が消費される。
【００８３】
ｉ番目のラックのｊ番目のサーバについて、δ-ijを０または１のいずれかの値をとる変数とする。このδ-ijに対して次の制約条件を課す。ただし、ｄは１未満の正の実数である。
【００８４】
【数１９】
2013042615.tif 000165
【００８５】
上記（１９）式において、［ｗij−ｗij［０］］が０以下であるとき、δ-ijが０であると、（１９）式の左側の不等式が成立しないので、δ-ijは１である。一方、［ｗij−ｗij［０］］が１以上であるとき、δ-ijが１であると、（１９）式の右側の不等式が成立しないので、δ-ijは０である。これを表したものが、次の（２０）式及び（２１）式である。
【００８６】
【数２０】
2013042615.tif 000166
【００８７】
【数２１】
2013042615.tif 000167
【００８８】
また、ｉ番目のラックのｊ番目のサーバについて、ｚ-ijを０〜Ｌijのいずれかの値をとる整数変数とする。このｚ-ijに対して次の制約条件を課す。
【００８９】
【数２２】
2013042615.tif 000168
【００９０】
【数２３】
2013042615.tif 000169
【００９１】
［ｗij−ｗij［０］］が１以上であるとき、上記（２１）式より、δ-ijは０である。従って、上記（２２）式は、［０≦ｚ-ij≦０］となるので、ｚ-ijは０である。［ｗij−ｗij［０］≧１，δ-ij＝０，ｚ-ij＝０］であるとき、上記（２３）式において、［−（ｗij−ｗij［０］）＋Ｌij≧０≧−（ｗij−ｗij［０］）−Ｌij］である。従って、上記（２３）式は成立する。これを表したものが、次の（２４）式である。
【００９２】
【数２４】
2013042615.tif 000170
【００９３】
一方、［ｗij−ｗij［０］］が０以下であるとき、上記（２０）式より、δ-ijは１である。従って、上記（２３）式は、［−（ｗij−ｗij［０］）≦ｚ-ij≦−（ｗij−ｗij［０］）］となるので、ｚ-ijは、［−（ｗij−ｗij［０］）］に等しくなる。
【００９４】
［ｗij−ｗij［０］≦０，δ-ij＝１，ｚ-ij＝−（ｗij−ｗij［０］）］であるとき、上記（２２）式において、［−Ｌij≦−（ｗij−ｗij［０］）≦Ｌij］である。従って、上記（２２）式は成立する。これを表したものが、次の（２５）式である。
【００９５】
【数２５】
2013042615.tif 000171
【００９６】
［ｗij−ｗij［０］］が０以下であるということは、ｉ番目のラックのｊ番目のサーバから仮想マシンが別のサーバへ移動していくということである。また、［ｗij−ｗij［０］］が１以上であるということは、ｉ番目のラックのｊ番目のサーバに別のサーバから仮想マシンが移動してくるということである。つまり、ｚ-ijは、ｉ番目のラックのｊ番目のサーバから別のサーバへ移動していく仮想マシンの数を表している。
【００９７】
従って、ｉ番目のラックのｊ番目のサーバから別のサーバへｚ-ij個の仮想マシンが移動していく場合の消費電力は、次の（２６）式で表される。
【００９８】
【数２６】
2013042615.tif 000172
【００９９】
また、ｉ番目のラックのｊ番目のサーバについて、δ+ijを０または１のいずれかの値をとる変数とする。このδ+ijに対して以下の制約条件を課す。
【０１００】
【数２７】
2013042615.tif 000173
【０１０１】
上記（２７）式の制約条件、上記（２０）式及び（２１）式より、次の（２８）式及び（２９）式が得られる。
【０１０２】
【数２８】
2013042615.tif 000174
【０１０３】
【数２９】
2013042615.tif 000175
【０１０４】
また、ｉ番目のラックのｊ番目のサーバについて、ｚ+ijを０〜Ｌijのいずれかの値をとる整数変数とする。このｚ+ijに対して次の制約条件を課す。
【０１０５】
【数３０】
2013042615.tif 000176
【０１０６】
【数３１】
2013042615.tif 000177
【０１０７】
［ｗij−ｗij［０］］が１以上であるとき、上記（２９）式より、δ+ijは１である。従って、上記（３１）式は、［ｗij−ｗij［０］≦ｚ+ij≦ｗij−ｗij［０］］となるので、ｚ+ijは、［ｗij−ｗij［０］］に等しくなる。
【０１０８】
［ｗij−ｗij［０］≧１，δ+ij＝１，ｚ+ij＝ｗij−ｗij［０］］であるとき、上記（３０）式において、［−Ｌij≦ｗij−ｗij［０］≦Ｌij］である。従って、上記（３０）式は成立する。これを表したものが、次の（３２）式である。
【０１０９】
【数３２】
2013042615.tif 000178
【０１１０】
一方、［ｗij−ｗij［０］］が０以下であるとき、上記（２８）式より、δ+ijは０である。従って、上記（３０）式は、［０≦ｚ+ij≦０］となるので、ｚ+ijは０である。［ｗij−ｗij［０］≦０，δ+ij＝０，ｚ+ij＝０］であるとき、上記（３１）式において、［（ｗij−ｗij［０］）−Ｌij≦０≦（ｗij−ｗij［０］）＋Ｌij］である。従って、上記（３１）式は成立する。これを表したものが、次の（３３）式である。
【０１１１】
【数３３】
2013042615.tif 000179
【０１１２】
ｚ+ijは、ｉ番目のラックのｊ番目のサーバに別のサーバから移動してくる仮想マシンの数を表している。従って、ｉ番目のラックのｊ番目のサーバに別のサーバからｚ+ij個の仮想マシンが移動してくる場合の消費電力は、次の（３４）式で表される。
【０１１３】
【数３４】
2013042615.tif 000180
【０１１４】
ライブマイグレーションによって消費される電力は、ｉ番目のラックのｊ番目のサーバについて、別のサーバへｚ-ij個の仮想マシンが移動していく場合の消費電力と、別のサーバからｚ+ij個の仮想マシンが移動してくる場合の消費電力との合計を、全サーバ分、足したものとなる。従って、ライブマイグレーションによって消費される電力は、次の（３５）式で表される。
【０１１５】
【数３５】
2013042615.tif 000181
【０１１６】
従って、仮想マシンの再配置を行うときのサーバ及び電源装置の省電力化問題は、以下の（３６）式〜（５０）式で表される整数計画問題として定式化することができる。（３６）式は目的関数を表し、（３７）式〜（５０）式は制約条件を表す。決定変数は、ｗij，ｖij，δ-ij，δ+ij，ｚ-ij，ｚ+ij，ｉ＝１，・・・，Ｎ，ｊ＝１，・・・，Ｓである。
【０１１７】
【数３６】
2013042615.tif 000182
【０１１８】
【数３７】
2013042615.tif 000183
【０１１９】
【数３８】
2013042615.tif 000184
【０１２０】
【数３９】
2013042615.tif 000185
【０１２１】
【数４０】
2013042615.tif 000186
【０１２２】
【数４１】
2013042615.tif 000187
【０１２３】
【数４２】
2013042615.tif 000188
【０１２４】
【数４３】
2013042615.tif 000189
【０１２５】
【数４４】
2013042615.tif 000190
【０１２６】
【数４５】
2013042615.tif 000191
【０１２７】
【数４６】
2013042615.tif 000192
【０１２８】
【数４７】
2013042615.tif 000193
【０１２９】
【数４８】
2013042615.tif 000194
【０１３０】
【数４９】
2013042615.tif 000195
【０１３１】
【数５０】
2013042615.tif 000196
【０１３２】
実施例２によれば、仮想マシンの初期配置、追加配置及び再配置のそれぞれについて、実施例１と同様の効果が得られる。
【０１３３】
（実施例３）
実施例３では、実施例１にかかる電子計算機システム１の一例として、例えば実施例２のデータセンタに空気調和装置が設置されており、この空気調和装置の消費電力を含めて、データセンタ全体の省電力化を図る場合について説明する。また、実施例３では、仮想マシンのサイズが仮想マシンごとに異なっていてもよい。実施例２と同様の構成には同一の符号を付して、重複する説明を省略する。
【０１３４】
・データセンタの説明
図１５は、実施例３にかかる電子計算機システムを示すブロック図である。図１５に示すように、ラック５を収容する空間を含むデータセンタ６には、空調室内機（ＣＲＡＣ  Ｕｎｉｔ：Ｃｏｍｐｕｔｅｒ  Ｒｏｏｍ  Ａｉｒ  Ｃｏｎｄｉｔｉｏｎｉｎｇ  Ｕｎｉｔ、クラック・ユニット）７及び空調室外機（Ｃｈｉｌｌｅｒ  Ｐｌａｎｔ、チラー・プラント）８を含む空気調和装置が設置されている。図１５には現れていないが、ラック５にはサーバ及び電源装置が収容されている。
【０１３５】
図示例では、空調室内機７及び空調室外機８が２台ずつ示されているが、空調室内機７及び空調室外機８の数は１台ずつでもよいし、３台ずつ以上でもよい。また、複数の空調室内機７が１台の空調室外機８に接続されていてもよい。ここでは、空調室内機７と空調室外機８とが１台ずつ対になっているとして説明する。
【０１３６】
・制御装置の機能的構成
図１６は、実施例３にかかる電子計算機システムの制御装置の機能的構成を示すブロック図である。図１６に示すように、実施例３にかかる制御装置４では、仮想マシンの初期配置、追加配置及び再配置のいずれに対応した混合整数計画問題を解くべきかを判定する必要がないので、実施例２における判定部３１が設けられていなくてもよい。
【０１３７】
求解部３４は、記憶部３２から渡されるデータ（定数）、変数、目的関数及び制約条件に基づいて、後述する混合整数計画問題を解く。 求解部３４の一例として、例えば混合整数計画問題を解くためのソフトウェア（ソルバー）が挙げられる。ソルバーの一例として、例えばＧＬＰＫやＳＹＭＰＨＯＮＹやＧｕｒｏｂｉ  Ｏｐｔｉｍｉｚｅｒが挙げられる。なお、実施例２と同様に、仮想マシンの初期配置、追加配置及び再配置のいずれにも対応する場合には、制御装置４は、図３に示すように、判定部３１を有する構成としてもよい。
【０１３８】
・データ構造の説明
電子計算機システム１は、データセンタの構成を規定するデータＮ，Ｓ（図４）、仮想マシンの数を規定するデータＭ（図５）及び最大仮想マシン数を規定するデータＬij（図７）を有していてもよい。また、電子計算機システム１は、仮想マシンの消費電力を規定するデータαij（図８）、ベース消費電力を規定するデータβij（図９）、並びに電源装置のベース消費電力ηi及び比例係数を規定するデータεi（図１３）を有していてもよい。ただし、実施例３では、αijは、ｉ番目のラックのｊ番目のサーバにおいて仮想マシンが動作する際の単位サイズ（例えば、１コアまたは１スレッド）あたり消費される電力である。それ以外に、電子計算機システム１は、以下に挙げるデータを有していてもよい。
【０１３９】
図１７は、実施例３にかかる電子計算機システムにおける仮想マシンのサイズを規定するデータを示す図である。図１７に示すように、配置すべきＭ個の仮想マシンに１〜Ｍの番号を付したときのｎ番目の仮想マシンのサイズは、τnである。ｎは１〜Ｍの整数である。仮想マシンのサイズの一例として、サーバに配置された仮想マシンによって使用されるコア数が挙げられる。あるいは、仮想マシンのサイズの一例として、サーバに配置された仮想マシンによって実行されるスレッドの数が挙げられる。
【０１４０】
図１８は、実施例３にかかる電子計算機システムにおける仮想マシンの初期配置データを示す図である。図１８に示すように、ｉ番目のラックのｊ番目のサーバに初期配置として既に配置されている仮想マシンの合計サイズは、ｗ0ijである。
【０１４１】
図１９は、実施例３にかかる電子計算機システムにおける空気調和装置の数を規定するデータを示す図である。図１９に示すように、空調室内機７と空調室外機８とが１台ずつ対になった空気調和装置の数はＣ台である。Ｃは正の整数である。
【０１４２】
図２０は、実施例３にかかる電子計算機システムにおける空調室内機のベース消費電力及び比例係数を規定するデータを示す図である。図２０に示すように、ｋ番目の空調室内機で常に消費されるベース消費電力はλkワットである。ｋは１〜Ｃの整数である。λkは正の実数である。また、ｋ番目の空調室内機に流入する熱流量に対して、その何倍の電力が空調室内機で消費されるかということを表す比例係数はμkである。μkは正の実数である。実施例３では、熱流量は、例えばその熱流量を消費するのに要する電力に換算されている。
【０１４３】
図２１は、実施例３にかかる電子計算機システムにおける空調室外機の比例係数を規定するデータを示す図である。図２１に示すように、ｋ番目の空調室外機に流入する熱流量に対して、その何倍の電力が空調室外機で消費されるかということを表す比例係数はκkである。κkは正の実数である。なお、空調室外機が常に電力を消費する場合には、空調室内機と同様に、空調室外機に関するデータにも、空調室外機のベース消費電力のデータが含まれる。
【０１４４】
図２２は、実施例３にかかる電子計算機システムにおけるラックと空気調和装置との間の熱流量関係を規定するデータを示す図である。図２２に示すように、ｉ番目のラックから排出された熱流量の何倍がｋ番目の空調室内機に流入するかということを表す比例係数はψkiである。ψkiは、０以上１以下の実数である。
【０１４５】
図２３は、実施例３にかかる電子計算機システムにおけるラックと空気調和装置との供給熱流量を規定するデータを示す図である。図２３に示すように、ｉ番目のラックに対して空調室内機から供給される熱流量はｑsup,iワットである。ｑsup,iは実数である。
【０１４６】
上述したＣ、λk、μk及びκkの各値は、空気調和装置の構成によって予め決まる。ψki及びｑsup,iの各値は、ラックと空気調和装置の構成によって予め決まる。ｗ0ijは、データセンタの運用中に管理部３３によって動的に書き換えられる。
【０１４７】
・仮想マシン配置方法の説明
図２４は、実施例３にかかる仮想マシン配置方法を示すフローチャートである。図２４に示すように、仮想マシンの配置が開始されると、まず、記憶部３２は、求解部３４にデータ（定数）、変数、目的関数及び制約条件を入力する（ステップＳ１１）。求解部３４は、入力されたデータ（定数）、変数、目的関数及び制約条件と、判定部３１からの指示とに基づいて、例えばソルバーによって混合整数計画問題を解き、解を求める（ステップＳ１２）。混合整数計画問題としての定式化については後述する。配置部３５は、求解部３４が求めた解に基づいて、仮想マシンを配置する（ステップＳ１３）。このようにして、一連の仮想マシン配置処理が終了する。
【０１４８】
・混合整数計画問題としての定式化について
・仮想マシン及び仮想マシンの配置のモデリング
図１７に示すように、配置されるｎ番目の仮想マシンのサイズをτnとする。また、ｘn,i,jを０または１のいずれかの値をとる変数とする。ｘn,i,jの値は、ｉ番目のラックのｊ番目のサーバでｎ番目の仮想マシンが実行されるときに１であり、そうでないとき、すなわち仮想マシンが実行されないときに０である。従って、ｘn,i,jによって、仮想マシンの配置を表すことができる。
【０１４９】
・消費電力のモデリング
サーバの消費電力、電源装置の消費電力、空調室内機の消費電力、空調室外機の消費電力及びデータセンタ全体の消費電力のそれぞれのモデリングについて説明する。
【０１５０】
・サーバの消費電力のモデリング
サーバの消費電力については、実施例２と同様にしてモデリングすることができる。実施例３では、サーバは、実施例２において説明した（Ｓ−１）及び（Ｓ−２）の性質と、次の（Ｓ−４）の性質とを有する。
（Ｓ−４）実行される仮想マシンの合計サイズが増えると負荷が高くなり、それに応じて消費電力が増える。
【０１５１】
ｉ番目のラックのｊ番目のサーバにおいて、合計サイズがｗ0ijである仮想マシンが初期配置されており、このサーバにさらにサイズがτnの仮想マシンを配置する場合の消費電力は、次の（５１）式で表される。この（５１）式は、上述した（Ｓ−１）、（Ｓ−２）及び（Ｓ−４）の性質を変数ｘn,i,j及びｖijの１次式で表したものである。ｖijは実施例２において説明した通りである。
【０１５２】
【数５１】
2013042615.tif 000197
【０１５３】
・電源装置の消費電力のモデリング
電源装置の消費電力については、実施例２と同様にしてモデリングすることができる。実施例３では、電源装置は、実施例２において説明した（Ｕ−１）及び（Ｕ−２）の性質を有する。サーバの消費電力が上記（５１）式で表されるので、電源装置の消費電力は、次の（５２）式で表される。この（５２）式は、（Ｕ−１）及び（Ｕ−２）の性質を変数ｘn,i,j及びｖijの１次式で表したものである。
【０１５４】
【数５２】
2013042615.tif 000198
【０１５５】
・空調室内機の消費電力のモデリング
空調室内機は、消費電力に関して次の（Ｃ−１）及び（Ｃ−２）の性質を有する。
（Ｃ−１）常に一定の電力が消費される。
（Ｃ−２）ｋ番目の空調室内機に流入する熱流量が増えると、ｋ番目の空調室内機の消費電力が増える。
【０１５６】
（Ｃ−１）及び（Ｃ−２）の性質に基づいて、ｋ番目の空調室内機の消費電力は、次の（５３）式で表される。（５３）式において、ｑin,CRAC,kは、ｋ番目の空調室内機に流入する熱流量（単位：ワット）である。
【０１５７】
【数５３】
2013042615.tif 000199
【０１５８】
・空調室外機の消費電力のモデリング
空調室外機は、消費電力に関して次の（Ｃ−３）及び（Ｃ−４）の性質を有する。
（Ｃ−３）ｋ番目の空調室外機に流入する熱流量は、ｋ番目の空調室内機から排出される熱流量に等しい。
（Ｃ−４）ｋ番目の空調室外機から排出される熱流量が増えると、ｋ番目の空調室外機の消費電力が増える。
【０１５９】
（Ｃ−３）及び（Ｃ−４）の性質に基づいて、ｋ番目の空調室外機の消費電力は、次の（５４）式で表される。（５４）式において、ｑout,CRAC,kは、ｋ番目の空調室内機から流出する熱流量（単位：ワット）である。なお、空調室外機が常に電力を消費する場合には、空調室内機と同様に、（５４）式に空調室外機のベース消費電力の項が加えられる。
【０１６０】
【数５４】
2013042615.tif 000200
【０１６１】
・データセンタ全体の消費電力のモデリング
上記（５１）式を１番目〜Ｓ番目の全てのサーバ分、足したものに、上記（５２）式を足し合わせたものを１番目〜Ｎ番目の全てのラック分、足したものが、データセンタ内のサーバ及び電源装置の合計消費電力である。このサーバ及び電源装置の合計消費電力に、上記（５３）式を１番目〜Ｃ番目の全ての空調室内機分と、上記（５４）式を１番目〜Ｃ番目の全ての空調室外機分、足したものが、データセンタ全体の消費電力となる。従って、データセンタ全体の消費電力は、次の（５５）式で表される。
【０１６２】
【数５５】
2013042615.tif 000201
【０１６３】
・熱流量のモデリング
次に、熱流量のモデリングについて説明する。熱流量に関して、ラック及び空気調和装置の間に次の（Ｑ−１）〜（Ｑ−３）の関係が成り立つ。
（Ｑ−１）各空調室内機から排出される熱流量は、各空調室内機に流入する熱流量にその空調室内機で発生した熱流量（すなわち、消費電力）を足したものである。
（Ｑ−２）各空調室内機に流入する熱流量は、各ラックから排出される熱流量である。
（Ｑ−３）各ラックから排出される熱流量は、各ラックに流入する熱流量にそのラックで発生した熱流量（すなわち、消費電力）を足したものである。
【０１６４】
（Ｑ−１）の関係に基づいて、ｋ番目の空調室内機から排出される熱流量は、次の（５６）式で表される。
【０１６５】
【数５６】
2013042615.tif 000202
【０１６６】
（Ｑ−２）の関係に基づいて、ｋ番目の空調室内機に流入する熱流量は、次の（５７）式で表される。（５７）式において、ｑout,RACK,iは、ｉ番目のラックから流出する熱流量（単位：ワット）を表す変数である。
【０１６７】
【数５７】
2013042615.tif 000203
【０１６８】
（Ｑ−３）の関係に基づいて、ｉ番目のラックから排出される熱流量は、次の（５８）式で表される。
【０１６９】
【数５８】
2013042615.tif 000204
【０１７０】
（５８）式より、ｉ番目のラックから排出される熱流量ｑout,RACK,iは、変数ｘn,i,j及びｖijの関数である。従って、上記（５７）式より、ｋ番目の空調室内機に流入する熱流量ｑin,CRAC,kも、変数ｘn,i,j及びｖijの関数である。また、上記（５６）式より、ｋ番目の空調室内機から排出される熱流量ｑout,CRAC,kも、変数ｘn,i,j及びｖijの関数である。
【０１７１】
・空気調和装置を考慮した省電力化問題の混合整数計画問題としての定式化
以上より、仮想マシンを配置するときのサーバ、電源装置、空調室内機及び空調室外機の合計消費電力の省電力化問題は、以下の（５９）式〜（６６）式で表される混合整数計画問題として定式化することができる。（５９）式は目的関数を表し、（６０）式〜（６６）式は制約条件を表す。決定変数は、ｘn,i,j，ｖij，ｑin,CRAC,k,ｑout,CRAC,k,ｑout,RACK,i,ｎ＝１，・・・，Ｍ，ｉ＝１，・・・，Ｎ，ｊ＝１，・・・，Ｓ，ｋ＝１，・・・，Ｃである。
【０１７２】
【数５９】
2013042615.tif 000205
【０１７３】
【数６０】
2013042615.tif 000206
【０１７４】
【数６１】
2013042615.tif 000207
【０１７５】
【数６２】
2013042615.tif 000208
【０１７６】
【数６３】
2013042615.tif 000209
【０１７７】
【数６４】
2013042615.tif 000210
【０１７８】
【数６５】
2013042615.tif 000211
【０１７９】
【数６６】
2013042615.tif 000212
【０１８０】
実施例３によれば、サーバ２での消費電力、電源装置３での消費電力、空調室内機７での消費電力及び空調室外機８での消費電力の合計消費電力を目的関数とする混合整数計画問題を解くことによって、合計消費電力を最小とし得る仮想マシンの配置を求めることができる。従って、電子計算機システム１の省電力化を図ることができる。また、仮想マシンのサイズが異なる場合でも、合計消費電力を最小とし得る仮想マシンの配置を求めて、電子計算機システム１の省電力化を図ることができる。
【０１８１】
また、実施例３によれば、空調室内機７の消費電力や空調室外機８の消費電力を１次関数で表して混合整数計画問題を解くので、空気調和装置の消費電力を熱流体シミュレーションや熱交換シミュレーションによって求める場合よりも高速に解を求めることができる。従って、データセンタ６を円滑に運用することができる。
【０１８２】
また、実施例３によれば、サーバ２の数に合わせて仮想的に空気調和設備を分解してデータセンタ６の消費電力を最小化し得る解を求める場合に比べて、より一層、データセンタ６の運用の実態に即した解を求めることができる。
【０１８３】
なお、配置すべき全ての仮想マシンについてサイズτnを同じ値にしてもよい。そうすれば、実施例２と同様に、配置すべき全ての仮想マシンのサイズが同じになるので、実施例３によれば、配置すべき全ての仮想マシンのサイズが同じ場合でも省電力化の効果を得ることができる。
【０１８４】
また、全てのサーバ２について初期配置されている仮想マシンの合計サイズｗ0ijを０にしてもよい。そうすれば、実施例２の「仮想マシンの初期配置」と同様に、いずれのサーバ２にも仮想マシンが配置されていない状況で各サーバ２に仮想マシンを初期配置することになるので、実施例３によれば、仮想マシンを初期配置する場合でも省電力化の効果を得ることができる。
【０１８５】
さらに、上記（５９）式の目的関数及び上記（６４）式〜（６６）式の制約条件において、空気調和装置の熱流量に関する項や式を除いて整数計画問題を解いてもよい。そうすれば、空気調和装置の消費電力を考慮しないで、サイズが異なる仮想マシンを配置する場合の省電力化を図ることができる。
【０１８６】
（実施例４）
実施例４では、実施例３にかかる電子計算機システム１において、配置すべきＭ個の仮想マシンをできるだけ同一のラック５に配置するようにする場合の例である。同一のラック５に配置することによって、例えばＭ個の仮想マシンが１つのサービスに含まれる場合、そのサービスが例えば通信を行う際に通信速度が上がることがある。実施例３と同様の構成には同一の符号を付して、重複する説明を省略する。
【０１８７】
・データ構造の説明
図２５は、実施例４にかかる電子計算機システムにおけるペナルティを規定するデータを示す図である。図２５に示すように、同一のラック５に配置されるのが好ましい仮想マシンが複数のラック５に分散されて配置される場合のラック一つあたりのペナルティはａワットである。ａの値が大きくなるほど、同一のラック５に配置されるのが好ましい仮想マシンが同一のラック５に配置されやすくなり、ａの値が小さくなるほど、省電力化の効果が大きくなる。その他のデータ構造については、実施例３と同様である。
【０１８８】
・補助変数の導入
実施例４では、（６７）式で表されるように、ｉ番目のラックについて、σiを０または１のいずれかの値をとる補助変数とする。
【０１８９】
【数６７】
2013042615.tif 000213
【０１９０】
このσiに対して（６８）式で表される制約条件を課す。
【０１９１】
【数６８】
2013042615.tif 000214
【０１９２】
上記（６８）式において、Σｘn,i,j（ただし、Σのインデックスｎ，ｊは省略）が１以上であるとき、σiが０であると、（６８）式の右側の不等式が成立しないので、σiは１である。一方、Σｘn,i,j（ただし、Σのインデックスｎ，ｊは省略）が０であるとき、σiが１であると、（６８）式の左側の不等式が成立しないので、σiは０である。
【０１９３】
従って、σiの値は、ｉ番目のラックで仮想マシンが実行されるか否かを表していることになる。つまり、σiの値は、ｉ番目のラックで仮想マシンが実行されたら１であり、そうでないとき、すなわち仮想マシンが実行されなければ０である。これを表したものが、次の（６９）式及び（７０）式である。σiを１番目〜Ｎ番目の全てのラック分、足したものが、新たに配置された仮想マシンが実行されるラックの数となる。
【０１９４】
【数６９】
2013042615.tif 000215
【０１９５】
【数７０】
2013042615.tif 000216
【０１９６】
・同一ラックへの優先配置を考慮した省電力化問題の混合整数計画問題としての定式化
以上より、同一ラックに仮想マシンを優先配置する場合の省電力化問題は、以下の（７１）式〜（８０）式で表される混合整数計画問題として定式化することができる。（７１）式は目的関数を表し、（７２）式〜（８０）式は制約条件を表す。決定変数は、ｘn,i,j，ｖij，σi,ｑin,CRAC,k,ｑout,CRAC,k,ｑout,RACK,i,ｎ＝１，・・・，Ｍ，ｉ＝１，・・・，Ｎ，ｊ＝１，・・・，Ｓ，ｋ＝１，・・・，Ｃである。
【０１９７】
【数７１】
2013042615.tif 000217
【０１９８】
【数７２】
2013042615.tif 000218
【０１９９】
【数７３】
2013042615.tif 000219
【０２００】
【数７４】
2013042615.tif 000220
【０２０１】
【数７５】
2013042615.tif 000221
【０２０２】
【数７６】
2013042615.tif 000222
【０２０３】
【数７７】
2013042615.tif 000223
【０２０４】
【数７８】
2013042615.tif 000224
【０２０５】
【数７９】
2013042615.tif 000225
【０２０６】
【数８０】
2013042615.tif 000226
【０２０７】
実施例４によれば、実施例３と同様の効果が得られるとともに、複数の仮想マシンを同一のラックに配置することで通信速度の向上と省電力化を期待できるようになる。
【０２０８】
（実施例５）
実施例５は、仮想マシンのサイズが異なる場合に仮想マシンを再配置する例である。具体的には、実施例５は、サーバと無停電電源装置および空調機により消費される電力を、サイズの異なる仮想マシンの配置の関数としてモデリングした例である。そして、実施例５にかかる電子計算機システムは、仮想マシンマイグレーションを使った仮想マシン再配置による省電力化問題を混合整数計画問題として定式化、求解することにより、省電力化を達成する仮想マシン配置を算出する。
【０２０９】
これにより、仮想マシンのサイズが異なる場合でも、省電力化に最適な仮想マシンの再配置をおこなうことができる。なお、実施例５では、実施例１にかかる電子計算機システム１の一例として、図１５に示した電子計算機システムおよび図１６に示した電子計算機システムの制御装置での省電力化について説明する。実施例１〜４と同様の構成には同一の符号を付して、重複する説明を省略する。
【０２１０】
・データ構造の説明
実施例５では、電子計算機システム１は、データセンタの構成を規定するデータＮ，Ｓ（図４）、仮想マシンの数を規定するデータＭ（図５）及び最大仮想マシン数を規定するデータＬij（図７）を有していてもよい。ただし、実施例５では、仮想マシンの数を規定するデータＭは、１サービスに含まれる仮想マシンの最大個数を示す。また、電子計算機システム１は、仮想マシンの消費電力を規定するデータαij（図８）、ベース消費電力を規定するデータβij（図９）、並びに電源装置のベース消費電力ηi及び比例係数を規定するデータεi（図１３）を有していてもよい。ただし、実施例５では、αijは、ｉ番目のラックのｊ番目のサーバにおいて仮想マシンが動作する際の単位サイズ（例えば、１コアまたは１スレッド）あたり消費される電力である。
【０２１１】
また、実施例５では、電子計算機システム１は、空気調和装置の数を規定するデータ（図１９）、空調室内機のベース消費電力及び比例係数を規定するデータ（図２０）を有していてもよい。また、実施例５では、電子計算機システム１は、空調室外機の比例係数を規定するデータ（図２１）、ラックと空気調和装置との間の熱流量関係を規定するデータ（図２２）、及びラックと空気調和装置との供給熱流量を規定するデータ（図２３）を有していてもよい。それ以外に、電子計算機システム１は、以下に挙げるデータを有する。
【０２１２】
図２６は、実施例５にかかる電子計算機システムにおけるサービス個数を規定するデータを示す図である。サービス個数Ｖとは、電子計算機システムで提供されるサービスの数である。サービスは、１以上の仮想マシンにより実行される。Ｖは、１以上の整数である。
【０２１３】
図２７は、実施例５にかかる電子計算機システムにおけるサービスごとの仮想マシンの個数を規定するデータを示す図である。図２７において、番号とは、サービスを一意に特定する識別情報であり、個数とは、サービスごとの仮想マシンの個数である。たとえば、サービス番号「１」のサービスに用いられる仮想マシンの個数は「Ｍ1」であり、サービス番号「Ｖ」のサービスに用いられる仮想マシンの個数は「ＭV」である。
【０２１４】
図２８は、実施例５にかかる電子計算機システムにおける仮想マシンのサイズを規定するデータを示す図である。図２８は、提供すべきサービスに１〜Ｖの番号を付し、各サービスにおいて配置すべき仮想マシンに１〜Ｍの番号を付したときの仮想マシンのサイズを示す。例えば、サービス番号「Ｖ」において起動される「Ｍ」番目の仮想マシンのサイズは、「τVM」である。仮想マシンのサイズの一例として、サーバに配置された仮想マシンによって使用されるコア数が挙げられる。あるいは、仮想マシンのサイズの一例として、サーバに配置された仮想マシンによって実行されるスレッドの数が挙げられる。
【０２１５】
・仮想マシン配置方法の説明
図２９は、実施例５にかかる仮想マシン配置方法を示すフローチャートである。図２９に示すように、仮想マシンの配置が開始されると、まず、記憶部３２は、求解部３４にデータ（定数）、変数、目的関数及び制約条件を入力する（ステップＳ５１）。求解部３４は、入力されたデータ（定数）、変数、目的関数及び制約条件と、判定部３１からの指示とに基づいて、例えばソルバーによって混合整数計画問題を解き、解を求める（ステップＳ５２）。混合整数計画問題としての定式化については後述する。配置部３５は、求解部３４が求めた解に基づいて、仮想マシンを配置する（ステップＳ５３）。このようにして、一連の仮想マシン配置処理が終了する。
【０２１６】
・混合整数計画問題としての定式化について
つぎに、実施例５にかかる混合整数計画問題の定式化について説明する。実施例５では、実施例３と同様、空調室内機の消費電力および空調室外機の消費電力もモデリングされるが、空調室内機の消費電力のモデリング及び空調室外機の消費電力のモデリングについては、実施例３と同一内容であるため、説明を省略する。
【０２１７】
・仮想マシン及び仮想マシン配置のモデリング
図２６に示したように、サービス個数は「Ｖ」であり、図２７に示したように、１つのサービスに含まれる仮想マシンの最大個数は「Ｍ」である。したがって、ｍ番目のサービスのｎ番目の仮想マシンのサイズを「τmn」とする。ただし、ｍ番目のサービスに含まれる仮想マシンの個数Ｍmが、Ｍm＜Ｍのときは、τmn＝０、ｎ＝Ｍm＋１，…，Ｍとして表現される。
【０２１８】
また、ｘm,n,i,jを、i番目のラックのj番目のサーバで、ｍ番目のサービスのｎ番目の仮想マシンが実行されるときは「１」、そうでないときは「０」をとる変数とする。また、ｗijを、ｉ番目のラックのｊ番目のサーバで実行される仮想マシンの合計サイズを表す変数とする。この場合、ｘm,n,i,jとｗijとは、下記（８１）式に示す関係にある。
【０２１９】
【数８１】
2013042615.tif 000227
【０２２０】
・サーバの消費電力のモデリング
ｉ番目のラックのｊ番目のサーバで1つでも仮想マシンが実行されるということは、サーバの電源がすでにＯＮになっているということなので、電源ＯＮにより電力が消費される。また、ｉ番目のラックのｊ番目のサーバで実行される仮想マシンの合計サイズが増えると負荷が高くなり、より多くの電力が消費される。したがって、ｉ番目のラックのｊ番目のサーバの消費電力は、以下のようにモデリングされる。
【０２２１】
【数８２】
2013042615.tif 000228
【０２２２】
（８２）式において、ｖijは、ｉ番目のラックのｊ番目のサーバのＯＮ／ＯＦＦを示す変数である。ＯＮの場合が「１」、ＯＦＦの場合が「０」とする。βijは、ｉ番目のラックのｊ番目のサーバがＯＮのとき、それだけで消費されるベース消費電力である。βijは定数であり、単位はＷ（ワット）である。αijは、ｉ番目のラックのｊ番目のサーバにおいて単位サイズ（１コアや１スレッド）あたり消費される電力である。αijも定数であり、単位はＷ（ワット）である。
【０２２３】
・無停電電源装置（ＵＰＳ）の消費電力のモデリング
ＵＰＳでは、常時一定の電力が消費されている。それに加えて、そのＵＰＳが備え付けられているラックに搭載されるサーバ台数の消費電力に応じた電力が消費される。したがって、ｉ番目のラックでのＵＰＳの消費電力は、以下のようにモデリングされる。
【０２２４】
【数８３】
2013042615.tif 000229
【０２２５】
（８３）式において、Ｓは、１ラックあたりのサーバ台数であり、定数である。ηiは、ｉ番目のラックについてＵＰＳで常に消費されるベース消費電力である。ηiは定数であり、単位はＷ（ワット）である（図１３を参照）。εiは、ｉ番目のラック内のサーバの消費電力に対して、その何倍の電力がＵＰＳで消費されるかを表す比例係数である。εiは、定数である（図１３を参照）。なお、ｉ番目のラックのサーバ台数がｓ(＜Ｓ)という状況は、ｘm,n,i,j＝０、ｊ≧ｓという制約条件で表現することが可能である。すなわち、ラック内のサーバ台数は、可変である。
【０２２６】
・データセンタ全体の消費電力のモデリング
データセンタ全体の、サーバ、無停電電源装置、空調室内機、及び空調室外機で消費される電力は以下のようにモデリングされる。
【０２２７】
【数８４】
2013042615.tif 000230
【０２２８】
（８４）式において、Ｎはデータセンタ内のラック数であり、Ｃはデータセンタ内の空調室内機及び空調室外機のそれぞれの台数である。
【０２２９】
・熱流量のモデリング
実施例３で説明した（Ｑ−１）の関係に基づいて、ｋ番目の空調室内機から排出される熱流量は、上記（５６）式に示したとおりである。また、実施例３で説明した（Ｑ−２）の関係に基づいて、ｋ番目の空調室内機に流入する熱流量は、上記（５７）式に示したとおりである。実施例３で説明した（Ｑ−３）の関係に基づいて、ｉ番目のラックから排出される熱流量は、下記（８５）式で表される。
【０２３０】
【数８５】
2013042615.tif 000231
【０２３１】
（８５）式において、ｑsup,iは、ｉ番目のラックに対して空調室内機から供給される熱流量である。ｑsup,iは定数であり、単位はＷ（ワット）である。
【０２３２】
・マイグレーションコストのモデリング
仮想マシンのマイグレーションが実行されると、仮想マシンの移行元と移行先とで電力が消費される。したがって、仮想マシンのマイグレーションの消費電力は、以下のようにモデリングされる。
【０２３３】
【数８６】
2013042615.tif 000232
【０２３４】
・省電力化問題の混合整数計画問題としての定式化
以上により、仮想マシンの再配置によるサーバ、無停電電源装置、空調室内機、空調室外機の電力最小化問題は、以下の混合整数計画問題として定式化できる。
【０２３５】
【数８７】
2013042615.tif 000233
【０２３６】
すなわち、（８７）式が最小となるように混合整数計画問題を解けばよい。なお、スケーリングファクターｃ（＞０）の妥当な決め方として、ｃ＝仮想マシンのマイグレーションの平均時間／再配置後の仮想マシンの平均動作時間が挙げられる。また、（８７）式は、以下の（８８）式〜（１０７）式に示した条件にしたがう。
【０２３７】
【数８８】
2013042615.tif 000234
【０２３８】
【数８９】
2013042615.tif 000235
【０２３９】
【数９０】
2013042615.tif 000236
【０２４０】
【数９１】
2013042615.tif 000237
【０２４１】
（８８）式において、ｘm,n,i,jは、０または１のいずれかの値をとる変数とする。ｘm,n,i,jの値は，ｍ番目のサービスのｎ番目の仮想マシンがｉ番目のラックのｊ番目のサーバで実行される（配置される）ときは「１」、そうでないときは「０」となる。すなわち、ｘm,n,i,jは、仮想マシンの配置を示す。
【０２４２】
（９３）式において、δ-ijは、０または１のいずれかの値をとる変数とする。δ-ijに対しては、（９９）式に示した制約条件が課される。ただし，ｄは１未満の正の実数である。（９９）式に示した制約条件により、δ-ijは、以下の関係を満たす。
【０２４３】
【数９２】
2013042615.tif 000238
【０２４４】
ここではδ-ijについて以上のような順序で説明したが，逆に言うと，「０または１のいずれかの値をとり，上記（１０８）式、（１０９）式をみたす変数」が必要であるために，変数δ-ijに制約条件として（９９）式を課してそのような性質をもたせている。
【０２４５】
（１１０）式および（１１１）式において、δ+ijは、（９４）式に示したように、０または１のいずれかの値をとる変数とする。δ+ijに対しては、（１０２）式に示した制約条件が課される。（１０２）式に示した制約条件により、δ+ijは、以下の関係を満たす。
【０２４６】
【数９３】
2013042615.tif 000239
【０２４７】
（１１２）式および（１１３）式において、ｖijは、（９０）式に示したように、０または１のいずれかの値をとる変数とする。ｖijに対して（９８）式に示した制約条件が課される。（９８）式に示した制約条件により、ｖijは、以下の関係を満たす。
【０２４８】
【数９４】
2013042615.tif 000240
【０２４９】
なお、Σm,nτmnｘm,n,i,jはｉ番目のラックのｊ番目のサーバに配置される仮想マシンの合計サイズを表すため、Σm,nτmnｘm,n,i,j＝０は、ｉ番目のラックのｊ番目のサーバに仮想マシンが配置されないことを示す。すなわち，ｉ番目のラックのｊ番目のサーバに仮想マシンが配置されないこととｖijが「０」となることは等価であり、ｉ番目のラックのｊ番目のサーバに仮想マシンが配置されることとｖijが「１」となることが等価である。実施例５では、サーバに仮想マシンが配置されないときには消費電力削減のためにサーバの電源をオフにすることを想定する。したがって、ｖij＝１はｉ番目のラックのｊ番目のサーバの電源がオンであることを示し、ｖij= 0 はｉ番目のラックのｊ番目のサーバの電源がオフであることを示す。
【０２５０】
このように、実施例５において定式化された混合整数計画問題は、例えばＧＬＰＫやＳＹＭＰＨＯＮＹやＧｕｒｏｂｉ  Ｏｐｔｉｍｉｚｅｒなどのソルバーにより求解される。そして、電子計算機システムの制御装置は、仮想マシンのサイズが異なる場合であっても、ソルバーによって求められた解に従って、仮想マシンのマイグレーションを実行することにより、データセンタの省電力化を図ることができる。
【０２５１】
（実施例６）
実施例６は、同一サービスの仮想マシン同士を同一ラック内のサーバに優先的に配置させる例である。電子計算機システムでは、各サーバは、ネットワークスイッチに接続され、ネットワークスイッチを経由して他のサーバと通信を行う。そのため、同一のネットワークスイッチに接続されているサーバ間の通信の遅延が、異なるネットワークスイッチに接続されているサーバ間の通信よりも少ない。同じように、仮想マシン間の通信も、その仮想マシンが配置されているサーバが同一のネットワークスイッチに接続されている場合、異なるネットワークスイッチに接続されているサーバに配置された仮想マシンとの通信よりも遅延が少ない。
【０２５２】
したがって、１つのサービスを構成している仮想マシン同士の通信遅延を少なくするためには、同一のネットワークスイッチに接続されているサーバに仮想マシンを配置することが望ましい。実施例６では、各ラックに１つのネットワークスイッチが備え付けられ、ラック内のサーバはそのネットワークスイッチに接続される状況を想定する。そのため、同一のネットワークスイッチに接続されているサーバに仮想マシンを配置することと同一のラックのサーバに仮想マシンを配置することは等価となる。以下、補助変数を導入し、目的関数を変更することで省電力化とともに同じサービスに含まれる仮想マシンをできる限り１つのラックに配置する例について説明する。
【０２５３】
なお、実施例６では、実施例１にかかる電子計算機システム１の一例として、図１５に示した電子計算機システムおよび図１６に示した電子計算機システムの制御装置での省電力化について説明する。なお、図１５に示した電子計算機システムの各ラックは、ラック内のサーバに接続されるネットワークスイッチを有するものとする。また、実施例１〜５と同様の構成には同一の符号を付して、重複する説明を省略する。
【０２５４】
・データ構造の説明
実施例６では、電子計算機システム１は、データセンタの構成を規定するデータＮ，Ｓ（図４）、仮想マシンの数を規定するデータＭ（図５）及び最大仮想マシン数を規定するデータＬij（図７）を有する。ただし、実施例５に追加される場合は、仮想マシンの数を規定するデータＭは、１サービスに含まれる仮想マシンの最大個数を示す。また、電子計算機システム１は、仮想マシンの消費電力を規定するデータαij（図８）、ベース消費電力を規定するデータβij（図９）、並びに電源装置のベース消費電力ηi及び比例係数を規定するデータεi（図１３）を有する。ただし、実施例５に追加される場合は、αijは、ｉ番目のラックのｊ番目のサーバにおいて仮想マシンが動作する際の単位サイズ（例えば、１コアまたは１スレッド）あたり消費される電力である。
【０２５５】
また、実施例６では、電子計算機システム１は、仮想マシンのサイズを規定するデータ（図１７）、仮想マシンの初期配置データ（図１８）、空気調和装置の数を規定するデータ（図１９）、空調室内機のベース消費電力及び比例係数を規定するデータ（図２０）を有していてもよい。また、実施例６では、電子計算機システム１は、空調室外機の比例係数を規定するデータ（図２１）、ラックと空気調和装置との間の熱流量関係を規定するデータ（図２２）、及びラックと空気調和装置との供給熱流量を規定するデータ（図２３）を有していてもよい。
【０２５６】
また、実施例６の電子計算機システム１は、実施例５に追加される場合は、サービス個数を規定するデータ（図２６）、サービスごとの仮想マシンの個数を規定するデータ（図２７）、及び仮想マシンのサイズを規定するデータ（図２８）を有していてもよい。それ以外に、電子計算機システム１は、以下に挙げるデータを有する。
【０２５７】
図３０は、実施例６にかかる電子計算機システムにおける使用ラック数ペナルティ係数を規定するデータを示す図である。使用ラック数ペナルティとは、同じサービスに含まれる仮想マシンをなるべく１つのラックに配置させるため、同じサービスに含まれる仮想マシンが複数のラックにまたがった場合に与えられるペナルティである。使用ラック数ペナルティ係数とは、使用ラック数ペナルティに与えられる定数である。使用ラック数ペナルティは、混合整数計画問題で使用される。
【０２５８】
・仮想マシン配置方法の説明
図３１は、実施例６にかかる仮想マシン配置方法を示すフローチャートである。図３１に示すように、仮想マシンの配置が開始されると、まず、記憶部３２は、求解部３４にデータ（定数）、変数、目的関数及び制約条件を入力する（ステップＳ６１）。求解部３４は、入力されたデータ（定数）、変数、目的関数及び制約条件と、判定部３１からの指示とに基づいて、例えばソルバーによって混合整数計画問題を解き、解を求める（ステップＳ６２）。混合整数計画問題としての定式化については後述する。配置部３５は、求解部３４が求めた解に基づいて、仮想マシンを配置する（ステップＳ６３）。このようにして、一連の仮想マシン配置処理が終了する。
【０２５９】
・混合整数計画問題としての定式化について
つぎに、実施例６にかかる混合整数計画問題の定式化について説明する。実施例１〜５で説明したモデリングと同一内容については説明を省略する。
【０２６０】
・同一ラックへの優先配置のモデリング
上述した使用ラック数ペナルティは、（１１４）式によって表される。
【０２６１】
【数９５】
2013042615.tif 000241
【０２６２】
（１１５）式は、ｍ番目のサービスの仮想マシンが、ｉ番目のラックでは１つも配置されていないことを示す。（１１６）式は、ｍ番目のサービスの仮想マシンが、ｉ番目のラックに配置されていることを示す。また、（１１４）式のΣσm,iは、ｍ番目のサービスに含まれる仮想マシンが実行されるラック数を表す。また、ａは、使用ラック数ペナルティ係数である。使用ラック数ペナルティ係数ａは、ラック１つあたりのペナルティ係数である。使用ラック数ペナルティ係数ａは定数であり、単位はＷ（ワット）である。
【０２６３】
・省電力化問題の混合整数計画問題としての定式化
以上により、仮想マシンの再配置によるサーバ、無停電電源装置、空調室内機、空調室外機の電力最小化問題は、以下の混合整数計画問題として定式化できる。（１１７）式は、上記（８８）式〜（１０７）式に示した条件のほか、（１０８）式に示した条件にしたがう。
【０２６４】
【数９６】
2013042615.tif 000242
【０２６５】
すなわち、（１１７）式が最小となるように混合整数計画問題を解けばよい。（１１７）式は、実施例５に示した（８７）式に、（１１４）式が追加された式である。同一サービスを構成する仮想マシンが複数のラックにまたがると、（１１７）式の最終項の値が大きくなる。一方、同一ラックに集約されると小さくなる。なお、ラック使用ペナルティは、実施例２の（３６）式、実施例３の（５９）式、実施例４の（７１）式に適用してもよい。
【０２６６】
このように、実施例６において定式化された混合整数計画問題は、例えばＧＬＰＫやＳＹＭＰＨＯＮＹやＧｕｒｏｂｉ  Ｏｐｔｉｍｉｚｅｒなどのソルバーにより求解される。そして、電子計算機システムの制御装置は、ソルバーによって求められた解に従って仮想マシンのマイグレーションを行い、仮想マシンを再配置することで、同一サービスに含まれる仮想マシンがなるべく同一ラックに配置されるよう考慮しつつデータセンタの省電力化を図ることができる。
【０２６７】
（実施例７）
実施例７は、起動待ち時間、仮想マシン停止時間、およびマイグレーション待ち時間を考慮した省電力化の例である。起動待ち時間とは、サーバの起動により生じる待ち時間である。サーバの電源をＯＮにしてから仮想マシンを配置できるようになるまでには一定の時間がかかる。起動待ち時間とは、そのために発生する待ち時間である。仮想マシン停止時間とは、仮想マシンの停止により生じる時間である。仮想マシンのマイグレーションを行うと、仮想マシンのサイズに比例した時間分、仮想マシンが停止する。仮想マシン停止時間とは、そのために発生する時間である。
【０２６８】
マイグレーション待ち時間とは、仮想マシンのマイグレーションにより生じる待ち時間である。サーバごとの仮想マシンの受け入れは１つずつ行われる。マイグレーション待ち時間とは、その受け入れのため、1つのサーバに多くの仮想マシンが再配置されると発生する待ち時間である。
【０２６９】
図３２は、マイグレーション待ち時間の説明図である。仮想マシンが複数移行されてくる場合、仮想マシンはリスト化されて１つずつ順番に移行処理される。図３２では、待機する仮想マシンの待機個数の閾値を４とし、４以上になるとペナルティを課すことにする。（Ａ）では、リスト化された仮想マシンの待機個数は３個であるため、閾値未満となり、ペナルティは課されない。一方、（Ｂ）では、リスト化された仮想マシンの待機個数は６個であるため、閾値以上となり、ペナルティが課される。以下、補助変数を導入し、目的関数を変更することで、省電力化とともになるべく待ち時間、停止時間を少なくする方法について説明する。
【０２７０】
・データ構造の説明
実施例７では、電子計算機システム１は、データセンタの構成を規定するデータＮ，Ｓ（図４）、仮想マシンの数を規定するデータＭ（図５）及び最大仮想マシン数を規定するデータＬij（図７）を有する。ただし、実施例５に追加される場合は、仮想マシンの数を規定するデータＭは、１サービスに含まれる仮想マシンの最大個数を示す。また、電子計算機システム１は、仮想マシンの消費電力を規定するデータαij（図８）、ベース消費電力を規定するデータβij（図９）、並びに電源装置のベース消費電力ηi及び比例係数を規定するデータεi（図１３）を有する。ただし、実施例５に追加される場合は、αijは、ｉ番目のラックのｊ番目のサーバにおいて仮想マシンが動作する際の単位サイズ（例えば、１コアまたは１スレッド）あたり消費される電力である。
【０２７１】
また、実施例７では、電子計算機システム１は、仮想マシンのサイズを規定するデータ（図１７）、仮想マシンの初期配置データ（図１８）、空気調和装置の数を規定するデータ（図１９）、空調室内機のベース消費電力及び比例係数を規定するデータ（図２０）を有していてもよい。また、実施例６では、電子計算機システム１は、空調室外機の比例係数を規定するデータ（図２１）、ラックと空気調和装置との間の熱流量関係を規定するデータ（図２２）、及びラックと空気調和装置との供給熱流量を規定するデータ（図２３）を有していてもよい。
【０２７２】
また、実施例７の電子計算機システム１は、実施例５に追加される場合は、サービス個数を規定するデータ（図２６）、サービスごとの仮想マシンの個数を規定するデータ（図２７）、及び仮想マシンのサイズを規定するデータ（図２８）を有していてもよい。それ以外に、電子計算機システム１は、以下に挙げるデータを有する。
【０２７３】
図３３は、実施例７にかかる電子計算機システムにおける起動待ち時間ペナルティ係数を規定するデータを示す図である。起動待ち時間ペナルティとは、起動待ち時間に応じて割当てられるペナルティであり、起動待ち時間ペナルティ係数とは、起動待ち時間ペナルティに与えられる値である。単位はワット（Ｗ）である。起動待ち時間ペナルティは、混合整数計画問題で使用される。図３３において、起動待ち時間ペナルティ係数ｂijは、ｉ番目のラックのｊ番目のサーバごとに規定される。たとえば、Ｎ番目のラックのＳ番目のサーバについての起動待ち時間ペナルティ係数は、ｂNSである。また、起動待ち時間ペナルティ係数ｂijは、サーバがＯＮになってから混合整数計画問題の求解を開始する時点までの経過時間により決定される。
【０２７４】
図３４は、起動待ち時間ペナルティ係数ｂijの値を決定するテーブルの一例を示す説明図である。図３４において、経過時間が短いほど、起動待ち時間ペナルティ係数ｂijの値が大きくなるため、ペナルティが増加する。すなわち、経過時間が短いほど、経過後の起動待ち時間が長くなるためである。
【０２７５】
図３５は、仮想マシン停止時間ペナルティ係数を規定するデータを示す図である。仮想マシン停止時間ペナルティとは、仮想マシン停止時間に応じて割当てられるペナルティであり、仮想マシン停止時間ペナルティ係数ｂとは、仮想マシン停止時間ペナルティに与えられる定数である。単位はワット（Ｗ）である。
【０２７６】
図３６は、マイグレーション待ちの仮想マシンの待機個数の閾値を規定するデータを示す図である。図３２の例では、仮想マシンの待機個数の閾値ｌは、ｌ＝４となる。
【０２７７】
図３７は、閾値ｌを超えた分の仮想マシンの待機個数に対するペナルティ係数を示す図である。図３２の（Ｂ）の例は、待機個数が「６」、閾値ｌが「４」であるため、閾値ｌを超えた分の待機個数は、２（＝６−４）である。したがって、ペナルティ係数ｅは、閾値ｌを超えた分の待機個数「２」に対して与えられるペナルティである。ペナルティ係数ｅの単位は、ワット（Ｗ）である。
【０２７８】
・仮想マシン配置方法の説明
図３８は、実施例７にかかる仮想マシン配置方法を示すフローチャートである。図３８に示すように、仮想マシンの配置が開始されると、まず、記憶部３２は、求解部３４にデータ（定数）、変数、目的関数及び制約条件を入力する（ステップＳ７１）。求解部３４は、入力されたデータ（定数）、変数、目的関数及び制約条件と、判定部３１からの指示とに基づいて、例えばソルバーによって混合整数計画問題を解き、解を求める（ステップＳ７２）。混合整数計画問題としての定式化については後述する。配置部３５は、求解部３４が求めた解に基づいて、仮想マシンを配置する（ステップＳ７３）。このようにして、一連の仮想マシン配置処理が終了する。
【０２７９】
・混合整数計画問題としての定式化について
つぎに、実施例７にかかる混合整数計画問題の定式化について説明する。実施例１〜５で説明したモデリングと同一内容については説明を省略する。
【０２８０】
・起動待ち時間のモデリング
上述した起動待ち時間に対するペナルティは、（１１９）式によって表される。
【０２８１】
【数９７】
2013042615.tif 000243
【０２８２】
・仮想マシン停止時間のモデリング
上述した仮想マシン停止時間に対するペナルティは、（１２０）式によって表される。
【０２８３】
【数９８】
2013042615.tif 000244
【０２８４】
ここで、ｙm,n,i,jは、下記の（１２１）式を満たすバイナリ変数である。
【０２８５】
【数９９】
2013042615.tif 000245
【０２８６】
すなわち、ｙm,n,i,jは、ｍ番目のサービスのｎ番目の仮想マシンがライブマイグレーションによってｉ番目のラックのｊ番目のサーバへ移動するときは「１」、それ以外のときは「０」をとる。
【０２８７】
また、（１２０）式のΣｙm,n,i,jは、ｍ番目のサービスのｎ番目の仮想マシンがライブマイグレーションされれば「１」、そうでなければ「０」となる。
【０２８８】
したがって、（１２０）式は、ｍ番目のサービスのｎ番目の仮想マシンがライブマイグレーションで移動されることよって生じる停止時間に対するペナルティの総和を表す。すなわち、停止時間は、サイズτmnに比例することになる。
【０２８９】
また、仮想マシンの初期配置を示すｘ0m,n,i,jを定数とする。ただし、ｎ≧Ｍm＋１に対しては、ｘ0m,n,i,j＝１とする。Ｍmはｍ番目のサービスでの仮想マシンの個数である。この場合、以下の関係がある。
【０２９０】
【数１００】
2013042615.tif 000246
【０２９１】
図３９は、仮想マシンの初期配置を示すｘ0m,n,i,jの一覧を示す図である。ｘ0m,n,i,jは、サービスを一意に特定するサービス番号と、仮想マシンを一意に特定するＶＭ番号と、ラックを一意に特定するラック番号と、サーバを一意に特定するサーバ番号とによって決まる定数である。図３９では、サービス番号１において起動される１番目の仮想マシンの１番目のラックの１番目のサーバに関するｘ01,1,1,1から、サービス番号Ｖにおいて起動されるＭ番目の仮想マシンのＮ番目のラックのＳ番目のサーバに関するｘ0V,M,N,Sまでを定義する。
【０２９２】
・マイグレーション待ち時間のモデリング
上述したマイグレーション待ち時間に対するペナルティは、（１２４）式によって表される。
【０２９３】
【数１０１】
2013042615.tif 000247
【０２９４】
ここで、ｕijは、下記の（１２５）式及び（１２６）式を満たす、０以上Ｌij以下の整数変数である。
【０２９５】
【数１０２】
2013042615.tif 000248
【０２９６】
（１２５）式および（１２６）式の左側の不等式の左辺は、ｉ番目のラックのｊ番目のサーバへ移動してくる仮想マシンの個数を表す。すなわち、（１２５）式において、ｉ番目のラックのｊ番目のサーバへ移動してくる仮想マシンの個数がｌ以上のときに、ｕijは、（１２５）式の左側の不等式の左辺の値をとる。一方、（１２６）式において、ｉ番目のラックのｊ番目のサーバへ移動してくる仮想マシンの個数がｌ−１以下のときに、ｕijは、０となる。したがって、ｅ×ｕijは、はｉ番目のラックのｊ番目のサーバへ移動してくる仮想マシンのうち、閾値ｌ以上になった分の待ち時間に対するペナルティを表す。このため、（１２４）式は、それらの総和を表す。
【０２９７】
また、ρijは、下記の（１２７）式を満たすバイナリ変数である。ρijは、ｕijを定義するために使用される。
【０２９８】
【数１０３】
2013042615.tif 000249
【０２９９】
・省電力化問題の混合整数計画問題としての定式化
以上により、仮想マシンの再配置によるサーバ、無停電電源装置、空調室内機、空調室外機の電力最小化問題は、以下の混合整数計画問題として定式化できる。
【０３００】
【数１０４】
2013042615.tif 000250
【０３０１】
また、（１２８）式は、上記（８８）式〜（１０７）式に示した条件のほか、下記の（１２９）式〜（１３５）式に示した条件にしたがう。
【０３０２】
【数１０５】
2013042615.tif 000251
【０３０３】
すなわち、（１２８）式が最小となるように混合整数計画問題を解けばよい。（１２８）式は、実施例５に示した（８７）式に、（１１９）式、（１２０）式、及び（１２４）式が追加された式である。なお、（１１９）式、（１２０）式、及び（１２４）式は、実施例２の（３６）式、実施例３の（５９）式、実施例４の（７１）式、実施例６の（１１７）式に適用してもよい。（１１９）式、（１２０）式、及び（１２４）式をすべて用いる必要はなく、いずれか１つ採用してもよい。
【０３０４】
このように、実施例７において定式化された混合整数計画問題は、例えばＧＬＰＫやＳＹＭＰＨＯＮＹやＧｕｒｏｂｉ  Ｏｐｔｉｍｉｚｅｒなどのソルバーにより求解される。そして、電子計算機システムの制御装置は、ソルバーによって求められた解に従って仮想マシンのマイグレーションを行い、仮想マシンを再配置することで、軌道待ち時間、仮想マシン停止時間、マイグレーション待ち時間が少なくなるよう考慮しつつ、データセンタの省電力化を図ることができる。
【０３０５】
上述した実施の形態に関し、さらに以下の付記を開示する。
【０３０６】
（付記１）仮想マシンが配置される複数のサーバと、
複数の前記サーバに電力を供給する複数の電源装置と、
前記サーバに対する前記仮想マシンの配置を制御する制御装置と、
を備え、
前記制御装置は、前記仮想マシンの配置の関数として記述された、前記サーバでの消費電力と前記電源装置での消費電力との合計消費電力を目的関数とする整数計画問題を解き、前記整数計画問題の解に基づいて前記仮想マシンを配置することを特徴とする電子計算機システム。
【０３０７】
（付記２）前記制御装置は、全ての前記サーバが停止中であることを制約条件の一つとして前記整数計画問題を解くことを特徴とする付記１に記載の電子計算機システム。
【０３０８】
（付記３）前記制御装置は、一つ以上の前記仮想マシンが配置されていることを制約条件の一つとして前記整数計画問題を解くことで、配置済みの前記仮想マシンがある状態に他の前記仮想マシンを追加で配置することを特徴とする付記１に記載の電子計算機システム。
【０３０９】
（付記４）前記制御装置は、一つ以上の前記仮想マシンが配置されていることを制約条件の一つとし、前記合計消費電力に、配置済みの前記仮想マシンを別のサーバに移動させることにより消費される電力を加えて前記整数計画問題を解くことで、配置済みの前記仮想マシンを再配置することを特徴とする付記１に記載の電子計算機システム。
【０３１０】
（付記５）前記目的関数は、前記サーバでの消費電力を、前記仮想マシンのサイズが前記仮想マシンごとに異なるとして表した関数であることを特徴とする付記２または３に記載の電子計算機システム。
【０３１１】
（付記６）前記サーバ及び前記電源装置を収容する空間に対して空気調和を行う空気調和装置をさらに備え、
前記制御装置は、前記仮想マシンの配置の関数として記述された、前記空気調和装置での消費電力をさらに合算した合計消費電力を目的関数とする混合整数計画問題を解き、前記混合整数計画問題の解に基づいて前記仮想マシンを配置することを特徴とする付記２、３または５に記載の電子計算機システム。
【０３１２】
（付記７）前記サーバは、複数のラックに分散されて収容されており、
前記目的関数は、前記仮想マシンが配置されるラック数に応じたペナルティを課す項を含むことを特徴とする付記２、３、５または６に記載の電子計算機システム。
【０３１３】
（付記８）前記目的関数は、前記サーバでの消費電力を、前記仮想マシンのサイズが前記仮想マシンごとに異なるとして表した関数であり、
前記制御装置は、一つ以上の前記仮想マシンが配置されていることを制約条件の一つとし、前記合計消費電力に、配置済みの前記仮想マシンを別のサーバに移動させることにより消費される電力を加えて前記整数計画問題を解くことで、配置済みの前記仮想マシンを再配置することを特徴とする付記１に記載の電子計算機システム。
【０３１４】
（付記９）前記目的関数は、前記サーバでの消費電力を、前記仮想マシンのサイズが前記仮想マシンごとに異なるとして表した関数であり、
前記サーバは、複数のラックに分散されて収容されており、
前記目的関数は、前記仮想マシンが配置されるラック数に応じたペナルティを課す項を含むことを特徴とする付記１または８に記載の電子計算機システム。
【０３１５】
（付記１０）前記目的関数は、前記サーバの電源がＯＮになってから前記サーバに前記仮想マシンが配置可能となるまでの起動待ち時間に応じたペナルティを課す項を含むことを特徴とする付記１または８に記載の電子計算機システム。
【０３１６】
（付記１１）前記目的関数は、配置済みの前記仮想マシンを前記別のサーバに移動させる場合に前記仮想マシンのサイズに従って前記仮想マシンによる処理が停止する停止時間に応じたペナルティを課す項を含むことを特徴とする付記４または８に記載の電子計算機システム。
【０３１７】
（付記１２）前記目的関数は、前記別のサーバに移動させる仮想マシン群の個数に基づいて前記別のサーバでの前記仮想マシン群の再配置が完了するまでの待ち時間に応じたペナルティを課す項を含むことを特徴とする付記４または８に記載の電子計算機システム。
【０３１８】
（付記１３）複数の電源装置から供給される電力で稼働する複数のサーバに対して仮想マシンを配置するにあたって、
前記仮想マシンの配置の関数として記述された、前記サーバでの消費電力と前記電源装置での消費電力との合計消費電力を目的関数とする整数計画問題を解き、前記整数計画問題の解に基づいて前記仮想マシンを配置することを特徴とする仮想マシン配置方法。
【０３１９】
（付記１４）全ての前記サーバが停止中であることを制約条件の一つとして前記整数計画問題を解くことを特徴とする付記１３に記載の仮想マシン配置方法。
【０３２０】
（付記１５）一つ以上の前記仮想マシンが配置されていることを制約条件の一つとして前記整数計画問題を解くことで、配置済みの前記仮想マシンがある状態に他の前記仮想マシンを追加で配置することを特徴とする付記１３に記載の仮想マシン配置方法。
【０３２１】
（付記１６）一つ以上の前記仮想マシンが配置されていることを制約条件の一つとし、前記合計消費電力に、配置済みの前記仮想マシンを別のサーバに移動させることにより消費される電力を加えて前記整数計画問題を解くことで、配置済みの前記仮想マシンを再配置することを特徴とする付記１３に記載の仮想マシン配置方法。
【０３２２】
（付記１７）前記目的関数は、前記サーバでの消費電力を、前記仮想マシンのサイズが前記仮想マシンごとに異なるとして表した関数であることを特徴とする付記１４または１５に記載の仮想マシン配置方法。
【０３２３】
（付記１８）前記仮想マシンの配置の関数として記述された、前記サーバ及び前記電源装置を収容する空間に対して空気調和を行う空気調和装置での消費電力をさらに合算した合計消費電力を目的関数とする混合整数計画問題を解き、前記混合整数計画問題の解に基づいて前記仮想マシンを配置することを特徴とする付記１４、１５または１７に記載の仮想マシン配置方法。
【０３２４】
（付記１９）前記サーバは、複数のラックに分散されて収容されており、
前記目的関数は、前記仮想マシンが配置されるラック数に応じたペナルティを課す項を含むことを特徴とする付記１４、１５、１７または１８に記載の仮想マシン配置方法。
【０３２５】
（付記２０）前記目的関数は、前記サーバでの消費電力を、前記仮想マシンのサイズが前記仮想マシンごとに異なるとして表した関数であり、
一つ以上の前記仮想マシンが配置されていることを制約条件の一つとし、前記合計消費電力に、配置済みの前記仮想マシンを別のサーバに移動させることにより消費される電力を加えて前記整数計画問題を解くことで、配置済みの前記仮想マシンを再配置することを特徴とする付記１３に記載の仮想マシン配置方法。
【０３２６】
（付記２１）前記目的関数は、前記サーバでの消費電力を、前記仮想マシンのサイズが前記仮想マシンごとに異なるとして表した関数であり、
前記サーバは、複数のラックに分散されて収容されており、
前記目的関数は、前記仮想マシンが配置されるラック数に応じたペナルティを課す項を含むことを特徴とする付記１３または２０に記載の仮想マシン配置方法。
【０３２７】
（付記２２）前記目的関数は、前記サーバの電源がＯＮになってから前記サーバに前記仮想マシンが配置可能となるまでの起動待ち時間に応じたペナルティを課す項を含むことを特徴とする付記１３または２０に記載の仮想マシン配置方法。
【０３２８】
（付記２３）前記目的関数は、配置済みの前記仮想マシンを前記別のサーバに移動させる場合に前記仮想マシンのサイズに従って前記仮想マシンによる処理が停止する停止時間に応じたペナルティを課す項を含むことを特徴とする付記１６または２０に記載の仮想マシン配置方法。
【０３２９】
（付記２４）前記目的関数は、前記別のサーバに移動させる仮想マシン群の個数に基づいて前記別のサーバでの前記仮想マシン群の再配置が完了するまでの待ち時間に応じたペナルティを課す項を含むことを特徴とする付記１６または２０に記載の仮想マシン配置方法。
【符号の説明】
【０３３０】
１  電子計算機システム
２  サーバ
３  電源装置
４  制御装置
５  ラック
６  データセンタ
７，８  空気調和装置
【国際調査報告】
2013042615.tif 000252
2013042615.tif 000253
2013042615.tif 000254
2013042615.tif 000255