JP6787032B2 - 制御装置、制御方法、および制御プログラム - Google Patents

制御装置、制御方法、および制御プログラム Download PDF

Info

Publication number
JP6787032B2
JP6787032B2 JP2016204744A JP2016204744A JP6787032B2 JP 6787032 B2 JP6787032 B2 JP 6787032B2 JP 2016204744 A JP2016204744 A JP 2016204744A JP 2016204744 A JP2016204744 A JP 2016204744A JP 6787032 B2 JP6787032 B2 JP 6787032B2
Authority
JP
Japan
Prior art keywords
control device
information processing
data
reference data
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2016204744A
Other languages
English (en)
Other versions
JP2018067113A (ja
Inventor
成人 鈴木
成人 鈴木
浩史 遠藤
浩史 遠藤
児玉 宏喜
宏喜 児玉
裕幸 福田
裕幸 福田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2016204744A priority Critical patent/JP6787032B2/ja
Priority to US15/720,889 priority patent/US10417050B2/en
Publication of JP2018067113A publication Critical patent/JP2018067113A/ja
Application granted granted Critical
Publication of JP6787032B2 publication Critical patent/JP6787032B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は、制御装置、情報処理装置の制御方法、および情報処理装置の制御プログラムに関する。
従来、データセンターの計算資源を監視し、SLA(Service Level Agreement)を満たすように、データセンターにおいてVM(Virtual Machine:仮想マシン)に割り当てる計算資源を自律的に制御する技術がある。
先行技術としては、例えば、DB(Data Base)測定情報および仮想DBサーバの構成情報に基づいて設定するネットワークパスごとの帯域使用量の上限値を決定して出力するものがある。また、例えば、プログラムモジュールごとの負荷の測定結果に基づいて、各プログラムモジュールに割当てられているプロセス数を変更すべきかを判定する技術がある。また、例えば、コンピューティング環境に関連付けられたデータに基づいて将来の作業負荷レベルを予測し、将来の作業負荷レベルを満たすには現在のリソース・デプロイメントが不十分又は過度であると推定された場合、1つ又は複数のアクションを実行する技術がある。
特開2012−133630号公報 特開2014−164425号公報 特表2006−520027号公報
しかしながら、上述した従来技術では、データセンターの計算資源の負荷が変動した場合、データセンターの計算資源の負荷が変動してからデータセンターの計算資源の制御を行うまでにタイムラグが有るため、SLAを満たさなくなる可能性がある。例えば、VMを実行するCPU(Central Processing Unit)使用率が増大した場合、VMのCPU使用率が増大してからVMへのCPUリソースの割り当てを変更するまでに比較的大きな時間がかかり、SLAを満たさなくなる可能性がある。
1つの側面では、本発明は、情報処理装置の状態が変化してから計算資源の制御を行うまでにかかる時間を低減することができる制御装置、情報処理装置の制御方法、および情報処理装置の制御プログラムを提供することを目的とする。
本発明の一側面によれば、複数の計算資源を有する情報処理装置が実行するホストOSから入力した運用データに基づき選定された複数の基準データを記憶する記憶部を参照して、入力された予測要求に基づいて算出された、予測対象である予測対象基準データと他の基準データとの間の相関をそれぞれ表す複数の相関係数に基づき、前記複数の基準データから一又は複数の選択基準データを選択し、選択した前記一又は複数の選択基準データに基づき、前記予測対象基準データの予測値を計算し、計算した前記予測対象基準データの予測値と予め定められた基準値に基づき、前記情報処理装置の計算資源を制御する制御装置、制御方法、および制御プログラムが提案される。
本発明の一態様によれば、情報処理装置の状態が変化してから計算資源の制御を行うまでにかかる時間を低減することができるという効果を奏する。
図1は、実施の形態にかかる制御方法の一実施例を示す説明図である。 図2は、情報処理システム200の一例を示す説明図である。 図3は、制御装置100のハードウェア構成例を示すブロック図である。 図4は、メトリックに関する時系列データのデータ構造の一例を示す説明図である。 図5は、制御装置100の機能的構成例を示すブロック図である。 図6は、制御装置100の具体的な構成例を示すブロック図である。 図7は、実施例1における制御装置100の動作例を示す説明図(その1)である。 図8は、実施例1における制御装置100の動作例を示す説明図(その2)である。 図9は、実施例1における制御装置100の動作例を示す説明図(その3)である。 図10は、実施例1における制御装置100の動作例を示す説明図(その4)である。 図11は、実施例1における制御装置100の動作例を示す説明図(その5)である。 図12は、実施例1における基準データの別の例を示す説明図である。 図13は、実施例1における予測処理手順の一例を示すフローチャートである。 図14は、実施例1における制御処理手順の一例を示すフローチャート(その1)である。 図15は、実施例1における制御処理手順の一例を示すフローチャート(その2)である。 図16は、実施例2における制御装置100の動作例を示す説明図(その1)である。 図17は、実施例2における制御装置100の動作例を示す説明図(その2)である。 図18は、実施例2における予測処理手順の一例を示すフローチャートである。 図19は、実施例2における制御処理手順の一例を示すフローチャートである。 図20は、実施例3における制御装置100の動作例を示す説明図(その1)である。 図21は、実施例3における制御装置100の動作例を示す説明図(その2)である。 図22は、実施例3における予測処理手順の一例を示すフローチャートである。 図23は、実施例3における制御処理手順の一例を示すフローチャートである。
以下に、図面を参照して、本発明にかかる制御装置、制御方法、および制御プログラムの実施の形態を詳細に説明する。
(実施の形態にかかる制御方法の一実施例)
図1は、実施の形態にかかる制御方法の一実施例を示す説明図である。制御装置100は、情報処理装置を管理するコンピュータである。情報処理装置は、複数の計算資源を有するコンピュータである。情報処理装置は、例えば、データセンターにあるサーバである。計算資源は、例えば、サーバのCPUリソース等である。
データセンターを利用させるサービスでは、サービスの提供者とサービスの利用者との間で取り決められたSLAを満たすようにして、サービスの利用者が望んでいるユーザビリティを確保することが求められる傾向がある。例えば、データセンターにあるサーバによって実行され、利用者によって利用されるVMに、利用者が望んでいるVMの性能を確保することができるCPUリソースを割り当てることにより、SLAを満たすようにすることが考えられる。
一方で、データセンターの消費電力を低減することも求められる傾向がある。例えば、データセンターにあるサーバのうち、起動中のサーバの数を少なくすることにより、消費電力を低減することが考えられる。このように、データセンターを利用させるサービスでは、SLAを満たしつつ、データセンターの消費電力を低減することが好ましい。
しかしながら、SLAを満たしつつデータセンターの消費電力を低減することは困難である。例えば、起動中のサーバの数を少なくしていると、VMのCPU使用率が時間経過にともなって変動したことに応じて、VMに割り当てたCPUリソースが不足してSLAを満たさなくなる期間が発生してしまう可能性が大きくなる。
これに対し、例えば、VMのCPU使用率の変動に備えて、いくつかのサーバをホットスタンバイ状態で起動させておくことにより、SLAを満たさない期間が発生することを抑制する場合が考えられる。しかしながら、この場合、ホットスタンバイ状態のサーバには消費電力がかかってしまうため、データセンターの消費電力を効率よく低減することができない。
さらに、例えば、VMのCPU使用率の変動を予測し、予測した結果に応じてVMに割り当てるCPUリソースを制御することにより、SLAを満たさない期間が発生することを抑制しつつ、データセンターの消費電力を低減する場合も考えられる。しかしながら、この場合であっても、VMのCPU使用率の変動を予測する際に時間がかかり、VMのCPU使用率の変動のタイミングまでに、VMに割り当てるCPUリソースの制御が間に合わなければ、SLAを満たさない期間が発生してしまう可能性がある。
そこで、本実施の形態では、JIT(Just−In−Time)モデリングによってデータセンターの計算資源についての負荷を予測することにより、SLAを満たしつつデータセンターの消費電力を効率よく低減することができる制御方法について説明する。さらに、本実施の形態によれば、複数のメトリック(metric)のうち、JITモデリングに使用するメトリックを選択することにより、JITモデリングにかかる時間を低減し、SLAを満たさない期間を発生しづらくすることができる。
(1−1)制御装置100は、情報処理装置が実行するホストOS(Operating System)から入力した運用データに基づき選定された複数の基準データを、記憶部110に記憶する。運用データは、性能値に関する時系列データである。運用データは、例えば、情報処理装置が実行するホストOS上のパフォーマンスモニタから取得される、情報処理装置の状態を示す性能値に関する時系列データである。
基準データは、運用データから選定された、所定のメトリックに関する時系列データである。基準データは、データセンターに複数のVMがあれば、それぞれのVMの所定のメトリックに関する時系列データを含んでもよい。メトリックは、例えば、VMのCPU使用率、メモリ使用率、DISKコマンド数、ネットワーク送受信速度、DISK読み込み回数、DISK書込回数、DISKキュー平均待ち時間、送受信データ量などである。メトリックは、具体的には、100個以上あってもよい。
(1−2)制御装置100は、予測要求を受け付ける。予測要求は、予測対象である予測対象基準データを指定する情報を含む。予測対象基準データは、予測対象のメトリックに関する時系列データである。予測対象基準データは、例えば、VMのCPU使用率に関する時系列データである。
(1−3)制御装置100は、入力された予測要求に基づいて算出された、予測対象である予測対象基準データと、他の基準データとの間の相関をそれぞれ表す複数の相関係数に基づき、複数の基準データから一又は複数の選択基準データを選択する。
制御装置100は、例えば、VMのCPU使用率に関する時系列データと、メモリ使用率に関する時系列データとの相関係数を算出する。また、制御装置100は、例えば、VMのCPU使用率に関する時系列データと、DISKコマンド数に関する時系列データとの相関係数を算出する。また、制御装置100は、例えば、VMのCPU使用率に関する時系列データと、ネットワーク送受信速度に関する時系列データとの相関係数を算出する。
また、制御装置100は、例えば、VMのCPU使用率に関する時系列データと、DISK読み込み回数に関する時系列データとの相関係数を算出する。また、制御装置100は、例えば、VMのCPU使用率に関する時系列データと、DISK書込回数に関する時系列データとの相関係数を算出する。また、制御装置100は、VMのCPU使用率に関する時系列データと、DISKキュー平均待ち時間に関する時系列データとの相関係数を算出する。
そして、制御装置100は、例えば、複数の基準データのうち、算出した相関係数が大きい順に、所定の数の基準データを選択する。制御装置100は、複数の基準データのうち、算出した相関係数が所定の閾値以上である基準データを選択してもよい。
(1−4)制御装置100は、選択した一又は複数の選択基準データに基づき、予測対象基準データの予測値を計算する。制御装置100は、例えば、選択した一又は複数の選択基準データをJITモデリングに使用し、局所的なモデルを作成してVMのCPU使用率に関する時系列データに次に追加されるVMのCPU使用率を予測した予測値を計算する。
JITモデリングは、種々のメトリックのデータを蓄積しておき、現在の種々のメトリックのデータとの間でのL2ノルムが所定の閾値以下になる過去の時点の種々のメトリックのデータから局所的なモデルを作成し、何らかのメトリックのデータの予測値を計算する技術である。
(1−5)制御装置100は、計算した予測対象基準データの予測値と予め定められた基準値に基づき、制御装置100の計算資源を制御する。制御装置100は、例えば、VMのCPU使用率の予測値が閾値以上であれば、VMに割り当てる計算資源を増やす。閾値は、例えば、VMに割り当て中のCPUリソースの90%である。
これにより、制御装置100は、JITモデリングによって何らかのメトリックのデータの予測値を計算し、計算した予測値に基づいてデータセンターの計算資源についての負荷を予測することができる。このため、制御装置100は、SLAを満たしつつデータセンターの消費電力を効率よく低減することができるように、情報処理装置の計算資源を制御することができる。また、制御装置100は、消費電力を効率よく低減しづらくてもSLAを満たす確率が大きくなるように、情報処理装置の計算資源を制御してもよい。
さらに、制御装置100は、複数のメトリックのうち、JITモデリングに使用するメトリックを選択し、JITモデリングにかかる時間を低減することができる。このため、制御装置100は、JITモデリングに時間がかかり、データセンターの計算資源についての負荷の変動のタイミングまでに、計算資源の制御が間に合わなくなることを抑制することができる。結果として、制御装置100は、SLAを満たさない期間が発生してしまう可能性を低減することができる。
また、制御装置100は、JITモデリングによって、データセンターのように物理現象が複雑な場所についても、予測対象の何らかのメトリックのデータの予測値を精度よく計算することができる。また、制御装置100は、JITモデリングによって、予測対象の何らかのメトリックのデータが、非線形な特定を有していても、予測対象の何らかのメトリックのデータの予測値を精度よく計算することができる。
(情報処理システム200の一例)
次に、図1に示した制御装置100を適用した、情報処理システム200の一例について説明する。
図2は、情報処理システム200の一例を示す説明図である。図2において、情報処理システム200は、制御装置100と、情報処理装置201とを含む。情報処理システム200において、制御装置100と情報処理装置201とは、有線又は無線のネットワーク210を介して接続される。ネットワーク210は、例えば、LAN(Local Area Network)、WAN(Wide Area Network)、インターネットなどである。
制御装置100は、情報処理装置201を管理するコンピュータである。制御装置100は、具体的には、サーバである。制御装置100は、データセンターにあるサーバである。制御装置100は、データセンターの外にあるサーバであってもよい。情報処理装置201は、計算資源を有するコンピュータである。情報処理装置201は、VMを実行することができる。情報処理装置201は、例えば、ホストOSによってVMを実行する。情報処理装置201は、例えば、ハイパーバイザによってVMを実行してもよい。情報処理装置201は、具体的には、サーバである。制御装置100は、いずれかの情報処理装置201と一体であってもよい。
(制御装置100のハードウェア構成例)
次に、図3を用いて、制御装置100のハードウェア構成例について説明する。
図3は、制御装置100のハードウェア構成例を示すブロック図である。図3において、制御装置100は、CPU301と、メモリ302と、ネットワークI/F(Interface)303と、ディスクドライブ304と、ディスク305と、記録媒体I/F306と、BMC(Base Management Controller)307とを有する。また、各構成部は、バス300によってそれぞれ接続される。
ここで、CPU301は、制御装置100の全体の制御を司る。メモリ302は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)およびフラッシュROMなどを有する。具体的には、例えば、フラッシュROMやROMが各種プログラムを記憶し、RAMがCPU301のワークエリアとして使用される。メモリ302に記憶されるプログラムは、CPU301にロードされることで、コーディングされている処理をCPU301に実行させる。
ネットワークI/F303は、通信回線を通じてネットワーク210に接続され、ネットワーク210を介して他のコンピュータ(例えば、図2に示したクライアント装置202)に接続される。そして、ネットワークI/F303は、ネットワーク210と内部のインターフェースを司り、他のコンピュータからのデータの入出力を制御する。ネットワークI/F303には、例えば、モデムやLANアダプタなどを採用することができる。
ディスクドライブ304は、CPU301の制御に従ってディスク305に対するデータのリード/ライトを制御する。ディスクドライブ304は、例えば、磁気ディスクドライブである。ディスク305は、ディスクドライブ304の制御で書き込まれたデータを記憶する不揮発メモリである。ディスク305は、例えば、磁気ディスク、光ディスクなどである。メモリ302、又はディスク305は、複数のメトリックのそれぞれのメトリックに関する時系列データを基準データとして記憶する、図4に後述するDB(DateBase)400を実現する。
記録媒体I/F306は、外部の記録媒体308に接続され、外部の記録媒体308と内部のインターフェースを司り、外部の記録媒体308に対するデータの入出力を制御する。記録媒体I/F306は、例えば、USB(Universal Serial Bus)ポートである。記録媒体308は、例えば、USBメモリである。記録媒体308は、実施の形態にかかる制御プログラムを記憶してもよい。BMC307は、ハードウェアの監視、ハードウェアの遠隔操作を行う。
制御装置100は、上述した構成部のほか、例えば、SSD(Solid State Drive)、半導体メモリ、キーボード、マウス、ディスプレイなどを有することにしてもよい。また、制御装置100は、ディスクドライブ304およびディスク305の代わりに、SSDおよび半導体メモリなどを有していてもよい。また、制御装置100は、ディスクドライブ304、ディスク305、記録媒体I/F306を有していなくてもよい。
(メトリックに関する時系列データのデータ構造の一例)
次に、図4を用いて、DB400に基準データとして記憶されるメトリックに関する時系列データのデータ構造の一例について説明する。DB400は、例えば、図3に示した制御装置100のメモリ302、ディスク305により実現される。
図4は、メトリックに関する時系列データのデータ構造の一例を示す説明図である。図4に示すように、メトリックに関する時系列データは、メトリックの名称と、データの取得時刻と、物理ホストのアドレスと、仮想マシンのアドレスと、メトリックのデータとのフィールド401〜405を有する。
メトリックの名称のフィールド401には、メトリックの名称が設定される。メトリックの名称は、図4の例では、送受信データ量である。データの取得時刻のフィールド402には、メトリックに関するデータが取得された時刻が設定される。物理ホストのアドレスのフィールド403には、物理ホストを特定する情報として物理ホストのアドレスが設定される。仮想マシンのアドレスのフィールド404には、仮想マシンを特定する情報として仮想マシンのアドレスが設定される。
メトリックのデータのフィールド405には、データの取得時刻のフィールド402に設定された時刻に取得された、メトリックの名称のフィールド401に名称が設定されたメトリックに関するデータが設定される。メトリックのデータのフィールド405には、物理マシン、又は物理マシンが実行する仮想マシンごとに、メトリックに関するデータが設定される。
(情報処理装置201のハードウェア構成例)
情報処理装置201のハードウェア構成例は、制御装置100のハードウェア構成例と同様であるため、説明を省略する。
(制御装置100の機能的構成例)
次に、図5を用いて、制御装置100の機能的構成例について説明する。
図5は、制御装置100の機能的構成例を示すブロック図である。制御装置100は、記憶部501と、選択部502と、計算部503と、制御部504と、出力部505とを含む。
記憶部501は、例えば、図3に示したメモリ302、ディスク305などの記憶領域によって実現される。選択部502〜出力部505は、具体的には、例えば、図3に示したメモリ302、ディスク305などの記憶領域に記憶されたプログラムをCPU301に実行させることにより、又は、ネットワークI/F303により、その機能を実現する。各機能部の処理結果は、例えば、図3に示したメモリ302、ディスク305などの記憶領域に記憶される。
記憶部501は、情報処理装置201が実行するホストOSから入力した運用データに基づき選定された複数の基準データを記憶する。基準データは複数の時点のそれぞれの時点の性能値を含む時系列データである。運用データは、性能値に関する時系列データである。運用データは、例えば、情報処理装置201が実行するホストOS上のパフォーマンスモニタから取得される、情報処理装置201の状態を示す性能値に関する時系列データである。情報処理装置201の状態は、情報処理装置201が実行するVMの性能に関連し、情報処理装置201の負荷に関連する。
基準データは、運用データから選定された、所定のメトリックに関する時系列データである。基準データは、データセンターに複数のVMがあれば、それぞれのVMの所定のメトリックに関する時系列データを含んでもよい。メトリックは、例えば、VMのCPU使用率、メモリ使用率、DISKコマンド数、ネットワーク送受信速度、DISK読み込み回数、DISK書込回数、DISKキュー平均待ち時間、送受信データ量などである。
記憶部501は、例えば、DB400を記憶する。これにより、記憶部501は、DB400に、JITモデリングに使用する、複数のメトリックのそれぞれのメトリックに関する時系列データを記憶しておき、選択部502に参照させることができる。
選択部502は、入力された予測要求に基づいて算出された、予測対象である予測対象基準データと他の基準データとの間の相関をそれぞれ表す複数の相関係数に基づき、複数の基準データから一又は複数の選択基準データを選択する。
選択部502は、例えば、相関係数が大きい方から順に、所定の数の選択基準データを選択する。選択部502は、相関係数が所定の閾値以上である選択基準データを選択してもよい。これにより、選択部502は、JITモデリングに用いられるメトリックに関する時系列データの数を少なくして、JITモデリングにかかる時間を低減することができる。
計算部503は、選択部502が選択した一又は複数の選択基準データに基づき、予測対象基準データの予測値を計算する。計算部503は、JITモデリングによって局所的なモデルを作成し、予測対象基準データの予測値を計算する。
計算部503は、例えば、一又は複数の選択基準データのそれぞれの選択基準データについて所定の時点の一又は複数の性能値との間でのL2ノルムが所定の閾値以下になる所定の時点より前の時点の一又は複数の性能値を特定する。そして、計算部503は、特定した一又は複数の性能値に基づいて予測対象基準データの予測値の統計値を計算する。所定の時点は、例えば、性能値を取得した最新の時点である。
計算部503は、具体的には、それぞれの選択基準データについて所定の時点の一又は複数の性能値との間でL2ノルムが所定の閾値以下になる、所定の時点より前の時点の一又は複数の性能値を特定する。そして、計算部503は、特定した一又は複数の性能値に基づいて予測対象基準データの予測値の統計値を計算する。これにより、計算部503は、データセンターの情報処理装置201の負荷を予測することができる。
制御部504は、計算部503が計算した予測対象基準データの予測値と予め定められた基準値に基づき、出力部505を介して情報処理装置201の計算資源の制御を行う。基準値は、予め定められた情報処理装置の、仮想マシンに関する状態を示す性能値である。基準値は、例えば、利用者が求める仮想マシンの性能が確保されるか否かについての判断基準となる性能値である。計算資源の制御は、例えば、仮想マシンへの計算資源の割り当ての変更である。計算資源の制御は、計算資源への電源供給の変更であってもよい。
制御部504は、例えば、計算部503が計算した予測対象基準データの予測値が、基準値よりも性能が低いことを示す性能値である場合、出力部505を介して仮想マシンに割り当てる情報処理装置201の計算資源を増加させる。制御部504は、具体的には、VMのCPU使用率の予測値を計算した場合であれば、VMに割り当てたCPUリソースの90%を基準値として採用する。制御部504は、出力部505を介して、情報処理装置201に制御信号を出力することにより、VMに割り当てるCPUリソースを変化させる。これにより、制御部504は、SLAを満たさなくなることを抑制することができる。
制御部504は、例えば、計算部503が計算した予測対象基準データの予測値が、基準値よりも性能が高いことを示す性能値である場合、仮想マシンに割り当てる情報処理装置201の計算資源を減少させる。制御部504は、具体的には、VMのCPU使用率の予測値を計算した場合であれば、VMに割り当てたCPUリソースの50%を基準値として採用する。制御部504は、出力部505を介して、情報処理装置201に制御信号を出力することにより、VMに割り当てるCPUリソースを変化させる。これにより、制御部504は、SLAを満たしつつ、データセンターの消費電力を低減することができる。
制御部504は、情報処理装置201の計算資源の制御を行った結果、情報処理装置201の計算資源が割り当てられた仮想マシンがなければ、情報処理装置201への電源供給の停止を行う。制御部504は、例えば、VMが割り当てられていない情報処理装置201への電源供給の停止を行う。制御部504は、出力部505を介して、情報処理装置201に制御信号を出力することにより、情報処理装置201への電源供給の停止を行う。これにより、情報処理装置201は、消費電力を低減することができる。
出力部505は、制御部504にしたがって、制御信号を情報処理装置201に出力する。これにより、出力部505は、情報処理装置201の計算資源を制御することができ、SLAを満たしつつ、データセンターの消費電力の低減化を図ることができる。
(制御装置100の具体的な構成例)
次に、図6を用いて、制御装置100の具体的な構成例について説明する。
図6は、制御装置100の具体的な構成例を示すブロック図である。図6に示すように、制御装置100は、JIT予測ソフトウェア600によって、メトリック選定部601と、変数選択部602と、タイマー部603と、近傍データセット検索部604と、予測値計算部605とを管理する。また、制御装置100は、JIT予測ソフトウェア600によって、制御対象選択部606と、制御方針決定部607とを管理する。また、制御装置100は、インフラ管理ソフトウェア610によって、制御受け取り部611と、制御指示部612とを管理する。
メトリック選定部601は、情報処理装置201のホストOSから運用データの入力を受け付ける。メトリック選定部601は、受け付けた運用データに基づいて、複数のメトリックのそれぞれのメトリックに関する時系列データを選定してDB400に記憶する。
変数選択部602は、モデル作成要求を受け付ける。モデル作成要求は、例えば、予測対象のメトリックを指定する要求であって、所定の間隔で入力される。モデル作成要求は、具体的には、データセンターの情報処理装置201の数の増減のタイミングにおいて、予測対象のメトリックに関するモデルを更新させるために自動で入力される。モデル作成要求は、具体的には、人手で入力されてもよい。モデル作成要求は、具体的には、毎日定時に、予測対象のメトリックに関するモデルを更新させるために入力されてもよい。
変数選択部602は、モデル作成要求を受け付けると、予測対象のメトリックと、他のメトリックとの相関係数を算出し、相関係数に基づいてJITモデリングによって作成されるモデルに用いるメトリックを選択する。また、変数選択部602は、ステップワイズ法を用いて、JITモデリングによって作成されるモデルに用いる係数を計算する。これにより、変数選択部602は、モデルを定期的に更新して、予測値を計算する精度の向上を図ることができる。
タイマー部603は、一定時間ごとに近傍データセット検索部604に予測要求を出力し、近傍データセット検索部604を動作させる。近傍データセット検索部604は、過去データセットのうち、最新データセットとの間でのL2ノルムが所定の閾値以下になる近傍データセットを検索する。近傍データセット検索部604は、例えば、最新データセットと、それぞれの過去データセットとのL2ノルムを計算し、L2ノルムが相対的に小さい過去データセットを近傍データセットとして特定する。
予測値計算部605は、作成されたモデルに、特定された近傍データセットを入力することにより、予測対象のメトリックに関する予測値を計算する。予測値計算部605は、予測値を計算すると、DB400に予測値を記憶する。これにより、予測値計算部605は、定期的に予測値を計算し、制御対象選択部606や制御方針決定部607によってVMに割り当てる計算資源が制御されるようにして、データセンターの消費電力の低減化が図られるようにすることができる。
制御対象選択部606は、DB400に記憶された予測値に基づいて、制御対象のVMを選択する。制御方針決定部607は、選択されたVMに割り当てる計算資源についての制御方針を決定する。制御方針決定部607は、例えば、選択されたVMに割り当てるCPUリソースの量を決定し、又は、選択されたVMを移動させる情報処理装置201を決定する。制御方針決定部607は、選択したVMと、決定した制御方針とを、制御受け取り部611に出力する。これにより、制御対象選択部606や制御方針決定部607は、SLAを満たしつつ、データセンターの消費電力の低減化を図ることができる。
制御受け取り部611は、制御方針決定部607から制御対象のVMと制御方針とを受け付け、制御指示部612に出力する。制御指示部612は、制御対象のVMを実行中の情報処理装置201に対して、制御方針にしたがって制御信号を出力する。これにより、制御受け取り部611や制御指示部612は、情報処理装置201を制御することができる。
(実施例1における制御装置100の動作例)
次に、図7〜図11を用いて、実施例1における制御装置100の動作例について説明する。
図7〜図11は、実施例1における制御装置100の動作例を示す説明図である。図7において、制御装置100は、JIT予測ソフトウェア600によって、一定時間ごとに、情報処理装置201から運用データを取得し、DB400に記憶する。制御装置100は、例えば、VMのOS上のパフォーマンスモニタから性能情報を取得し、取得した性能情報に応じたレコードをDB400に記憶された基準データに追加する。
また、制御装置100は、例えば、情報処理装置201のホストOS上のハードウェアイベント管理ソフトウェアからハードウェアイベント情報を取得し、取得したハードウェアイベント情報に応じたレコードをDB400に記憶された基準データに追加してもよい。また、制御装置100は、例えば、情報処理装置201のハイパーバイザAPIからハードウェアイベント情報を取得し、取得したハードウェアイベント情報に応じたレコードをDB400に記憶された基準データに追加してもよい。
これにより、制御装置100は、DB400に記憶された、複数のメトリックのそれぞれのメトリックに関する時系列データを更新することができる。結果として、制御装置100は、JITモデリングに使用するメトリックに関する時系列データを、最新の状態に更新することができる。次に、図8の説明に移行する。
図8において、制御装置100は、予測対象である予測対象基準データとして、CPU使用率に関する時系列データを指定する予測要求を受け付ける。制御装置100は、予測要求を受け付けると、CPU使用率に関する時系列データと、CPU使用率とは異なる他のメトリックに関する時系列データとの相関係数を計算する。制御装置100は、例えば、下記式(1)を用いて、CPU使用率に関する時系列データと、送受信データ量に関する時系列データとの相関係数を計算する。
Figure 0006787032
制御装置100は、具体的には、VMごとに、上記式(1)にCPU使用率と、送受信データ量と、CPU使用率の標準偏差と、送受信データ量の標準偏差とを代入し、相関係数を計算する。そして、制御装置100は、計算したVMごとの相関係数の統計値を、CPU使用率に関する時系列データと、送受信データ量に関する時系列データとの相関係数として計算する。
制御装置100は、VMごとに相関係数を計算せず、複数のVMのそれぞれのVMのCPU使用率や送受信データ量をまとめて扱って、CPU使用率に関する時系列データと、送受信データ量に関する時系列データとの相関係数を計算してもよい。制御装置100は、複数のVMの代表としていずれかのVMを選択し、代表として選択したいずれかのVMについて算出した相関係数を、CPU使用率に関する時系列データと、送受信データ量に関する時系列データとの相関係数として用いてもよい。
また、制御装置100は、同様に、CPU使用率に関する時系列データと、CPU使用率や送受信データ量とは異なる、メモリ使用率やDISKコマンド数などの他のメトリックに関する時系列データとの相関係数を計算する。これにより、制御装置100は、算出した相関係数が大きく、CPU使用率とは異なる他のメトリックのそれぞれのメトリックが、CPU使用率の予測値を求める際に用いることがどのくらい好ましいかを示す指標値を得ることができる。次に、図9の説明に移行する。
図9において、制御装置100は、算出した相関係数が大きい順に、複数のメトリックをソートする。制御装置100は、ソートした複数のメトリックのうち、順位が10位までのメトリックを、CPU使用率の予測値を求めるためのJITモデリングに使用するメトリックに設定する。これにより、制御装置100は、JITモデリングの精度の低下を抑制しつつ、JITモデリングにかかる時間の低減化を図ることができる。次に、図10の説明に移行する。
図10において、制御装置100は、選択したそれぞれのメトリックに関する時系列データにおいて、最新の時点の性能値の集合である最新データセットとの間でのL2ノルムが所定の閾値以下になる過去の時点の性能値の集合である近傍データセットを検索する。制御装置100は、例えば、下記式(2)を用いて、最新データセットと、過去のそれぞれの時点の性能値の集合である過去データセットとのL2ノルムを計算する。
Figure 0006787032
ここで、tは過去の時点である。ktは過去の時点tに対応する過去データセットである。kqは最新データセットである。Dt(kt,kq)は最新データセットと過去の時点tに対応する過去データセットとのL2ノルムである。
そして、制御装置100は、過去データセットのうち、計算したL2ノルムが小さい方から10個の過去データセットを、近傍データセットとして特定する。制御装置100は、過去データセットのうち、計算したL2ノルムが所定の閾値以下である過去データセットを、近傍データセットとして特定してもよい。
次に、制御装置100は、下記式(3)を用いて、特定した近傍データセットごとに、CPU使用率の予測値を計算する。制御装置100は、例えば、n個の近傍データセットのうち、j番目の近傍データセットを用いてCPU使用率の予測値を計算する。
Figure 0006787032
ここで、yj kqはj番目の近傍データセットに基づくCPU使用率の予測値である。β0は係数である。βiは係数である。β0やβiは例えば、送受信データ量に関する時系列データに基づいてステップワイズ法を用いて求められる。xi ktはj番目の近傍データセットのi番目の性能値である。
次に、制御装置100は、下記式(4)を用いて、計算したCPU使用率の予測値の統計値を計算する。制御装置100は、例えば、統計値として平均値を計算する。制御装置100は、統計値として、中央値やパーセンタイルを計算してもよい。
Figure 0006787032
ここで、ykqはCPU使用率の予測値の統計値である。これにより、制御装置100は、JITモデリングによって、VMのCPU使用率の予測値を計算し、データセンターの情報処理装置201の負荷を予測することができる。さらに、制御装置100は、JITモデリングにかかる時間を低減することができ、所定の時点になる前に所定の時点のVMのCPU使用率の予測値を求めておくことができる。次に、図11の説明に移行する。
図11において、制御装置100は、計算したCPU使用率の予測値に基づいて、情報処理装置201の計算資源の制御を行う。計算資源は、例えば、CPUリソースである。制御は、情報処理装置201によって実行されるVMへの計算資源の割り当ての変更である。制御は、情報処理装置201の計算資源への電源供給の変更であってもよい。
(11−1)制御装置100は、例えば、情報処理装置201によって実行されるVMに対する、情報処理装置201のCPUリソースの割り当てを増加、又は減少させる。制御装置100は、具体的には、VMのCPU使用率の予測値が、VMに割り当てたCPUリソースの90%を超えている場合、VMに割り当てるCPUリソースを増加させる。
換言すれば、制御装置100は、VMのCPU使用率が、VMに割り当てたCPUリソースの100%を超えてしまい、VMの性能が低下してしまう可能性が比較的大きい場合に、VMに割り当てるCPUリソースを増加させることができる。これにより、制御装置100は、SLAを満たさない期間が発生してしまう可能性を低減することができる。
また、制御装置100は、具体的には、VMのCPU使用率の予測値が、VMに割り当てたCPUリソースの50%を下回っている場合、VMに割り当てるCPUリソースを、SLAを満たすようにしつつも、減少させる。
換言すれば、制御装置100は、VMのCPU使用率が、VMに割り当てたCPUリソースの50%を下回り、VMが使用しないCPUリソースについての消費電力が比較的大きい場合に、VMに割り当てるCPUリソースを減少させることができる。これにより、制御装置100は、SLAを満たしつつデータセンターの消費電力を効率よく低減することができる。
(11−2)制御装置100は、例えば、情報処理装置201によって実行されるVMを、他の情報処理装置201によって実行させるために、他の情報処理装置201に移動させる。具体的には、他の情報処理装置201のCPUリソースが、他の情報処理装置201によって実行されるVMのCPU使用率の予測値の合計値に比べて大きく、他の情報処理装置201がさらにVMを実行可能な状態である場合がある。
この場合、制御装置100は、さらにVMを実行可能な状態である他の情報処理装置201に、情報処理装置201によって実行されているVMを移動させる。これにより、制御装置100は、データセンターにおいて、VMを実行している情報処理装置201の数を減らすことができる。
(11−3)制御装置100は、例えば、情報処理装置201によって実行されるVMを、他の情報処理装置201に移動させた結果、情報処理装置201が実行するVMがなくなった場合、情報処理装置201への電源供給を停止する。これにより、制御装置100は、データセンターの消費電力を効率よく低減することができる。
このように、制御装置100は、情報処理装置201の負荷の変動に備えて、情報処理装置201をホットスタンバイ状態で起動しておかなくてもよいようにすることができる。制御装置100は、例えば、情報処理装置1101〜1103のうち、情報処理装置1102,1103への電源供給を停止しておくことができる。
ここで、例えば、情報処理装置201は、CPU使用率が0%であっても、ホットスタンバイ状態で起動している状態であると、消費電力として130W程度使用することがある。一方で、情報処理装置201は、電源供給を停止された状態であれば、消費電力としては10W程度使用すればよいことがある。また、情報処理装置201は、起動中であってCPU使用率が100%であると、消費電力として280W程度使用することがある。
このため、制御装置100は、データセンターの情報処理装置201の負荷を予測せずに、情報処理装置201の負荷の変動に備えて、情報処理装置201をホットスタンバイ状態で起動しておく場合に比べて、データセンターの消費電力を低減することができる。制御装置100は、例えば、情報処理装置1101〜1103のうち、情報処理装置1102,1103をホットスタンバイ状態で起動しておく場合に比べて、データセンターの消費電力を45%程度低減することができるようになる。
さらに、制御装置100は、消費電力を低減しても、SLAを満たさない期間が発生してしまう可能性を低減することができる。制御装置100は、例えば、JITモデリングを用いることにより、CPU使用率の予測値のうち98%程度の予測値については、実測値との差分が±10%未満になるようにすることができる。さらに、制御装置100は、例えば、CPU使用率の予測値のうち2%程度の予測値についても、実測値との差分が±20%未満になるようにすることができる。
ここで、制御装置100は、上述したように、VMのCPU使用率の予測値が、VMに割り当てたCPUリソースの90%を超えている場合、VMに割り当てるCPUリソースを増加させる。このため、制御装置100は、VMのCPU使用率が、VMに割り当てたCPUリソースの100%を超えてしまい、VMの性能が低下してしまう可能性を、2%程度に抑制することができる。
また、制御装置100は、VMのCPU使用率の予測値が、VMに割り当てたCPUリソースの80%を超えている場合、VMに割り当てるCPUリソースを増加させるようにしてもよい。これにより、制御装置100は、VMのCPU使用率が、VMに割り当てたCPUリソースの100%を超えてしまい、VMの性能が低下してしまう可能性をさらに低減することができる。
さらに、制御装置100は、複数のメトリックのうち、CPU使用率の予測値を求めるためのJITモデリングに使用するメトリックを限定し、JITモデリングの精度の低下を抑制しつつ、JITモデリングにかかる時間の低減化を図ることができる。
例えば、メトリックが200個あり、過去データセットが24時間分ある場合が考えられる。この場合、200個のメトリックをJITモデリングに使用してしまうと、200×144=28800についてステップワイズ法を用いた計算が行われることになり、具体的には3時間〜4時間かかる傾向がある。一方で、制御装置100は、200個のメトリックのうち10個のメトリックを選択するため、10×144=1440についてステップワイズ法を用いた計算を行えばよいため、9分〜12分かければよい。ここで、200個のメトリックのうち10個のメトリックを選択する際にかかる時間は、ステップワイズ法を用いた計算にかかる時間に比べて小さいため、0分として扱うことにする。
結果として、制御装置100は、200個のメトリックをJITモデリングに使用する場合に比べて、JITモデリングにかかる時間を低減することができる。そして、制御装置100は、予測値の時点までにJITモデリングが終わらずに、計算資源の制御が間に合わなくなることを抑制することができ、SLAを満たさない期間が発生してしまう可能性を低減することができる。
(実施例1における基準データの別の例)
次に、図12を用いて、実施例1において情報処理装置201が記憶する基準データの別の例について説明する。
図12は、実施例1における基準データの別の例を示す説明図である。図12において、制御装置100がVMのCPU使用率を取得する時間間隔と、制御装置100が送受信データ量を取得する時間間隔は異なっていてもよい。図12の例では、CPU使用率は、10分ごとに取得される。一方で、送受信データ量は、1分ごとに取得される。
(実施例1における予測処理手順の一例)
次に、図13を用いて、実施例1における予測処理手順の一例について説明する。
図13は、実施例1における予測処理手順の一例を示すフローチャートである。図13において、制御装置100は、それぞれの物理マシンおよびそれぞれの仮想マシンについて、複数のメトリックのそれぞれのメトリックの値を取得する(ステップS1301)。
次に、制御装置100は、予測対象のメトリックとなるCPU使用率と、複数のメトリックのうち予測対象のメトリックとなるCPU使用率を除いた他のメトリックのそれぞれのメトリックとの相関係数を計算する(ステップS1302)。そして、制御装置100は、相関係数が大きい順に、複数のメトリックをソートする(ステップS1303)。
次に、制御装置100は、相関係数の大きい方から所定の順位までのメトリックを、相関係数の大きい変数として記憶する(ステップS1304)。そして、制御装置100は、モデルの作成要求を受け付けると、記憶した相関係数の大きい変数を、モデル作成に用いる変数として設定する(ステップS1305)。
次に、制御装置100は、予測値の計算要求を受け付けると、最新データセットとの間でのL2ノルムが所定の閾値以下になる近傍データセットを検索する(ステップS1306)。そして、制御装置100は、検索した近傍データセットと、設定したモデル作成に用いる変数とに基づいて、モデルを作成する(ステップS1307)。
次に、制御装置100は、作成したモデルに基づいて、それぞれの物理マシンおよびそれぞれの仮想マシンについて、予測対象のメトリックとなるCPU使用率の予測値を計算する(ステップS1308)。そして、制御装置100は、予測処理を終了する。これにより、制御装置100は、JITモデリングによって、VMのCPU使用率の予測値を計算し、データセンターの情報処理装置201の負荷を予測することができる。
(実施例1における制御処理手順の一例)
次に、図14および図15を用いて、実施例1における制御処理手順の一例について説明する。
図14および図15は、実施例1における制御処理手順の一例を示すフローチャートである。図14において、制御装置100は、VMのCPU使用率の予測値が、VMに割り当てたCPUリソースの90%を超えたか否かを判定する(ステップS1401)。ここで、超えていない場合(ステップS1401:No)、制御装置100は、ステップS1403の処理に移行する。
一方で、超えた場合(ステップS1401:Yes)、制御装置100は、超えたと判定したVMに割り当てるCPUの数を増加させる(ステップS1402)。制御装置100は、例えば、超えたと判定したVMに割り当てるCPUの数を、VMに割り当てたCPUリソースがCPU使用率の予測値より大きくなる範囲になるCPUの数のうち、最小の数まで増大させる。
次に、制御装置100は、VMのCPU使用率の予測値が、VMに割り当てたCPUリソースの50%を下回るか否かを判定する(ステップS1403)。ここで、下回らない場合(ステップS1403:No)、制御装置100は、図15のステップS1501の処理に移行する。
一方で、下回る場合(ステップS1403:Yes)、制御装置100は、下回ると判定したVMに割り当てるCPUの数を減少させる(ステップS1404)。制御装置100は、例えば、下回ると判定したVMに割り当てるCPUの数を、VMに割り当てたCPUリソースがCPU使用率の予測値より大きくなる範囲になるCPUの数のうち、最小の数まで増大させる。そして、制御装置100は、図15のステップS1501の処理に移行する。
図15において、制御装置100は、それぞれの物理マシンのCPU使用率の予測値の合計値を算出し、算出した合計値よりCPUリソースが大きくなる範囲になる物理マシンの数のうち、最小の数を算出する(ステップS1501)。
そして、制御装置100は、算出した最小の数から、現在起動中の物理マシンの数を減算し、現在の状態から起動又は停止の状態に変更させる物理マシンの数を算出し、算出した物理マシンの数が0であるか否かを判定する(ステップS1502)。
減算した結果が正の値であれば、減算した結果の絶対値は、現在停止の状態であって停止の状態から起動の状態に変更させる物理マシンの数を示す値になる。減算した結果が負の値であれば、減算した結果の絶対値は、現在起動の状態であって起動の状態から停止の状態に変更させる物理マシンの数を示す値になる。ここで、0である場合(ステップS1502:Yes)、制御装置100は、ステップS1509の処理に移行する。
一方で、0ではない場合(ステップS1502:No)、制御装置100は、算出した最小の数から、現在起動中の物理マシンの数を減算した結果が、正の値であるか否かを判定する(ステップS1503)。ここで、負の値であって、起動中の物理マシンのうち、起動の状態から停止の状態に変更させる物理マシンがある場合(ステップS1503:No)、制御装置100は、ステップS1504の処理に移行する。
ステップS1504にて、制御装置100は、起動中の物理マシンのうち、起動の状態から停止の状態に変更させる物理マシンを選択する(ステップS1504)。制御装置100は、例えば、算出した物理マシンの数に応じて、実行中のVMが少ない物理マシンから順に選択する。
次に、制御装置100は、選択した物理マシンが実行中のVMを、選択されずに起動中の物理マシンに移動させ、移動が終了した後に選択した物理マシンを起動の状態から停止の状態に変更させる(ステップS1505)。
次に、制御装置100は、起動中の物理マシンの負荷を平準化する(ステップS1506)。制御装置100は、例えば、起動中の物理マシンが実行中のVMのうち、現在のCPU使用率から予測値までの変化量が少ないVMから順に、物理マシン間を移動させて、起動中の物理マシンの負荷を平準化する。そして、制御装置100は、制御処理を終了する。
一方で、正の値であって、起動中の物理マシンのうち、停止の状態から起動の状態に変更させる物理マシンがある場合(ステップS1503:Yes)、制御装置100は、ステップS1507の処理に移行する。
ステップS1507にて、制御装置100は、停止中の物理マシンのうち、停止の状態から起動の状態に変更させる物理マシンを選択する(ステップS1507)。次に、制御装置100は、選択した物理マシンを停止の状態から起動の状態に変更させる(ステップS1508)。
そして、制御装置100は、それぞれの物理サーバのCPU使用率の合計値を比較し、物理サーバ間の合計値の差分が10%以上であるか否かを判定する(ステップS1509)。ここで、10%以上である場合(ステップS1509:Yes)、制御装置100は、起動中の物理マシンの負荷を平準化する(ステップS1510)。制御装置100は、例えば、起動中の物理マシンが実行中のVMのうち、現在のCPU使用率から予測値までの変化量が少ないVMから順に、物理マシン間を移動させて、起動中の物理マシンの負荷を平準化する。
一方で、10%以上ではない場合(ステップS1509:No)、制御装置100は、制御処理を終了する。これにより、制御装置100は、SLAを満たしつつデータセンターの消費電力を効率よく低減することができる。
(実施例2における制御装置100の動作例)
次に、図16および図17を用いて、実施例2における制御装置100の動作例について説明する。
図16および図17は、実施例2における制御装置100の動作例を示す説明図である。制御装置100は、図7と同様に、JIT予測ソフトウェア600によって、一定時間ごとに、情報処理装置201から運用データを取得し、DB400に記憶している。
図16において、制御装置100は、予測対象である予測対象基準データとして、レイテンシに関する時系列データを指定する予測要求を受け付ける。制御装置100は、予測要求を受け付けると、レイテンシに関する時系列データと、レイテンシとは異なる他のメトリックに関する時系列データとの相関係数を計算する。制御装置100は、例えば、上記式(1)のCPU使用率をレイテンシに置き換えて、レイテンシに関する時系列データと、送受信データ量に関する時系列データとの相関係数を計算する。
制御装置100は、算出した相関係数が大きい順に、複数のメトリックをソートする。制御装置100は、ソートした複数のメトリックのうち、順位が10位までのメトリックを、レイテンシの予測値を求めるためのJITモデリングに使用するメトリックに設定する。これにより、制御装置100は、JITモデリングの精度の低下を抑制しつつ、JITモデリングにかかる時間の低減化を図ることができる。次に、図17の説明に移行する。
図17において、制御装置100は、選択したそれぞれのメトリックに関する時系列データにおいて、最新の時点の性能値の集合である最新データセットとの間でのL2ノルムが所定の閾値以下になる過去の時点の性能値の集合である近傍データセットを検索する。制御装置100は、例えば、上記式(2)を用いて、最新データセットと、過去のそれぞれの時点の性能値の集合である過去データセットとのL2ノルムを計算する。
そして、制御装置100は、過去データセットのうち、計算したL2ノルムが小さい方から10個の過去データセットを、近傍データセットとして特定する。制御装置100は、過去データセットのうち、計算したL2ノルムが所定の閾値以下である過去データセットを、近傍データセットとして特定してもよい。
次に、制御装置100は、上記式(3)のCPU使用率をレイテンシに置き換えて、特定した近傍データセットごとに、レイテンシの予測値を計算する。制御装置100は、例えば、n個の近傍データセットのうち、j番目の近傍データセットを用いてレイテンシの予測値を計算する。
次に、制御装置100は、上記式(4)のCPU使用率をレイテンシに置き換えて、計算したレイテンシの予測値の統計値を計算する。制御装置100は、例えば、統計値として平均値を計算する。制御装置100は、統計値として、中央値やパーセンタイルを計算してもよい。
その後、制御装置100は、図11と同様に、計算したレイテンシの予測値に基づいて、情報処理装置201の計算資源の制御を行う。計算資源は、例えば、CPUリソースである。制御は、情報処理装置201によって実行されるVMへの計算資源の割り当ての変更である。制御は、情報処理装置201の計算資源への電源供給の変更であってもよい。
図17の例では、制御装置100は、具体的には、SLAとしてレイテンシが0.5msecを下回ることが要求されていれば、レイテンシの予測値が0.45msecを超えている場合にVMに割り当てるCPUリソースを増加させる。換言すれば、制御装置100は、レイテンシがSLAを満たさなくなる可能性が比較的大きい場合に、VMに割り当てるCPUリソースを増加させることができる。これにより、制御装置100は、SLAを満たさない期間が発生してしまう可能性を低減することができる。
また、制御装置100は、具体的には、レイテンシの予測値が0.25msecを下回っている場合、VMに割り当てるCPUリソースを、SLAを満たすようにしつつも、減少させてもよい。換言すれば、制御装置100は、レイテンシがSLAを満たさなくなる可能性が比較的小さい場合に、VMに割り当てるCPUリソースを減少させることができる。これにより、制御装置100は、SLAを満たしつつデータセンターの消費電力を効率よく低減することができる。
このように、制御装置100は、データセンターの消費電力を低減することができる。さらに、制御装置100は、消費電力を低減しても、SLAを満たさない期間が発生してしまう可能性を低減することができる。制御装置100は、例えば、JITモデリングを用いることにより、レイテンシの予測値のうち98%程度の予測値については、実測値との差分が±10%未満になるようにすることができる。さらに、制御装置100は、例えば、レイテンシの予測値のうち2%程度の予測値についても、実測値との差分が±20%未満になるようにすることができる。
ここで、制御装置100は、上述したように、レイテンシの予測値が0.45msecを超えている場合、VMに割り当てるCPUリソースを増加させる。このため、制御装置100は、レイテンシが0.5msecを超えてしまう可能性を、2%程度に抑制することができる。また、制御装置100は、レイテンシの予測値が0.40msecを超えている場合、VMに割り当てるCPUリソースを増加させるようにしてもよい。これにより、制御装置100は、レイテンシが0.5msecを超えてしまう可能性をさらに低減することができる。
(実施例2における予測処理手順の一例)
次に、図18を用いて、実施例2における予測処理手順の一例について説明する。
図18は、実施例2における予測処理手順の一例を示すフローチャートである。図18において、制御装置100は、それぞれの物理マシンおよびそれぞれの仮想マシンについて、複数のメトリックのそれぞれのメトリックの値を取得する(ステップS1801)。
次に、制御装置100は、予測対象のメトリックとなるレイテンシと、複数のメトリックのうち予測対象のメトリックとなるレイテンシを除いた他のメトリックのそれぞれのメトリックとの相関係数を計算する(ステップS1802)。そして、制御装置100は、相関係数が大きい順に、複数のメトリックをソートする(ステップS1803)。
次に、制御装置100は、相関係数の大きい方から所定の順位までのメトリックを、相関係数の大きい変数として記憶する(ステップS1804)。そして、制御装置100は、モデルの作成要求を受け付けると、記憶した相関係数の大きい変数を、モデル作成に用いる変数として設定する(ステップS1805)。
次に、制御装置100は、予測値の計算要求を受け付けると、最新データセットとの間でのL2ノルムが所定の閾値以下になる近傍データセットを検索する(ステップS1806)。そして、制御装置100は、検索した近傍データセットと、設定したモデル作成に用いる変数とに基づいて、モデルを作成する(ステップS1807)。
次に、制御装置100は、作成したモデルに基づいて、それぞれの物理マシンおよびそれぞれの仮想マシンについて、予測対象のメトリックとなるレイテンシの予測値を計算する(ステップS1808)。そして、制御装置100は、予測処理を終了する。これにより、制御装置100は、JITモデリングによって、VMのCPU使用率の予測値を計算し、データセンターの情報処理装置201の負荷を予測することができる。
(実施例2における制御処理手順の一例)
次に、図19を用いて、実施例2における制御処理手順の一例について説明する。
図19は、実施例2における制御処理手順の一例を示すフローチャートである。図19において、制御装置100は、VMのレイテンシの予測値が、0.45msecを超えたか否かを判定する(ステップS1901)。ここで、超えていない場合(ステップS1901:No)、制御装置100は、ステップS1903の処理に移行する。
一方で、超えた場合(ステップS1901:Yes)、制御装置100は、超えたと判定したVMに割り当てるCPUの数を増加させる(ステップS1902)。制御装置100は、例えば、超えたと判定したVMに割り当てるCPUの数を1増加させる。
次に、制御装置100は、VMのレイテンシの予測値が、0.25msecを下回るか否かを判定する(ステップS1903)。ここで、下回らない場合(ステップS1903:No)、制御装置100は、図15のステップS1501の処理に移行する。
一方で、下回る場合(ステップS1903:Yes)、制御装置100は、下回ると判定したVMに割り当てるCPUの数を減少させる(ステップS1904)。制御装置100は、例えば、下回ると判定したVMに割り当てるCPUの数を1減少させる。そして、制御装置100は、図15のステップS1501の処理に移行する。これにより、制御装置100は、SLAを満たしつつデータセンターの消費電力を効率よく低減することができる。
(実施例3における制御装置100の動作例)
次に、図20および図21を用いて、実施例3における制御装置100の動作例について説明する。
図20および図21は、実施例3における制御装置100の動作例を示す説明図である。制御装置100は、図7と同様に、JIT予測ソフトウェア600によって、一定時間ごとに、情報処理装置201から運用データを取得し、DB400に記憶している。
図20において、制御装置100は、予測対象である予測対象基準データとして、スループットに関する時系列データを指定する予測要求を受け付ける。制御装置100は、予測要求を受け付けると、スループットに関する時系列データと、スループットとは異なる他のメトリックに関する時系列データとの相関係数を計算する。制御装置100は、例えば、上記式(1)のCPU使用率をスループットに置き換えて、スループットに関する時系列データと、送受信データ量に関する時系列データとの相関係数を計算する。
制御装置100は、算出した相関係数が大きい順に、複数のメトリックをソートする。制御装置100は、ソートした複数のメトリックのうち、順位が10位までのメトリックを、スループットの予測値を求めるためのJITモデリングに使用するメトリックに設定する。これにより、制御装置100は、JITモデリングの精度の低下を抑制しつつ、JITモデリングにかかる時間の低減化を図ることができる。次に、図21の説明に移行する。
図21において、制御装置100は、選択したそれぞれのメトリックに関する時系列データにおいて、最新の時点の性能値の集合である最新データセットとの間でのL2ノルムが所定の閾値以下になる過去の時点の性能値の集合である近傍データセットを検索する。制御装置100は、例えば、上記式(2)を用いて、最新データセットと、過去のそれぞれの時点の性能値の集合である過去データセットとのL2ノルムを計算する。
そして、制御装置100は、過去データセットのうち、計算したL2ノルムが小さい方から10個の過去データセットを、近傍データセットとして特定する。制御装置100は、過去データセットのうち、計算したL2ノルムが所定の閾値以下である過去データセットを、近傍データセットとして特定してもよい。
次に、制御装置100は、上記式(3)のCPU使用率をスループットに置き換えて、特定した近傍データセットごとに、スループットの予測値を計算する。制御装置100は、例えば、n個の近傍データセットのうち、j番目の近傍データセットを用いてスループットの予測値を計算する。
次に、制御装置100は、上記式(4)のCPU使用率をスループットに置き換えて、計算したスループットの予測値の統計値を計算する。制御装置100は、例えば、統計値として平均値を計算する。制御装置100は、統計値として、中央値やパーセンタイルを計算してもよい。
その後、制御装置100は、図11と同様に、計算したスループットの予測値に基づいて、情報処理装置201の計算資源の制御を行う。計算資源は、例えば、CPUリソースである。制御は、情報処理装置201によって実行されるVMへの計算資源の割り当ての変更である。制御は、情報処理装置201の計算資源への電源供給の変更であってもよい。
図21の例では、制御装置100は、具体的には、SLAとしてスループットが500ops/secを超えることが要求されていれば、スループットの予測値が550ops/secを下回っている場合にVMに割り当てるCPUリソースを増加させる。換言すれば、制御装置100は、スループットがSLAを満たさなくなる可能性が比較的大きい場合に、VMに割り当てるCPUリソースを増加させることができる。これにより、制御装置100は、SLAを満たさない期間が発生してしまう可能性を低減することができる。
また、制御装置100は、具体的には、スループットの予測値が1000ops/secを超えている場合、VMに割り当てるCPUリソースを、SLAを満たすようにしつつも、減少させてもよい。換言すれば、制御装置100は、スループットがSLAを満たさなくなる可能性が比較的小さい場合に、VMに割り当てるCPUリソースを減少させることができる。これにより、制御装置100は、SLAを満たしつつデータセンターの消費電力を効率よく低減することができる。
このように、制御装置100は、データセンターの消費電力を低減することができる。さらに、制御装置100は、消費電力を低減しても、SLAを満たさない期間が発生してしまう可能性を低減することができる。制御装置100は、例えば、JITモデリングを用いることにより、スループットの予測値のうち98%程度の予測値については、実測値との差分が±10%未満になるようにすることができる。さらに、制御装置100は、例えば、スループットの予測値のうち2%程度の予測値についても、実測値との差分が±20%未満になるようにすることができる。
ここで、制御装置100は、上述したように、スループットの予測値が550ops/secを下回っている場合、VMに割り当てるCPUリソースを増加させる。このため、制御装置100は、スループットが500ops/secを下回ってしまう可能性を、2%程度に抑制することができる。また、制御装置100は、スループットの予測値が600ops/secを下回っている場合、VMに割り当てるCPUリソースを増加させるようにしてもよい。これにより、制御装置100は、スループットが500ops/secを下回ってしまう可能性をさらに低減することができる。
(実施例3における予測処理手順の一例)
次に、図22を用いて、実施例3における予測処理手順の一例について説明する。
図22は、実施例3における予測処理手順の一例を示すフローチャートである。図22において、制御装置100は、それぞれの物理マシンおよびそれぞれの仮想マシンについて、複数のメトリックのそれぞれのメトリックの値を取得する(ステップS2201)。
次に、制御装置100は、予測対象のメトリックとなるスループットと、複数のメトリックのうち予測対象のメトリックとなるスループットを除いた他のメトリックのそれぞれのメトリックとの相関係数を計算する(ステップS2202)。そして、制御装置100は、相関係数が大きい順に、複数のメトリックをソートする(ステップS2203)。
次に、制御装置100は、相関係数の大きい方から所定の順位までのメトリックを、相関係数の大きい変数として記憶する(ステップS2204)。そして、制御装置100は、モデルの作成要求を受け付けると、記憶した相関係数の大きい変数を、モデル作成に用いる変数として設定する(ステップS2205)。
次に、制御装置100は、予測値の計算要求を受け付けると、最新データセットとの間でのL2ノルムが所定の閾値以下になる近傍データセットを検索する(ステップS2206)。そして、制御装置100は、検索した近傍データセットと、設定したモデル作成に用いる変数とに基づいて、モデルを作成する(ステップS2207)。
次に、制御装置100は、作成したモデルに基づいて、それぞれの物理マシンおよびそれぞれの仮想マシンについて、予測対象のメトリックとなるスループットの予測値を計算する(ステップS2208)。そして、制御装置100は、予測処理を終了する。これにより、制御装置100は、JITモデリングによって、VMのCPU使用率の予測値を計算し、データセンターの情報処理装置201の負荷を予測することができる。
(実施例3における制御処理手順の一例)
次に、図23を用いて、実施例3における制御処理手順の一例について説明する。
図23は、実施例3における制御処理手順の一例を示すフローチャートである。図23において、制御装置100は、VMのスループットの予測値が、550ops/secを下回るか否かを判定する(ステップS2301)。ここで、下回らない場合(ステップS2301:No)、制御装置100は、ステップS2303の処理に移行する。
一方で、下回る場合(ステップS2301:Yes)、制御装置100は、下回ると判定したVMに割り当てるCPUの数を増加させる(ステップS2302)。制御装置100は、例えば、超えたと判定したVMに割り当てるCPUの数を1増加させる。
次に、制御装置100は、VMのスループットの予測値が、1000ops/secを超えるか否かを判定する(ステップS2303)。ここで、超えない場合(ステップS2303:No)、制御装置100は、図15のステップS1501の処理に移行する。
一方で、超える場合(ステップS2303:Yes)、制御装置100は、超えると判定したVMに割り当てるCPUの数を減少させる(ステップS2304)。制御装置100は、例えば、超えると判定したVMに割り当てるCPUの数を1減少させる。そして、制御装置100は、図15のステップS1501の処理に移行する。これにより、制御装置100は、SLAを満たしつつデータセンターの消費電力を効率よく低減することができる。
以上説明したように、制御装置100によれば、情報処理装置201が実行するホストOSから入力した運用データに基づき選定された複数の基準データを記憶することができる。また、制御装置100によれば、入力された予測要求に基づいて算出された、予測対象である予測対象基準データと他の基準データとの間の相関をそれぞれ表す複数の相関係数に基づき、複数の基準データから一又は複数の選択基準データを選択することができる。また、制御装置100によれば、選択した一又は複数の選択基準データに基づき、予測対象基準データの予測値を計算することができる。また、制御装置100によれば、計算した予測対象基準データの予測値と予め定められた基準値に基づき、情報処理装置201の計算資源を制御することができる。
これにより、制御装置100は、予測対象である予測対象基準データの予測値を計算し、計算した予測値に基づいてデータセンターの情報処理装置201の計算資源についての負荷を予測することができる。このため、制御装置100は、SLAを満たしつつデータセンターの消費電力を効率よく低減することができるように、情報処理装置201の計算資源を制御することができる。
さらに、制御装置100は、相関係数に基づいて、複数の基準データのうち予測値を計算する際に使用する基準データを選択し、予測値を計算する際にかかる時間を低減することができる。このため、制御装置100は、予測値を計算する際に時間がかかり、データセンターの計算資源についての負荷の変動のタイミングまでに、計算資源の制御が間に合わなくなることを抑制することができる。結果として、制御装置100は、SLAを満たさない期間が発生してしまう可能性を低減することができる。
制御装置100によれば、一又は複数の選択基準データのそれぞれの選択基準データについて、所定の時点の性能値との間でのL2ノルムが所定の閾値以下になる所定の時点より前の時点の性能値を特定することができる。また、制御装置100によれば、特定した性能値に基づいて予測対象基準データの予測値の統計値を計算することができる。これにより、制御装置100は、JITモデリングによって効率よく、予測対象基準データの予測値の統計値を計算することができる。
制御装置100によれば、それぞれの選択基準データについて所定の時点の性能値との間でL2ノルムが所定の閾値以下になる所定の時点より前の時点の性能値を特定することができる。また、制御装置100によれば、特定した性能値に基づいて予測対象基準データの予測値の統計値を計算することができる。これにより、制御装置100は、JITモデリングによって効率よく、予測対象基準データの予測値の統計値を計算することができる。
制御装置100によれば、基準値として、利用者が求める性能値、又は利用者が求める性能値より性能が高いことを示すようにマージンを加えた性能値を採用することができる。また、制御装置100によれば、計算した予測対象基準データの予測値が、基準値よりも性能が低いことを示す性能値である場合、VMに割り当てる情報処理装置201の計算資源を増加させることができる。これにより、制御装置100は、予測値に基づいて、利用者が求める性能値を確保することが難しくなる可能性が比較的大きくなった場合に、VMに割り当てる情報処理装置201の計算資源を増加させ、SLAを満たしやすくすることができる。
制御装置100によれば、基準値として、利用者が求める性能値よりも性能が高いことを示し、かつ現在割り当て中である計算資源のうち一定以上の計算資源を使用しなくても確保することができる性能値を採用することができる。また、制御装置100によれば、計算した予測対象基準データの予測値が、基準値よりも性能が高いことを示す性能値である場合、VMに割り当てる情報処理装置201の計算資源を減少させることができる。これにより、制御装置100は、データセンターの消費電力の低減化を図ることができる。
制御装置100によれば、情報処理装置201の計算資源の制御を行った結果、情報処理装置201の計算資源が割り当てられたVMがなければ、情報処理装置201への電源供給の停止を行うことができる。これにより、制御装置100は、データセンターの消費電力の低減化を図ることができる。
なお、本実施の形態で説明した制御方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本制御プログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また本制御プログラムは、インターネット等のネットワークを介して配布してもよい。
上述した実施の形態に関し、さらに以下の付記を開示する。
(付記1)複数の計算資源を有する情報処理装置を管理する制御装置において、
前記情報処理装置が実行するホストOSから入力した運用データに基づき選定された複数の基準データを記憶する記憶部と、
入力された予測要求に基づいて算出された、予測対象である予測対象基準データと他の基準データとの間の相関をそれぞれ表す複数の相関係数に基づき、前記複数の基準データから一又は複数の選択基準データを選択する選択部と、
前記選択部が選択した前記一又は複数の選択基準データに基づき、前記予測対象基準データの予測値を計算する計算部と、
前記計算部が計算した前記予測対象基準データの予測値と予め定められた基準値に基づき、前記情報処理装置の計算資源を制御する制御部と、
を有することを特徴とする制御装置。
(付記2)前記基準データは複数の時点の各々における性能値を含み、
前記計算部は、
前記一又は複数の選択基準データのそれぞれの選択基準データについて所定の時点の性能値との間でのL2ノルムが所定の閾値以下になる前記所定の時点より前の時点の性能値を特定し、特定した前記性能値に基づいて前記予測対象基準データの予測値の統計値を計算する、ことを特徴とする付記1に記載の制御装置。
(付記3)前記計算部は、
前記それぞれの選択基準データについて所定の時点の性能値との間でL2ノルムが所定の閾値以下になる前記所定の時点より前の時点の性能値を特定し、特定した前記性能値に基づいて前記予測対象基準データの予測値の統計値を計算する、ことを特徴とする付記2に記載の制御装置。
(付記4)前記情報処理装置の計算資源は仮想マシンに割り当て可能な計算資源であり、
前記基準値は予め定められた情報処理装置の、前記仮想マシンに関する状態を示す性能値であり、
前記制御部は、
前記計算部が計算した前記予測対象基準データの予測値が、前記基準値よりも性能が低いことを示す性能値である場合、前記仮想マシンに割り当てる情報処理装置の計算資源を増加させる、ことを特徴とする付記1〜3のいずれか一つに記載の制御装置。
(付記5)前記情報処理装置の計算資源は仮想マシンに割り当て可能な計算資源であり、
前記基準値は予め定められた情報処理装置の、前記仮想マシンに関する状態を示す性能値であり、
前記制御部は、
前記計算部が計算した前記予測対象基準データの予測値が、前記基準値よりも性能が高いことを示す性能値である場合、前記仮想マシンに割り当てる情報処理装置の計算資源を減少させる、ことを特徴とする付記1〜4のいずれか一つに記載の制御装置。
(付記6)前記制御部は、
前記情報処理装置の計算資源の制御を行った結果、前記情報処理装置の計算資源が割り当てられた仮想マシンがなければ、前記情報処理装置への電源供給の停止を行う、ことを特徴とする付記4又は5に記載の制御装置。
(付記7)複数の計算資源を有する情報処理装置の制御方法において、
前記情報処理装置が実行するホストOSから入力した運用データに基づき選定された複数の基準データを記憶する記憶部を有する制御装置が、
入力された予測要求に基づいて算出された、予測対象である予測対象基準データと他の基準データとの間の相関をそれぞれ表す複数の相関係数に基づき、前記複数の基準データから一又は複数の選択基準データを選択し、
選択した前記一又は複数の選択基準データに基づき、前記予測対象基準データの予測値を計算し、
計算した前記予測対象基準データの予測値と予め定められた基準値に基づき、前記情報処理装置の計算資源を制御する、
処理を実行することを特徴とする情報処理装置の制御方法。
(付記8)複数の計算資源を有する情報処理装置の制御プログラムにおいて、
前記情報処理装置が実行するホストOSから入力した運用データに基づき選定された複数の基準データを記憶する記憶部を有する制御装置に、
入力された予測要求に基づいて算出された、予測対象である予測対象基準データと他の基準データとの間の相関をそれぞれ表す複数の相関係数に基づき、前記複数の基準データから一又は複数の選択基準データを選択し、
選択した前記一又は複数の選択基準データに基づき、前記予測対象基準データの予測値を計算し、
計算した前記予測対象基準データの予測値と予め定められた基準値に基づき、前記情報処理装置の計算資源を制御する、
処理を実行させることを特徴とする情報処理装置の制御プログラム。
100 制御装置
110,501 記憶部
200 情報処理システム
201,1101〜1103 情報処理装置
202 クライアント装置
210 ネットワーク
300 バス
301 CPU
302 メモリ
303 ネットワークI/F
304 ディスクドライブ
305 ディスク
306 記録媒体I/F
307 BMC
308 記録媒体
400 DB
401〜405 フィールド
502 選択部
503 計算部
504 制御部
505 出力部
600 JIT予測ソフトウェア
601 メトリック選定部
602 変数選択部
603 タイマー部
604 近傍データセット検索部
605 予測値計算部
606 制御対象選択部
607 制御方針決定部
610 インフラ管理ソフトウェア
611 制御受け取り部
612 制御指示部

Claims (6)

  1. 複数の計算資源を有する情報処理装置を管理する制御装置において、
    前記情報処理装置が実行するホストOSから入力した運用データに基づき選定された複数の基準データを記憶する記憶部と、
    入力された予測要求に基づいて算出された、予測対象である予測対象基準データと他の基準データとの間の相関をそれぞれ表す複数の相関係数に基づき、前記複数の基準データから一又は複数の選択基準データを選択する選択部と、
    前記選択部が選択した前記一又は複数の選択基準データに基づき、前記予測対象基準データの予測値を計算する計算部と、
    前記計算部が計算した前記予測対象基準データの予測値と予め定められた基準値に基づき、前記情報処理装置の計算資源を制御する制御部と、
    を有することを特徴とする制御装置。
  2. 前記基準データは複数の時点の各々における性能値を含み、
    前記計算部は、
    前記一又は複数の選択基準データのそれぞれの選択基準データについて所定の時点の性能値との間でのL2ノルムが所定の閾値以下になる前記所定の時点より前の時点の性能値を特定し、特定した前記性能値に基づいて前記予測対象基準データの予測値の統計値を計算する、ことを特徴とする請求項1に記載の制御装置。
  3. 前記情報処理装置の計算資源は仮想マシンに割り当て可能な計算資源であり、
    前記基準値は予め定められた情報処理装置の、前記仮想マシンに関する状態を示す性能値であり、
    前記制御部は、
    前記計算部が計算した前記予測対象基準データの予測値が、前記基準値よりも性能が低いことを示す性能値である場合、前記仮想マシンに割り当てる情報処理装置の計算資源を増加させる、ことを特徴とする請求項1又は2に記載の制御装置。
  4. 前記情報処理装置の計算資源は仮想マシンに割り当て可能な計算資源であり、
    前記基準値は予め定められた情報処理装置の、前記仮想マシンに関する状態を示す性能値であり、
    前記制御部は、
    前記計算部が計算した前記予測対象基準データの予測値が、前記基準値よりも性能が高いことを示す性能値である場合、前記仮想マシンに割り当てる情報処理装置の計算資源を減少させる、ことを特徴とする請求項1〜3のいずれか一つに記載の制御装置。
  5. 複数の計算資源を有する情報処理装置の制御方法において、
    前記情報処理装置が実行するホストOSから入力した運用データに基づき選定された複数の基準データを記憶する記憶部を有する制御装置が、
    入力された予測要求に基づいて算出された、予測対象である予測対象基準データと他の基準データとの間の相関をそれぞれ表す複数の相関係数に基づき、前記複数の基準データから一又は複数の選択基準データを選択し、
    選択した前記一又は複数の選択基準データに基づき、前記予測対象基準データの予測値を計算し、
    計算した前記予測対象基準データの予測値と予め定められた基準値に基づき、前記情報処理装置の計算資源を制御する、
    処理を実行することを特徴とする情報処理装置の制御方法。
  6. 複数の計算資源を有する情報処理装置の制御プログラムにおいて、
    前記情報処理装置が実行するホストOSから入力した運用データに基づき選定された複数の基準データを記憶する記憶部を有する制御装置に、
    入力された予測要求に基づいて算出された、予測対象である予測対象基準データと他の基準データとの間の相関をそれぞれ表す複数の相関係数に基づき、前記複数の基準データから一又は複数の選択基準データを選択し、
    選択した前記一又は複数の選択基準データに基づき、前記予測対象基準データの予測値を計算し、
    計算した前記予測対象基準データの予測値と予め定められた基準値に基づき、前記情報処理装置の計算資源を制御する、
    処理を実行させることを特徴とする情報処理装置の制御プログラム。
JP2016204744A 2016-10-18 2016-10-18 制御装置、制御方法、および制御プログラム Active JP6787032B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016204744A JP6787032B2 (ja) 2016-10-18 2016-10-18 制御装置、制御方法、および制御プログラム
US15/720,889 US10417050B2 (en) 2016-10-18 2017-09-29 Apparatus and method to control calculation resources of an information processing device based on predictive values of reference data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016204744A JP6787032B2 (ja) 2016-10-18 2016-10-18 制御装置、制御方法、および制御プログラム

Publications (2)

Publication Number Publication Date
JP2018067113A JP2018067113A (ja) 2018-04-26
JP6787032B2 true JP6787032B2 (ja) 2020-11-18

Family

ID=61903920

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016204744A Active JP6787032B2 (ja) 2016-10-18 2016-10-18 制御装置、制御方法、および制御プログラム

Country Status (2)

Country Link
US (1) US10417050B2 (ja)
JP (1) JP6787032B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7191906B2 (ja) * 2020-09-09 2022-12-19 株式会社日立製作所 リソース割当制御装置、計算機システム、及びリソース割当制御方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060294238A1 (en) * 2002-12-16 2006-12-28 Naik Vijay K Policy-based hierarchical management of shared resources in a grid environment
JP4119239B2 (ja) * 2002-12-20 2008-07-16 株式会社日立製作所 計算機資源割当方法、それを実行するための資源管理サーバおよび計算機システム
US7350186B2 (en) 2003-03-10 2008-03-25 International Business Machines Corporation Methods and apparatus for managing computing deployment in presence of variable workload
US8112756B2 (en) * 2006-07-20 2012-02-07 Hewlett-Packard Development Company, L.P. System and method for evaluating a workload and its impact on performance of a workload manager
US8312460B1 (en) * 2007-05-22 2012-11-13 Hewlett-Packard Development Company, L.P. Allocating computer resources to workloads using utilization based probability distributions
US8935702B2 (en) * 2009-09-04 2015-01-13 International Business Machines Corporation Resource optimization for parallel data integration
US9329908B2 (en) * 2010-09-29 2016-05-03 International Business Machines Corporation Proactive identification of hotspots in a cloud computing environment
JP2012133630A (ja) 2010-12-22 2012-07-12 Nomura Research Institute Ltd ストレージリソース制御システムおよびストレージリソース制御プログラムならびにストレージリソース制御方法
JP5853821B2 (ja) * 2012-03-29 2016-02-09 富士通株式会社 管理装置、資源管理方法、資源管理プログラム及び情報処理システム
US9363154B2 (en) * 2012-09-26 2016-06-07 International Business Machines Corporaion Prediction-based provisioning planning for cloud environments
JP2014164425A (ja) 2013-02-22 2014-09-08 Sony Corp 情報処理装置、リソース制御方法及びプログラム
JP6554828B2 (ja) * 2015-03-06 2019-08-07 富士通株式会社 情報処理装置、情報処理方法、およびプログラム
JP6572795B2 (ja) * 2016-02-16 2019-09-11 富士通株式会社 解析装置及び解析プログラム

Also Published As

Publication number Publication date
US20180107520A1 (en) 2018-04-19
US10417050B2 (en) 2019-09-17
JP2018067113A (ja) 2018-04-26

Similar Documents

Publication Publication Date Title
US20210224114A1 (en) Capacity Analysis Using Closed-System Modules
JP5068099B2 (ja) 個々のユーザの資源使用量およびその使用量の追跡に基づいた公平な共用分のスケジューリングを行う方法およびシステム
KR102207050B1 (ko) 분산 컴퓨터 시스템에 전력 할당의 변화가 있을 때 중단될 수 있고 중단될 수 없는 작업들을 관리하는 방법들 및 장치
US10445148B2 (en) System and method of performing a pre-reservation analysis to yield an improved fit of workload with the compute environment
US9727383B2 (en) Predicting datacenter performance to improve provisioning
JP5218390B2 (ja) 自律制御サーバ、仮想サーバの制御方法及びプログラム
JP5231448B2 (ja) 異なるコンピュータリソースタイプにわたる予約の同時割当
CN110321222B (zh) 基于决策树预测的数据并行作业资源分配方法
KR20170100487A (ko) 총체적 글로벌 성능 및 전력 관리
CN111813523A (zh) 时长预估模型生成方法、系统资源调度方法、装置、电子设备和存储介质
CN105607952B (zh) 一种虚拟化资源的调度方法及装置
JP6891611B2 (ja) 管理装置、情報処理システムの制御方法、および管理装置の管理プログラム
CN104407925A (zh) 一种动态的资源分配方法
JP2020003929A (ja) 運用管理装置、移動先推奨方法及び移動先推奨プログラム
US10871986B2 (en) Virtual server migration after performance deterioration
KR101630125B1 (ko) 클라우드 컴퓨팅 자원관리 시스템에서의 자원 요구량 예측 방법
CN113641445B (zh) 基于深度确定性策略的云资源自适应配置方法及系统
US20140137122A1 (en) Modified backfill scheduler and a method employing frequency control to reduce peak cluster power requirements
WO2014136302A1 (ja) タスク管理装置及びタスク管理方法
CN112000460A (zh) 一种基于改进贝叶斯算法的服务扩缩容的方法及相关设备
CN114741160A (zh) 一种基于平衡能耗与服务质量的动态虚拟机整合方法和系统
Soysal et al. On the quality of wall time estimates for resource allocation prediction
JP6787032B2 (ja) 制御装置、制御方法、および制御プログラム
US20240112055A1 (en) Computer-readable recording medium storing node allocation program at the time of quantum simulation execution, node allocation method at the time of quantum simulation execution, and information processing device
JP7331386B2 (ja) ジョブ制御システム、方法、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190709

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200811

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200929

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201012

R150 Certificate of patent or registration of utility model

Ref document number: 6787032

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150