(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024134085
(43)【公開日】2024-10-03
(54)【発明の名称】消費電力推定システム、消費電力推定方法、及び消費電力推定プログラム
(51)【国際特許分類】
G06F 11/34 20060101AFI20240926BHJP
G06F 11/30 20060101ALI20240926BHJP
【FI】
G06F11/34 147
G06F11/30 162
G06F11/30 140A
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2023044191
(22)【出願日】2023-03-20
(71)【出願人】
【識別番号】524132520
【氏名又は名称】日立ヴァンタラ株式会社
(74)【代理人】
【識別番号】110000279
【氏名又は名称】弁理士法人ウィルフォート国際特許事務所
(72)【発明者】
【氏名】チャウダリ プリタム ジャイワント
(72)【発明者】
【氏名】小澤 洋司
(72)【発明者】
【氏名】金子 聡
【テーマコード(参考)】
5B042
【Fターム(参考)】
5B042MA08
5B042MA14
5B042MC22
(57)【要約】
【課題】ワークロードの消費電力を適切に推定することができるようにする。
【解決手段】物理サーバ上で実行されるワークロードの消費電力を推定するワークロード電力推定サーバ300において、消費電力推定システム300は、プロセッサ301を有し、プロセッサ301を、物理サーバの全電力範囲を所定の分割数に分割した複数の短範囲について、物理サーバのメトリックを入力とし、物理サーバの消費電力値を出力する電力モデルである複数の短範囲電力モデルを訓練し、物理サーバのメトリックを入力として、対応する短範囲を特定する特定情報を出力する分類器を訓練し、ワークロードのメトリックと、分類器とに基づいて、適用すべき短範囲を特定する特定情報を特定し、ワークロードのメトリックと、特定情報が示す前記短範囲に対応する短範囲電力モデルとに基づいて、ワークロードの消費電力を推定するように構成する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
物理サーバ上で実行されるワークロードの消費電力を推定する消費電力推定システムであって、
前記消費電力推定システムは、プロセッサを有し、
前記プロセッサは、
前記物理サーバの全電力範囲を所定の分割数に分割した複数の短範囲について、前記物理サーバのメトリックを入力とし、前記物理サーバの消費電力値を出力する電力モデルである複数の短範囲電力モデルを訓練し、
前記物理サーバのメトリックを入力として、対応する短範囲を特定する特定情報を出力する分類器を訓練し、
前記ワークロードのメトリックと、前記分類器とに基づいて、適用すべき短範囲を特定する特定情報を特定し、
前記ワークロードのメトリックと、前記特定情報が示す前記短範囲に対応する短範囲電力モデルとに基づいて、前記ワークロードの消費電力を推定する
消費電力推定システム。
【請求項2】
前記プロセッサは、
前記物理サーバの全電力範囲を分割する分割数を変更し、それぞれの前記分割数におけるそれぞれの短範囲についての前記短範囲電力モデルを訓練し、前記分割数における前記短範囲電力モデルを用いて推定される消費電力の正解率を算出することにより、正解率が所定の閾値を超える場合の分割数を検出し、
検出した前記分割数を、前記ワークロードの消費電力を推定する場合の分割数に決定する
請求項1に記載の消費電力推定システム。
【請求項3】
前記プロセッサは、
前記短範囲のサイズを変更し、それぞれのサイズに従ってそれぞれの短範囲についての前記短範囲電力モデルを訓練し、前記短範囲電力モデルを用いて推定される消費電力の正解率を算出することにより、正解率が所定の閾値を超える場合の前記短範囲のサイズを検出し、
検出した前記短範囲のサイズを、前記ワークロードの消費電力を推定する場合の前記短範囲のサイズに決定する
請求項1に記載の消費電力推定システム。
【請求項4】
前記短範囲電力モデルは、前記物理サーバの消費電力として、前記物理サーバの全消費電力から前記物理サーバの待機状態の消費電力を除いた消費電力を出力する
請求項1に記載の消費電力推定システム。
【請求項5】
前記プロセッサは、
前記ワークロードのメトリックを、物理サーバレベルのメトリックに変換し、
前記物理サーバレベルのメトリックを前記分類器に入力することにより、前記物理サーバレベルの前記メトリックに対応する短範囲を特定し、
特定された前記短範囲に対応する短範囲電力モデルに、前記物理サーバレベルの前記メトリックを入力して前記物理サーバレベルの消費電力を推定し、
推定された消費電力を、前記ワークロードのレベルの消費電力に変換する
請求項1に記載の消費電力推定システム。
【請求項6】
前記プロセッサは、
以前に短範囲電力モデルを訓練した後の物理サーバのメトリックと消費電力とを含む新たな訓練データを取得し、
前記物理サーバの全電力範囲を分割する分割数を変更し、それぞれの前記分割数におけるそれぞれの短範囲についての短範囲電力モデルを、前記新たな訓練データを用いて訓練し、前記分割数における前記短範囲電力モデルを用いて推定される消費電力の正解率を算出することにより、正解率が所定の閾値を超える場合の分割数である適正分割数を検出し、
前記検出した適正分割数を、前記ワークロードの消費電力を推定する場合の分割数に決定する
請求項1に記載の消費電力推定システム。
【請求項7】
前記プロセッサは、
前記物理サーバの消費電力と、前記物理サーバに並置されているすべてのワークロードについての前記短範囲電力モデルにより推定された消費電力の合計とに基づいて、前記短範囲電力モデルによるワークロードについての消費電力の推定が所定の精度を有するか否かを判定し、所定の精度を有さない場合に、前記新たな訓練データを取得し、前記新たな訓練データを用いて、前記適正分割数を検出し、前記適正分割数を推定する場合の分割数に決定する
請求項6に記載の消費電力推定システム。
【請求項8】
前記プロセッサは、
推定された前記ワークロードの消費電力を表示させる
請求項1に記載の消費電力推定システム。
【請求項9】
物理サーバ上で実行されるワークロードの消費電力を推定する消費電力推定システムによる消費電力推定方法であって、
前記消費電力推定システムは、
前記物理サーバの全電力範囲を所定の分割数に分割した複数の短範囲について、前記物理サーバのメトリックを入力とし、前記物理サーバの消費電力値を出力する電力モデルである複数の短範囲電力モデルを訓練し、
前記物理サーバのメトリックを入力として、対応する短範囲を特定する分類器を訓練し、
前記ワークロードのメトリックと、前記分類器とに基づいて、適用すべき短範囲を特定し、
前記ワークロードのメトリックと、特定された前記短範囲に対応する短範囲電力モデルとに基づいて、前記ワークロードの消費電力を推定する
消費電力推定方法。
【請求項10】
物理サーバ上で実行されるワークロードの消費電力を推定する処理をコンピュータに実行させる消費電力推定プログラムであって、
前記消費電力推定プログラムは、
前記コンピュータに
前記物理サーバの全電力範囲を所定の分割数に分割した複数の短範囲について、前記物理サーバのメトリックを入力とし、前記物理サーバの消費電力値を出力する電力モデルである複数の短範囲電力モデルを訓練させ、
前記物理サーバのメトリックを入力として、対応する短範囲を特定する分類器を訓練させ、
前記ワークロードのメトリックと、前記分類器とに基づいて、適用すべき短範囲を特定させ、
前記ワークロードのメトリックと、特定された前記短範囲に対応する短範囲電力モデルとに基づいて、前記ワークロードの消費電力を推定させる
消費電力推定プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、物理サーバ上で実行されるワークロードの消費電力を推定する技術に関する。
【背景技術】
【0002】
典型的なワークロードの実行環境では、インフラストラクチャのコストを節約するために、単一の物理サーバ上に多様なワークロードが並置されて実行される。ここで、ワークロードとは、物理サーバ上に構築される仮想マシン上で実行されるソフトウェアのことをいう。
【0003】
これらのワークロードは、多様な消費電力特性を有しており、いくつかのワークロードは、低消費電力のワークロードであり、他は、電力集約的なワークロードである。
【0004】
個々のワークロードの消費電力量を見積もることができれば、需要対応とグリーンコンピューティング対策の実施に役立つ可能性がある。その例としては、可能であれば電力集約ワークロードをエネルギー余剰または再生可能エネルギーがある期間に遅らせることや、エネルギー余剰または再生可能エネルギー供給を有するデータセンターに電力集約ワークロードを移動させることである。
【0005】
また、個々のワークロードの排出量は、それらの消費電力量の推定値から計算することができ、これは、高レベルの排出削減目標を達成するために、個々のワークロードレベルでの決定を行うのに役立つことができる。
【0006】
特許文献1には、ワークロードによってサーバにかかる負荷レベルに基づいて、サーバの消費電力の一部を、そのサーバで実行するワークロードに属性付ける方法が開示されている。負荷のレベルは、プロセッサ、メモリ、ディスク、ネットワークなどのリソースの使用状況に基づいて決定できる。回帰モデルは、サーバリソース使用量の形式でワークロードの負荷レベルをサーバの総消費電力の一部にマッピングするために使用され得る。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】米国特許第8,751,844号明細書
【発明の概要】
【発明が解決しようとする課題】
【0008】
例えば、ワークロードの消費電力を、単一線形回帰モデルを使用して推定されることがある。この単一線形回帰モデルは、例えば、サーバにおける消費電力の全範囲を持つデータセットにより訓練される。
【0009】
例えば、単一線形回帰モデルの切片は、訓練データのデータセットの平均値をモデル化しようと試みたものであり、訓練データが高電力であるデータである場合には、大きな値となってしまう。このため、ワークロードの消費電力を過大推定してしまう虞がある。切片は、ワークロードをサポートするOS(オペレーティングシステム)およびミドルウェア、ワークロードによる熱放散の増加、および他の要因に起因する、ワークロードの消費電力のオーバーヘッド構成要素として解釈することができる。
【0010】
典型的なデータセンターでは、多くの低消費電力のワークロードがあり、他のいくつかは電力集約型ワークロードである。しかしながら、電力集約的ワークロードを有するデータセット上で訓練されたモデルは、低消費電力のワークロードの消費電力を過大推定してしまう。
【0011】
特許文献1に開示された技術は、訓練データの分布が高電力データポイントのロングテールを含むときに観測される過大推定の問題に対処していない。
【0012】
また、このように過大推定されたワークロードの消費電力の推定に基づいて行われるワークロードのスケジューリングおよびマイグレーションの決定は、サーバ資源および再生可能エネルギー供給における利用促進をもたらすことができない。
【0013】
本発明は、上記事情に鑑みなされたものであり、その目的は、ワークロードの消費電力を適切に推定することのできる技術を提供することにある。
【課題を解決するための手段】
【0014】
上記目的を達成するため、一観点に係る消費電力推定システムは、物理サーバ上で実行されるワークロードの消費電力を推定する消費電力推定システムであって、前記消費電力推定システムは、プロセッサを有し、前記プロセッサは、前記物理サーバの全電力範囲を所定の分割数に分割した複数の短範囲について、前記物理サーバのメトリックを入力とし、前記物理サーバの消費電力値を出力する電力モデルである複数の短範囲電力モデルを訓練し、前記物理サーバのメトリックを入力として、対応する短範囲を特定する特定情報を出力する分類器を訓練し、前記ワークロードのメトリックと、前記分類器とに基づいて、適用すべき短範囲を特定する特定情報を特定し、前記ワークロードのメトリックと、前記特定情報が示す前記短範囲に対応する短範囲電力モデルとに基づいて、前記ワークロードの消費電力を推定する。
【発明の効果】
【0015】
本発明によれば、ワークロードの消費電力を適切に推定することができる。
【図面の簡単な説明】
【0016】
【
図1】
図1は、一実施形態に係る計算システムの全体構成図である。
【
図2】
図2は、一実施形態に係るワークロード電力推定サーバの構成図である。
【
図3】
図3は、一実施形態に係るメトリック時系列データベースの構成図である。
【
図4a】
図4aは、サーバの消費電力についての訓練データの分布を説明する図である。
【
図4b】
図4bは、長範囲で訓練られた単一モデルの過大推定を説明する図である。
【
図5a】
図5aは、一実施形態に係る短範囲電力モデルのための訓練データの分割を説明する図である。
【
図5b】
図5bは、一実施形態に係る短範囲電力モデルデータベースの構成図である。
【
図6】
図6は、一実施形態に係る適切短範囲電力モデル開発処理のフローチャートである。
【
図7】
図7は、一実施形態に係るワークロード消費電力推定処理のフローチャートである。
【
図8】
図8は、一実施形態に係るモデル管理処理のフローチャートである。
【
図9】
図9は、一実施形態に係るワークロードエネルギー消費、CO2排出可視化画面を示す図である。
【発明を実施するための形態】
【0017】
実施形態について、図面を参照して説明する。なお、以下に説明する実施形態は特許請求の範囲に係る発明を限定するものではなく、また実施形態の中で説明されている諸要素及びその組み合わせの全てが発明の解決手段に必須であるとは限らない。
【0018】
図1は、一実施形態に係る情報システムの全体構成図である。
【0019】
情報システム10は、N個(Nは、1以上)のクラスタ100で構成される分散コンピューティングシステムと、消費電力推定システムの一例としてのワークロード電力推定サーバ300と、クライアント400とを備える。クラスタ100と、ワークロード電力推定サーバ300と、クライアント400とは、メインネットワーク200を介して接続されている。
【0020】
クラスタ100は、マスタとして働くサーバ(マスタサーバともいう)101と、ワーカとして働くサーバ(ワーカサーバともいう)103と、クラスタネットワーク102とを含む。マスタサーバ101及びワーカサーバ103は、例えば、アーキテクチャ的に同種の物理サーバ、すなわち、プロセッサ、メモリ、ストレージ、ネットワーク等が同一構成のサーバであってもよい。マスタサーバ101とワーカサーバ103とは、所定のプロトコルを使用して、クラスタネットワーク102を介して通信する。
【0021】
マスタサーバ101は、自身が属するクラスタ100内のワーカサーバ103上のワークロードの実行を管理及び監視する。マスタサーバ101は、サーバ消費電力、サーバ及びワークロードのリソース使用量(例えばプロセッサの使用量、メモリの使用量、ストレージの使用量、ネットワークの使用量等)のタイムスタンプが付されたメトリックを、クラスタネットワーク102を介して、例えば、一定の間隔で、SNMP(シンプルネットワーク管理プロトコル)インターフェース、API(アプリケーションプログラミングインタフェース)等の適切なインターフェースを用いて各サーバから取得し、メインネットワーク200を介してワークロード電力推定サーバ300内のメトリック時系列データベース800(
図2参照)にプッシュする。
【0022】
ワーカサーバ103は、1以上の仮想マシンを構成し、仮想マシン上で1以上のワークロードを実行する。
【0023】
ワークロード電力推定サーバ300は、タイムスタンプが付されたメトリックを用いて、消費電力を推定する電力推定モデルを訓練する処理や、事前に訓練されたモデルを使用して、タイムスタンプが付されたメトリックによりリアルタイムでワークロードの消費電力を推定する処理を行う。
【0024】
クライアント400は、いずれかのクラスタ100でワークロードを実行し、ワークロード電力推定サーバ300によって推定されたワークロードの消費電力を監視する。
【0025】
次に、ワークロード電力推定サーバ300について詳細に説明する。
【0026】
図2は、一実施形態に係るワークロード電力推定サーバの構成図である。
【0027】
ワークロード電力推定サーバ300は、コンピュータの一例であり、プロセッサ301と、メモリ302と、ローカルストレージ303と、ネットワークインターフェース304と、入力/出力デバイス305とを備える。プロセッサ301と、メモリ302と、ローカルストレージ303と、ネットワークインターフェース304と、入力/出力デバイス305とは、システムバス306を介して通信可能に接続されている。
【0028】
プロセッサ301は、例えば、CPU(Central Processing Unit)であり、メモリ302に読み出されたプログラムをフェッチして各種処理を実行する。
【0029】
メモリ302は、例えば、RAM(Random Access Memory)であり、プロセッサ301で実行されるプログラムや、必要なデータを記憶する。
【0030】
ネットワークインターフェース304は、例えば、有線LANカードや無線LANカードなどのインターフェースであり、メインネットワーク200を介して他の装置(例えば、クラスタ100のサーバ101,103、クライアント400等)と通信する。
【0031】
入力/出力デバイス305は、コンソール307に情報を表示し、コンソール307から情報を入力するインターフェースを提供する。
【0032】
ローカルストレージ303は、例えば、HDD(Hard Disk Drive)や、SSD(Solid StateDrive)等の永続的に記録できる記録デバイスであり、プログラムやデータを記録する。
【0033】
ローカルストレージ303は、適切短範囲電力モデル開発プログラム500と、消費電力推定プログラムの一例としてのワークロード電力推定プログラム600と、モデル管理プログラム700と、メトリック時系列データベース800と、短範囲電力モデルデータベース900と、電力範囲識別分類器データベース1000と、を格納する。
【0034】
適切短範囲電力モデル開発プログラム500は、プロセッサ301に実行されることにより、短範囲電力モデルの適切な構成を開発し、訓練する処理を行う。ワークロード電力推定プログラム600は、プロセッサ301に実行されることにより、監視されているワークロードの消費電力を推定する処理を行う。モデル管理プログラム700は、プロセッサ301に実行されることにより、短範囲電力モデルと、分類器とを管理する処理を行う。メトリック時系列データベース800は、タイムスタンプが付された、サーバ及びワークロードのメトリックを格納する。短範囲電力モデルデータベース900は、短範囲電力モデルを格納する。電力範囲識別分類器データベース1000は、各クラスタのそれぞれについて、ワークロードの電力範囲を予測する分類器(例えば、電力範囲予測モデル)を格納する。
【0035】
次に、メトリック時系列データベース800の詳細な構成について説明する。
【0036】
図3は、一実施形態に係るメトリック時系列データベースの構成図である。
【0037】
メトリック時系列データベース800は、クラスタ100毎に設けられ、対応するクラスタにおけるサーバ及びワークロードのメトリックを格納する。メトリック時系列データベース800は、各時点毎のレコードを格納する。レコードは、タイムスタンプ801と、CPU使用量802と、メモリ使用量803と、ディスク使用量804と、ネットワーク使用量805と、消費電力806と、のフィールドを含む。
【0038】
タイムスタンプ801には、レコードに対応するメトリックが取得された時点を示すタイムスタンプが格納される。CPU使用量802には、レコードに対応する時点のCPU(プロセッサ)の使用量が格納される。メモリ使用量803には、レコードに対応する時点のメモリの使用量が格納される。ディスク使用量804には、レコードに対応する時点のディスク(ローカルストレージ)の使用量が格納される。ネットワーク使用量805には、レコードに対応する時点のネットワークの使用量が格納される。消費電力806には、レコードに対応する時点の消費電力が格納される。
図3に示すメトリック時系列データベース800の1行目のレコード807は、午後12:30:50において、CPU使用量が20%であり、メモリ使用量が100MBであり、ディスク使用量が120kBであり、ネットワーク使用量が400kBであり、消費電力が150Wであることを示している。
【0039】
次に、サーバの消費電力を推定する消費電力モデルの訓練について使用する訓練データの分布について説明する。
【0040】
図4aは、サーバの消費電力についての訓練データの分布を説明する図である。
【0041】
まず、ワークロードの消費電力Ppredを推定する典型的な線形回復モデルは、以下の式(1)に示すように表される。
Ppred=Ccpu・Ucpu+Cmem・Umen+Cdisk・Udisk+Cnw・Unw+C ・・・(1)
ここで、Ucpuは、CPU使用量であり、Umemは、メモリ使用量であり、Udiskは、ディスク使用量であり、Unwは、ネットワーク使用量である。また、Ccpu,Cmem,Cdisk,Cnwは、各メトリックに対応するモデル係数である。また、Cは、ワークロードの消費電力のオーバーヘッド成分として解釈できるモデルの切片であり、ワークロードをサポートするOS(オペレーティングシステム)及びミドルウェア、ワークロードによる熱熱拡散の増加、及び他の要因に起因する。切片Cは、訓練データポイントの消費電力の平均値をモデル化するために経験的に観測される。
【0042】
図4aからわかるように、訓練データの分布は、高電力データポイントのロングテールを含んでおり、平均消費電力201は、図示したようになる。モデルの大きな切片値は、大部分のデータポイントは平均消費電力201よりも小さいのでサーバ及びワークロードの消費電力の過大推定をもたらす。
【0043】
次に、長範囲(例えば、全範囲)の消費電力の訓練データを用いて作成された単一の線形回帰モデルの消費電力の推定値を説明する。
【0044】
図4bは、長範囲で訓練られた単一モデルの過大推定を説明する図である。
【0045】
図4bに示すように、線形回帰モデルにより推定される理想的な消費電力は、線202に示すように、実際の消費電力と等しい。一方、
図4aに示す分布を持つサーバ消費電力の訓練データを用いて単一の線形回帰モデルを作成した場合には、訓練データの特性分布と、モデルの切片が訓練データの平均値に追従する傾向とによって、推定される消費電力は、線203に示すようになる。
【0046】
線202と線203とを参照するとわかるように、大部分のデータポイントについては、消費電力量が過大評価されるとともに、高電力のデータポイントについては、過小推定されてしまう。
【0047】
次に、本実施形態に係る電力モデルの開発について説明する。
【0048】
図5aは、一実施形態に係る短範囲電力モデルのための訓練データの分割を説明する図である。
【0049】
本実施形態では、過大推定を削減するために、短範囲の訓練データを用いて短範囲電力モデルを開発する。そこで、本実施形態では、訓練データは、いくつかのセクション(電力範囲)に分割される。各電力範囲のサイズは、同じであっても、異なっていてもよい。
【0050】
所定の電力範囲に属するデータは、その電力範囲において消費電力を予想することのできる線形回帰モデルである短範囲電力モデルを構築するために使用される。具体的には、
図5aに示すように、第1電力範囲2001は、第1電力範囲のみの電力を推定できるモデル1を構築するために使用され、同様に、第2電力範囲2002は、第2電力範囲のみの電力を推定できるモデル2を構築するために使用され、第3電力範囲2003は、第3電力範囲のみの電力を推定できるモデル3を構築するために使用される。
【0051】
各電力範囲の電力推定を行う短範囲電力モデルの切片は、データ分布全体の消費電力の平均ではなく、それぞれの電力範囲における消費電力の平均となっている。したがって、各電力範囲における過大推定を小さくすることができ、ワークロードの消費電力の推定精度を改善することができる。
【0052】
次に、上記した複数の短範囲電力モデルを管理する短範囲電力モデルデータベース900について説明する。
【0053】
図5bは、一実施形態に係る短範囲電力モデルデータベースの構成図である。
【0054】
短範囲電力モデルデータベース900は、クラスタ毎のテーブルを含む。クラスタ毎のテーブルは、各電力範囲毎の短範囲電力モデルのレコードを含む。レコードは、電力範囲901と、Ccpu902と、Cmem903と、Cdisk904と、Cnw905と、C906と、のフィールドを含む。電力範囲901には、レコードに対応する短範囲電力モデルの電力範囲が格納される。Ccpu902には、レコードに対応する短範囲電力モデルのCPU使用量に対するモデル係数が格納される。Cmem903には、レコードに対応する短範囲電力モデルのメモリ使用量に対するモデル係数が格納される。Cdisk904には、レコードに対応する短範囲電力モデルのディスク使用量に対するモデル係数が格納される。Cnw905には、レコードに対応する短範囲電力モデルのネットワーク使用量に対するモデル係数が格納される。C906には、レコードに対応する短範囲電力モデルの切片値が格納される。クラスタ1のテーブルの1行目のレコード907は、レコードに対応する短範囲電力モデルの電力範囲は、1-100Wであり、Ccpuは、0.8であり、Cmenは、0.7であり、Cdiskは、0.65であり、Cnwは、0.5であり、Cは52であることを示している。
【0055】
次に、本実施形態に係るワークロード電力推定サーバ300による処理動作について説明する。
【0056】
図6は、一実施形態に係る適切短範囲電力モデル開発処理のフローチャートである。
【0057】
図6に示す適切短範囲電力モデル開発処理は、クラスタ内の1台のサーバに関する適切な短範囲電力モデル(適切短範囲電力モデル)を開発する処理である。しかしながら、本実施形態では、クラスタ内における各サーバが均一の構成となっているので、開発された適切短範囲電力モデルは、いずれのサーバに対しても用いることができる。この適切短範囲電力モデル開発処理は、例えば、定期的、又はユーザから指示されたときに実行される。
【0058】
ステップ501では、適切短範囲電力モデル開発プログラム500は、モデルを訓練するために使用されるタイムスタンプ付きのサーバリソース使用量データ及びサーバ消費電力データを入力する。サーバリソース使用量データは、
図3に示すように、プロセッサ使用量、メモリ使用量、ローカルストレージ使用量、及びネットワーク使用量に関する、タイムスタンプ付きのサーバレベルのメトリックを含む。サーバ消費電力データは、タイムスタンプ付きのサーバ消費電力の合計の読み取り値から、サーバの待機状態の消費電力(サーバ待機消費電力)の読み取り値を減算した値を含む。サーバ待機消費電力の読み取り値は、いずれのワークロードなしにサーバが動作している場合の読み取り値により特定することができる。
【0059】
ステップ502では、適切短範囲電力モデル開発プログラム500は、タイムスタンプ付きのデータに対して、外れ値の除去、又はメトリックの補間又は平均、又は他の方法等の適切な技術による欠陥値の置換を含む前処理を実行する。前処理は、異なるインターフェースから取得されたメトリックの時間同期を含んでもよい。また、前処理は、メトリックにおけるパターンをよりよく補足し、データのノイズを除去するのに役立つように、ローリング平均又は移動平均を使用することを含んでもよい。
【0060】
ステップ503では、適切短範囲電力モデル開発プログラム500は、最大サーバ電力Pmaxと、最小サーバ電力Pminとを記録する。
【0061】
ステップ504では、適切短範囲電力モデル開発プログラム500は、短範囲電力モデルの適切数又は電力範囲の適切数N(すなわち、訓練データのセクションNの適切数、適正分割数)を検出するために、ループ1の処理(504~515)の処理を、N=1と初期化して開始する。
【0062】
ステップ505では、適切短範囲電力モデル開発プログラム500は、訓練データを同じサイズのN個の電力範囲に区分する。
【0063】
ステップ506では、適切短範囲電力モデル開発プログラム500は、訓練データのN個の電力範囲のそれぞれの適切なサイズを検出するためのループ2の処理(506-514)を、繰り返し回数(#イテレーション)=0と初期化して開始する。
【0064】
ステップ507では、適切短範囲電力モデル開発プログラム500は、ループ1で設定されたN個の電力範囲と、ループ2で設定された各電力範囲のサイズにより、N個の短範囲電力モデルを訓練する。適切短範囲電力モデル開発プログラム500は、
図5aについて説明したように、各短範囲電力モデルを、それらのそれぞれの電力範囲から取得された訓練データのみで訓練する。ここで、短範囲電力モデルに対する入力は、プロセッサ使用量、メモリ使用量、ストレージ使用量、ネットワーク使用量等のプロセッサ、メモリ、ストレージ、ネットワークに関するメトリックであり、短範囲電力モデルからの出力は、サーバ消費電力量(消費電力値)である。このサーバ消費電力量には、サーバの待機状態の消費電力は含まれない。短範囲電力モデルは、例えば、線形回帰を使用する。
【0065】
ステップ508では、適切短範囲電力モデル開発プログラム500は、N個の電力範囲及び各電力範囲のサイズを用いて、与えられたタイムスタンプ又は期間についての電力範囲を予測することのできる分類器を訓練する。ここで、分類器への入力は、プロセッサ使用量、メモリ使用量、ストレージ使用量、ネットワーク使用量等のプロセッサ、メモリ、ストレージ、ネットワークに関するメトリックであり、分類器からの出力は、電力範囲を特定可能なラベル(特定情報)である。例えば、1-800Wの全電力範囲が、1-200W,201-500W,501-800Wとして3つの短範囲に区分されている場合には、1-200Wについての電力範囲のラベルは0、201-500Wについての電力範囲のラベルは1、501-800Wについての電力範囲のラベルは2である。このように、分類器は、ワークロードの電力推定のための適切な短範囲電力モデルを選択するために使用される電力範囲予測モデルであってもよい。分類器は、人工ニューラルネットワーク、決定木、任意の他の適切な分類モデルを使って開発することができる。
【0066】
ステップ509では、適切短範囲電力モデル開発プログラム500は、サーバ消費電力量の正確性を計算するために、ステップ507で開発された短範囲電力モデルと、ステップ508で開発された分類器とをテストデータによりテストする。まず、適切短範囲電力モデル開発プログラム500は、分類器により、テストデータの入力についての電力範囲を予測する。次いで、適切短範囲電力モデル開発プログラム500は、テストデータの入力を使用することによって全体の消費電力を推定するために、予測された電力範囲に対応する短範囲電力モデルを使用する。次いで、適切短範囲電力モデル開発プログラム500は、適切な正確率測定方法を使用して、推定された出力と、実際のテストデータの出力とを比較して、テスト正解率を計算する。ここで、正確率測定方法としては、例えば、RMSE(Root Mean Square Error)を用いてもよいし、MAPE(Mean Absolute Percentage Error)を用いてもよい。
【0067】
ステップ510では、適切短範囲電力モデル開発プログラム500は、テスト正確率と予め設定されている閾値正解率とを比較する。この結果、テスト正解率が設定されている閾値正解率を超える場合(510:Yes)には、ステップ512で、適切短範囲電力モデル開発プログラム500は、適切なサイズでN個(適正分割数)の電力範囲に区分されたデータにより訓練された短範囲電力モデルを短範囲電力モデルデータベース900に格納し、分類器を電力範囲分類器データベース1000に格納する。
【0068】
一方、テスト正解率が閾値正解率を超えない場合(510:No)には、ステップ511で、適切短範囲電力モデル開発プログラム500は、ループ2の繰り返し回数と、既定の繰り返しの閾値とを比較する。繰り返しの閾値は、例えば、アルゴリズムの空間及び時間の複雑さに基づいて定義することができる。
【0069】
この結果、ループ2の繰り返し回数が、既定の繰り返しの閾値を超えない場合(511:No)には、ステップ513で、適切短範囲電力モデル開発プログラム500は、適切な最適化処理の1つを用いて、N個の電力範囲のサイズを更新する。例えば、1-800Wの全電力範囲が、1-200W,201-500W,501-800Wとして3つの短範囲に区分されている場合には、1-100W、101-300W、301-800Wとを新しい設定としてもよい。
【0070】
ステップ514では、適切短範囲電力モデル開発プログラム500は、ループ2の繰り返し回数をインクリメント(1加算)し、ループ2をステップ507から繰り返す。
【0071】
一方、ステップ511で、繰り返し回数が閾値を超えた場合には、適切短範囲電力モデル開発プログラム500は、ループ2の処理を抜け、ステップ515で、電力範囲の個数Nをインクリメント(1加算)し、ループ1をステップ505から繰り返す。
【0072】
この適切短範囲電力モデル開発処理によると、適切な電力範囲の個数及び電力範囲のサイズが特定され、特定された電力範囲の個数に対応する短範囲電力モデルと、分類器とをデータベースに登録することができる。
【0073】
次に、ワークロード消費電力推定処理について説明する。
【0074】
図7は、一実施形態に係るワークロード消費電力推定処理のフローチャートである。
【0075】
ワークロード消費電力推定処理は、例えば、定期的又はユーザから指示されたときに実行される。
【0076】
ステップ601では、ワークロード電力推定プログラム600は、タイムスタンプが付されたワークロードリソース使用量データを入力する。ワークロードリソース使用量データは、
図3に示すように、プロセッサ使用量、メモリ使用量、ローカルストレージ使用量、及びネットワーク使用量に関する、タイムスタンプ付きのワークロードレベルのメトリックを含む。
【0077】
ステップ602では、ワークロード電力推定プログラム600は、タイムスタンプされたデータに対して前処理を行う。例えば、短範囲電力モデルが訓練データのローリング平均または移動平均について訓練されている場合には、前処理には、或る期間にわたってローリング平均または移動平均を使用することを含んでもよい。
【0078】
ステップ603では、短範囲電力モデルがサーバレベル(物理サーバレベル)のメトリックで訓練されているので、ワークロード電力推定プログラム600は、ワークロードリソース使用量のメトリックに対して所定の適切なスケーリングファクタを適用してサーバレベルのメトリックにスケールアップ(拡大)する。
【0079】
例えば、ワークロードメトリックUworkloadを、以下の式(2)を用いてサーバレベルメトリックUserverに変換してもよい。
Userve=Uworkload/(ワークロードで使用されるプロセッサ数)*(サーバのプロセッサ総数) ・・・(2)
【0080】
ステップ604では、ワークロード電力推定プログラム600は、スケールアップされたワークロード使用量メトリックを、電力範囲を予想する事前に訓練された分類器に入力する。
【0081】
ステップ605では、ワークロード電力推定プログラム600は、予想された電力範囲に対応する事前に訓練された短範囲電力モデルを用いて、与えられた期間における消費電力量を推定する。
【0082】
ステップ606では、短範囲電力モデルは、サーバレベルデータにより、サーバ消費電力量を出力するように訓練されているので、ワークロード電力推定プログラム600は、ステップ605で推定されたサーバ消費電力量を適切な所定のファクタを利用してワークロードレベルの消費電力量にスケールダウンする。
【0083】
例えば、短範囲電力モデルにより推定されたサーバレベル消費電力量P⌒
serverは、以下の式(3)を用いて、ワークロードレベル消費電力予測値P⌒
workloadに変換できる。
P⌒workload=P⌒server/(サーバのプロセッサ総数)*(ワークロードで使用されるプロセッサ数) ・・・(3)
【0084】
ステップ607では、ワークロード電力推定プログラム600は、与えられた期間についての推定されたワークロード消費電力量を出力する。
【0085】
上記したワークロード消費電力推定処理によると、ワークロードの消費電力量を適切に推定することができる。
【0086】
次に、モデル管理処理について説明する。
【0087】
図8は、一実施形態に係るモデル管理処理のフローチャートである。
【0088】
モデル管理処理は、短範囲電力モデル及び分類器を予め定義された正解率を確保できるようにするために実行される。
【0089】
ステップ701では、モデル管理プログラム700は、予定された時点又は定期的に、正確率チェックを行う。ここで、正解率チェックでは、短範囲電力モデル及び分類器を用いて、チェック対象のサーバに並置されているすべてのワークロードの与えられた期間における推定電力の合計を計算し、この期間のサーバの消費電力量(ここでは、例えば、サーバの全消費電力量-待機サーバ消費電力量)と比較し、正解率を計算する。
【0090】
ステップ702では、モデル管理プログラム700は、正解率が閾値正解率を超えるか否かを判定する。
【0091】
この結果、正解率が閾値正解率を超える場合(702:Yes)には、モデル管理プログラム700は、ステップ706で、対応するクラスタの短範囲電力モデル及び分類器の最新バージョンは、そのクラスタ上で実行されるワークロードの消費電力量を推定するために引き続き使用されるようにする。
【0092】
一方、正解率が閾値正解率を超えない場合(702:No)には、ステップ703で、モデル管理プログラム700は、新しい訓練データセットを作成し、訓練データセットのバージョン番号を更新する。ここで、新しい訓練データセットは、例えば、短範囲電力モデルの最後の更新が行われた後にメトリック時系列データベース800に収集されたデータとしてもよい。
【0093】
ステップ704では、モデル管理プログラム700は、最新のバージョンの訓練データセットを使っての適切短範囲電力モデル開発プログラム500の実行を起こす。これにより、適切短範囲電力モデル開発処理が実行されて、最新バージョンの訓練データセットに適合した短範囲電力モデルと、分類器とが開発される。
【0094】
ステップ705では、モデル管理プログラム700は、ステップ704で最新バージョンの訓練データセットで開発された短範囲電力モデルと、分類器とのバージョン番号を更新する。
【0095】
ステップ706では、モデル管理プログラム700は、対応するクラスタの短範囲電力モデル及び分類器の最新バージョンを、そのクラスタ上で実行されるワークロードの消費電力量を推定するために使用されるようにする。
【0096】
このモデル管理処理によると、短範囲電力モデル及び分類器を適切な状態に更新することができる。
【0097】
次に、ワークロード電力推定サーバ300により表示されるワークロードエネルギー消費、CO2排出可視化画面(可視化画面)について説明する。
【0098】
図9は、一実施形態に係るワークロードエネルギー消費、CO2排出可視化画面を示す図である。
【0099】
可視化画面3000は、指定されたワークロードの指定された期間におけるエネルギー(電力)消費と、エネルギー消費における再生可能エネルギー(RE)とブラウンエネルギー(BE)との組成を示す画面であり、例えば、ワークロード電力推定プログラム600により、例えば、コンソール307やクライアント400に表示される。
【0100】
可視化画面3000は、ワークロードID入力領域3001と、開始期間入力領域3002と、終了期間入力領域3003と、ワークロード追加ボタン3004と、クリアボタン3005と、グラフ表示領域3006とを含む。
【0101】
ワークロードID入力領域3001は、グラフ表示領域3006に表示させる対象とするワークロードのID(ワークロードID)を入力する領域である。開始期間入力領域3002は、消費電力の対象とする期間の開始時点を入力する領域である。終了期間入力領域3003は、消費電力の対象とする期間の終了時点を入力する領域である。ワークロード追加ボタン3004は、ワークロードID入力領域3001に入力されたワークロードIDのワークロードについての開始期間入力領域3002及び終了期間入力領域3003に入力された期間についての消費電力を示すオブジェクトをグラフ表示領域3006に追加させる指示を受け付けるボタンである。クリアボタン3005は、入力されたワークロードIDのワークロードのオブジェクトをグラフ表示領域3006から消去する指示を受け付けるボタンである。グラフ表示領域3006は、追加を受け付けたワークロードについての消費電力及びREとBEとの割合を示すオブジェクトを表示させる領域である。なお、ワークロードに対応するREとBEとの情報については、ワークロードを実行するサーバに供給される電力の情報を外部から取得することにより特定することができる。
【0102】
なお、本発明は、上述の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で、適宜変形して実施することが可能である。
【0103】
例えば、上記実施形態において、プロセッサが行っていた処理の一部又は全部を、専用のハードウェア回路で行うようにしてもよい。また、上記実施形態におけるプログラムは、プログラムソースからインストールされてよい。プログラムソースは、プログラム配布サーバ又は記録メディア(例えば可搬型の記録メディア)であってもよい。
【符号の説明】
【0104】
10…情報システム、100…クラスタ、102…クラスタ内ネットワーク、101,103…サーバ、200…メインネットワーク、300…ワークロード電力推定サーバ、301…プロセッサ、302…メモリ、303…ローカルストレージ、304…ネットワークインターフェース、305…入力/出力デバイス、306…システムバス、307…コンソール、400…クライアント