(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-18
(45)【発行日】2024-11-26
(54)【発明の名称】電力量低減制御装置、電力量低減制御方法、電力量低減制御システム、および、プログラム
(51)【国際特許分類】
G06F 1/3203 20190101AFI20241119BHJP
G06F 1/20 20060101ALI20241119BHJP
G06F 9/455 20180101ALI20241119BHJP
G06F 11/30 20060101ALI20241119BHJP
【FI】
G06F1/3203
G06F1/20 B
G06F9/455 150
G06F11/30 158
(21)【出願番号】P 2023565667
(86)(22)【出願日】2021-12-06
(86)【国際出願番号】 JP2021044640
(87)【国際公開番号】W WO2023105557
(87)【国際公開日】2023-06-15
【審査請求日】2024-04-25
(73)【特許権者】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(74)【代理人】
【識別番号】110001807
【氏名又は名称】弁理士法人磯野国際特許商標事務所
(72)【発明者】
【氏名】中里 彦俊
(72)【発明者】
【氏名】金子 雅志
【審査官】征矢 崇
(56)【参考文献】
【文献】国際公開第2013/042615(WO,A1)
【文献】国際公開第2017/168664(WO,A1)
【文献】国際公開第2021/192201(WO,A1)
【文献】特開2013-92951(JP,A)
【文献】米国特許出願公開第2012/0116595(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F1/32-1/3296
G06F1/20
G06F9/455
G06F11/30
(57)【特許請求の範囲】
【請求項1】
データセンタが有する、複数のサーバおよび複数の空調機を制御する電力量低減制御装置であって、
前記データセンタのフロアには、仮想リソースを配置するまとまったサーバ群が配置される複数の配置制御区域と、前記複数の空調機による空調制御の効果を測定するエリアであり、前記サーバ群の吸込口側または吐出口側のいずれかに位置する複数の空調制御区域とが、設定されており、
前記電力量低減制御装置は、
複数の前記空調制御区域で測定された温度の平均値から算出するフロア平均温度、前記データセンタの外部の温度である外温、および、前記仮想リソースが前記サーバに配置された場合の予測量である前記配置制御区域ごとのサーバ消費電力量、を含む空調制御に関する外界因子の情報を取得する外界因子取得部と、
前記外界因子それぞれの値を所定のレンジ幅に分割し、前記外界因子ごとに分割したレンジを組み合わせてSituation分類として定義し、取得した前記外界因子の情報がどのSituation分類に属するかを判定するSituation判定部と、
判定されたSituation分類それぞれにおいて、前記複数の空調機に設定する、少なくとも目標温度を含む空調制御値を算出する制御値探索部と、
算出された前記空調制御値を用いて前記複数の空調機の制御を実行させる空調制御実行部と、
前記複数の空調機の空調制御値と、当該空調制御値による制御を行った場合の前記複数の空調機の空調消費電力量とを取得して、前記Situation分類ごとに、前記複数の空調機の空調制御値に、前記空調消費電力量を対応付けた制御値電力量対応情報を生成する対応情報生成部と、
新規に配置予定の前記仮想リソースを、前記複数のサーバのいずれかに配置する配置パターンを算出する配置パターン算出部と、
算出した配置パターン毎に、前記配置制御区域それぞれに属するサーバ群のサーバ消費電力量を推定するサーバ消費電力量推定部と、
前記配置制御区域それぞれのサーバ消費電力量を用いたSituation分類の判定結果を前記Situation判定部から取得し、前記制御値電力量対応情報を参照して、当該Situation分類における、前記複数の空調機の空調制御値および前記空調消費電力量を、配置パターン毎に取得し、
配置パターンそれぞれにおいて、前記配置制御区域ごとのサーバ消費電力量を合計し、その合計であるトータルのサーバ消費電力量と、前記空調消費電力量との合計量を算出し、算出した合計量が最も小さい配置パターンを、前記仮想リソースを配置する配置パターンに決定する配置パターン決定部と、
を備えることを特徴とする電力量低減制御装置。
【請求項2】
前記電力量低減制御装置は、
前記空調制御実行部が前記複数の空調機を前記空調制御値により制御した結果を、前記目標温度を指標として評価する報酬を算出する報酬計算部を備えており、
前記制御値探索部は、
前記外界因子の情報、前記複数の空調機の前記空調制御値、および、前記報酬を学習データとして、前記報酬が最大化されるように機械学習することにより、前記外界因子の情報を入力すると、前記複数の空調機の空調制御値を出力する、前記Situation分類ごとの空調制御学習モデルを生成する学習モデル管理部を備えること、
を特徴とする請求項1に記載の電力量低減制御装置。
【請求項3】
前記電力量低減制御装置は、
前記空調制御実行部が前記複数の空調機を前記空調制御値により制御した結果を、前記目標温度を指標として評価する報酬を算出する報酬計算部と、縮退稼働部とを備えており、
前記対応情報生成部は、前記報酬が所定の報酬条件を満たす場合に、当該Situation分類における前記制御値電力量対応情報を生成しており、
前記縮退稼働部は、前記Situation分類ごとに、前記所定の報酬条件を満たす範囲内で、より消費電力コストが小さい空調制御値の探索を縮退稼働により行い、
前記対応情報生成部は、前記縮退稼働部により探索された空調制御値を用いて、前記Situation分類ごとの前記制御値電力量対応情報を更新すること、
を特徴とする請求項1に記載の電力量低減制御装置。
【請求項4】
前記縮退稼働部は、
前記空調制御値を、最小値から最大値までの間のM(2以上の整数)段階に分けて定義しておき、
算出された報酬が所定の報酬条件を満たす合格である場合に、消費電力量が低減される方向へ前記空調制御値を段階的に下げる処理を繰り返し、前記算出された報酬が所定の報酬条件を満たさず不合格となった空調制御値の1段階前の制御値を、最も消費電力コストの小さい空調制御値として決定すること、
を特徴とする請求項3に記載の電力量低減制御装置。
【請求項5】
前記縮退稼働部は、
前記空調制御値を、最小値から最大値までの間のM(2以上の整数)段階に分けて定義しておき、
算出された報酬が所定の報酬条件を満たす合格である場合に、消費電力量が低減される方向へ前記空調制御値を段階的に下げる処理を繰り返し、前記算出された報酬が所定の報酬条件を満たさず不合格となった空調制御値の1段階前の制御値で、再度報酬を満たすか否かの再確認を行い、前記再確認で不合格の場合に、さらに1段階前の制御値で報酬を満たすか否かの再確認を繰り返し、前記再確認で報酬が合格となった空調制御値を、最も消費電力コストの小さい空調制御値として決定すること、
を特徴とする請求項3に記載の電力量低減制御装置。
【請求項6】
データセンタが有する、複数のサーバおよび複数の空調機を制御する電力量低減制御装置の電力量低減制御方法であって、
前記データセンタのフロアには、仮想リソースを配置するまとまったサーバ群が配置される複数の配置制御区域と、前記複数の空調機による空調制御の効果を測定するエリアであり、前記サーバ群の吸込口側または吐出口側のいずれかに位置する複数の空調制御区域とが、設定されており、
前記電力量低減制御装置は、
複数の前記空調制御区域で測定された温度の平均値から算出するフロア平均温度、前記データセンタの外部の温度である外温、および、前記仮想リソースが前記サーバに配置された場合の予測量である前記配置制御区域ごとのサーバ消費電力量、を含む空調制御に関する外界因子の情報を取得するステップと、
前記外界因子それぞれの値を所定のレンジ幅に分割し、前記外界因子ごとに分割したレンジを組み合わせてSituation分類として定義し、取得した前記外界因子の情報がどのSituation分類に属するかを判定するステップと、
判定されたSituation分類それぞれにおいて、前記複数の空調機に設定する、少なくとも目標温度を含む空調制御値を算出するステップと、
算出された前記空調制御値を用いて前記複数の空調機の制御を実行させるステップと、
前記複数の空調機の空調制御値と、当該空調制御値による制御を行った場合の前記複数の空調機の空調消費電力量とを取得して、前記Situation分類ごとに、前記複数の空調機の空調制御値に、前記空調消費電力量を対応付けた制御値電力量対応情報を生成するステップと、
新規に配置予定の前記仮想リソースを、前記複数のサーバのいずれかに配置する配置パターンを算出するステップと、
算出した配置パターン毎に、前記配置制御区域それぞれに属するサーバ群のサーバ消費電力量を推定するステップと、
前記配置制御区域それぞれのサーバ消費電力量を用いたSituation分類の判定結果を取得し、前記制御値電力量対応情報を参照して、当該Situation分類における、前記複数の空調機の空調制御値および前記空調消費電力量を、配置パターン毎に取得するステップと、
配置パターンそれぞれにおいて、前記配置制御区域ごとのサーバ消費電力量を合計し、その合計であるトータルのサーバ消費電力量と、前記空調消費電力量との合計量を算出し、算出した合計量が最も小さい配置パターンを、前記仮想リソースを配置する配置パターンに決定するステップと、
を実行することを特徴とする電力量低減制御方法。
【請求項7】
複数のサーバおよび複数の空調機を有するデータセンタと、前記データセンタの消費電力量を制御する電力量低減制御装置とを備える電力量低減制御システムであって、
前記データセンタのフロアには、仮想リソースを配置するまとまったサーバ群が配置される複数の配置制御区域と、前記複数の空調機による空調制御の効果を測定するエリアであり、前記サーバ群の吸込口側または吐出口側のいずれかに位置する複数の空調制御区域とが、設定されており、
前記電力量低減制御装置は、
複数の前記空調制御区域で測定された温度の平均値から算出するフロア平均温度、前記データセンタの外部の温度である外温、および、前記仮想リソースが前記サーバに配置された場合の予測量である前記配置制御区域ごとのサーバ消費電力量、を含む空調制御に関する外界因子の情報を取得する外界因子取得部と、
前記外界因子それぞれの値を所定のレンジ幅に分割し、前記外界因子ごとに分割したレンジを組み合わせてSituation分類として定義し、取得した前記外界因子の情報がどのSituation分類に属するかを判定するSituation判定部と、
判定されたSituation分類それぞれにおいて、前記複数の空調機に設定する、少なくとも目標温度を含む空調制御値を算出する制御値探索部と、
算出された前記空調制御値を用いて前記複数の空調機の制御を実行させる空調制御実行部と、
前記複数の空調機の空調制御値と、当該空調制御値による制御を行った場合の前記複数の空調機の空調消費電力量とを取得して、前記Situation分類ごとに、前記複数の空調機の空調制御値に、前記空調消費電力量を対応付けた制御値電力量対応情報を生成する対応情報生成部と、
新規に配置予定の前記仮想リソースを、前記複数のサーバのいずれかに配置する配置パターンを算出する配置パターン算出部と、
算出した配置パターン毎に、前記配置制御区域それぞれに属するサーバ群のサーバ消費電力量を推定するサーバ消費電力量推定部と、
前記配置制御区域それぞれのサーバ消費電力量を用いたSituation分類の判定結果を前記Situation判定部から取得し、前記制御値電力量対応情報を参照して、当該Situation分類における、前記複数の空調機の空調制御値および前記空調消費電力量を、配置パターン毎に取得し、
配置パターンそれぞれにおいて、前記配置制御区域ごとのサーバ消費電力量を合計し、その合計であるトータルのサーバ消費電力量と、前記空調消費電力量との合計量を算出し、算出した合計量が最も小さい配置パターンを、前記仮想リソースを配置する配置パターンに決定する配置パターン決定部と、
を備えることを特徴とする電力量低減制御システム。
【請求項8】
コンピュータを、請求項1乃至請求項5のいずれか一項に記載の電力量低減制御装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データセンタ(以下、「DC」と称する場合がある。)における消費電力量を低減する、電力量低減制御装置、電力量低減制御方法、電力量低減制御システム、および、プログラムに関する。
【背景技術】
【0002】
データセンタ(DC)における空調の消費電力量の比率は大きな比率を占めており、DCの数や規模の拡大に応じて、空調の消費電力量の削減が求められている。また、DCにおけるデータ処理量は、年々増加傾向にあり、DC全体としての電力消費効率(ある一定量のデータ処理に対するDC全体の消費電力量)の向上が必要となる。
【0003】
空調の消費電力量、および、サーバ(IT装置)の消費電力量を考慮し、DC全体の消費電力量を最適化する技術として、非特許文献1に記載の技術が公開されている。
非特許文献1のデータセンタ向け空調連係IT負荷配置最適化方式では、データセンタのIT機器の稼働情報や監視情報を収集することにより、IT機器の将来の負荷の推移を予測し、IT機器の電力増分に応じた空調設備の電力増分を算出する。そして、時系列でIT機器への負荷集約率が高まるように、つまりIT機器の稼働台数が削減されるように、データセンタの電力量である目的関数が最小となる最適化問題を解く。これにより、データセンタの電力量を最小化するIT機器へのIT負荷(仮想マシン)の配置を算出する。
【先行技術文献】
【非特許文献】
【0004】
【文献】沖津潤 外4名、「環境配慮型データセンタ向け空調連係IT負荷配置最適化方式」、FIT(Forum on Information Technology)2010、第9回情報科学技術フォーラム、RC-009
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、非特許文献1に記載の技術では、空調設備の電力の算出に用いる空調電力モデルにおいて、DCごとに異なる設備条件に依存しない汎用的なルールベース基準を採用している。そのため、空調設備の配置位置、気流、DC内のサーバ配置構成、熱冷却効率などの個別の設備条件を考慮した、DCのトータルとしての電力量を低減するための最適化を行うことは難しかった。
【0006】
このような点に鑑みて本発明がなされたのであり、本発明は、データセンタごとに異なる設備条件に対応して、サーバ消費電力と空調消費電力とからなるデータセンタのトータルの消費電力量を低減することを課題とする。
【課題を解決するための手段】
【0007】
本発明に係る電力量低減制御装置は、データセンタが有する、複数のサーバおよび複数の空調機を制御する電力量低減制御装置であって、前記データセンタのフロアには、仮想リソースを配置するまとまったサーバ群が配置される複数の配置制御区域と、前記複数の空調機による空調制御の効果を測定するエリアであり、前記サーバ群の吸込口側または吐出口側のいずれかに位置する複数の空調制御区域とが、設定されており、前記電力量低減制御装置が、複数の前記空調制御区域で測定された温度の平均値から算出するフロア平均温度、前記データセンタの外部の温度である外温、および、前記仮想リソースが前記サーバに配置された場合の予測量である前記配置制御区域ごとのサーバ消費電力量、を含む空調制御に関する外界因子の情報を取得する外界因子取得部と、前記外界因子それぞれの値を所定のレンジ幅に分割し、前記外界因子ごとに分割したレンジを組み合わせてSituation分類として定義し、取得した前記外界因子の情報がどのSituation分類に属するかを判定するSituation判定部と、判定されたSituation分類それぞれにおいて、前記複数の空調機に設定する、少なくとも目標温度を含む空調制御値を算出する制御値探索部と、算出された前記空調制御値を用いて前記複数の空調機の制御を実行させる空調制御実行部と、前記複数の空調機の空調制御値と、当該空調制御値による制御を行った場合の前記複数の空調機の空調消費電力量とを取得して、前記Situation分類ごとに、前記複数の空調機の空調制御値に、前記空調消費電力量を対応付けた制御値電力量対応情報を生成する対応情報生成部と、新規に配置予定の前記仮想リソースを、前記複数のサーバのいずれかに配置する配置パターンを算出する配置パターン算出部と、算出した配置パターン毎に、前記配置制御区域それぞれに属するサーバ群のサーバ消費電力量を推定するサーバ消費電力量推定部と、前記配置制御区域それぞれのサーバ消費電力量を用いたSituation分類の判定結果を前記Situation判定部から取得し、前記制御値電力量対応情報を参照して、当該Situation分類における、前記複数の空調機の空調制御値および前記空調消費電力量を、配置パターン毎に取得し、配置パターンそれぞれにおいて、前記配置制御区域ごとのサーバ消費電力量を合計し、その合計であるトータルのサーバ消費電力量と、前記空調消費電力量との合計量を算出し、算出した合計量が最も小さい配置パターンを、前記仮想リソースを配置する配置パターンに決定する配置パターン決定部と、を備えることを特徴とする。
【発明の効果】
【0008】
本発明によれば、データセンタごとに異なる設備条件に対応して、サーバ消費電力と空調消費電力とからなるデータセンタのトータルの消費電力量を低減することができる。
【図面の簡単な説明】
【0009】
【
図1】本実施形態に係る電力量低減制御装置を含む電力量低減制御システムの全体構成を示す図である。
【
図2】本実施形態に係る電力量低減制御装置の構成例を示す機能ブロック図である。
【
図3】本実施形態に係るSituation分類を説明するための図である。
【
図4】本実施形態に係る報酬(温度報酬)を説明するための図である。
【
図5】各Situation分類において報酬を満たす空調制御値を探索する学習フェーズを説明するための図である。
【
図6】縮退稼働を行い、より最適な空調制御値を探索する運用フェーズを説明するための図である。
【
図7】本実施形態に係る電力量低減制御装置が実行する、仮想リソースの配置先を決定する配置パターン決定処理の流れを示すフローチャートである。
【
図8】本実施形態に係る電力量低減制御装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。
【発明を実施するための形態】
【0010】
次に、本発明を実施するための形態(以下、「本実施形態」と称する。)について説明する。
図1は、本実施形態に係る電力量低減制御装置100を含む電力量低減制御システム1の全体構成を示す図である。
【0011】
図1に示すように、電力量低減制御システム1は、複数のサーバ3と複数の空調機2とを備えるデータセンタ(DC10)と、DC10内の複数のサーバ3および複数の空調機2と通信接続される電力量低減制御装置100とを備えて構成される。
なお、電力量低減制御装置100は、DC10の内部に設けられてもよいし、DC10とは別の場所に設けられ、複数のDC10を制御するようにしてもよい。
【0012】
この電力量低減制御装置100は、不図示の空調管理装置を介して、DC10内に設けられた空調機2(
図1においては、空調機「1」「2」「3」)の状態情報を取得したり、空調制御情報を送信したりしてもよいし、空調管理装置を介さず直接各空調機2と通信接続されていてもよい。
また、電力量低減制御装置100は、不図示のサーバ管理装置を介して、DC10内に設けられたサーバ3の状態情報を取得したり制御情報を送信したりしてもよいし、直接各サーバ3と通信接続されていてもよい。
【0013】
本実施形態におけるDC10では、収容する全体のサーバ3について、
図1で示すように、複数のサーバ3が配置されるエリアごとに区分けし、「配置制御区域」として制御を行う。この配置制御区域30は、仮想リソースを配置するまとまったサーバ群を収容するエリアである。
図1においては、配置制御区域「1」~「6」が設けられた例を示している。
【0014】
なお、DC10では、仮想化基盤が構築され運用されるものとして説明する。オープンソースの仮想化基盤としては、クラウド環境構築用のソフトウェアであるOpenStack(登録商標)や、コンテナ化されたワークロードやサービスを運用管理するためのソフトウェアであるKubernetes(登録商標)が知られている。OpenStackは、主に物理マシンや仮想マシン(VM)の管理・運用に用いられる。Kubernetesは、主にコンテナの管理・運用に用いられる。
本明細書においては、仮想化基盤において仮想化されたアプリケーション(1つ以上のコンテナや、1つ以上のVM等で構成)のことを仮想リソースと称する。なお、Kubernetesでは、アプリケーションの最小実行単位が、1つ以上のコンテナにより構成されるPodとなる。
【0015】
本実施形態ではサーバ群の配置制御区域30に対応付けて、
図1で示すように「空調制御区域」を設ける。空調制御区域20は、空調制御による室温効果を測定するまとまったエリアであり、サーバ3の吸込口側、吐出口側のいずれかに面しているものとする。
空調機2から送風される空気は、例えばDC10のフロアの床下に設けられた配管等を介して、吸込口側の空調制御区域20(
図1では、空調制御区域「3」「4」「7」「8」)から吹き出される。そして、吐出口側の空調制御区域20(
図1では、空調制御区域「1」「2」「5」「6」)に設けられた配管の吸込口から、各サーバの熱により温度上昇した空気を取り込み、空調機2へと戻る気流を生じさせる。
【0016】
この空調制御区域20それぞれには、複数のセンサ(温度センサ等)が設置されている。また、DC10の外部にもセンサ(温度センサ等)が設置されている。これらのセンサから得られた情報(センサ情報)を、通信回線等を介して、電力量低減制御装置100が取得することができる。
【0017】
本実施形態に係る電力量低減制御装置100は、仮想リソースの生成や削除のスケジュール情報に基づき、仮想リソースのサーバ3への各配置パターンにおける配置制御区域30の消費電力量(サーバ消費電力量)を予測する。そして、電力量低減制御装置100は、各配置制御区域30の消費電力量等に基づき、報酬(温度報酬)を満たす各空調機2の制御値(空調制御値)を探索し、探索した空調制御値で空調機2を制御した場合の空調消費電力量とサーバ消費電力量との合計量が最小となる配置パターンを、仮想リソースの配置先として決定する。また、電力量低減制御装置100は、運用段階(運用フェーズ)において、報酬を満たす範囲内で最も消費電力量が低い空調制御値の探索を、縮退稼働により行い、さらに消費電力量の削減を実現する(詳細は後記)。
【0018】
<電力量低減制御装置>
図2は、本実施形態に係る電力量低減制御装置100の構成例を示す機能ブロック図である。
電力量低減制御装置100は、仮想リソースのサーバ3への各配置パターンにおける配置制御区域30の消費電力量(サーバ消費電力量)を予測し、報酬(温度報酬)を満たす空調機2の制御値(空調制御値)を探索することにより、サーバ消費電力量と空調消費電力量との合計量が最小となる配置パターンを、仮想リソースの配置先として決定する。
電力量低減制御装置100は、仮想リソースのサーバ3への各配置パターンにおける配置制御区域30の消費電力量(サーバ消費電力量)を、例えば、ニューラルネットワーク等の機械学習により生成した学習モデルにより算出する。また、電力量低減制御装置100は、算出した消費電力量(サーバ消費電力量)における、最適な空調機2の制御値を、例えば、学習フェーズおよび運用フェーズを介して生成した学習モデルを用いて算出する。さらに、電力量低減制御装置100は、運用フェーズにおいて、報酬を満たす範囲内で最も消費電力量が低い空調制御値の探索を、縮退稼働により行う。これにより、電力量低減制御装置100は、仮想サーバの最適な配置を、サーバ消費電力量と空調消費電力量を考慮した上で決定し、DC10におけるトータルの電力量を低減することができる。
この電力量低減制御装置100は、制御部、入出力部、記憶部(いずれも図示省略)を備えるコンピュータにより構成される。
【0019】
入力部は、DC10内の各装置(各空調機2や各サーバ3)等との間の情報について入出力を行う。この入出力部は、通信回線を介して情報の送受信を行う通信インタフェースと、不図示のキーボード等の入力装置やモニタ等の出力装置との間で情報の入出力を行う入出力インタフェースとから構成される。
【0020】
記憶部は、ハードディスクやフラッシュメモリ、RAM(Random Access Memory)等により構成される。
この記憶部には、制御部の各機能を実行させるためのプログラムや、制御部の処理に必要な情報が一時的に記憶される。また、この記憶部には、空調機2の制御値(空調制御値)等を決定するための情報として、運用履歴情報201、空調制御学習データ202、空調制御学習モデル203、制御値電力量対応情報204、および、サーバ電力量学習モデル301などが格納される(詳細は後記)。
【0021】
制御部は、電力量低減制御装置100が実行する処理の全般を司り、
図2で示すように、空調制御部200とサーバ制御部300とを含んで構成される。
【0022】
空調制御部200は、制御前のDC10内のフロアの平均温度(フロア平均温度)、外温、配置制御区域30ごとのサーバ消費電力量をSituation構成要素とし、各Situationにおける報酬(温度報酬)を満たす最適な空調制御値を、学習フェーズおよび運用フェーズを経て算出する。
この空調制御部200は、状況認識部210、制御値探索部220、空調制御実行部230、報酬計算部240および対応情報生成部250を備える。
【0023】
状況認識部210は、Situation分類を構成するパラメータ要素である外界因子の情報を取得する。そして、状況認識部210は、各外界因子を複数レンジに分割し、各レンジ領域を組み合わせたものを1Situationとし、取得した外界因子の情報により、どのSituationに属するかを示すSituation分類を決定する。
この状況認識部210は、外界因子取得部211とSituation判定部212とを備える。
【0024】
外界因子取得部211は、外界因子の測定結果の情報を取得する。ここで、外界因子は、空調消費電力量の増減に影響を及ぼす要素であり、Situation分類を構成するパラメータ要素を意味する。ここでは外界因子を、(1)制御前のDC10内のフロア平均温度、(2)外温、(3)配置制御区域30ごとのサーバ消費電力量とする。
【0025】
(1)制御前のDC10内のフロア平均温度を、外界因子取得部211は、次のようにして算出する。外界因子取得部211は、当該空調制御区域20の温度センサから取得した温度の平均値を算出し、空調制御区域20ごとの平均温度を算出する。そして、外界因子取得部211は、算出した空調制御区域20ごとの平均温度をフロア全体で平均し、得られた温度をフロア平均温度とする。
【0026】
(2)外温は、DC10の外部に設置された温度センサから得られる情報である。
(3)配置制御区域30ごとのサーバ消費電力量は、サーバ制御部300が算出する情報である(詳細は後記)。
外界因子取得部211は、この外界因子の情報を取得すると、Situation判定部212に出力する。
【0027】
Situation判定部212は、外界因子取得部211が取得した情報が、どのSituation分類に属するかを判定する。
各外界因子は、最小値~最大値の間でその外界因子の特性に応じて複数個のレンジに分割される。そして、各外界因子を分割したレンジを組み合わせたものを、1Situationとして定義する。以下、
図3を参照して説明する。
【0028】
図3に示すように、外界因子のそれぞれを「factor」とし、分割するレンジを定義(以下、「分割定義」と称する。)する。
例えば、
図3のSituation分類情報52で示す「factor1」の外界因子は「フロア平均温度」であり、分割定義は「0-48度を6分割」である。「factor2」の外界因子は「外温」であり、分割定義は「0-48度を6分割」である。「factor3」の外界因子は「配置制御区域1のサーバ消費電力量」であり、分割定義は「0-200Wを20分割」である。以下同様に、「factor8」の外界因子は「配置制御区域6のサーバ消費電力量」であり、分割定義は「0-200Wを20分割」である。
【0029】
ここで、Situation判定部212が取得した外界因子の情報が、
図3で示す外界因子情報51であったとする。この場合、Situation判定部212は、「factor1」(フロア平均温度)の値が「25」であるから、「レンジ」として「24-32レンジ」(24度以上32度未満)に含まれるとし、「factorレンジ識別子」を「factor1-4」とする。この「factorレンジ識別子」は、例えば、0-48度を6分割した、0度以上8度未満を「factor1-1」、8度以上16度未満を「factor1-2」、16度以上24度未満を「factor1-3」のようにし、属するレンジを識別する情報である。他の「factor」において同様である。
【0030】
Situation判定部212は、外界因子の「factorレンジ識別子」の情報を組み合わせて「Situation分類」とし、「factor1-4_factor2-4_factor3-4_factor4-4_factor5-5_factor6-5_factor7-4_factor8-4」であると判定する。
このようにして、Situation判定部212は、外界因子の取得情報に基づき、「Situation分類」を判定する。
【0031】
図2に戻り、制御値探索部220は、判定されたSituation分類で示される状況(Situation)において、最適な各空調機2の制御値を算出する。空調機2の制御値(空調制御値)は、空調機2を制御するためのパラメータであり、少なくとも温度(目標温度)を含み、他に風量や風向等が含まれていてもよい。本実施形態では、空調制御値のパラメータが、目標温度と風量であるものとして説明する。
制御値探索部220による空調制御値の算出は、過去の実績データを用いた手法や所定のルールベースの算出手法により求めることもできるが、本実施形態では、学習モデル(空調制御学習モデル203)を構築して算出する例として説明する。
この制御値探索部220は、制御値生成部221と、学習モデル管理部222と縮退稼働部223とを備える。
【0032】
制御値生成部221は、学習フェーズにおいて、所定の回数(N回)まで、Situation分類ごとに、ランダムに空調制御値(目標温度、風量等)を生成する。このとき、制御値生成部221は、複数の空調機2のうちのいずれかの電源をOFFにして、空調制御値を生成してもよい。そして、制御値生成部221は、ランダムに生成した空調制御値を、空調制御実行部230に出力する。
なお、空調制御実行部230は、ランダム生成の空調制御値を取得すると、空調機2の制御を実行する。そして、空調制御実行部230は、Situation分類ごとに、外界因子情報、空調制御値、その制御を実行した際に、後記する報酬計算部240により得られる報酬(区域報酬)、および、空調消費電力量の情報を、運用履歴情報201として記憶する。
【0033】
また、制御値生成部221は、運用フェーズにおいて、縮退稼働が完了した場合には、制御値電力量対応情報204(詳細は後記)を参照して、空調制御値を生成する。
【0034】
学習モデル管理部222は、学習フェーズにおいて所定の回数(N回)に達すると、運用履歴情報201を参照し、Situation分類ごとに、外界因子情報、空調制御値、および、報酬(区域報酬)を取り込み、空調制御学習データ202を生成する。
そして、学習モデル管理部222は、生成した空調制御学習データ202を用いて、報酬が最大化されるように(報酬が100%に近づくように)機械学習することにより、Situation分類ごとの空調制御学習モデル203を生成する。
【0035】
また、学習モデル管理部222は、学習フェーズにおける所定の回数(N回)以降では、外界因子情報を、Situation分類ごとの空調制御学習モデル203に入力することにより、空調制御値(目標温度、風量等)を出力する。そして、学習モデル管理部222は、空調制御学習モデル203が算出した空調制御値を、空調制御実行部230に出力する。
なお、空調制御実行部230は、空調制御学習モデル203により算出された空調制御値を取得すると、空調機2の制御を実行する。そして、空調制御実行部230は、Situation分類ごとに、外界因子情報、空調制御値、その制御を実行した際に、後記する報酬計算部240により得られる報酬(区域報酬)、および、空調消費電力量の情報を、運用履歴情報201として記憶する。
【0036】
学習モデル管理部222は、運用履歴情報201を参照し、新たに追加された情報である、外界因子情報、空調制御値、および、報酬(区域報酬)を、空調制御学習データ202として取り込み、Situation分類ごとの空調制御学習モデル203を更新する。そして、学習モデル管理部222は、所定の回数(N回)以降において、新たなSituationの情報に基づき空調制御値の予測を繰り返す。
なお、学習モデル管理部222は、該当Situation分類の空調制御学習モデル203において、後記する所定の報酬に基づく条件を満たした場合に、学習フェーズを終了し運用フェーズに移行する。
【0037】
縮退稼働部223は、各Situation分類の空調制御学習モデル203が、学習フェーズから運用フェーズに移行した後、つまり、あるSituation分類において、所定の報酬を満たす空調制御値に収束した後に、その収束した値から報酬を満たす、より低制御コスト(より消費電力コストが小さい)の空調制御値がないかを、低コスト方向の空調制御値の試行探索を段階的に実行することにより確定する。なお、所定の報酬を満たした空調制御値の情報は、後記する制御値電力量対応情報204に格納されている(詳細は後記)。
【0038】
例えば、縮退稼働部223は、ある空調機2の制御値(X1,X2,…,Xn)に対し、Xn(例えば、風量)をさらに、Xnmin-Xnmaxまで(最小値から最大値まで)の間でM段階(Mは、2以上の整数)に分ける。そして、縮退稼働部223は、空調制御コストが低い(消費電力量が小さい)方向へ段階的にXn(風量)を下げる。この段階的な制御値の引き下げは、空調機「1」→「2」→「3」等の順に試してもよいし、空調機「1」「2」「3」をまとめて試行してもよく、制御値を引き下げる所定のロジックを予め設定しておく。
なお、空調制御値のうち目標温度について縮退稼働させる場合は、空調制御コストがより低くなるように、例えば目標温度を1度上げて設定する処理を行う。
【0039】
なお、縮退稼働部223は、縮退Z+1回(Zは0以上の整数)で報酬不合格となった後、1つ前の縮退Z回を縮退完了時の空調制御値としてもよい。
他の例として、縮退稼働部223は、縮退Z+1回で報酬不合格となった後、1つ前の縮退Z回まで1段階ロールバックを実行し、縮退Z回で再度報酬を満たすか否かの再確認を行うようにしてもよい。これは外乱防止のためである。そして、縮退稼働部223は、縮退Z回での再確認で合格した場合に、その制御値を、縮退完了時の空調制御値とする。縮退Z回での再確認で不合格の場合に、縮退稼働部223は、さらに1段階前に戻る処理を繰り返す。
また、縮退稼働部223は、1段階ロールバックした際の再確認をk回(所定の回数)連続合格後に、縮退完了時の空調制御値としてもよい。ここで、縮退稼働部223は、k回連続で合格できない場合に、さらに1段階前に戻り報酬の算出を繰り返させ、k回連続報酬合格後の段階における制御値を、最も低制御コストの制御値として決定することもできる。
【0040】
空調制御実行部230は、制御値探索部220が算出した、あるSituationでの空調制御値の情報(目標温度、風量等)に基づき、各空調機2の制御を行う。なお、空調制御実行部230は、制御開始から所定の目標温度に到達するまでの所要時間を、所定の段階数で分割して1ターンとし、1ターンごとの目標温度を設定する。なお、制御開始から所定の目標温度に到達するまでの所要時間は、空調機2の過去の実績データ等により予め得られる情報を利用する。ターンごとの目標温度は、例えば、「制御前の温度」から最終的な「目標温度」までを制御回数で等分割した値を使用する。
空調制御実行部230は、1ターン毎に設定した空調制御値に基づき、各空調機2に対して、指示情報を出力する。
【0041】
なお、空調制御実行部230は、Situation分類ごとに、外界因子情報、そのターンごとの空調制御値(ターンごとの目標温度、風量等)、その制御を実行した際に、後記する報酬計算部240により得られる報酬(区域報酬)、および、空調消費電力量の情報を、運用履歴情報201として記憶する。
【0042】
報酬計算部240は、制御値探索部220が算出した空調制御値による制御を実行した結果を評価する指標として報酬(温度報酬)を計算する。そして、報酬計算部240は、制御結果が所定の報酬を満たすか否か、つまり、所定の報酬条件を満たす空調制御値であるか否かを判定する。
この報酬計算部240は、区域報酬算出部241と、全体報酬算出部242とを備える。
【0043】
区域報酬算出部241は、空調制御区域20ごとに、高温警戒報酬と低温警戒報酬の2種類の報酬を定義し、ターン毎の制御結果の報酬を算出する。
高温警戒報酬は、制御前の温度が目標温度よりも高い場合、つまり、室温が高く温度を下げる方向に制御する場合に適用される。低温警戒報酬は、制御前の温度が目標温度よりも低い場合、つまり、室温が低すぎるため温度を上げる方向に制御する場合に適用される。
【0044】
区域報酬算出部241は、報酬を計算する際に以下の指標を用いて、報酬(区域報酬)を算出する。
(指標1)ターン毎の目標温度と現時点での実温度との差に基づき報酬を算出する。
(指標2)直近ターンにのみ着目し、直近ターンでの温度変化に基づき報酬を算出する。
なお、ここでの温度は、例えば、各空調制御区域20で指定された温度センサの平均温度を使用する。
【0045】
(指標1)では、「ターン制御後の温度」と「ターンごとの目標温度」の差を求める。
そして、「ターン制御後の温度」が「ターンごとの目標温度」以下であれば、報酬「100%」とする。また、「ターンごとの目標温度」から+1度ごとに報酬を「-10%」とする。なお、この報酬は上記の値に限定されず、任意に設定可能である。
【0046】
例えば、
図4で示すように、制御開始時の温度が48度であり、1ターン目の目標温度が41度であるとする。このとき、1ターン目のターン制御後の温度が42度であった場合、ターン毎の目標温度より1度高いため、報酬は「90%」となる。なお、
図4は、高温警戒報酬の例を示しているが、低温警戒報酬の場合も、ターン毎の目標温度より、例えば1度低い場合に報酬を「-10%」として同様に算出する。
【0047】
(指標2)では、直近ターンの温度変化により報酬を求める。
そして、制御前の温度が目標温度よりも高い場合は、以下の(式1)のように報酬(高温警戒報酬)を算出する。
「今回下がった温度」/「本来下げるべき温度」×100% ・・・(式1)
例えば、今回下がった温度が8度であり、本来下げるべき温度が10度であった場合、報酬を「80%」と算出する。なお、(式1)の算出の結果の報酬が100%より高い値となった場合は、報酬100%とする。
また、低温警戒報酬を算出する場合は、以下の(式2)により報酬を算出する。
「今回上がった温度」/「本来上がるべき温度」×100% ・・・(式2)
【0048】
区域報酬算出部241は、(指標1)のみを用いて、制御結果を評価してもよいし、(指標1)および(指標2)の両方を用いて、制御結果を評価してもよい。なお、(指標1)および(指標2)の両方で評価する場合には、(指標1)において、ターンごとの目標温度に達せず、報酬が100%にならない場合でも、(指標2)において、「今回下がった温度」の値が大きい(温度変化が大きい)ほど高い報酬として、空調制御値の制御結果を評価することができる。
なお、区域報酬算出部241が算出した報酬(区域報酬)の情報は、空調制御実行部230により、Situation分類ごとに、外界因子情報、そのターンごとの空調制御値(ターンごとの目標温度、風量等)、空調消費電力量の情報とともに、運用履歴情報201に記憶される。
【0049】
図2に戻り、全体報酬算出部242は、区域報酬算出部241が算出した空調制御区域20ごとの報酬を用いてフロア全体での報酬(全体報酬)を算出する。
全体報酬算出部242は、空調制御区域20ごとの報酬(区域報酬)の合計(最大報酬の総和)から、「警戒区域」の報酬をマイナスし、100点が満点となるようにして全体報酬を算出する。
また、全体報酬算出部242は、算出した全体報酬が、全体報酬に関する所定の閾値(合格閾値)以上であるか否かにより、フロア全体としての空調制御の合否を判定する。
【0050】
ここで、警戒区域を、例えば以下のように定義する。
区域報酬が90%以上である場合を「安全」、区域報酬が85%以上90%未満である場合を「要注意」、区域報酬が85%未満である場合を「警戒」とする。
そして、全体報酬を、以下の(式3)により算出する。
(区域報酬の総和 - 要注意区域の数×10 - 警戒区域の数×30)/空調制御区域の数
・・・(式3)
【0051】
全体報酬算出部242は、エリア全体の合格閾値について、例えば、要注意区域が全体の2割、警戒区域が全体の4割を占めた場合に、不合格となるように設定する。具体的には、空調制御区域の数が「8」で、要注意が「-10」点、警戒が「-30」点の場合、フロア全体の合格閾値は、以下のように計算される。
(8×100-8×0.2×10-8×0.4×30)/8 = 688/8 = 86(%)
よって、全体報酬算出部242は、算出した全体報酬が、所定の合格閾値(86%)以上であれば合格と判定し、所定の合格閾値未満であれば不合格と判定する。
なお、全体報酬算出部242が不合格と判定した場合には、次のターンの処理を中止する。
また、学習モデル管理部222は、該当Situation分類の空調制御学習モデル203において、全体報酬算出部242が算出した全体報酬が、所定の合格閾値(86%)を超え合格と判定された場合には、学習フェーズを終了し運用フェーズに移行する。
【0052】
なお、全体報酬算出部242は、高温警戒報酬と低温警戒報酬の両方で合格した場合に、最終的な合格と判定するようにしてもよい。例えば、空調機2の制御前の最初の温度が目標温度より高く、高温警戒報酬に基づき空調制御値による制御を行った場合、所定の合格閾値は超えているが、目標温度を過ぎて低温になりすぎる制御を行う可能性がある。この場合、空調消費電力を過剰に消費してしまう。よって、制御前の温度が目標温度より低い場合には、低温警戒報酬に基づき、合格と判定されるまで制御を行う。このように、全体報酬算出部242が、高温警戒報酬と低温警戒報酬の両方で合格と判定することにより、空調消費電力量をより低減する空調制御値を求めることができる。
【0053】
対応情報生成部250は、全体報酬算出部242が全体報酬について合格と判定した制御について、Situation分類ごとに、各ターンの空調制御値(目標温度、風量等)とそのターンを実行した際の空調機2の消費電力量を取得して、制御値電力量対応情報204を生成する。なお、空調機2の空調消費電力量は、空調機2を監視する不図示の消費電力量計測手段により計測された各空調機2のトータルの消費電力量である。
【0054】
また、対応情報生成部250は、縮退稼働部223により、縮退稼働が完了した場合には、縮退稼働完了時の、より消費電力コストが小さくなる空調制御値と、その空調制御値を実行した際の空調消費電力量とにより、制御値電力量対応情報204を更新する。
【0055】
サーバ制御部300は、仮想リソースの生成・削除のスケジュール情報に基づき、取り得る配置パターン(複数の配置パターン)での各サーバ3のサーバ消費電力量を予測し、配置制御区域30ごとのサーバ消費電力量を算出する。また、サーバ制御部300は、各配置パターンにおける、該当Situation分類の運用フェーズにおける縮退稼働完了時の空調制御実行による空調消費電力量の情報を取得し、各配置パターンにおいて、サーバ消費電力量と空調消費電力量の合計値を計算し、その値が最も小さい配置パターンを決定して、仮想リソースの配置を実行させる。
このサーバ制御部300は、配置パターン算出部310と、サーバ消費電力量推定部320と、配置パターン決定部330とを備える。
【0056】
配置パターン算出部310は、各制御ターンの開始時に、仮想リソースの生成や削除のスケジュール情報を取得し、新規配置予定の仮想リソース量情報(例えば、CPUコア数)を求める。そして、配置パターン算出部310は、直近のリソース使用状況(例えば、CPU使用率)に基づき、新規の仮想リソースを各サーバ3に配置した配置パターンを算出する。なお、配置パターン算出部310は、各サーバ3に仮想リソースを配置後、各サーバ3におけるリソース占有量が、サーバ容量(上限値)×所定の閾値以下となるようにする。
【0057】
サーバ消費電力量推定部320は、配置パターン算出部310が算出した配置パターン毎に、各サーバ3の消費電力量を学習モデル(サーバ電力量学習モデル301)を活用して予測する。そして、サーバ消費電力量推定部320は、配置制御区域30ごとのサーバ配置構成に基づき、各配置パターンにおける配置制御区域30ごとのトータルのサーバ消費電力量を算出する。
【0058】
具体的には、サーバ消費電力量推定部320は、サーバ3の吸気口温度、および、リソース使用状況(例えば、CPU使用率、メモリ使用率等)の情報を入力データとし、サーバ消費電力量を出力データとする学習モデル(サーバ電力量学習モデル301)により、配置パターン毎に各サーバ3の消費電力量を予測する。
なお、このサーバ電力量学習モデル301は、吸気口温度と、サーバ3のリソース使用量と、その時の結果情報であるサーバ消費電力量の情報を学習データとして、予め生成しておいてもよい。
【0059】
また、サーバ消費電力量推定部320は、配置制御区域30ごとのサーバ配置構成に基づき、配置制御区域30の各サーバ3のサーバ消費電力量を合算することにより、配置制御区域30ごとのサーバ消費電力量を算出する。
なお、サーバ消費電力量推定部320は、学習フェーズおよび運用フェーズにおいて、算出した配置制御区域30ごとのサーバ消費電力量を、空調制御部200の外界因子取得部211へ出力する。
【0060】
配置パターン決定部330は、仮想リソースの各配置パターンにおいて、配置制御区域30ごとのサーバ消費電力量を合計し、その合計値であるトータルのサーバ消費電力量と、制御値電力量対応情報204から得られる空調消費電力量との合計量を計算し、その合計量が最も小さい配置パターンを、実際に仮想リソースを配置する配置パターンとして決定する。
【0061】
具体的には、配置パターン決定部330は、運用フェーズにおいて、各Situation分類での縮退稼働が完了し、消費電力量を低減する最適な空調制御値が、制御値電力量対応情報204に格納されている場合に、以下の処理を実行する。
配置パターン決定部330は、まず、空調制御部200のSituation判定部212に問い合わせることにより、現時点のSituation分類を判定する。そして、配置パターン決定部330は、当該Situation分類における制御値電力量対応情報204を参照し、配置パターンごとに、空調制御値(目標温度、風量等)およびその空調制御値を空調機2が実行した場合の空調消費電力量の情報を取得する。
【0062】
配置パターン決定部330は、仮想リソースの配置パターンそれぞれにおいて、配置制御区域30のサーバ消費電力量を合計し、その合計したトータルのサーバ消費電力量と、取得した空調消費電力量との合計量を計算し、その合計量が最も小さい配置パターンを、実際に仮想リソースを配置する配置パターンとして決定する。
そして、配置パターン決定部330は、不図示のサーバ管理装置等を介して、決定した配置パターンによる仮想サーバの配置を実行させるとともに、空調制御部200による、当該Situationでの空調機2の空調制御値(目標温度、風量等)よる制御を実行する。
【0063】
≪処理の流れ≫
次に、本実施形態に係る電力量低減制御装置100が実行する処理の流れについて説明する。
ここでは、各Situation分類において報酬を満たす空調制御値を探索する学習フェーズ(
図5参照)、縮退稼働を行い、より最適な空調制御値を探索する運用フェーズ(
図6参照)、仮想リソースの配置先を決定する配置パターン決定処理(
図7参照)について説明する。
【0064】
<学習フェーズ>
図5は、各Situation分類において報酬を満たす空調制御値を探索する学習フェーズを説明するための図である。
学習フェーズにおいて、電力量低減制御装置100は、各Situation分類で報酬(温度報酬)を満たす空調制御値が発見されるまで、PDCAサイクルを繰り返すことにより、探索を行う。
【0065】
まず、ステップA1において、電力量低減制御装置100の状況認識部210(外界因子取得部211)は、外界因子(フロア平均温度、外温、配置制御区域30ごとのサーバ消費電力量)の情報を取得する。
そして、状況認識部210(Situation判定部212)は、取得した外界因子の情報が、どのSituation分類に属するかを判定する。
なお、ステップA1は、PDCAサイクルのPlan(計画)に該当する。
【0066】
次に、ステップA2(P(Plan):計画)において、制御値探索部220は、Situation分類毎に空調制御値を算出する。なお、制御値探索部220の制御値生成部221は、N回まではランダムに空調制御値を探索する。そして、制御値探索部220の学習モデル管理部222は、N回に到達すると空調制御学習モデル203に学習データ(外界因子情報および空調制御値に対応付けた報酬の情報)を学習させる。これにより、N回を超えると、学習モデル管理部222は、Situation情報を空調制御学習モデル203に入力することにより、空調制御値の情報を出力させる。
【0067】
続いて、ステップA3(D(Do):実行)において、空調制御実行部230は、制御値探索部220が算出した空調制御値(目標温度、風量等)に基づき、各空調機2の実際の制御を実行する。
【0068】
次に、ステップA4(C(Check):評価)において、報酬計算部240が、空調制御値の制御を実行した結果である報酬(区域報酬および全体報酬)を算出する。ここで、報酬計算部240は、算出した全体報酬が合格判定閾値未満であり不合格と判定した場合には、それ以降のターンの処理は実行しない。
【0069】
ステップA4において、全体報酬が合格である場合には、次のステップA5(A(Action):改善)において、制御値探索部220(学習モデル管理部222)は、外界因子情報および空調制御値に報酬を対応付けた学習データ(空調制御学習データ202)に基づき、Situation分類毎の空調制御学習モデル203を更新する。
【0070】
学習フェーズでは、Situation分類毎に報酬(全体報酬)が合格と判定される制御値が見つかるまで、このPDCAサイクルを回すことにより探索を行う。報酬(全体報酬)を満たす空調制御値が見つかった場合には、対応情報生成部250により、Situation分類ごとに、各ターンの空調制御値(目標温度、風量等)とそのターンを実行した際の空調機2全体の消費電力量(空調消費電力量)が格納される制御値電力量対応情報204が生成される。これにより、該当Situation分類を学習フェーズから運用フェーズに移行する。
【0071】
<運用フェーズ>
図6は、縮退稼働を行い、より最適な空調制御値を探索する運用フェーズを説明するための図である。
運用フェーズでは、初期状態(縮退稼働が未完了の状態)において、制御値探索部220(縮退稼働部223)の処理により、現在の報酬を満たす空調制御コストが最小の制御値から1段階制御値を下げてPDCAサイクルを回し、これ以上下げきれない段階の制御値を発見後、縮退稼働を完了する。そして、該当Situation分類が縮退稼働完了の場合、縮退稼働完了時の空調制御値を呼び出すことで、空調制御を実行する。
【0072】
まず、ステップB1(P(Plan):計画)において、電力量低減制御装置100の状況認識部210(外界因子取得部211)は、外界因子(フロア平均温度、外温、配置制御区域ごとのサーバ消費電力量)の情報を取得する。
そして、状況認識部210(Situation判定部212)は、取得した外界因子の情報が、どのSituation分類に属するかを判定する。
【0073】
次に、ステップB2(P(Plan):計画)において、縮退稼働が未完了の場合、制御値探索部220(縮退稼働部223)は、所定の報酬を満たす空調制御値が格納された制御値電力量対応情報204を参照し、現在の報酬を満たす最低コストの空調制御値から1段階制御値を下げて、空調制御値を生成する。
【0074】
続いて、ステップB3(D(Do):実行)において、空調制御実行部230は、制御値探索部220が算出した制御値(目標温度、風量等)、つまり1段階下げた制御値に基づき、各空調機2の制御を実行する。
【0075】
次に、ステップB4(C(Check):評価)において、報酬計算部240が、空調制御値の制御を実行した結果である報酬(区域報酬および全体報酬)を算出する。縮退稼働部223は、全体報酬が合格である場合には、さらに1段階制御値を下げて(ステップB2)、空調制御実行部230に、ステップB3の空調機2の制御を行わせる(A(Action):改善)。そして、縮退稼働部223は、報酬が不合格となった制御値の1段階前の制御値を、最も低制御コストの制御値として決定する。
【0076】
なお、縮退稼働部223は、縮退Z+1回で報酬不合格となった後、1つ前の縮退Z回まで1段階ロールバックを実行し、縮退Z回で再度報酬を満たすか否かの再確認を行うようにしてもよい。そして、縮退稼働部223は、縮退Z回での再確認で合格した場合に、その制御値を、縮退完了時の空調制御値とする。縮退Z回での再確認で不合格の場合に、縮退稼働部223は、さらに1段階前に戻る処理を繰り返し、報酬合格の段階における制御値を、縮退完了時の空調制御値とする。
【0077】
最も低制御コストの制御値が決定した場合(縮退稼働が完了した場合)に、対応情報生成部250は、縮退稼働完了時の、より消費電力コストが小さくなる空調制御値と、その空調制御値を実行した際の空調消費電力量とにより、制御値電力量対応情報204を更新する。
【0078】
縮退稼働が完了した状態で、ステップB1へ戻ると、状況認識部210(外界因子取得部211)は、外界因子(フロア平均温度、外温、配置制御区域ごとのサーバ消費電力量)の情報を取得し、Situation判定部212が、取得した外界因子の情報が、どのSituation分類に属するかを判定する。
【0079】
そして、ステップB5において、当該Situation分類の縮退稼働が完了している場合に、制御値探索部220(制御値生成部221)は、更新された制御値電力量対応情報204に基づき、空調制御値を生成する。
次に、ステップB6に進み、空調制御実行部230は、縮退稼働が完了した状態での空調制御値に基づき、空調機2の制御を実行する。
【0080】
この処理を各Situation分類で行うことにより、電力量低減制御装置100は、Situation分類ごとに、より空調消費電力を削減することができる空調制御値とそのときの空調消費電力量の情報を、制御値電力量対応情報204として生成することができる。
【0081】
<仮想リソースの配置先を決定する配置パターン決定処理>
図7は、本実施形態に係る電力量低減制御装置100が実行する、仮想リソースの配置先を決定する配置パターン決定処理の流れを示すフローチャートである。
【0082】
まず、電力量低減制御装置100のサーバ制御部300(配置パターン算出部310)は、各制御ターンの開始時に、仮想リソースの生成や削除のスケジュール情報を取得する。そして、配置パターン算出部310は、現時点のサーバリソースの使用状況に、新たに仮想リソースを追加(または削除)した配置パターンを算出する(ステップS101)。
【0083】
次に、サーバ制御部300のサーバ消費電力量推定部320は、配置パターン算出部310が算出した配置パターン毎に、例えば、サーバ電力量学習モデル301を用いて、各サーバ3のサーバ消費電力量を予測する。そして、サーバ消費電力量推定部320は、配置パターンそれぞれについて、各配置制御区域30内のサーバ3のサーバ消費電力量を合計し、配置制御区域30ごとのサーバ消費電力量を算出する(ステップS102)。
【0084】
続いて、空調制御部200の状況認識部210(外界因子取得部211)は、配置パターン毎に、外界因子(フロア平均温度、外温、配置制御区域ごとのサーバ消費電力量)の情報を取得する。そして、Situation判定部212が、Situation分類を判定する(ステップS103)。
【0085】
次に、配置パターン決定部330は、判定されたSituation分類における制御値電力量対応情報204を参照し、運用フェーズの縮退稼働が完了した状態での空調制御値と、その制御を実行した場合の空調消費電力量の情報を、配置パターン毎に取得する(ステップS104)。
【0086】
続いて、配置パターン決定部330は、配置パターンそれぞれにおいて、配置制御区域30ごとのサーバ消費電力量を合計し、その合計であるトータルのサーバ消費電力量と、空調消費電力量との合計量を算出し、その合計量が最も小さい配置パターンを決定する(ステップS105)。
そして、配置パターン決定部330が決定した仮想サーバの配置パターンの情報を、不図示のサーバ管理装置に送信することにより、仮想サーバの実際の配置制御を実行させる。
【0087】
このようにして、電力量低減制御装置100は、データセンタ(DC)10ごとに異なる設備条件に対応して、サーバ消費電力と空調消費電力とからなるデータセンタのトータルの消費電力量を低減することができる。
【0088】
<ハードウェア構成>
本実施形態に係る電力量低減制御装置100は、例えば
図8に示すような構成のコンピュータ900によって実現される。
図8は、本実施形態に係る電力量低減制御装置100の機能を実現するコンピュータ900の一例を示すハードウェア構成図である。コンピュータ900は、CPU(Central Processing Unit)901、ROM(Read Only Memory)902、RAM903、HDD(Hard Disk Drive)904、入出力I/F(Interface)905、通信I/F906およびメディアI/F907を有する。
【0089】
CPU901は、ROM902またはHDD904に記憶されたプログラムに基づき作動し、制御部による制御を行う。ROM902は、コンピュータ900の起動時にCPU901により実行されるブートプログラムや、コンピュータ900のハードウェアに係るプログラム等を記憶する。
【0090】
CPU901は、入出力I/F905を介して、マウスやキーボード等の入力装置910、および、ディスプレイやプリンタ等の出力装置911を制御する。CPU901は、入出力I/F905を介して、入力装置910からデータを取得するともに、生成したデータを出力装置911へ出力する。なお、プロセッサとしてCPU901とともに、GPU(Graphics Processing Unit)等を用いても良い。
【0091】
HDD904は、CPU901により実行されるプログラムおよび当該プログラムによって使用されるデータ等を記憶する。通信I/F906は、通信網(例えば、NW(Network)920)を介して他の装置からデータを受信してCPU901へ出力し、また、CPU901が生成したデータを、通信網を介して他の装置へ送信する。
【0092】
メディアI/F907は、記録媒体912に格納されたプログラムまたはデータを読み取り、RAM903を介してCPU901へ出力する。CPU901は、目的の処理に係るプログラムを、メディアI/F907を介して記録媒体912からRAM903上にロードし、ロードしたプログラムを実行する。記録媒体912は、DVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto Optical disk)等の光磁気記録媒体、磁気記録媒体、半導体メモリ等である。
【0093】
例えば、コンピュータ900が本発明の電力量低減制御装置100として機能する場合、コンピュータ900のCPU901は、RAM903上にロードされたプログラムを実行することにより、電力量低減制御装置100の機能を実現する。また、HDD904には、RAM903内のデータが記憶される。CPU901は、目的の処理に係るプログラムを記録媒体912から読み取って実行する。この他、CPU901は、他の装置から通信網(NW920)を介して目的の処理に係るプログラムを読み込んでもよい。
【0094】
<効果>
以下、本発明に係る電力量低減制御装置100等の効果について説明する。
本発明に係る電力量低減制御装置は、データセンタ10が有する、複数のサーバ3および複数の空調機2を制御する電力量低減制御装置100であって、データセンタ10のフロアには、仮想リソースを配置するまとまったサーバ群が配置される複数の配置制御区域30と、複数の空調機2による空調制御の効果を測定するエリアであり、サーバ群の吸込口側または吐出口側のいずれかに位置する複数の空調制御区域20とが、設定されており、電力量低減制御装置100が、複数の空調制御区域20で測定された温度の平均値から算出するフロア平均温度、データセンタ10の外部の温度である外温、および、仮想リソースがサーバ3に配置された場合の予測量である配置制御区域ごとのサーバ消費電力量、を含む空調制御に関する外界因子の情報を取得する外界因子取得部211と、外界因子それぞれの値を所定のレンジ幅に分割し、外界因子ごとに分割したレンジを組み合わせてSituation分類として定義し、取得した外界因子の情報がどのSituation分類に属するかを判定するSituation判定部212と、判定されたSituation分類それぞれにおいて、複数の空調機2に設定する、少なくとも目標温度を含む空調制御値を算出する制御値探索部220と、算出された空調制御値を用いて複数の空調機2の制御を実行させる空調制御実行部230と、複数の空調機2の空調制御値と、当該空調制御値による制御を行った場合の複数の空調機2の空調消費電力量とを取得して、Situation分類ごとに、複数の空調機2の空調制御値に、空調消費電力量を対応付けた制御値電力量対応情報204を生成する対応情報生成部250と、新規に配置予定の仮想リソースを、複数のサーバ3のいずれかに配置する配置パターンを算出する配置パターン算出部310と、算出した配置パターン毎に、配置制御区域30それぞれに属するサーバ群のサーバ消費電力量を推定するサーバ消費電力量推定部320と、配置制御区域30それぞれのサーバ消費電力量を用いたSituation分類の判定結果をSituation判定部212から取得し、制御値電力量対応情報204を参照して、当該Situation分類における、複数の空調機2の空調制御値および空調消費電力量を、配置パターン毎に取得し、配置パターンそれぞれにおいて、配置制御区域30ごとのサーバ消費電力量を合計し、その合計であるトータルのサーバ消費電力量と、空調消費電力量との合計量を算出し、算出した合計量が最も小さい配置パターンを、仮想リソースを配置する配置パターンに決定する配置パターン決定部330と、を備える。
【0095】
このようにすることで、電力量低減制御装置100は、新たに仮想リソースを配置する際に、サーバ消費電力量と空調消費電力量を考慮し、データセンタ10全体の消費電力量を削減する最適な仮想リソースの配置パターンを決定することができる。
電力量低減制御装置100は、データセンタ10に設定された、配置制御区域30と空調制御区域20において、異なる設備条件(気流、サーバ配置構成、空調配置位置、熱冷却効率等)や、熱だまりによる空調制御区域20ごとの温度差を考慮して、仮想サーバの配置を決定できる。そのため、各データセンタ10のそれぞれの状況に適合した消費電力量の削減を実現することができる。
【0096】
また、電力量低減制御装置100において、空調制御実行部230が複数の空調機2を空調制御値により制御した結果を、目標温度を指標として評価する報酬を算出する報酬計算部240を備えており、制御値探索部220は、外界因子の情報、複数の空調機2の空調制御値、および、報酬を学習データとして、報酬が最大化されるように機械学習することにより、外界因子の情報を入力すると、複数の空調機2の空調制御値を出力する、Situation分類ごとの空調制御学習モデル203を生成する学習モデル管理部222を備える。
【0097】
このように、電力量低減制御装置100は、Situation分類ごとの空調制御学習モデル203を生成することにより、Situation分類ごとに最適な空調機2の空調制御値を生成することができる。
【0098】
また、電力量低減制御装置100において、空調制御実行部230が複数の空調機2を空調制御値により制御した結果を、目標温度を指標として評価する報酬を算出する報酬計算部240と、縮退稼働部223とを備えており、対応情報生成部250は、報酬が所定の報酬条件を満たす場合に、当該Situation分類における制御値電力量対応情報204を生成しており、縮退稼働部223は、Situation分類ごとに、所定の報酬条件を満たす範囲内で、より消費電力コストが小さい空調制御値の探索を縮退稼働により行い、対応情報生成部250は、縮退稼働部223により探索された空調制御値を用いて、Situation分類ごとの制御値電力量対応情報204を更新すること、を特徴とする。
【0099】
このように、電力量低減制御装置100は、所定の報酬条件を満たす範囲内で縮退稼働により、さらに消費電力コストの小さい空調制御値を探索することができる。よって、さらにデータセンタ10全体の消費電力量を削減することが可能となる。
【0100】
また、電力量低減制御装置100において、縮退稼働部223が、空調制御値を最小値から最大値までの間のM(2以上の整数)段階に分けて定義しておき、算出された報酬が所定の報酬条件を満たす合格である場合に、消費電力量が低減される方向へ空調制御値を段階的に下げる処理を繰り返し、算出された報酬が所定の報酬条件を満たさず不合格となった空調制御値の1段階前の制御値を、最も消費電力コストの小さい空調制御値として決定すること、を特徴とする。
【0101】
このようにして、電力量低減制御装置100は、所定の報酬条件を満たす範囲内で、より消費電力コストの小さい空調制御値を探索することができる。
【0102】
また、電力量低減制御装置100において、縮退稼働部223は、空調制御値を最小値から最大値までの間のM(2以上の整数)段階に分けて定義しておき、算出された報酬が所定の報酬条件を満たす合格である場合に、消費電力量が低減される方向へ空調制御値を段階的に下げる処理を繰り返し、算出された報酬が所定の報酬条件を満たさず不合格となった空調制御値の1段階前の制御値で、再度報酬を満たすか否かの再確認を行い、再確認で不合格の場合に、さらに1段階前の制御値で報酬を満たすか否かの再確認を繰り返し、再確認で報酬が合格となった空調制御値を、最も消費電力コストの小さい空調制御値として決定すること、を特徴とする。
【0103】
このようにして、電力量低減制御装置100は、外乱を防止した上で、所定の報酬条件を満たす範囲内での、より消費電力コストの小さい空調制御値を探索することができる。
【0104】
なお、本発明は、以上説明した実施形態に限定されるものではなく、多くの変形が本発明の技術的思想内で当分野において通常の知識を有する者により可能である。
【符号の説明】
【0105】
1 電力量低減制御システム
2 空調機
3 サーバ
10 データセンタ(DC)
20 空調制御区域
30 配置制御区域
100 電力量低減制御装置
200 空調制御部
201 運用履歴情報
202 空調制御学習データ
203 空調制御学習モデル
204 制御値電力量対応情報
210 状況認識部
211 外界因子取得部
212 Situation判定部
220 制御値探索部
221 制御値生成部
222 学習モデル管理部
223 縮退稼働部
230 空調制御実行部
240 報酬計算部
241 区域報酬算出部
242 全体報酬算出部
250 対応情報生成部
300 サーバ制御部
301 サーバ電力量学習モデル
310 配置パターン算出部
320 サーバ消費電力量推定部
330 配置パターン決定部