(57)【特許請求の範囲】
【請求項１】
複数のサーバを有する施設における、前記複数のサーバへの複数の仮想マシンの配置を探索するプログラムであって、
前記複数のサーバへの前記複数の仮想マシンの配置に関し、前記サーバが実行する仮想マシンの単位サイズあたりの前記施設全体での消費電力への影響量を表す変数と、前記サーバへの電源投入の有無による前記施設全体での消費電力への影響量を表す変数と、前記施設全体での常時消費される消費電力を表す変数とを要素として含むパラメータの初期値を、前記複数のサーバの消費電力に関する第１の性能情報と前記施設に設置された空調設備の消費電力に関する第２の性能情報と前記施設に配置された電源設備の消費電力に関する第３の性能情報と前記複数のサーバ間および前記複数のサーバと前記空調設備との間の熱結合に関する熱結合情報とにより前記パラメータの初期値を表現する数式に基づき設定し、
逐次的なパラメータ推定方法により、前記パラメータを用いて表現される前記施設全体での消費電力を目的関数とする混合整数計画問題を解き、前記混合整数計画問題の解に基づいて前記配置を求め、求めた前記配置における計測された前記施設全体での消費電力と、求めた前記配置における前記パラメータを用いて表現される前記施設全体での消費電力とが近づくように、前記パラメータを更新することを繰り返す、
処理をコンピュータに実行させることを特徴とする配置探索プログラム。
【請求項２】
前記パラメータを用いて表現される前記施設全体での消費電力は、前記パラメータを用いて前記サーバが実行する仮想マシンの合計サイズの関数として記述された、前記サーバでの消費電力と前記空調設備での消費電力と前記電源設備での消費電力との合計消費電力である、ことを特徴とする請求項１に記載の配置探索プログラム。
【請求項３】
複数のサーバを有する施設における、前記複数のサーバへの複数の仮想マシンの配置を探索する方法であって、
前記複数のサーバへの前記複数の仮想マシンの配置に関し、前記サーバが実行する仮想マシンの単位サイズあたりの前記施設全体での消費電力への影響量を表す係数と、前記サーバへの電源投入の有無による前記施設全体での消費電力への影響量を表す係数と、前記施設全体での常時消費される消費電力を表す係数とを含むパラメータの初期値を、前記複数のサーバの消費電力に関する第１の性能情報と前記施設に設置された空調設備の消費電力に関する第２の性能情報と前記施設に配置された電源設備の消費電力に関する第３の性能情報と前記複数のサーバ間および前記複数のサーバと前記空調設備との間の熱結合に関する熱結合情報とにより前記パラメータの初期値を表現する数式に基づき設定し、
逐次的なパラメータ推定方法により、前記パラメータを用いて表現される前記施設全体での消費電力を目的関数とする混合整数計画問題を解き、前記混合整数計画問題の解に基づいて前記配置を求め、求めた前記配置における計測された前記施設全体での消費電力と、求めた前記配置における前記パラメータを用いて表現される前記施設全体での消費電力とが近づくように、前記パラメータを更新することを繰り返す、
処理をコンピュータが実行することを特徴とする配置探索方法。
【請求項４】
複数のサーバを有する施設における、前記複数のサーバへの複数の仮想マシンの配置を探索する装置であって、
前記複数のサーバへの前記複数の仮想マシンの配置に関し、前記サーバが実行する仮想マシンの単位サイズあたりの前記施設全体での消費電力への影響量を表す係数と、前記サーバへの電源投入の有無による前記施設全体での消費電力への影響量を表す係数と、前記施設全体での常時消費される消費電力を表す係数とを含むパラメータの初期値を、前記複数のサーバの消費電力に関する第１の性能情報と前記施設に設置された空調設備の消費電力に関する第２の性能情報と前記施設に配置された電源設備の消費電力に関する第３の性能情報と前記複数のサーバ間および前記複数のサーバと前記空調設備との間の熱結合に関する熱結合情報とにより前記パラメータの初期値を表現する数式に基づき設定し、
逐次的なパラメータ推定方法により、前記パラメータを用いて表現される前記施設全体での消費電力を目的関数とする混合整数計画問題を解き、前記混合整数計画問題の解に基づいて前記配置を求め、求めた前記配置における計測された前記施設全体での消費電力と、求めた前記配置における前記パラメータを用いて表現される前記施設全体での消費電力とが近づくように、前記パラメータを更新することを繰り返す、
制御部を有することを特徴とする配置探索装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、配置探索プログラム、配置探索方法、および配置探索装置に関する。
【背景技術】
【０００２】
従来、データセンタ内に設置された複数のサーバに複数の仮想マシン（ＶＭ：Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ）を割り当てる際、または、サーバ間で仮想マシンを移行する際などに、データセンタ全体での消費電力の最適化を図ることが望まれる。
【０００３】
先行技術としては、例えば、仮想マシンの配置の関数として記述された、サーバでの消費電力と電源設備での消費電力との合計消費電力を目的関数とする混合整数計画問題を解き、混合整数計画問題の解に基づいて各サーバに仮想マシンを配置するものがある。また、例えば、配置情報を用いて、装置群の消費電力と給電設備の給電損失と冷却設備の冷却電力を求め、消費電力、給電損失、および冷却電力の総和を低減するように装置群へ作業負荷を割り当てる技術がある。また、例えば、情報処理装置の装置関連消費電力式を元にした省電力性評価指標を用いて、計算機室全体の省電力化を実現するよう作業負荷の割当を決定する技術がある。また、例えば、運転される冷凍機それぞれの消費電力を上記複数の組み合わせについて求め、さらに、該求めた各消費電力の総和を演算し、該総和値が最小値となる組み合わせまたは他に比べて低い値となる組み合わせを選択して設定する技術がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】国際公開第２０１３／０４２６１５号
【特許文献２】特開２００９−２５２０５６号公報
【特許文献３】国際公開第２０１０／０３２５０１号
【特許文献４】特開２００６−２０７８５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述した従来技術では、データセンタ全体での消費電力を低減化することが難しい場合がある。例えば、データセンタ全体での消費電力を目的関数とする混合整数計画問題に用いられるパラメータとして、どのような値を設定することが好ましいかが分からず、データセンタ全体での消費電力を最適化することが難しい。
【０００６】
１つの側面では、本発明は、施設全体での消費電力を最適化することができる配置探索プログラム、配置探索方法、および配置探索装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一側面によれば、複数のサーバを有する施設における、前記複数のサーバへの複数の仮想マシンの配置を探索する際に、前記複数のサーバへの前記複数の仮想マシンの配置に関するパラメータの初期値を、前記複数のサーバの消費電力に関する第１の性能情報、前記施設に設置された空調設備の消費電力に関する第２の性能情報、前記施設に配置された電源設備の消費電力に関する第３の性能情報、および、前記複数のサーバ間および前記複数のサーバと前記空調設備との間の熱結合に関する熱結合情報のうち、少なくともいずれかに基づき設定し、逐次的なパラメータ推定方法により前記施設全体の消費電力を最適化するように、前記パラメータを更新する配置探索プログラム、配置探索方法、および配置探索装置が提案される。
【発明の効果】
【０００８】
本発明の一態様によれば、施設全体での消費電力を最適化することができるという効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施の形態にかかる配置探索方法の一実施例を示す説明図である。
【図２】図２は、電子計算機システム２００の一例を示す説明図である。
【図３】図３は、配置探索装置１００のハードウェア構成例を示すブロック図である。
【図４】図４は、データセンタ構造情報４００の記憶内容の一例を示す説明図である。
【図５】図５は、最大サイズ定義情報５００の記憶内容の一例を示す説明図である。
【図６】図６は、配置済みサイズ情報６００の記憶内容の一例を示す説明図である。
【図７】図７は、追加配置数情報７００の記憶内容の一例を示す説明図である。
【図８】図８は、仮想マシンサイズ情報８００の記憶内容の一例を示す説明図である。
【図９】図９は、パラメータ情報９００の記憶内容の一例を示す説明図である。
【図１０】図１０は、定数情報１０００の記憶内容の一例を示す説明図である。
【図１１】図１１は、動作消費電力情報１１００の記憶内容の一例を示す説明図である。
【図１２】図１２は、ベース消費電力情報１２００の記憶内容の一例を示す説明図である。
【図１３】図１３は、室内機情報１３００の記憶内容の一例を示す説明図である。
【図１４】図１４は、室外機情報１４００の記憶内容の一例を示す説明図である。
【図１５】図１５は、電源設備情報１５００の記憶内容の一例を示す説明図である。
【図１６】図１６は、熱流量関係情報１６００の記憶内容の一例を示す説明図である。
【図１７】図１７は、供給熱流量情報１７００の記憶内容の一例を示す説明図である。
【図１８】図１８は、配置探索装置１００の機能的構成例を示すブロック図である。
【図１９】図１９は、配置探索装置１００が混合整数計画問題のパラメータを更新した結果の一例を示す説明図である。
【図２０】図２０は、仮想マシンの配置処理手順の一例を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下に、図面を参照して、本発明にかかる配置探索プログラム、配置探索方法、および配置探索装置の実施の形態を詳細に説明する。
【００１１】
（実施の形態にかかる配置探索方法の一実施例）
図１は、実施の形態にかかる配置探索方法の一実施例を示す説明図である。配置探索装置１００は、施設１１０全体での消費電力を最適化するためのコンピュータである。施設１１０とは、例えば、データセンタである。
【００１２】
施設１１０は、複数のサーバ１１１を有する。施設１１０は、さらに、複数のサーバ１１１に電力を供給する電源設備１１３、および、複数のサーバ１１１を冷却する空調設備１１２などを有する。最適化とは、例えば、制約条件の中で、施設１１０全体での消費電力を最小化することである。
【００１３】
ここで、データセンタに設置された複数のサーバ１１１に複数の仮想マシンを割り当てる際には、データセンタ全体での消費電力が低減化されるように割り当てることが望まれる傾向がある。これに対し、下記（ａ）〜（ｃ）が考えられるが、データセンタ全体での消費電力を低減化することが難しい場合がある。
【００１４】
（ａ）例えば、仮想マシンの配置の関数として記述された、サーバ１１１、空調設備１１２、電源設備１１３の合計消費電力を目的関数とする混合整数計画問題を解き、混合整数計画問題の解に基づいて複数のサーバ１１１に複数の仮想マシンを配置することが考えられる。
【００１５】
しかしながら、データセンタ全体での消費電力を目的関数とする混合整数計画問題に用いられるパラメータとして、どのような値を設定することが好ましいかが分からず、データセンタ全体での消費電力を低減化することが難しい場合がある。パラメータは、例えば、サーバ１１１、空調設備１１２、および、電源設備１１３の消費電力特性をあらわす係数、データセンタ内の熱移動特性をあらわす係数などである。
【００１６】
具体的には、データセンタ内の複数箇所に温度センサを設置したとしても、温度センサを設置した箇所の間でどのように熱が移動するかを精度よく解析することは難しいため、データセンタ内の熱移動特性を解析することは難しい。結果として、データセンタ内の熱移動特性をあらわす係数として、どのような値を設定することが好ましいかが分からず、データセンタ全体での消費電力を低減化することが難しい。
【００１７】
また、パラメータとして設定することが好ましい値は、時間経過によっても変化してしまう傾向がある。例えば、時間経過によって、データセンタが経年劣化し、または、データセンタ内のサーバ１１１、電源設備１１３、空調設備１１２の配置が変更されることにより、パラメータとして設定することが好ましい値は変化してしまう傾向がある。結果として、混合整数計画問題に用いられるパラメータとして好ましい値を設定したとしても、時間経過によって好ましくない値になってしまい、データセンタ全体での消費電力を低減化することが難しくなる場合がある。
【００１８】
（ｂ）さらに、（ａ）に対し、逐次的なパラメータ推定方法を適用することにより、データセンタ全体での消費電力を目的関数とする混合整数計画問題を解く都度、混合整数計画問題に用いられるパラメータを更新して、好ましい値に近づけることが考えられる。逐次的なパラメータ推定方法は、例えば、逐次最小二乗法である。ここで、逐次的なパラメータ推定方法は、混合整数計画問題に用いられるパラメータの個数が変化しないまま、混合整数計画問題が繰り返し解かれる場合などに適用することができる。
【００１９】
しかしながら、混合整数計画問題の目的関数が仮想マシンの配置に対する陽関数として記述されるため、配置する仮想マシンの種類や数が変化してしまうと、混合整数計画問題に用いられる変数やパラメータの個数も変化してしまう傾向がある。結果として、逐次的なパラメータ推定方法を適用することができず、混合整数計画問題に用いられるパラメータを好ましい値に更新することができず、データセンタ全体での消費電力を低減化することが難しい場合がある。
【００２０】
（ｃ）このため、仮想マシンの配置に対する陽関数ではなく、サーバ１１１が実行する仮想マシンの合計サイズおよびサーバ１１１の電源投入の有無の陽関数として記述された、サーバ１１１、空調設備１１２、電源設備１１３の合計消費電力を目的関数とする混合整数計画問題を用いることが考えられる。これによれば、配置する仮想マシンの種類や数が変化しても、混合整数計画問題に用いられる変数やパラメータの個数は変化しないようになる。
【００２１】
これに対し、逐次的なパラメータ推定方法を適用することにより、データセンタ全体での消費電力を目的関数とする混合整数計画問題を解く都度、混合整数計画問題に用いられるパラメータを更新して、好ましい値に近づけることが考えられる。
【００２２】
しかしながら、混合整数計画問題に用いられるパラメータの初期値として、どのような値を設定することが好ましいかが分からず、混合整数計画問題に用いられるパラメータが好ましい値に近づくまでにかかる時間の増大化を招いてしまう可能性がある。そして、混合整数計画問題に用いられるパラメータが好ましい値に近づくまでの間は、混合整数計画問題に用いられるパラメータとして好ましくない値が設定されてしまうため、データセンタ全体での消費電力を低減化することが難しい場合がある。
【００２３】
そこで、本実施の形態では、施設１１０全体での消費電力を目的関数とする混合整数計画問題を解く際に、混合整数計画問題に用いられるパラメータとして好ましい値が設定されやすくしつつ、施設１１０全体での消費電力を最適化する配置探索方法について説明する。
【００２４】
（１−１）配置探索装置１００は、複数のサーバ１１１への複数の仮想マシンの配置に関するパラメータの初期値に、第１の性能情報、第２の性能情報、第３の性能情報、および、熱結合情報のうち、少なくともいずれかに基づき設定された初期値を用いる。
【００２５】
第１の性能情報とは、複数のサーバ１１１の消費電力に関する性能情報である。第１の性能情報は、例えば、サーバ１１１が実行する仮想マシンの単位サイズに対する消費電力を規定した情報、および、サーバ１１１で常時消費される消費電力を規定した情報などである。第１の性能情報は、具体的には、図１１に後述する動作消費電力情報１１００、および、図１２に後述するベース消費電力情報１２００などである。
【００２６】
第２の性能情報とは、施設１１０に設置された空調設備１１２の消費電力に関する性能情報である。第２の性能情報は、例えば、空調室内機に流入する熱流量に対する空調室内機で消費される消費電力を規定した情報、および、空調室内機で常時消費される消費電力を規定した情報などである。また、第２の性能情報は、例えば、空調室外機に流入する熱流量に対する空調室外機で消費される消費電力を規定した情報などである。第２の性能情報は、具体的には、図１３に後述する室内機情報１３００、および、図１４に後述する室外機情報１４００などである。
【００２７】
第３の性能情報とは、施設１１０に配置された電源設備１１３の消費電力に関する性能情報である。第３の性能情報は、例えば、サーバ１１１の消費電力に対する電源設備１１３で消費される消費電力を規定した情報、および、電源設備１１３で常時消費される消費電力を規定した情報などである。第３の性能情報は、具体的には、図１５に後述する電源設備情報１５００などである。
【００２８】
熱結合情報とは、複数のサーバ１１１間および複数のサーバ１１１と空調設備１１２との間の熱結合に関する情報である。熱結合情報は、例えば、サーバ１１１と空調設備１１２との間の熱流量関係を規定する情報、および、サーバ１１１と空調設備１１２との供給熱流量を規定する情報などである。熱結合情報は、具体的には、図１６に後述する熱流量関係情報１６００、および、図１７に後述する供給熱流量情報１７００などである。
【００２９】
パラメータの初期値は、例えば、第１の性能情報、第２の性能情報、第３の性能情報、および、熱結合情報に基づき設定された、サーバ１１１が実行する仮想マシンの合計サイズに対する施設１１０全体の消費電力に関する初期値を含む。サーバ１１１が実行する仮想マシンの合計サイズに対する施設１１０全体の消費電力に関する初期値は、例えば、後述する式（１５）によって規定される。
【００３０】
パラメータの初期値は、例えば、第１の性能情報、第２の性能情報、第３の性能情報、および、熱結合情報に基づき設定された、サーバ１１１への電源投入の有無に対する施設１１０全体の消費電力に関する初期値を含む。サーバ１１１への電源投入の有無に対する施設１１０全体の消費電力に関する初期値は、例えば、後述する式（１６）によって規定される。
【００３１】
パラメータの初期値は、例えば、第２の性能情報、第３の性能情報、および、熱結合情報に基づき設定された、施設１１０全体での常時消費される消費電力に関する初期値を含む。施設１１０全体での常時消費される消費電力に関する初期値は、例えば、後述する式（１７）によって規定される。
【００３２】
（１−２）配置探索装置１００は、施設１１０全体での消費電力を最適化するように、複数のサーバ１１１への複数の仮想マシンの配置に関するパラメータを用いて、複数のサーバ１１１への複数の仮想マシンの配置を求める。配置探索装置１００は、求めた仮想マシンの配置に従って、複数のサーバ１１１への複数の仮想マシンの配置を制御する。
【００３３】
配置探索装置１００は、例えば、サーバ１１１での消費電力と空調設備１１２での消費電力と電源設備１１３での消費電力との合計消費電力を目的関数とする混合整数計画問題を解き、混合整数計画問題の解に基づいて配置を求める。合計消費電力を目的関数とする混合整数計画問題は、例えば、複数のサーバ１１１への複数の仮想マシンの配置に関するパラメータを用いて、サーバ１１１が実行する仮想マシンの合計サイズおよびサーバ１１１の電源投入の有無の関数として記述される。合計消費電力を目的関数とする混合整数計画問題は、具体的には、後述する式（１）、式（５）〜式（１０）によって規定される。
【００３４】
（１−３）配置探索装置１００は、逐次的なパラメータ推定方法により、施設１１０全体での消費電力を最適化するように、複数のサーバ１１１への複数の仮想マシンの配置に関するパラメータを更新する。逐次的なパラメータ推定方法は、例えば、逐次最小二乗法、忘却要素を用いた逐次最小二乗法、矩形窓を用いた逐次最小二乗法、カルマンフィルタなどである。
【００３５】
配置探索装置１００は、例えば、複数のサーバ１１１への複数の仮想マシンの配置が行われた後のデータセンタ全体での消費電力の計測値を、電力計（不図示）などから取得する。配置探索装置１００は、逐次的なパラメータ推定方法により、目的関数によって求められたデータセンタ全体での消費電力の計算値と、消費電力との計測値とを用いて、複数のサーバ１１１への複数の仮想マシンの配置に関するパラメータを更新する。配置探索装置１００は、具体的には、後述する式（１９）、式（２０）により、複数のサーバ１１１への複数の仮想マシンの配置に関するパラメータを更新する。
【００３６】
これによれば、配置探索装置１００は、逐次的なパラメータ推定方法により、混合整数計画問題に用いられるパラメータを、比較的好ましい初期値から始めて、より好ましい値へと更新していくことができる。これにより、配置探索装置１００は、混合整数計画問題に用いられるパラメータが好ましい値に近づくまでにかかる時間の低減化を図ることができる。
【００３７】
結果として、配置探索装置１００は、混合整数計画問題に用いられるパラメータとして比較的好ましくない値を用いてしまう回数を低減化することができ、データセンタ全体での消費電力を効果的に低減することができる。また、配置探索装置１００は、混合整数計画問題に用いられるパラメータを好ましい値に近づける間も、混合整数計画問題に用いられるパラメータとして比較的好ましい値を用いることができ、データセンタ全体での消費電力を効果的に低減することができる。
【００３８】
また、配置探索装置１００は、パラメータとして設定することが好ましい値が時間経過によって変化しても、混合整数計画問題に用いられるパラメータを好ましい値に近づけていくことができる。このため、配置探索装置１００は、混合整数計画問題に用いられるパラメータとして好ましい値を用いて、データセンタ全体での消費電力を効果的に低減することができる。また、配置探索装置１００は、パラメータを設定するために、データセンタ内の複数の箇所に温度センサを設けたりしなくてもよいため、データセンタの保守管理にかかるコストの増大化を抑制することができる。
【００３９】
（電子計算機システム２００の一例）
次に、図２を用いて、図１に示した配置探索装置１００を適用した、電子計算機システム２００の一例について説明する。
【００４０】
図２は、電子計算機システム２００の一例を示す説明図である。電子計算機システム２００は、例えば、データセンタ２１０によって実現される。図２の電子計算機システム２００において、データセンタ２１０には、Ｎ個のラック２２０、Ｃ台の空調設備１１２、配置探索装置１００、および、電力計２４０が設置されている。各ラック２２０と配置探索装置１００とは、例えばＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）ケーブルなどの通信ケーブルや、無線通信などによって、相互に接続されていてもよい。
【００４１】
各ラック２２０には、Ｓ台のサーバ１１１と、電源設備１１３となる無停電電源装置（ＵＰＳ：Ｕｎｉｎｔｅｒｒｕｐｔｉｂｌｅ  Ｐｏｗｅｒ  Ｓｕｐｐｌｙ）とが収容されている。各サーバ１１１には、仮想マシンが配置される。以下の説明では、各電源設備１１３は、サーバ１１１に電力を供給する。各電源設備１１３は、例えば、ラック２２０ごとに、同じラック２２０に収容されている複数のサーバ１１１に電力を供給する。
【００４２】
各空調設備１１２には、空調室内機２３１（ＣＲＡＣ  Ｕｎｉｔ：Ｃｏｍｐｕｔｅｒ  Ｒｏｏｍ  Ａｉｒ  Ｃｏｎｄｉｔｉｏｎｉｎｇ  Ｕｎｉｔ）や空調室外機２３２（Ｃｈｉｌｌｅｒ  Ｐｌａｎｔ）が含まれる。空調室内機２３１は、ラック２２０内のサーバ１１１を冷却する。空調室外機２３２は、空調室内機２３１と同数存在し、排気を行う。
【００４３】
電力計２４０は、データセンタ２１０全体での消費電力を計測し、配置探索装置１００に送信する。配置探索装置１００は、データセンタ２１０全体での消費電力を最適化するように、複数のサーバ１１１への複数の仮想マシンの配置に関するパラメータを用いて、複数のサーバ１１１への複数の仮想マシンの配置を求める。また、配置探索装置１００は、逐次的なパラメータ推定方法を用いて、電力計２４０から受信したデータセンタ２１０全体での消費電力に基づき、複数のサーバ１１１への複数の仮想マシンの配置に関するパラメータを更新する。
【００４４】
（配置探索装置１００のハードウェア構成例）
次に、図３を用いて、配置探索装置１００のハードウェア構成例について説明する。
【００４５】
図３は、配置探索装置１００のハードウェア構成例を示すブロック図である。図３において、配置探索装置１００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３０１と、メモリ３０２と、Ｉ／Ｆ（Ｉｎｔｅｒｆａｃｅ）３０３と、ディスクドライブ３０４と、ディスク３０５と、を有する。また、各構成部は、バス３００によってそれぞれ接続される。
【００４６】
ここで、ＣＰＵ３０１は、配置探索装置１００の全体の制御を司る。ＣＰＵ３０１は、実施の形態にかかる配置探索プログラムを実行することにより、混合整数計画問題の求解および仮想マシンの配置を行う。また、ＣＰＵ３０１は、配置探索プログラムを実行することにより、混合整数計画問題に用いられるパラメータの更新を行う。
【００４７】
メモリ３０２は、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）およびフラッシュＲＯＭなどを有する。具体的には、例えば、フラッシュＲＯＭやＲＯＭが各種プログラムを記憶し、ＲＡＭがＣＰＵ３０１のワークエリアとして使用される。各種プログラムは、例えば、実施の形態にかかる配置探索プログラムを含む。メモリ３０２に記憶されるプログラムは、ＣＰＵ３０１にロードされることで、コーディングされている処理をＣＰＵ３０１に実行させる。
【００４８】
Ｉ／Ｆ３０３は、通信回線を通じてネットワーク３１０に接続され、ネットワーク３１０を介して、データセンタ２１０のラック２２０などに接続される。そして、Ｉ／Ｆ３０３は、ネットワーク３１０と内部のインターフェースを司り、ラック２２０内のサーバ１１１などの他のコンピュータからのデータの入出力を制御する。Ｉ／Ｆ３０３には、例えば、モデムやＬＡＮアダプタなどを採用することができる。
【００４９】
ディスクドライブ３０４は、ＣＰＵ３０１の制御に従ってディスク３０５に対するデータのリード／ライトを制御する。ディスクドライブ３０４は、例えば、磁気ディスクドライブである。ディスク３０５は、ディスクドライブ３０４の制御で書き込まれたデータを記憶する不揮発メモリである。ディスク３０５は、例えば、磁気ディスク、光ディスクなどである。
【００５０】
配置探索装置１００は、上述した構成部のほか、例えば、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、半導体メモリ、キーボード、マウス、ディスプレイなどを有することにしてもよい。また、配置探索装置１００は、ディスクドライブ３０４およびディスク３０５の代わりに、ＳＳＤおよび半導体メモリなどを有していてもよい。
【００５１】
（サーバ１１１のハードウェア構成例）
また、サーバ１１１のハードウェア構成例は、図３に示した配置探索装置１００のハードウェア構成例と同様であるため、説明を省略する。
【００５２】
（配置探索装置１００が記憶する各種情報の一例）
次に、配置探索装置１００が記憶する各種情報の一例について説明する。配置探索装置１００は、図４〜図１７に後述するような、混合整数計画問題の求解、混合整数計画問題のパラメータに対する初期値の設定、混合整数計画問題のパラメータに対する逐次的なパラメータ推定方法による更新などの際に用いられる各種情報を記憶する。図４〜図１７に後述する各種情報は、例えば、配置探索装置１００のメモリ３０２によって記憶される。
【００５３】
（データセンタ構造情報４００の記憶内容）
まず、図４を用いて、データセンタ構造情報４００の記憶内容の一例について説明する。
【００５４】
図４は、データセンタ構造情報４００の記憶内容の一例を示す説明図である。図４に示すように、データセンタ構造情報４００は、データセンタ２１０のラック２２０の数とサーバ１１１の数と空調設備１１２の数とを示す情報である。図４の例では、データセンタ２１０に設置されたラック２２０の数は、Ｎ個である。Ｎは、正の整数である。１ラック２２０あたりのサーバ１１１の数は、Ｓ個である。Ｓは、正の整数である。データセンタ２１０に設置された空調設備１１２の数は、Ｃ個である。Ｃは、正の整数である。データセンタ構造情報４００は、例えば、混合整数計画問題の求解の際に用いられる。
【００５５】
（最大サイズ定義情報５００の記憶内容）
次に、図５を用いて、最大サイズ定義情報５００の記憶内容の一例について説明する。
【００５６】
図５は、最大サイズ定義情報５００の記憶内容の一例を示す説明図である。図５に示すように、最大サイズ定義情報５００は、ｉ番目のラック２２０のｊ番目のサーバ１１１に配置可能な仮想マシンの最大サイズを示す情報である。ｉは１〜Ｎの整数である。ｊは１〜Ｓの整数である。図５の例では、ｉ番目のラック２２０のｊ番目のサーバ１１１に配置可能な仮想マシンの最大サイズは、Ｌijである。Ｌijは、例えば、コア数やスレッド数である。最大サイズ定義情報５００は、例えば、混合整数計画問題の求解の際に用いられる。
【００５７】
（配置済みサイズ情報６００の記憶内容）
次に、図６を用いて、配置済みサイズ情報６００の記憶内容の一例について説明する。
【００５８】
図６は、配置済みサイズ情報６００の記憶内容の一例を示す説明図である。図６に示すように、配置済みサイズ情報６００は、ｉ番目のラック２２０のｊ番目のサーバ１１１に配置済みの仮想マシンの合計サイズを示す情報である。図６の例では、ｉ番目のラック２２０のｊ番目のサーバ１１１に配置済みの仮想マシンの合計サイズは、ｗ0ijである。ｗ0ijは、０以上Ｌij以下の整数である。配置済みサイズ情報６００は、例えば、混合整数計画問題の求解の際に用いられる。また、配置済みサイズ情報６００は、例えば、サーバに仮想マシンを追加配置する都度、更新される。
【００５９】
（追加配置数情報７００の記憶内容）
次に、図７を用いて、追加配置数情報７００の記憶内容の一例について説明する。
【００６０】
図７は、追加配置数情報７００の記憶内容の一例を示す説明図である。図７に示すように、追加配置数情報７００は、追加で配置すべき仮想マシンの数を規定する情報である。図７の例では、追加で配置すべき仮想マシンの数は、Ｍ個である。Ｍは正の整数である。追加配置数情報７００は、例えば、混合整数計画問題の求解の際に用いられる。
【００６１】
（仮想マシンサイズ情報８００の記憶内容）
次に、図８を用いて、仮想マシンサイズ情報８００の記憶内容の一例について説明する。
【００６２】
図８は、仮想マシンサイズ情報８００の記憶内容の一例を示す説明図である。図８に示すように、仮想マシンサイズ情報８００は、追加で配置すべき仮想マシンのサイズを規定する情報である。図８の例では、追加で配置すべきＭ個の仮想マシンに１〜Ｍの番号を付したときのｎ番目の仮想マシンのサイズは、τnである。ｎは１〜Ｍの整数である。仮想マシンサイズ情報８００は、例えば、混合整数計画問題の求解の際に用いられる。
【００６３】
（パラメータ情報９００の記憶内容）
次に、図９を用いて、パラメータ情報９００の記憶内容の一例について説明する。
【００６４】
図９は、パラメータ情報９００の記憶内容の一例を示す説明図である。図９に示すように、パラメータ情報９００は、データセンタ２１０全体での消費電力を目的関数とする混合整数計画問題に用いられる、２ＮＳ＋１個のパラメータを規定する情報である。図９の例では、データセンタ２１０全体での消費電力を目的関数とする混合整数計画問題に用いられるパラメータは、θw1,1〜θwN,Sである。また、データセンタ２１０全体での消費電力を目的関数とする混合整数計画問題に用いられるパラメータは、θv1,1〜θvN,Sである。データセンタ２１０全体での消費電力を目的関数とする混合整数計画問題に用いられるパラメータは、θbである。パラメータ情報９００は、例えば、混合整数計画問題の求解の際に用いられる。また、パラメータ情報９００は、例えば、逐次的なパラメータ推定方法による更新の際に用いられ、逐次的なパラメータ推定方法によって更新される。
【００６５】
（定数情報１０００の記憶内容）
次に、図１０を用いて、定数情報１０００の記憶内容の一例について説明する。
【００６６】
図１０は、定数情報１０００の記憶内容の一例を示す説明図である。図１０に示すように、定数情報１０００は、逐次的なパラメータ推定方法に用いられる定数を規定する情報である。図１０の例では、逐次的なパラメータ推定方法に用いられる定数は、Ｐ1,1〜Ｐ2NS+1,2NS+1である。定数情報１０００は、例えば、逐次的なパラメータ推定方法による更新の際に用いられ、逐次的なパラメータ推定方法によって更新される。
【００６７】
（動作消費電力情報１１００の記憶内容）
次に、図１１を用いて、動作消費電力情報１１００の記憶内容の一例について説明する。
【００６８】
図１１は、動作消費電力情報１１００の記憶内容の一例を示す説明図である。図１１に示すように、動作消費電力情報１１００は、サーバ１１１が実行する仮想マシンの単位サイズに対する消費電力を規定する情報である。図１１の例では、ｉ番目のラック２２０のｊ番目のサーバ１１１で実行する仮想マシンの単位サイズあたりに消費される電力はαijワットである。αijは正の実数である。動作消費電力情報１１００は、例えば、混合整数計画問題のパラメータに対する初期値の設定の際に用いられる。
【００６９】
（ベース消費電力情報１２００の記憶内容）
次に、図１２を用いて、ベース消費電力情報１２００の記憶内容の一例について説明する。
【００７０】
図１２は、ベース消費電力情報１２００の記憶内容の一例を示す説明図である。図１２に示すように、ベース消費電力情報１２００は、電子計算機システム２００におけるベース消費電力を規定する情報である。図１２の例では、ｉ番目のラック２２０のｊ番目のサーバ１１１の電源がオンになることで消費される電力はβijワットである。βijは正の実数である。ベース消費電力情報１２００は、例えば、混合整数計画問題のパラメータに対する初期値の設定の際に用いられる。
【００７１】
（室内機情報１３００の記憶内容）
次に、図１３を用いて、室内機情報１３００の記憶内容の一例について説明する。
【００７２】
図１３は、室内機情報１３００の記憶内容の一例を示す説明図である。図１３に示すように、室内機情報１３００は、空調室内機２３１のベース消費電力および比例係数を規定する情報である。図１３の例では、ｋ番目の空調室内機２３１で常に消費されるベース消費電力は、λkワットである。ｋは１〜Ｃの整数である。λkは正の実数である。また、ｋ番目の空調室内機２３１に流入する熱流量に対して、流入する熱流量の何倍の電力が空調室内機２３１で消費されるかということをあらわす比例係数は、μkである。μkは正の実数である。室内機情報１３００は、例えば、混合整数計画問題のパラメータに対する初期値の設定の際に用いられる。
【００７３】
（室外機情報１４００の記憶内容）
次に、図１４を用いて、室外機情報１４００の記憶内容の一例について説明する。
【００７４】
図１４は、室外機情報１４００の記憶内容の一例を示す説明図である。図１４に示すように、室外機情報１４００は、空調室外機２３２の比例係数を規定する情報である。図１４の例では、ｋ番目の空調室外機２３２に流入する熱流量に対して、流入する熱流量の何倍の電力が空調室外機２３２で消費されるかということをあらわす比例係数は、κkである。κkは正の実数である。なお、空調室外機２３２が常に電力を消費する場合には、空調室内機２３１と同様に、空調室外機２３２情報にも、空調室外機２３２のベース消費電力が含まれてもよい。室外機情報１４００は、例えば、混合整数計画問題のパラメータに対する初期値の設定の際に用いられる。
【００７５】
（電源設備情報１５００の記憶内容）
次に、図１５を用いて、電源設備情報１５００の記憶内容の一例について説明する。
【００７６】
図１５は、電源設備情報１５００の記憶内容の一例を示す説明図である。図１５に示すように、電源設備情報１５００は、電源設備１１３のベース消費電力および比例係数を規定する情報である。図１５の例では、ｉ番目のラック２２０の電源設備１１３で常に消費されるベース消費電力はηiワットである。ηiは正の実数である。また、ｉ番目のラック２２０内のサーバ１１１の合計消費電力に対して、合計消費電力の何倍の電力が電源設備１１３で消費されるかということをあらわす比例係数はεiである。εiは正の実数である。一例として、一般的な電源設備１１３のカタログによると、εiは０．０１〜０．０４程度である。電源設備情報１５００は、例えば、混合整数計画問題のパラメータに対する初期値の設定の際に用いられる。
【００７７】
（熱流量関係情報１６００の記憶内容）
次に、図１６を用いて、熱流量関係情報１６００の記憶内容の一例について説明する。
【００７８】
図１６は、熱流量関係情報１６００の記憶内容の一例を示す説明図である。図１６に示すように、熱流量関係情報１６００は、ラック２２０と空調設備１１２との間の熱流量関係を規定する情報である。図１６の例では、ｉ番目のラック２２０から排出された熱流量の何倍がｋ番目の空調室内機２３１に流入するかということをあらわす比例係数は、ψkiである。ψkiは、０以上１以下の実数である。熱流量関係情報１６００は、例えば、混合整数計画問題のパラメータに対する初期値の設定の際に用いられる。
【００７９】
（供給熱流量情報１７００の記憶内容）
次に、図１７を用いて、供給熱流量情報１７００の記憶内容の一例について説明する。
【００８０】
図１７は、供給熱流量情報１７００の記憶内容の一例を示す説明図である。図１７に示すように、供給熱流量情報１７００は、ラック２２０と空調設備１１２との供給熱流量を規定する情報である。図１７の例では、ｉ番目のラック２２０に対して空調室内機２３１から供給される熱流量は、ｑsup,iワットである。ｑsup,iは実数である。供給熱流量情報１７００は、例えば、混合整数計画問題のパラメータに対する初期値の設定の際に用いられる。
【００８１】
（配置探索装置１００の機能的構成例）
次に、図１８を用いて、配置探索装置１００の機能的構成例について説明する。
【００８２】
図１８は、配置探索装置１００の機能的構成例を示すブロック図である。配置探索装置１００、記憶部１８０１と、管理部１８０２と、判定部１８０３と、求解部１８０４と、配置部１８０５と、推定部１８０６とを含む。
【００８３】
記憶部１８０１は、例えば、図３に示したメモリ３０２、ディスク３０５などの記憶領域によって実現される。管理部１８０２〜推定部１８０６は、制御部となる機能であり、例えば、図３に示したメモリ３０２、ディスク３０５などの記憶領域に記憶されたプログラムをＣＰＵ３０１に実行させることにより、または、Ｉ／Ｆ３０３により、その機能を実現する。各機能部の処理結果は、例えば、図３に示したメモリ３０２、ディスク３０５などの記憶領域に記憶される。
【００８４】
記憶部１８０１は、定数、変数、目的関数および制約条件を記憶している。記憶部１８０１は、定数、変数、目的関数および制約条件を求解部１８０４に入力する。記憶部１８０１は、例えば、メモリ３０２である。記憶部１８０１は、具体的には、図４〜図１７の各種情報などを記憶する。動的に変化しない定数、変数、目的関数および制約条件は、実施の形態にかかる配置探索プログラムに記述されていてもよい。
【００８５】
管理部１８０２は、サーバ１１１に配置されている仮想マシンの情報に基づいて、図６の配置済みサイズ情報６００を書き換える。配置済みサイズ情報６００は、サーバ１１１ごとに、当該サーバ１１１に配置済みの仮想マシンの合計サイズが格納されている。配置済みサイズ定義情報は、例えば、記憶部１８０１に記憶されていてもよい。
【００８６】
判定部１８０３は、仮想マシンの追加配置、仮想マシンの初期配置、および、仮想マシンの再配置のいずれに対応した混合整数計画問題を解くべきかを判定する。判定部１８０３は、判定結果に基づいて、仮想マシンの追加配置、仮想マシンの初期配置、および仮想マシンの再配置のいずれに対応した混合整数計画問題を解く指示を、求解部１８０４に出力する。
【００８７】
求解部１８０４は、記憶部１８０１から渡される定数、変数、目的関数および制約条件と、判定部１８０３からの指示とに基づいて、混合整数計画問題を解く。混合整数計画問題は、サーバに要求される演算リソースの関数として記述された混合整数計画問題である。混合整数計画問題は、例えば、仮想マシンの配置に関するパラメータを用いて、サーバが実行する仮想マシンの合計サイズの関数として記述され、サーバでの消費電力と空調設備での消費電力と電源設備での消費電力との合計消費電力を目的関数とする。
【００８８】
求解部１８０４は、例えば、仮想マシンの初期配置に対応した混合整数計画問題を解くことによって、全てのサーバ１１１が停止している状態で、１個以上のサーバ１１１に１個以上の仮想マシンを配置する。また、求解部１８０４は、例えば、仮想マシンの追加配置に対応した混合整数計画問題を解くことによって、１個以上のサーバ１１１に１個以上の仮想マシンが既に配置されている状態に対して、さらに１個以上の仮想マシンを追加で配置してもよい。
【００８９】
また、求解部１８０４は、例えば、仮想マシンの再配置に対応した混合整数計画問題を解くことによって、１個以上のサーバ１１１に１個以上の仮想マシンが既に配置されている状態に対して、仮想マシンを配置しなおしてもよい。また、求解部１８０４は、一定時間ごとに仮想マシンの再配置を行うようにしてもよい。また、求解部１８０４は、例えば、ライブマイグレーションによる消費電力を考慮した、仮想マシンの再配置に対応した混合整数計画問題を解くことによって、仮想マシンをライブマイグレーションによって配置しなおしてもよい。
【００９０】
求解部１８０４は、具体的には、それぞれのサーバ１１１に配置済みの仮想マシンの合計サイズがｗ0ijであり、追加で配置するｎ番目の仮想マシンのサイズがτnであると設定する。そして、求解部１８０４は、後述する式（１）の目的関数と、後述する式（５）〜式（１０）の制約条件とによって規定される混合整数計画問題をソルバーによって解くことにより、仮想マシンの追加配置に対応した混合整数計画問題の解を求める。ソルバーは、例えば、ＧＬＰＫやＳＹＭＰＨＯＮＹやＧｕｒｏｂｉ  Ｏｐｔｉｍｉｚｅｒなどである。これにより、求解部１８０４は、仮想マシンの追加配置に対応した混合整数計画問題を解くことができる。
【００９１】
また、求解部１８０４は、具体的には、それぞれのサーバ１１１に配置済みの仮想マシンの合計サイズｗ0ijが０であり、追加で配置するｎ番目の仮想マシンのサイズがτnであると設定してもよい。そして、求解部１８０４は、後述する式（１）の目的関数と、後述する式（５）〜式（１０）の制約条件とによって規定される混合整数計画問題をソルバーによって解くことにより、仮想マシンの初期配置に対応した混合整数計画問題の解を求める。これにより、求解部１８０４は、仮想マシンの初期配置に対応した混合整数計画問題を解くことができる。
【００９２】
また、求解部１８０４は、具体的には、それぞれのサーバ１１１に配置済みの仮想マシンの合計サイズｗ0ijが０であり、それぞれのサーバ１１１に配置済みの仮想マシンを追加で配置する仮想マシンとして設定してもよい。そして、求解部１８０４は、後述する式（１）の目的関数と、後述する式（５）〜式（１０）の制約条件とによって規定される混合整数計画問題をソルバーによって解くことにより、仮想マシンの再配置に対応した混合整数計画問題の解を求める。これにより、求解部１８０４は、仮想マシンの再配置に対応した混合整数計画問題を解くことができる。
【００９３】
配置部１８０５は、求解部１８０４が導出する混合整数計画問題の解に基づいて、サーバ１１１に仮想マシンを配置する。配置部１８０５は、例えば、混合整数計画問題の解となる、サーバ１１１が実行する仮想マシンの合計サイズｗijに基づいて、サーバ１１１に仮想マシンを配置する。
【００９４】
推定部１８０６は、パラメータの初期値を設定する。パラメータは、例えば、サーバ１１１、空調設備１１２、電源設備１１３、熱移動の特性をあらわす個々の係数ではなく、係数を組み合わせた多項式によってあらわされる。推定部１８０６は、第１の性能情報、第２の性能情報、第３の性能情報、および、熱結合情報の少なくともいずれかに基づき、パラメータの初期値を設定する。第１の性能情報とは、複数のサーバ１１１の消費電力に関する性能情報である。第２の性能情報とは、施設１１０に設置された空調設備１１２の消費電力に関する性能情報である。第３の性能情報とは、施設１１０に配置された電源設備１１３の消費電力に関する性能情報である。
【００９５】
パラメータの初期値は、第１の性能情報、第２の性能情報、第３の性能情報、および、熱結合情報の少なくともいずれかに基づき設定された、サーバ１１１が実行する仮想マシンの合計サイズに対する施設１１０全体の消費電力に関する初期値を含む。パラメータの初期値は、例えば、後述する式（１５）によって規定される初期値を含む。
【００９６】
推定部１８０６は、例えば、図１１，図１３〜図１６の各種情報が示す定数を、後述する式（１５）に代入することにより、パラメータの初期値を算出し、パラメータの初期値を設定する。このとき、推定部１８０６は、図１１，図１３〜図１６のいずれかの情報が示す定数が分からなければ、当該定数の代わりとして用いられる所定値を後述する式（１５）に代入することにより、パラメータの初期値を算出してもよい。定数の代わりとして用いられる所定値は、例えば、１である。
【００９７】
パラメータの初期値は、第１の性能情報、第２の性能情報、第３の性能情報、および、熱結合情報の少なくともいずれかに基づき設定された、サーバ１１１への電源投入の有無に対する施設１１０全体の消費電力に関する初期値を含む。パラメータの初期値は、例えば、後述する式（１６）によって規定される初期値を含む。
【００９８】
推定部１８０６は、例えば、図１２〜図１６の各種情報が示す定数を、後述する式（１６）に代入することにより、パラメータの初期値を算出し、パラメータの初期値を設定する。このとき、推定部１８０６は、図１２〜図１６のいずれかの情報が示す定数が分からなければ、当該定数の代わりとして用いられる所定値を後述する式（１６）に代入することにより、パラメータの初期値を算出してもよい。定数の代わりとして用いられる所定値は、例えば、１である。
【００９９】
パラメータの初期値は、第２の性能情報、第３の性能情報、および、熱結合情報の少なくともいずれかに基づき設定された、施設１１０全体での常時消費される消費電力に関する初期値を含む。パラメータの初期値は、例えば、後述する式（１７）によって規定される初期値を含む。
【０１００】
推定部１８０６は、例えば、図１３〜図１７の各種情報が示す定数を、後述する式（１７）に代入することにより、パラメータの初期値を算出し、パラメータの初期値を設定する。このとき、推定部１８０６は、図１３〜図１７のいずれかの情報が示す定数が分からなければ、当該定数の代わりとして用いられる所定値を後述する式（１７）に代入することにより、パラメータの初期値を算出してもよい。定数の代わりとして用いられる所定値は、例えば、１である。
【０１０１】
また、推定部１８０６は、逐次的なパラメータ推定方法により、施設１１０全体での消費電力を最適化するように、パラメータを更新する。逐次的なパラメータ推定方法は、例えば、逐次最小二乗法、忘却要素を用いた逐次最小二乗法、矩形窓を用いた逐次最小二乗法、カルマンフィルタなどである。推定部１８０６は、例えば、逐次的なパラメータ推定方法により、施設１１０全体での消費電力への影響量をより精度よくあらわすようにパラメータを更新する。
【０１０２】
推定部１８０６は、具体的には、施設１１０全体での消費電力の計算上の値が、配置部１８０５がサーバ１１１に仮想マシンを配置した後の施設１１０全体での消費電力の計測値に近づくように、パラメータを更新する。推定部１８０６は、より具体的には、後述する式（１９）および式（２０）によって規定される更新式を解くことにより、パラメータを更新する。
【０１０３】
（配置探索装置１００が仮想マシンの配置を制御する具体的な流れ）
ここでは、下記（Ｄ−１）〜（Ｄ−３）のデータセンタ２１０の状況に対応する混合整数計画問題としての定式化について説明する。混合整数計画問題は、具体的には、配置する仮想マシンの種類や数が変化しても、混合整数計画問題に用いられる変数やパラメータの個数が変化しないように規定される。
【０１０４】
（Ｄ−１）図４のデータセンタ構造情報４００が示すように、データセンタ２１０に設置されたラック２２０の数がＮ個であり、１ラック２２０あたりのサーバ１１１の数がＳ個であり、データセンタ２１０に設置された空調設備１１２の数がＣ個であるとする。
【０１０５】
（Ｄ−２）図５の最大サイズ定義情報５００が示すように、ｉ番目のラック２２０のｊ番目のサーバ１１１に配置可能な仮想マシンの最大サイズがＬijであるとする。また、図６の配置済みサイズ情報６００が示すように、ｉ番目のラック２２０のｊ番目のサーバ１１１に配置済みの仮想マシンの合計サイズがｗ0ijであるとする。
【０１０６】
（Ｄ−３）図７の追加配置数情報７００が示すように、追加で配置すべき仮想マシンの数がＭ個であるとする。また、図８の仮想マシンサイズ情報８００が示すように、追加で配置すべきＭ個の仮想マシンに１〜Ｍの番号を付したときのｎ番目の仮想マシンのサイズがτnであるとする。
【０１０７】
上記（Ｄ−１）〜（Ｄ−３）の状況において、混合整数計画問題は、具体的には、下記式（１）の目的関数となる最小化関数と、下記式（５）〜式（１０）の制約条件によって規定される。下記式（１）は、行ベクトルと列ベクトルとの内積である。下記式（１）は、データセンタ２１０全体での消費電力をあらわすように規定され、制約条件の元で最小化される対象である。
【０１０８】
【数１】
0006699720.tif 000002
【０１０９】
上記式（１）のうち、ｗは、下記式（２）によって規定される。ｗは、具体的には、ｉ番目のラック２２０のｊ番目のサーバ１１１が実行する仮想マシンの合計サイズｗijを要素として並べたベクトルである。ｗの要素の数は、配置する仮想マシンの種類や数ではなく、サーバ１１１の数に対応し、Ｎ×Ｓである。このため、ｗの要素の数は、配置する仮想マシンの種類や数が変化しても、変化しない。
【０１１０】
【数２】
0006699720.tif 000003
【０１１１】
上記式（１）のうち、ｖは、下記式（３）によって規定される。ｖは、具体的には、ｉ番目のラック２２０のｊ番目のサーバ１１１の電源がオンであるかオフであるかを示す、ｖijを要素として並べたベクトルである。ｖijの値が０であればサーバ１１１への電源投入がなくサーバ１１１の電源がオフであり、ｖijの値が１であればサーバ１１１への電源投入がありサーバ１１１の電源がオンであることを示す。ｖの要素の数は、配置する仮想マシンの種類や数ではなく、サーバ１１１の数に対応し、Ｎ×Ｓである。このため、ｖの要素の数は、配置する仮想マシンの種類や数が変化しても、変化しない。
【０１１２】
【数３】
0006699720.tif 000004
【０１１３】
上記式（１）のうち、θTは、下記式（４）によって規定される。θTは、具体的には、ｗの各要素についての係数となるパラメータθw1,1〜θwN,Sを要素とし、ｖの各要素についての係数となるパラメータθv1,1〜θvN,Sを要素とし、定数１についての係数となるθbを要素として並べたベクトルである。
【０１１４】
【数４】
0006699720.tif 000005
【０１１５】
ここで、上記式（１）のｗと上記式（４）のθw1,1〜θwN,Sとによって、サーバ１１１が実行する仮想マシンの合計サイズに対するデータセンタ２１０全体での消費電力があらわされるようにする。このため、θw1,1〜θwN,Sには、サーバ１１１が実行する仮想マシンの単位サイズあたりのデータセンタ２１０全体での消費電力への影響量をより精度よくあらわす値が設定されることが好ましい。
【０１１６】
また、上記式（１）のｖと上記式（４）のθv1,1〜θvN,Sとによって、サーバ１１１への電源投入の有無に対するデータセンタ２１０全体の消費電力があらわされるようにする。このため、θv1,1〜θvN,Sには、サーバ１１１への電源投入の有無によるデータセンタ２１０全体での消費電力への影響量をより精度よくあらわす値が設定されることが好ましい。
【０１１７】
また、上記式（１）の定数１と上記式（４）のθbによって、ｗやｖに関わらない定数であって、データセンタ２１０全体の消費電力のうち常時消費される消費電力があらわされるようにする。このため、θbには、データセンタ２１０全体での常時消費される消費電力をより精度よくあらわす値が設定されることが好ましい。
【０１１８】
これによれば、配置される仮想マシンの種類や数に関わらずパラメータの個数が変化せず、かつ、パラメータに好ましい値が設定されればデータセンタ２１０全体での消費電力を精度よくあらわすことができる目的関数が規定される。さらに、上記目的関数に対して、制約条件が下記式（５）〜式（１０）によって規定される。
【０１１９】
下記式（５）は、ｘn,i,jが、「０」か「１」かのいずれかの値をとる離散変数であることを示す制約条件である。ｘn,i,jは、ｎ番目の仮想マシンが、ｉ番目のラック２２０のｊ番目のサーバ１１１に割り当てられているか否かを示す。ｘn,i,jは、ｉ番目のラック２２０のｊ番目のサーバ１１１でｎ番目の仮想マシンが実行されるときに１であり、ｎ番目の仮想マシンが実行されないときに０である。換言すれば、下記式（５）は、仮想マシンの配置をあらわすことができる。下記式（５）により、ｘn,i,jが「０，１」以外の値をとらないようにする。
【０１２０】
【数５】
0006699720.tif 000006
【０１２１】
下記式（６）は、上述したｖi,jが、「０」か「１」かのいずれかの値をとる離散変数であることを示す制約条件である。ｖi,jは、ｉ番目のラック２２０のｊ番目のサーバ１１１への電源投入があり電源がオンであるときに１であり、電源投入がなく電源がオフであるときに０である。換言すれば、下記式（６）は、サーバ１１１の電源がオンであるかオフであるかをあらわすことができる。下記式（６）により、変数ｖijが、「０，１」以外の値をとらないようにする。
【０１２２】
【数６】
0006699720.tif 000007
【０１２３】
下記式（７）は、各々のサーバ１１１に関するｘn,i,jの総和が「１」になることを示す制約条件である。このため、上記式（５）を考慮すれば、各々のサーバ１１１のうち、いずれか１つのサーバ１１１に関する変数ｘn,i,jが「１」になり、残余のサーバ１１１に関する変数ｘn,i,jが「０」になる。換言すれば、下記式（７）は、ｎ番目の仮想マシンはいずれか１つのサーバ１１１に割り当てられることを示し、２つ以上のサーバ１１１に割り当てられる場合やサーバ１１１に割り当てられない場合がないことをあらわすことができる。
【０１２４】
【数７】
0006699720.tif 000008
【０１２５】
下記式（８）は、ｉ番目のラック２２０のｊ番目のサーバ１１１が実行する仮想マシンの合計サイズｗijが、配置済みの仮想マシンの合計サイズｗ0ijと、追加で配置される仮想マシンのサイズτnとの和であることを示す制約条件である。換言すれば、下記式（８）は、追加で仮想マシンを配置した後に、ｉ番目のラック２２０のｊ番目のサーバ１１１が実行することになる仮想マシンの合計サイズｗijをあらわすことができる。
【０１２６】
【数８】
0006699720.tif 000009
【０１２７】
下記式（９）は、ｉ番目のラック２２０のｊ番目のサーバ１１１が実行する仮想マシンの合計サイズｗijが、ｉ番目のラック２２０のｊ番目のサーバ１１１に配置可能な仮想マシンの最大サイズＬij以下であることを示す制約条件である。換言すれば、下記式（９）は、仮想マシンを追加しても実行することができないサーバ１１１に仮想マシンを追加しないことをあらわすことができる。
【０１２８】
【数９】
0006699720.tif 000010
【０１２９】
下記式（１０）は、ｉ番目のラック２２０のｊ番目のサーバ１１１の電源がオンである場合にはｉ番目のラック２２０のｊ番目のサーバ１１１に１個以上の仮想マシンが配置されることを示す制約条件である。また、下記式（１０）は、ｉ番目のラック２２０のｊ番目のサーバ１１１に仮想マシンが配置されない場合にはｉ番目のラック２２０のｊ番目のサーバ１１１の電源をオフにすることを示す制約条件でもある。
【０１３０】
【数１０】
0006699720.tif 000011
【０１３１】
ここで、上述したように、混合整数計画問題の目的関数に用いられるパラメータθw1,1〜θwN,S、θv1,1〜θvN,S、θbには、データセンタ２１０全体での消費電力の低減化を図る観点から好ましい値が設定されることが望まれる。このため、逐次的なパラメータ推定方法を用いて、混合整数計画問題を解く都度、パラメータθw1,1〜θwN,S、θv1,1〜θvN,S、θbを好ましい値に近づくように更新する。このとき、逐次的なパラメータ推定方法には、下記（Ｍ−１）および（Ｍ−２）のような性質がある。
【０１３２】
（Ｍ−１）パラメータθw1,1〜θwN,S、θv1,1〜θvN,S、θbの初期値が、データセンタ２１０全体での消費電力の低減化を図る観点から好ましい値に比較的近い場合がある。この場合では、パラメータθw1,1〜θwN,S、θv1,1〜θvN,S、θbが、データセンタ２１０全体での消費電力の低減化を図る観点から好ましい値に近づくまでにかかる時間または処理量が低減化される傾向がある。
【０１３３】
（Ｍ−２）パラメータθw1,1〜θwN,S、θv1,1〜θvN,S、θbの初期値が、データセンタ２１０全体での消費電力の低減化を図る観点から好ましい値から比較的遠い場合がある。この場合では、パラメータθw1,1〜θwN,S、θv1,1〜θvN,S、θbが、データセンタ２１０全体での消費電力の低減化を図る観点から好ましい値に近づくまでにかかる時間または処理量が増大化しやすい傾向がある。結果としてこの場合では、パラメータθw1,1〜θwN,S、θv1,1〜θvN,S、θbが、データセンタ２１０全体での消費電力の低減化を図る観点から好ましい値に近づくまでの間、データセンタ２１０全体での消費電力を低減化することが難しくなる。
【０１３４】
このため、パラメータθw1,1〜θwN,S、θv1,1〜θvN,S、θbの初期値についても、データセンタ２１０全体での消費電力の低減化を図る観点から好ましい値に比較的近い値を用いることが好ましい。そこで、データセンタ２１０全体での消費電力について説明し、データセンタ２１０全体での消費電力を低減する観点から好ましい値に比較的近くなる、パラメータθw1,1〜θwN,S、θv1,1〜θvN,S、θbの初期値について説明する。
【０１３５】
ここで、データセンタ２１０全体での消費電力について説明するために、データセンタ２１０に設置されたサーバ１１１、空調設備１１２となる空調室内機２３１および空調室外機２３２、電源設備１１３が有する消費電力に関する性質について説明する。例えば、サーバ１１１は、消費電力に関して下記（Ｓ−１）〜（Ｓ−３）のような性質を有する。
【０１３６】
（Ｓ−１）サーバ１１１において仮想マシンが１個でも実行されるときにはサーバ１１１の電源がオンになり、サーバ１１１において仮想マシンが実行されないときにはサーバ１１１の電源がオフになる。
【０１３７】
（Ｓ−２）サーバ１１１の電源がオンになるとサーバ１１１において一定の電力が消費される。
【０１３８】
（Ｓ−３）サーバ１１１において実行される仮想マシンの合計サイズが増えると負荷が高くなり、実行される仮想マシンの合計サイズに応じて消費電力が増える。
【０１３９】
また、例えば、電源設備１１３は、消費電力に関して下記（Ｕ−１）および（Ｕ−２）のような性質を有する。
【０１４０】
（Ｕ−１）ラック２２０内のサーバ１１１の動作状態に関わらず、ラック２２０内の電源設備１１３において常に一定の電力が消費される。
【０１４１】
（Ｕ−２）ラック２２０内のサーバ１１１の合計消費電力が増えると、ラック２２０内のサーバ１１１の合計消費電力に応じてラック２２０内の電源設備１１３の消費電力が増える。
【０１４２】
また、例えば、空調室内機２３１は、消費電力に関して下記（Ｃ−１）および（Ｃ−２）のような性質を有する。
【０１４３】
（Ｃ−１）空調室内機２３１において常に一定の電力が消費される。
【０１４４】
（Ｃ−２）ｋ番目の空調室内機２３１に流入する熱流量が増えると、ｋ番目の空調室内機２３１の消費電力が増える。
【０１４５】
また、例えば、空調室外機２３２は、消費電力に関して下記（Ｃ−３）および（Ｃ−４）のような性質を有する。
【０１４６】
（Ｃ−３）ｋ番目の空調室外機２３２に流入する熱流量は、ｋ番目の空調室内機２３１から排出される熱流量に等しい。
【０１４７】
（Ｃ−４）ｋ番目の空調室外機２３２から排出される熱流量が増えると、ｋ番目の空調室外機２３２の消費電力が増える。
【０１４８】
以上、データセンタ２１０に設置されたサーバ１１１、空調設備１１２となる空調室内機２３１および空調室外機２３２、電源設備１１３が、上述したような消費電力に関する性質を有する。このため、データセンタ２１０全体での消費電力は、下記式（１１）によって規定されることになる。
【０１４９】
【数１１】
0006699720.tif 000012
【０１５０】
上記式（１１）は、データセンタ２１０に設置されたサーバ１１１、空調室内機２３１および空調室外機２３２、電源設備１１３が有する性質に基づき、図１１〜図１７の各種情報が示す定数を用いて、データセンタ２１０全体での消費電力を示した数式である。ここでは、図１１〜図１７の各種情報が示す定数の説明については、図１１〜図１７と重複するため、省略する。さらに、データセンタ２１０における熱結合は、下記（Ｑ−１）〜（Ｑ−３）の性質を有する。
【０１５１】
（Ｑ−１）各空調室内機２３１から排出される熱流量は、各空調室内機２３１に流入する熱流量に、当該空調室内機２３１で発生した熱流量（すなわち、消費電力）を足したものである。ここで、（Ｑ−１）の性質は、例えば、下記式（１２）によって規定される。
【０１５２】
【数１２】
0006699720.tif 000013
【０１５３】
（Ｑ−２）各空調室内機２３１に流入する熱流量は、各ラック２２０から排出される熱流量である。（Ｑ−２）の性質は、例えば、下記式（１３）によって規定される。
【０１５４】
【数１３】
0006699720.tif 000014
【０１５５】
（Ｑ−３）各ラック２２０から排出される熱流量は、各ラック２２０に流入する熱流量に、当該ラック２２０で発生した熱流量（すなわち、消費電力）を足したものである。（Ｑ−３）の性質は、例えば、下記式（１４）によって規定される。
【０１５６】
【数１４】
0006699720.tif 000015
【０１５７】
ここで、以上説明した、上記式（１１）によって規定されたデータセンタ２１０全体での消費電力を、上記式（１２）〜式（１４）を参照して、上記式（１）によって規定されたデータセンタ２１０全体での消費電力と比較する。これにより、上記式（１）のパラメータθw1,1〜θwN,S、θv1,1〜θvN,S、θbの初期値は、下記式（１５）〜式（１７）によって規定される。
【０１５８】
【数１５】
0006699720.tif 000016
【０１５９】
【数１６】
0006699720.tif 000017
【０１６０】
【数１７】
0006699720.tif 000018
【０１６１】
これにより、混合整数計画問題に用いられるパラメータを、比較的好ましい初期値から始めることができる。これにより、配置探索装置１００は、混合整数計画問題に用いられるパラメータを好ましい値に近づける間も、混合整数計画問題に用いられるパラメータとして比較的好ましい値を用いて、データセンタ２１０全体での消費電力を低減化することができる。
【０１６２】
その後、配置探索装置１００は、上記式（５）〜式（１０）の制約条件を満たすように、上記式（１５）〜式（１７）のパラメータθw1,1〜θwN,S、θv1,1〜θvN,S、θbの初期値を用いて、上記式（１）の目的関数を最小化する解を求める。上記式（１）の目的関数を最小化する解は、例えば、下記式（１８）によって規定される。
【０１６３】
【数１８】
0006699720.tif 000019
【０１６４】
そして、配置探索装置１００は、求めた解に基づいて、複数のサーバ１１１に複数の仮想マシンを配置する。一方で、電力計２４０は、混合整数計画問題の解に基づき複数のサーバ１１１に複数の仮想マシンが配置された状態におけるデータセンタ２１０全体での消費電力を計測し、計測したデータセンタ２１０全体での消費電力を配置探索装置１００に送信する。以下の説明では、計測したデータセンタ２１０全体での消費電力を「実消費電力」と表記する場合がある。
【０１６５】
（配置探索装置１００が混合整数計画問題のパラメータを更新する具体的な流れ）
上述したように、混合整数計画問題の目的関数に用いられるパラメータθw1,1〜θwN,S、θv1,1〜θvN,S、θbには、データセンタ２１０全体での消費電力の低減化を図る観点から好ましい値が設定されることが望まれる。このため、配置探索装置１００は、逐次的なパラメータ推定方法を用いて、パラメータθw1,1〜θwN,S、θv1,1〜θvN,S、θbを更新する。
【０１６６】
例えば、逐次最小二乗法は、下記式（１９）および式（２０）によって規定される。ｐは、データセンタ２１０全体での実消費電力を示す。θTξ*は、データセンタ２１０全体での計算上の消費電力を示す。このため、下記式（１９）および式（２０）によって、データセンタ２１０全体での計算上の消費電力が、データセンタ２１０全体での実消費電力に近づくように、パラメータが更新されることになる。
【０１６７】
【数１９】
0006699720.tif 000020
【０１６８】
【数２０】
0006699720.tif 000021
【０１６９】
パラメータθw1,1〜θwN,S、θv1,1〜θvN,S、θbを最初に更新する際には、上記式（２０）のＰの初期値は、例えば、下記式（２１）によって規定される。Ｉ2NS+1は、サイズが２ＮＳ＋１の単位行列である。γは、比較的大きな正の値である。パラメータθw1,1〜θwN,S、θv1,1〜θvN,S、θbを２回目以降に更新する際には、Ｐについても更新された値を用いる。
【０１７０】
【数２１】
0006699720.tif 000022
【０１７１】
これにより、配置探索装置１００は、逐次的なパラメータ推定方法により、混合整数計画問題に用いられるパラメータを、より好ましい値へと更新することができる。結果として、配置探索装置１００は、より好ましい値に更新されたパラメータθw1,1〜θwN,S、θv1,1〜θvN,S、θbを用いて、上記式（１）の目的関数を最小化する解を求めることができる。そして、配置探索装置１００は、データセンタ２１０全体での消費電力を効果的に低減することができる。
【０１７２】
具体的には、配置探索装置１００は、データセンタ全体での消費電力を目的関数とする混合整数計画問題として、上記式（１）の目的関数および上記式（５）〜式（１０）の制約条件を規定している。そして、配置探索装置１００は、上記式（１）の目的関数に用いられるパラメータとして、逐次的に、より好ましい値を用いることができる。また、配置探索装置１００は、上記式（５）〜式（１０）の制約条件に用いられる係数として、予め正確な値が判明している係数を用いることができる。
【０１７３】
これらのことから、配置探索装置１００は、より好ましいパラメータや正確な係数を用いた混合整数計画問題を規定することができ、混合整数計画問題の目的関数がより正確にデータセンタ２１０全体での消費電力をあらわすようにすることができる。結果として、配置探索装置１００は、混合整数計画問題を解くことにより、データセンタ２１０全体での消費電力を効果的に低減することができる。
【０１７４】
ところで、例えば、αij、βij、λk、μk、κk、ηi、εi、ψki、ｑsup,iなどをパラメータとして、データセンタ２１０全体での消費電力を目的関数とする混合整数計画問題を定式化し、消費電力の低減化を図る場合が考えられる。しかしながら、この場合では、αij、βij、λk、μk、κk、ηi、εi、ψki、ｑsup,iなどを精度よく求めることが難しいため、データセンタ２１０全体での消費電力を効果的に低減することが難しい傾向がある。
【０１７５】
一方で、αij、βij、λk、μk、κk、ηi、εi、ψki、ｑsup,iは、パラメータθw1,1〜θwN,S、θv1,1〜θvN,S、θbの初期値を算出するために用いる場合には有効である傾向がある。そこで、配置探索装置１００は、αij、βij、λk、μk、κk、ηi、εi、ψki、ｑsup,iを直接パラメータとして用いず、パラメータθw1,1〜θwN,S、θv1,1〜θvN,S、θbの初期値を求める際に用いるようにしている。これにより、配置探索装置１００は、αij、βij、λk、μk、κk、ηi、εi、ψki、ｑsup,iを直接パラメータとして用いる場合に比べて、データセンタ２１０全体での消費電力を効果的に低減しやすくすることができる。
【０１７６】
（配置探索装置１００が混合整数計画問題のパラメータを更新した結果の一例）
次に、図１９を用いて、配置探索装置１００が混合整数計画問題のパラメータを更新した結果の一例について説明する。
【０１７７】
図１９は、配置探索装置１００が混合整数計画問題のパラメータを更新した結果の一例を示す説明図である。以上に示したように、配置探索装置１００は、上述した混合整数計画問題の解を求める都度、上述した逐次的最小二乗法によって上述した混合整数計画問題の目的関数に用いられるパラメータθw1,1〜θwN,S、θv1,1〜θvN,S、θbを更新していく。
【０１７８】
図１９の例では、パラメータθbについて説明するが、他のパラメータについても同様である。以下の説明では、パラメータθbの値であって、データセンタ２１０全体での消費電力への影響を精度よくあらわし、データセンタ２１０全体での消費電力の低減化を図る観点から好ましい値を「パラメータθbの真値」と表記する場合がある。
【０１７９】
図１９に示すように、逐次最小二乗法によって更新されるにつれて、パラメータθbの値は、パラメータθbの真値に近づいていく。これにより、配置探索装置１００は、逐次的なパラメータ推定方法により、混合整数計画問題に用いられるパラメータを、より好ましい値へと更新していくことができる。
【０１８０】
また、パラメータθbの初期値を上記式（１４）によって規定した場合、パラメータθbの初期値を０にした場合に比べて、パラメータθbの真値に近づくまでにかかる時間や処理量が低減化される。これにより、配置探索装置１００は、混合整数計画問題に用いられるパラメータとして比較的好ましくない値を用いてしまう回数を低減化することができ、データセンタ２１０全体での消費電力を低減化することができる。
【０１８１】
（仮想マシンの配置処理手順）
次に、図２０を用いて、仮想マシンの配置処理手順について説明する。
【０１８２】
図２０は、仮想マシンの配置処理手順の一例を示すフローチャートである。図２０において、まず、配置探索装置１００は、仮想マシンの配置が開始されると、仮想マシンの配置の種類が、追加配置、初期配置、および再配置のいずれであるかを判定する（ステップＳ２００１）。
【０１８３】
次に、配置探索装置１００は、判定結果に基づいて、記憶部１８０１に記憶された定数および変数の値を読み出し、目的関数および制約条件を設定する（ステップＳ２００２）。そして、配置探索装置１００は、読み出した定数および変数、設定した目的関数および制約条件に基づいて、ソルバーによって混合整数計画問題を解き、解を求める（ステップＳ２００３）。
【０１８４】
次に、配置探索装置１００は、求めた解に基づいて、仮想マシンを配置する（ステップＳ２００４）。そして、配置探索装置１００は、仮想マシンを配置した状態におけるデータセンタ２１０全体での実消費電力を取得する（ステップＳ２００５）。
【０１８５】
次に、配置探索装置１００は、取得した実消費電力に基づいて、混合整数計画問題のパラメータを更新する（ステップＳ２００６）。そして、配置探索装置１００は、仮想マシンの配置処理を終了する。これにより、配置探索装置１００は、データセンタ２１０全体での消費電力が低減化されるように仮想マシンを配置することができる。
【０１８６】
以上説明したように、配置探索装置１００によれば、パラメータの初期値に、第１の性能情報、第２の性能情報、第３の性能情報、および、熱結合情報のうち、少なくともいずれかに基づき設定された初期値を用いることができる。そして、配置探索装置１００によれば、複数のサーバ１１１を有する施設１１０全体での消費電力を最適化するように、パラメータを用いて複数のサーバ１１１への複数の仮想マシンの配置を求めることができる。また、配置探索装置１００によれば、逐次的なパラメータ推定方法によりパラメータを更新することができる。
【０１８７】
これによれば、配置探索装置１００は、逐次的なパラメータ推定方法により、混合整数計画問題に用いられるパラメータを、比較的好ましい初期値から始めて、より好ましい値へと更新していくことができる。これにより、配置探索装置１００は、混合整数計画問題に用いられるパラメータが好ましい値に近づくまでにかかる時間の低減化を図ることができる。結果として、配置探索装置１００は、混合整数計画問題に用いられるパラメータとして比較的好ましくない値を用いてしまう回数を低減化することができ、施設１１０全体での消費電力を低減化することができる。
【０１８８】
また、配置探索装置１００によれば、パラメータを用いてサーバ１１１が実行する仮想マシンの合計サイズの関数として記述された、施設１１０全体での消費電力を目的関数とする混合整数計画問題を用いることができる。そして、配置探索装置１００によれば、混合整数計画問題を解き、混合整数計画問題の解に基づいて配置を求めることができる。これにより、配置探索装置１００は、配置する仮想マシンの種類や数に関わらずパラメータの数が変化しない混合整数計画問題を用いることができ、最小二乗法によってパラメータを更新可能にすることができる。
【０１８９】
また、配置探索装置１００によれば、第１〜第３の性能情報、および、熱結合情報に基づき設定された、サーバ１１１が使用する演算リソースに対する施設１１０全体の消費電力に関する初期値を含むパラメータの初期値を用いることができる。これにより、配置探索装置１００は、サーバ１１１が使用する演算リソースに対する施設１１０全体の消費電力に関するパラメータを、比較的好ましい値から始めることができる。そして、配置探索装置１００は、サーバ１１１が実行する仮想マシンの合計サイズに対する施設１１０全体の消費電力に関するパラメータが、施設１１０全体での消費電力を低減化する観点から好ましい値に近づくまでにかかる時間を低減化することができる。
【０１９０】
また、配置探索装置１００によれば、第１〜第３の性能情報、および、熱結合情報に基づき設定された、サーバ１１１の電源投入の有無に対する施設１１０全体の消費電力に関する初期値を含むパラメータの初期値を用いることができる。これにより、配置探索装置１００は、サーバ１１１の電源投入の有無に対する施設１１０全体の消費電力に関するパラメータを、比較的好ましい値から始めることができる。そして、配置探索装置１００は、サーバ１１１の電源投入の有無に対する施設１１０全体の消費電力に関するパラメータが、施設１１０全体での消費電力を低減化する観点から好ましい値に近づくまでにかかる時間を低減化することができる。
【０１９１】
また、配置探索装置１００によれば、パラメータの初期値は、第２および第３の性能情報、および、熱結合情報に基づき設定された、施設１１０全体での常時消費される消費電力に関する初期値を含むパラメータの初期値を用いることができる。これにより、配置探索装置１００は、施設１１０全体での常時消費される消費電力に関するパラメータを、比較的好ましい値から始めることができる。そして、配置探索装置１００は、施設１１０全体での常時消費される消費電力に関するパラメータが、施設１１０全体での消費電力を低減化する観点から好ましい値に近づくまでにかかる時間を低減化することができる。
【０１９２】
なお、本実施の形態で説明した配置探索方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本配置探索プログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また本配置探索プログラムは、インターネット等のネットワークを介して配布してもよい。
【０１９３】
上述した実施の形態に関し、さらに以下の付記を開示する。
【０１９４】
（付記１）複数のサーバを有する施設における、前記複数のサーバへの複数の仮想マシンの配置を探索するプログラムであって、
前記複数のサーバへの前記複数の仮想マシンの配置に関するパラメータの初期値を、前記複数のサーバの消費電力に関する第１の性能情報、前記施設に設置された空調設備の消費電力に関する第２の性能情報、前記施設に配置された電源設備の消費電力に関する第３の性能情報、および、前記複数のサーバ間および前記複数のサーバと前記空調設備との間の熱結合に関する熱結合情報のうち、少なくともいずれかに基づき設定し、
逐次的なパラメータ推定方法により前記施設全体の消費電力を最適化するように、前記パラメータを更新する、
処理をコンピュータに実行させることを特徴とする配置探索プログラム。
【０１９５】
（付記２）前記パラメータを用いて前記サーバが実行する仮想マシンの合計サイズの関数として記述された、前記サーバでの消費電力と前記空調設備での消費電力と前記電源設備での消費電力との合計消費電力を目的関数とする混合整数計画問題を解き、前記混合整数計画問題の解に基づいて前記配置を求める、
処理を前記コンピュータに実行させることを特徴とする付記１に記載の配置探索プログラム。
【０１９６】
（付記３）前記設定する処理は、
前記第１の性能情報、前記第２の性能情報、前記第３の性能情報、および、前記熱結合情報に基づき、前記サーバが実行する仮想マシンの合計サイズに対する前記施設全体の消費電力に関する初期値を含む、前記パラメータの初期値を設定する、ことを特徴とする付記１または２に記載の配置探索プログラム。
【０１９７】
（付記４）前記設定する処理は、
前記第１の性能情報、前記第２の性能情報、前記第３の性能情報、および、前記熱結合情報に基づき、前記サーバが電源投入の有無に対する前記施設全体の消費電力に関する初期値を含む、前記パラメータの初期値を設定する、ことを特徴とする付記１〜３のいずれか一つに記載の配置探索プログラム。
【０１９８】
（付記５）前記設定する処理は、
前記第２の性能情報、前記第３の性能情報、および、前記熱結合情報に基づき、前記施設全体での常時消費される消費電力に関する初期値を含む、前記パラメータの初期値を設定する、ことを特徴とする付記１〜４のいずれか一つに記載の配置探索プログラム。
【０１９９】
（付記６）複数のサーバを有する施設における、前記複数のサーバへの複数の仮想マシンの配置を探索する方法であって、
前記複数のサーバへの前記複数の仮想マシンの配置に関するパラメータの初期値を、前記複数のサーバの消費電力に関する第１の性能情報、前記施設に設置された空調設備の消費電力に関する第２の性能情報、前記施設に配置された電源設備の消費電力に関する第３の性能情報、および、前記複数のサーバ間および前記複数のサーバと前記空調設備との間の熱結合に関する熱結合情報のうち、少なくともいずれかに基づき設定し、
逐次的なパラメータ推定方法により前記施設全体での消費電力を最適化するように、前記パラメータを更新する、
処理をコンピュータが実行することを特徴とする配置探索方法。
【０２００】
（付記７）複数のサーバを有する施設における、前記複数のサーバへの複数の仮想マシンの配置を探索する装置であって、
前記複数のサーバへの前記複数の仮想マシンの配置に関するパラメータの初期値を、前記複数のサーバの消費電力に関する第１の性能情報、前記施設に設置された空調設備の消費電力に関する第２の性能情報、前記施設に配置された電源設備の消費電力に関する第３の性能情報、および、前記複数のサーバ間および前記複数のサーバと前記空調設備との間の熱結合に関する熱結合情報のうち、少なくともいずれかに基づき設定し、
逐次的なパラメータ推定方法により前記施設全体での消費電力を最適化するように、前記パラメータを更新する、
制御部を有することを特徴とする配置探索装置。
【符号の説明】
【０２０１】
１００  配置探索装置
１１０  施設
２００  電子計算機システム
２１０  データセンタ
２２０  ラック
２３１  空調室内機
２３２  空調室外機
２４０  電力計
３００  バス
３０１  ＣＰＵ
３０２  メモリ
３０３  Ｉ／Ｆ
３０４  ディスクドライブ
３０５  ディスク
４００  データセンタ構造情報
５００  最大サイズ定義情報
６００  配置済みサイズ情報
７００  追加配置数情報
８００  仮想マシンサイズ情報
９００  パラメータ情報
１０００  定数情報
１１００  動作消費電力情報
１２００  ベース消費電力情報
１３００  室内機情報
１４００  室外機情報
１５００  電源設備情報
１６００  熱流量関係情報
１７００  供給熱流量情報
１８０１  記憶部
１８０２  管理部
１８０３  判定部
１８０４  求解部
１８０５  配置部
１８０６  推定部
【図１】
0006699720.tif 000023
【図２】
0006699720.tif 000024
【図３】
0006699720.tif 000025
【図４】
0006699720.tif 000026
【図５】
0006699720.tif 000027
【図６】
0006699720.tif 000028
【図７】
0006699720.tif 000029
【図８】
0006699720.tif 000030
【図９】
0006699720.tif 000031
【図１０】
0006699720.tif 000032
【図１１】
0006699720.tif 000033
【図１２】
0006699720.tif 000034
【図１３】
0006699720.tif 000035
【図１４】
0006699720.tif 000036
【図１５】
0006699720.tif 000037
【図１６】
0006699720.tif 000038
【図１７】
0006699720.tif 000039
【図１８】
0006699720.tif 000040
【図１９】
0006699720.tif 000041
【図２０】
0006699720.tif 000042