JP2019082801A - リソースの割り当てを最適化するシステム及び方法 - Google Patents

リソースの割り当てを最適化するシステム及び方法 Download PDF

Info

Publication number
JP2019082801A
JP2019082801A JP2017209178A JP2017209178A JP2019082801A JP 2019082801 A JP2019082801 A JP 2019082801A JP 2017209178 A JP2017209178 A JP 2017209178A JP 2017209178 A JP2017209178 A JP 2017209178A JP 2019082801 A JP2019082801 A JP 2019082801A
Authority
JP
Japan
Prior art keywords
prediction
service
resource
time
period
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.)
Granted
Application number
JP2017209178A
Other languages
English (en)
Other versions
JP6681377B2 (ja
Inventor
清美 和田
Kiyomi Wada
清美 和田
裕教 江丸
Hironori Emaru
裕教 江丸
峰義 増田
Mineyoshi Masuda
峰義 増田
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2017209178A priority Critical patent/JP6681377B2/ja
Priority to US16/125,984 priority patent/US10904159B2/en
Publication of JP2019082801A publication Critical patent/JP2019082801A/ja
Application granted granted Critical
Publication of JP6681377B2 publication Critical patent/JP6681377B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5003Managing SLA; Interaction between SLA and QoS
    • H04L41/5009Determining service level performance parameters or violations of service level contracts, e.g. violations of agreed response time or mean time between failures [MTBF]
    • 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]
    • 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
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/147Network analysis or design for predicting network behaviour
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/149Network analysis or design for prediction of maintenance
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/22Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks comprising specially adapted graphical user interfaces [GUI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5041Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
    • H04L41/5054Automatic deployment of services triggered by the service manager, e.g. service implementation by automatic configuration of network components
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/06Generation of reports
    • H04L43/067Generation of reports using time frame reporting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/83Admission control; Resource allocation based on usage prediction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

【課題】各サービスのサービスレベルを維持するためには、各サービスに十分な余剰リソースを割り当てる必要があるが、結果として、使用されないリソースが多く必要となってしまうことがある。【解決手段】リソース割り当て最適化システムは、複数のサービスの各々について、当該サービスのワークロードの正確な予測が期待できるか否かの判別である予測判別を行い、前記予測判別の結果を基に、当該サービスに対するリソース割り当てを制御する。各サービスについて、予測判別は、(x)当該サービスについて所定期間における時系列実測ワークロードと時系列予測ワークロード、及び、(y)当該サービスについて前記所定期間における実測サービスレベルと予測サービスレベルとのうちの少なくとも1つ、のうちの少なくとも1つに基づく。【選択図】図1

Description

本発明は、概して、リソースの割り当ての最適化に関する。
一般に、クラウド基盤のような計算機システムは、複数のサービスを1以上のユーザに提供する。通常、サービス毎に、計算機システムにおけるリソース(コンピューティングリソース)が割り当てられる。各サービスについて、当該サービスの提供は、当該サービスに対応したアプリケーション(アプリケーションプログラム)の実行により行われる。アプリケーションの実行では、当該アプリケーションに対応したサービスに割り当てられているリソースが使用される。
特許文献1は、「a request for initialization of a new instance of a virtual machine instance configuration, the virtual machine instance configuration associated with an expected resource usage amount of a first computing resource, wherein the expected usage amount is based at least in part on a plurality of prior measurements associated with usage, by instances of one or more a similar virtual machine instance configurations, of the first computing resource」と開示している。すなわち、仮想マシンインスタンスコンフィグレーションに、第1のコンピューティングリソースの予測リソース使用量が関連付けられていて、当該予測リソース使用量は、複数の事前測定値に少なくとも基づいている。
WO2014/047073
一般に、各サービスには、サービスのワークロードが変動したりリソースに障害が生じたりしてもサービスのレベル(サービスの品質)を維持することができるように、余剰のリソースが割り当てられている。
特許文献1に開示の技術は、リソースの使用量を予測できるが、サービスのワークロードを予測することができない。このため、各サービスのサービスレベルを維持するためには、各サービスに十分な余剰リソースを割り当てる必要がある。結果として、使用されないリソースが多く必要となってしまうことがある。例えば、一般に、計算機システムの一例であるクラウド基盤は、多数のサービスを提供する。いずれのサービスにも、十分な余剰リソースとして、定常時の2倍強の余剰リソースが割り当てられるとする。その場合、定常時では、クラウド基盤全体のうちの50%未満しかリソースが使われないことになってしまう。
リソース割り当て最適化システムは、複数のサービスの各々について、当該サービスのワークロードの正確な予測が期待できるか否かの判別である予測判別を行い、前記予測判別の結果を基に、当該サービスに対するリソース割り当てを制御する。各サービスについて、予測判別は、(x)当該サービスについて所定期間における時系列実測ワークロードと時系列予測ワークロード、及び、(y)当該サービスについて前記所定期間における実測サービスレベルと予測サービスレベルとのうちの少なくとも1つ、のうちの少なくとも1つに基づく。
なお、各サービスについて、時系列実測サービスレベルは、時系列実測ワークロードに対応しており、時系列予測サービスレベルは、時系列予測ワークロードに対応していてよい。また、「複数のサービス」は、一ユーザ(例えば一カスタマ)が提供するサービスでもよいし、同一のクラウド基盤のような計算機システムの複数のユーザが提供するサービスでもよい。
本発明により、各サービスのサービスレベルを維持するために必要なリソース量を適切な量に維持することができる。
本発明の一実施形態に係るリソース割り当て最適化システムの概要図である。 一実施形態に係るシステム全体の構成図である。 第2サーバの構成図である。 第1サーバの構成図である。 サービス(アプリケーション)とリソース(ストレージ装置の内部コンポーネント)の関連図である。 入力テーブル群の構成図である。 作業テーブル群の構成図である。 出力テーブル群の構成図である。 関連付け、予測モデル生成、予測、及び、最適化の流れを示す。 関連付け部が行う処理の流れを示す。 生成部が行う処理の流れを示す。 予測部が行う処理の流れを示す。 最適化部が行う処理の流れを示す。 管理画面の一例を示す。
以下の説明では、「インターフェース部」は、1以上のインターフェースでよい。当該1以上のインターフェースは、ユーザインターフェース部と、通信インターフェース部とのうちの少なくとも通信インターフェース部を含んでよい。ユーザインターフェース部は、1以上のI/Oデバイス(例えば入力デバイス(例えばキーボード及びポインティングデバイス)と出力デバイス(例えば表示デバイス))と表示用計算機とのうちの少なくとも1つのI/Oデバイスでもよいし、それに代えて又は加えて、当該少なくとも1つのI/Oデバイスに対するインターフェースデバイスでもよい。通信インターフェース部は、1以上の通信インターフェースデバイスでよい。1以上の通信インターフェースデバイスは、1以上の同種の通信インターフェースデバイス(例えば1以上のNIC(Network Interface Card))であってもよいし2以上の異種の通信インターフェースデバイス(例えばNICとHBA(Host Bus Adapter))であってもよい。
以下の説明では、「メモリ部」は、1以上のメモリでよい。少なくとも1つのメモリは、揮発性メモリであってもよいし不揮発性メモリであってもよい。メモリ部は、主に、プロセッサ部による処理の際に使用される。
また、以下の説明では、「PDEV部」は、1以上のPDEVでよい。「PDEV」は、物理的な記憶デバイスを意味し、典型的には、不揮発性の記憶デバイス(例えば補助記憶デバイス)、例えばHDD(Hard Disk Drive)又はSSD(Solid State Drive)である。PDEV部は、RAIDグループであってもよい。「RAID」は、Redundant Array of Independent (or Inexpensive) Disksの略である。
また、以下の説明では、「記憶部」は、メモリ部及びPDEV部のうちの少なくともメモリ部を含む。
また、以下の説明では、「プロセッサ部」は、1以上のプロセッサでよい。少なくとも1つのプロセッサは、典型的には、CPU(Central Processing Unit)のようなマイクロプロセッサであるが、GPU(Graphics Processing Unit)のような他種のプロセッサでもよい。1以上のプロセッサの各々は、シングルコアでもよいしマルチコアでもよい。一部のプロセッサは、処理の一部または全部を行うハードウェア回路でもよい。
また、以下の説明では、「kkk部」(インターフェース部、記憶部及びプロセッサ部を除く)の表現にて機能を説明することがあるが、機能は、1以上のコンピュータプログラムがプロセッサ部によって実行されることで実現されてもよいし、1以上のハードウェア回路(例えばFPGA(Field-Programmable Gate Array)又はASIC(Application Specific Integrated Circuit))によって実現されてもよい。プログラムがプロセッサ部によって実行されることで機能が実現される場合、定められた処理が、適宜に記憶部及び/又はインターフェース部等を用いながら行われるため、機能はプロセッサ部の少なくとも一部とされてもよい。機能を主語として説明された処理は、プロセッサ部あるいはそのプロセッサ部を有する装置が行う処理としてもよい。プログラムは、プログラムソースからインストールされてもよい。プログラムソースは、例えば、プログラム配布計算機又は計算機が読み取り可能な記録媒体(例えば非一時的な記録媒体)であってもよい。各機能の説明は一例であり、複数の機能が1つの機能にまとめられたり、1つの機能が複数の機能に分割されたりしてもよい。
また、以下の説明では、「xxxテーブル」といった表現にて情報を説明することがあるが、情報は、どのようなデータ構造で表現されていてもよい。すなわち、情報がデータ構造に依存しないことを示すために、「xxxテーブル」を「xxx情報」と言うことができる。また、以下の説明において、各テーブルの構成は一例であり、1つのテーブルは、2以上のテーブルに分割されてもよいし、2以上のテーブルの全部または一部が1つのテーブルであってもよい。
また、以下の説明では、同種の要素を区別しないで説明する場合は、その要素の参照符号を使用し(例えばサービス102)、同種の要素を区別して説明する場合は、その要素のIDを使用することがある(例えばサービス1)。
また、以下の説明では、「リソース割り当て最適化システム」は、一以上の計算機で構成されてよい。具体的には、例えば、計算機が表示デバイスを有していて計算機が自分の表示デバイスに情報を表示する場合、当該計算機がリソース割り当て最適化システムでよい。また、例えば、第1計算機(例えばサーバ)が表示用情報を遠隔の第2計算機(表示用計算機(例えばクライアント))に送信し表示用計算機がその情報を表示する場合(第1計算機が第2計算機に情報を表示する場合)、第1計算機と第2計算機とのうちの少なくとも第1計算機がリソース割り当て最適化システムでよい。リソース割り当て最適化システムは、インターフェース部、記憶部およびそれらに接続されたプロセッサ部を有してよい。リソース割り当て最適化システムにおける計算機が「表示用情報を表示する」ことは、計算機が有する表示デバイスに表示用情報を表示することであってもよいし、計算機が表示用計算機に表示用情報を送信することであってもよい(後者の場合は表示用計算機によって表示用情報が表示される)。
また、以下の説明では、「リソース」とは、典型的にはコンピューティングリソースであり、物理リソースと論理リソースの総称である。リソースは、計算機システムを構成する複数のノード(例えば、サーバやストレージ装置)の各々でもよいし、各ノードが有する複数のコンポーネントの各々でもよい。
また、以下の説明では、「ワークロード」は、サービスの実行に伴う作業負荷であり、一例として、当該サービス(アプリケーション)のI/O(Input/Output)負荷が採用される。「I/O負荷」として、「I/O数」及び「I/Oサイズ」の少なくとも1つを採用することができる。「I/O数」は、単位時間当たりに発行されるI/Oコマンドの数である。「I/Oサイズ」は、単位時間当たりに発行されるI/Oコマンドに従うI/O対象のデータの合計サイズである。本実施形態では、「I/O負荷」として、「I/O数」が採用される。
また、以下の説明では、「サービスレベル」は、サービスに求められるレベル(品質)であり、一例として、応答時間が採用される。ここで言う「応答時間」は、サービス(アプリケーション)がI/Oコマンドを発行してから当該I/Oコマンドの応答を当該サービス(アプリケーション)が受信するまでの時間である。「I/O負荷」に対応する「応答時間」は、単位時間当たりに発行された1以上のI/Oコマンドにそれぞれ対応した1以上の応答時間に基づく時間(例えば、平均応答時間、最小応答時間又は最大応答時間)である。
また、以下の説明では、「メトリック」は、リソースのメトリックである。メトリックの種別は、リソースの種別に依存する。例えば、リソースが、MP(マイクロプロセッサ)であれば、メトリックの種別は、プロセッサ使用率である。また、例えば、リソースが、プールであれば、メトリックの種別は、プール使用率(割り当てられたプールの最大IOPSに対する実測のIOPSの割合)である。
以下、図面を参照しながら、一実施形態を説明する。なお、以下の説明により本発明が限定されるものではない。
図1は、本発明の一実施形態に係るリソース割り当て最適化システムの概要図である。
リソース割り当て最適化システム200は、リソースの割り当てを最適化するシステムである。リソース割り当て最適化システム200は、関連付け部101、生成部106、予測部110及び最適化部114を有する。関連付け部101、生成部106、予測部110及び最適化部114の各々は、本実施形態では、1以上のコンピュータプログラムがプロセッサ部に実行されることにより発揮される機能であるが、それらの機能のうちの一部がハードウェア回路により発揮されてもよい。
関連付け部101は、サービス102毎に、当該サービス102にリソース群(1以上のリソース)103を関連付ける。これにより、サービス102毎に、時系列実測応答性能104と、時系列実測メトリック105とが関連付く。なお、本実施形態では、数千のサービス102が後述の情報システム290(図2参照)により提供されるとする。
各サービス102について、「時系列応答性能」とは、当該サービス102の時系列のI/O負荷及び応答時間である。従って、時系列実測応答性能104は、時系列実測I/O負荷(I/O負荷の実測値の時系列データ)と時系列実測応答時間(応答時間の実測値の時系列データ)である。
各サービス102について、リソースの「時系列メトリック」は、当該サービス102に関連付いたリソース群103における当該リソースの時系列のメトリックである。従って、リソースの時系列実測メトリック105は、当該サービス102に関連付いたリソース群103における当該リソースの実測メトリック(メトリックの実測値)の時系列データである。
生成部106は、サービス102毎に、学習処理を行う。各サービス102についての学習処理では、生成部106は、当該サービス102の時系列実測応答性能104の該当部分を使って、I/O負荷予測モデル107と、応答時間予測モデル108とを作成する。また、生成部106は、当該サービス102の時系列実測応答性能104の該当部分(正確には時系列実測I/O負荷の該当部分)と、当該サービス102に関連付いているリソースの時系列実測メトリック105の該当部分とを使って、メトリック予測モデル109を作成する。
各サービス102について、「時系列実測応答性能104の該当部分」とは、当該サービス102の時系列実測応答性能104の全部又は一部であって、当該サービス102の時系列実測応答性能104のうち、実学習期間に対応した時系列データである。「実学習期間」は、第2期間の一例であり、指定学習期間のうちの少なくとも一部、具体的には、指定学習期間のうち、実測応答時間が所定の応答時間閾値(Th)以下である期間である。「指定学習期間」は、指定された学習期間である。「学習期間」は、予測モデル107〜109の作成ための学習用データとして使用されるデータが属する期間(時刻範囲)である。各サービス102について、リソース割り当て最適化システム200の管理者により任意の学習期間が指定されてもよいし、当該サービス102のユーザにより任意の学習期間が指定されてもよいし、自動決定された又は所定の学習期間が生成部106(又は他の機能)により指定されてもよい。
各サービス102について、リソースの「時系列実測メトリック105の該当部分」とは、当該リソースの時系列実測メトリック105のうち、上記の該当期間に対応した時系列データである。
予測モデル107〜109として、既知の学習手法を利用して作成されたモデル、例えば、自己回帰移動平均モデル(例えばARIMA(Autoregressive Integrated Moving Average)モデル)やニューラルネットワークを採用可能である。本実施形態では、I/O負荷予測モデル107は、複数の第1の値セット(時刻と実測I/O負荷とのセット)から作成される予測モデルの一例であって、時刻及び実測I/O負荷を入力すると予測I/O負荷(I/O負荷の予測値)を出力する関数である。応答時間予測モデル108は、複数の第2の値セット(同一時刻での実測I/O負荷と実測応答時間とのセット)から作成される予測モデルの一例であって、予測I/O負荷及び実測応答時間を入力すると予測応答時間(応答時間の予測値)を出力する関数である。メトリック予測モデル109は、複数の第3のデータセット(同一時刻での実測I/O負荷と実測メトリックとのセット)から作成される予測モデルの一例であって、予測I/O負荷及び実測メトリックを入力すると予測メトリック(メトリックの予測値)を出力する関数である。
予測部110は、サービス102毎に、当該サービス102の指定予測期間での時系列応答性能を予測する、すなわち、当該サービス102の時系列予測応答性能を出力する。「時系列予測応答性能」は、予測I/O負荷と予測応答時間の時系列データであって、指定予測期間に対応した時系列データである。「指定予測期間」は、第1期間の一例であり、指定された予測期間である。「予測期間」は、予測モデル107〜109に入力されるデータが属する期間(時刻範囲)である。リソース割り当て最適化システム200の管理者により任意の予測期間が指定されてもよいし、サービス102のユーザにより任意の予測期間が指定されてもよいし、自動決定された又は所定の予測期間が予測部110(又は他の機能)により指定されてもよい。なお、指定予測期間は、全てのサービス102について同一(共通)でよい。上述した指定学習期間は、典型的には、指定予測期間よりも過去の期間である。指定予測期間における各時刻について、予測I/O負荷は、I/O負荷予測モデル107に入力された当該時刻及び実測I/O負荷に対応した出力値としてのI/O負荷であり、予測応答時間は、応答時間予測モデル108に入力された予測I/O負荷(当該時刻に対応した予測I/O負荷)及び実測応答時間に対応した出力値としての応答時間である。なお、予測に使用される時刻t(予測モデル107に入力される時刻)は、年月日時分秒で表現される時刻ではなく、1日又は1時間といった単位時間幅をx番目の単位時間幅(xは例えば自然数)と表現した場合の数値xである。例えば、指定予測期間が本日から1か月先であり、単位時間幅が1日の場合、予測モデル107に入力される時刻tは、t=1,2,3,…,29,30である。つまり、時系列に並んだ30個の時刻が入力される。また、予測モデル107に入力される実測I/O負荷が属する期間である使用実測期間の長さは、指定予測期間の長さと同じである。指定予測期間がm(mは時間長)先にずれると(スライディング幅がmであると)、使用実測期間もm先にずれてよい。使用実測期間の少なくとも一部が、実学習期間に重複していてもよい。予測モデル107に入力される実測I/O負荷の数nは、時刻tを構成する数nと同じである(例えば、過去1か月(30日)における各日の実測I/O負荷が入力される)。つまり、時系列に並んだn個の実測I/O負荷が入力される。結果として、時系列に並んだn個の予測I/O負荷が出力される。同様に、予測モデル108には、指定予測期間に属する時系列のn個の時刻にそれぞれ対応した時系列のn個の予測I/O負荷と、使用実測期間に属する時系列のn個の実測応答時間とが入力され、結果として、時系列のn個の予測応答時間が予測モデル108から出力される。
予測部110は、サービス102毎に、当該サービス102に関連付いたリソースの指定予測期間での時系列メトリックを予測する、すなわち、当該サービス102及び当該リソースに対応した時系列予測メトリックを出力することができる。「時系列予測メトリック」は、予測メトリックの時系列データであって、指定予測期間に対応した時系列データである。指定予測期間における各時刻について、サービス102に関連付いたリソースの予測メトリックは、当該サービス102及び当該リソースに対応したメトリック予測モデル109に入力された予測I/O負荷(当該時刻に対応した予測I/O負荷)及び実測メトリックに対応した出力値としてのメトリックである。具体的には、予測モデル109には、指定予測期間に属する時系列のn個の時刻にそれぞれ対応した時系列のn個の予測I/O負荷と、使用実測期間に属する時系列のn個の実測メトリックとが入力され、結果として、時系列のn個の予測メトリックが予測モデル109から出力される。
最適化部114は、サービス102毎に、次の処理を行う。すなわち、最適化部114は、下記(x)及び(y)
(x)当該サービス102について指定予測期間における時系列実測ワークロードと時系列予測ワークロード、及び、
(y)当該サービス102について指定予測期間における実測サービスレベルと予測サービスレベルとのうちの少なくとも1つ、
のうちの少なくとも1つを基に、当該サービス102のワークロードの正確な予測が期待できるか否かの判別である予測判別を行う。そして、最適化部114は、当該予測判別の結果を基に、当該サービス102に対するリソース割り当てを制御する。リソース割り当ての制御は、追加又は削減されるリソース量の決定であってもよいし、現状維持のために待ちであってもよい。
予測判別は、以下の(P1)及び(P2)の判別、
(P1)指定予測期間における実測I/O負荷と予測I/O負荷との差分が、所定の許容範囲内(マージン内)であるか否かの判別、及び、
(P2)指定予測期間における実測応答時間及び予測応答時間の少なくとも1つが所定の応答時間閾値(Th)以下であるか否かの判別、
のうちの少なくとも1つを含む。(P1)及び(P2)の判別結果のうちの少なくとも1つが偽の場合、予測判別の結果が偽である。
なお、(P1)の判別結果が偽であれば予測判別の結果が偽となる理由は、学習処理において予測モデル107及び108の生成のために使用された学習用データの量が少なかったために予測モデル107及び108の少なくとも1つが不正確であると考えられることにある。そして、学習用データの量が少なかったと考えられる理由は、リソース量が不十分であったために上述の「実学習期間」(第2の期間の一例)が短かったと考えられることにある。(P1)において、「実測I/O負荷」は、時系列実測I/O負荷に基づく値(例えば、時系列実測I/O負荷における最大値、最小値又は平均値)である。「予測I/O負荷」は、時系列予測I/O負荷に基づく値(例えば、時系列予測I/O負荷における最大値、最小値又は平均値)である。
また、(P2)の判別結果が偽であれば予測判別の結果が偽となる理由は、リソース量が不十分であるために既に又は将来に応答時間が応答時間閾値を超えてしまうと考えられることにある。(P2)において、「実測応答時間」は、時系列実測応答時間における最大値(又は平均値)である。「予測応答時間」は、時系列予測応答時間における最大値(又は平均値)である。
また、予測判別は、(P3)指定予測期間における実測応答時間と予測応答時間との差分が所定の許容範囲内(マージン内)であるか否かの判別、を含んでもよいが、(P3)の判別は、(P1)の判別と同義であると考えられる(つまり、(P1)に加えて(P3)を含むことは不要と考えられる)。なぜなら、I/O負荷と応答時間は相関が高いため、(P1)の判別結果と(P3)の判別結果は同じになる可能性が高いからである。このため、(P1)の判別は(P3)の判別を含むと解釈することができる。
連続した複数の指定予測期間(例えば1か月)における各指定予測期間(例えば第1週〜第4週の各々)について予測判別が行われてよい。
予測判別の結果が偽のサービス102について、最適化部114は、対象サービス102にリソース群を追加することを決定する。追加されるリソース群は、所定種類(例えば全種類)のリソースでよい。また、追加されるリソース群は、一定量のリソースであってもよいし、I/O負荷差分及び超過差分のうちの少なくとも1つに応じて決定された量のリソース群でもよい。いずれもリソース量も、リソース群の追加後の再学習を経て行われる再度の予測判別の結果が真となる可能性が十分に高い程のリソース量である。なお、「I/O負荷差分」は、実測I/O負荷と予測I/O負荷との差分である。ここでの「実測I/O負荷」及び「予測I/O負荷」は、(P1)の判別についてのそれらと同義でよい。「超過差分」は、応答時間閾値(Th)を超えた実測応答時間又は予測応答時間と当該応答時間閾値(Th)との差分である。なお、最適化部114は、予測判別の結果が真であるサービスがあれば、当該サービスから削減されたリソース群(リソース量)を、追加されるリソース群(リソース量)に優先的に含めるようにする。これは、全体最適化に貢献する。
一方、(P1)及び(P2)の判別結果のいずれもが真の場合、予測判別の結果が真である。予測判別の結果が真であるサービス102に関連付けられているリソース群103における各リソースについて、最適化部114は、当該リソースのリソース量が現状維持か否かの判別である維持判別を行う。維持判別は、以下の(K1)〜(K3)の判別、
(K1)指定予測期間において実測応答時間が応答時間閾値(Th)以下であるか否かの判別、
(K2)指定予測期間における実測メトリックと予測メトリックとの差分が、許容範囲内であるか否かの判別、及び、
(K3)指定予測期間における実測メトリック及び予測メトリックの少なくとも1つがメトリック閾値(Th)以下であるか否かの判別、
の少なくとも1つを含む。
なお、(K1)において、「実測応答時間」は、(P2)での「実測応答時間」と同義でよい。
また、(K2)において、「実測メトリック」は、時系列実測メトリックに基づく値(例えば、時系列実測メトリックにおける最大値、最小値又は平均値)である。「予測メトリック」は、時系列予測メトリックに基づく値(例えば、時系列予測メトリックにおける最大値、最小値又は平均値)である。
また、(K3)において、「実測メトリック」は、時系列実測メトリックにおける最大値(又は平均値)である。「予測メトリック」は、時系列予測メトリックにおける最大値(又は平均値)である。
維持判別について、時系列予測メトリックは、予測指定期間での予測メトリックの時系列データである。時系列予測メトリックは、予測判別の結果が真の場合に最適化部114により予測部110が呼び出されることで、取得されてもよいし、予測判別とは非同期に予測部110に時系列メトリックの予測が行われることで、取得されてもよい。
(K1)〜(K3)の判別結果の少なくとも1つが偽の場合、維持判別の結果が偽である。維持判別の結果が偽であるサービス102について、最適化部114は、調整リソース量(削減するリソース量、又は、追加するリソース量)を決定する。具体的には、例えば、最適化部114は、維持判別結果が偽であるリソースのリソース量を、当該リソースの指定予測期間での実測メトリック(例えば、時系列実測メトリックにおける最大値又は平均値)及び予測メトリック(例えば、時系列予測メトリックにおける最大値又は平均値)の少なくとも1つを基に決定する。当該決定されたリソース量と、現在のリソース量との差分が、調整リソース量(削減される又は追加されるリソース量)である。調整リソース量は、メトリック閾値(Th)を超えた実測メトリック又は予測メトリック(例えば最大値)と当該メトリック閾値(Th)との差分に基づいて決定されてよい。
維持判別の結果が真であるサービス102について、最適化部114は、現状維持のために待ちとなる。その後、例えば、次の指定予測期間について、上述の予測判別が行われる。
最適化部114は、予測判別結果集計80(全サービス102の各々についての指定予測期間毎の予測判別の結果)を作成できる。図1において、集計80におけるセルは、サービス102に対応する。予測可サービス(予測判別の結果が真であるサービス)102については、現状維持でない限り、予測メトリックのピーク値がメトリック閾値(Th)以下になるような量のリソース群が当該サービス102に割り当てられるよう、リソース量が削減又は追加される。一方、予測不可サービス(予測判別の結果が偽であるサービス)102については、一定量のリソース群(又は、I/O負荷差分及び超過差分の少なくとも1つに基づき決定されたリソース量のリソース群)が追加される。予測可サービスから削減した余剰リソースがあれば、当該余剰リソースが、上述したように、予測不可サービスに追加されるリソース群に優先的に含まれてよい。
リソース群の追加又は削減後、関連付け部101により関連付け(関連付けの更新)が行われ、生成部106により再学習処理(予測モデル107〜109の更新)が行われる。
以上が、本実施形態の概要である。
本実施形態では、複数のサービス102の各々が、予測判別を経て、予測可サービスと予測不可サービスとに区別される。
予測可サービスに対応した予測モデル107〜109は、正確であると考えられる。このため、予測可サービスについては、最適化部114は、上述した方法で調整リソース量を決定する。このため、予測可サービスに割り当てられるリソース群のリソース量を、応答時間が応答時間閾値(Th)以下であることを維持するのに適切な量に維持することができる(言い換えれば、過剰なリソース量が割り当たっている状態になってしまうことを防ぐことができる)。
一方、予測不可サービスに対応した予測モデル107〜109は、学習期間において実測応答時間が応答時間閾値(Th)を超えてしまったために不正確であると考えられる。このため、予測不可サービスに対しては、一定量のリソース群(又は、I/O負荷差分及び超過差分の少なくとも1つに基づき決定されたリソース量のリソース群)が追加される。追加されるリソース量は、上述の指定学習期間において実測応答時間が応答時間閾値(Th)以下になることが十分に期待されるリソース量である。このため、再学習処理において、予測モデル107〜109は、より正確な予測モデル107〜109に更新され、結果として、後の処理において、I/O負荷及び応答時間を正確に予測することができるようになることが期待される。故に、当該サービス102についても、割り当てられるリソース群のリソース量を、応答時間が応答時間閾値(Th)以下であることを維持するのに適切な量に維持することができる(言い換えれば、過剰なリソース量が割り当たっている状態になってしまうことを防ぐことができる)。
なお、本実施形態では、予め、各サービス102について、余剰リソース(当該サービス102について必要と見積もられたリソース量のリソースよりも多くのリソース)が割り当てられていてよい。一比較例では、上述したような予測判別が不可能であるため、過剰に余剰リソースが必要であるが、本実施形態では、各サービス102について、リソース量を、応答時間が応答時間閾値(Th)以下であることを維持するのに適切な量に維持することができる。
また、上述の説明において、(P2)の判別に関し、指定予測期間において予測応答時間が応答時間閾値(Th)を超えても、その超えたトータル時間がP秒以下(P≧0)であれば、(P2)の判別結果は真でよい。
また、同様に、(M1)の判別に関し、指定予測期間において実測応答時間が応答時間閾値(Th)を超えても、その超えたトータル時間がQ秒以下(Q≧0)であれば、(K1)の判別結果は真でよい。
また、各リソースについて、(K3)の判別に関し、指定予測期間において実測メトリック又は予測メトリックが、当該リソースに対応したメトリック閾値(Th)を超えても、その超えたトータル時間がR秒以下(R≧0)であれば、(K3)の判別結果は真でよい。
以下、本実施形態を詳細に説明する。
図2は、本実施形態に係るシステム全体の構成図である。
リソース割り当て最適化システム200に情報システム290が接続されている。
情報システム290は、サーバシステム291とリソースシステム292とに大別される。
サーバシステム291は、サービス102を提供するシステムである。具体的には、サーバシステム291は、1以上のサーバであり、複数(例えば数千)のアプリケーションを実行することで複数のサービス102を提供する。
リソースシステム292は、複数のサービス102のための複数のリソースを含んだシステムである。具体的には、リソースシステム292は、1以上のカスタマデータセンタ202を有する。各カスタマデータセンタ202は、1以上のストレージ装置203と、構成データと性能データを収集するプローブ204と、ストレージ装置203の内部コンポーネント(リソース)の割り当てをする設定ツール205とを有する。各ストレージ装置203は、物理的なストレージ装置である。プローブ204及び設定ツール205の各々は、物理的な装置であってもよいし、コンピュータプログラムがプロセッサ部に実行されることによって発揮される機能であってもよい。「構成データ」は、ストレージ装置203の構成を示すデータである。「性能データ」は、ストレージ装置203の性能を示すデータである。
リソース割り当て最適化システム200は、カスタマ(ユーザ)データベース206と、収集ツール207と、第2サーバ208と、第1サーバ209と、自動化ツール210とを有する。カスタマデータベース206は、リソース割り当て最適化システム200における記憶部に格納される。収集ツール207及び自動化ツール210の各々は、物理的な装置であってもよいし、コンピュータプログラムがプロセッサ部に実行されることによって発揮される機能であってもよい。
カスタマデータベース206は、カスタマ毎に、サービス102とLDEV(Logical Device)との対応関係を示す情報と、各サービス102のサービスレベル(応答時間)を示す情報とを含む。なお、LDEVは、ストレージ装置203が提供する論理的なデバイス(論理ボリューム)である。
収集ツール207は、各カスタマデータセンタ202内のプローブ204から、構成データと性能データを収集する。
第2サーバ208は、ETL(Extract、 Transform、 Load)ツール211と、出力データベース212と、BA(Business Application)ツール213がある。ETLツール211は、入力変換部220、出力変換部225及びジョブ実行部222を有する。出力データベース212は、管理画面15に表示される情報を含むデータベースである。BAツール213は、管理画面15の表示や自動化ツール210の呼び出しを行う。
第1サーバ209は、テーブル群217と、分析処理を実行する分析プログラム215とを有する。
テーブル群217は、入力テーブル群221、作業テーブル群223及び出力テーブル群224を含む。各テーブル群221、223及び224は、1以上のテーブルである。
分析プログラム215は、プログラムインターフェース(I/F)216と、関連付け部101と、生成部106と、予測部110、及び最適化部114とを有する。
リソース割り当て最適化システム200では、例えば以下の処理が行われる。
すなわち、ETLツール211における入力変換部220は、カスタマデータベース206と収集ツール207からのデータを変換し、変換されたデータを入力テーブル群221に格納する。
ETLツール211におけるジョブ実行部222がジョブを実行すると、分析プログラム215上の機能(プログラム)101、106、110及び114が順に実行される。分析プログラム215は、入力テーブル群221を入力し、作業テーブル群223に一時的にデータを格納し、当該作業テーブル群223を利用し、出力テーブル群224に結果を格納する。
ETLツール211における出力変換部225は、出力テーブル群224(及び入力テーブル群221)からのデータを変換して、変換されたデータを出力データベース212に格納する。
BAツール213は、出力データベース212からデータを取得して、当該データに基づく情報を表示した管理画面(典型的にはGUI(Graphical User Interface))15を表示する。管理画面15は、カスタマ向けでもよいし、管理者向けでもよい。管理画面15経由で、BAツール213が、リソース割り当ての指示を受けた場合、BAツール213が、自動化ツール210を呼び出す。呼び出された自動化ツール210は、リソースの割り当て(最適化部114により決定されたリソース量のリソース群の追加又は削減)を設定ツール205に指示する。当該指示に応答して、設定ツール205が、リソースの割り当て(最適化部114により決定されたリソース量のリソース群の追加又は削減)を行う。
なお、サーバシステム291及びリソースシステム292の各々は、計算機システムの一例である。サーバシステム291及びリソースシステム292のうちの少なくとも1つが、クラウドサービスを提供するシステムでよい。サーバシステム291は、1以上の物理的なサーバ(例えばサーバのクラスタ)であってもよいし、少なくとも1つの仮想的なサーバ(例えばVM(Virtual Machine))を含んでもよい。具体的には、例えば、情報システム290では、サーバシステム291は、リソースシステム292におけるカスタマデータセンタ202上で実行される仮想的なサーバでもよい。また、リソースシステム292において、一部のストレージ装置203が、仮想的なストレージ装置であってもよい。情報システム290は、SDx(Software-Defined anything)を実行してもよい。SDxとしては、例えば、SDS(Software Defined Storage)又はSDDC(Software-defined Datacenter)を採用することができる。SDSと仮想的なサーバが同一の計算機システム上で実行されてもよい。
また、リソース量の追加と削減は、相対的でもよい。具体的には、例えば、サービス102(アプリケーション)を、カスタマデータセンタ202間で移動することが、当該サービス102について、リソース量の追加又は削減であってもよい。
図3は、第2サーバ208の構成図である。
第2サーバ208は、インターフェース部304、PDEV部303、メモリ部301及びそれらに接続されたプロセッサ部302を有する。インターフェース部304は、インターネットのような通信ネットワーク310に接続される。
メモリ部301が、ETLツール211(入力変換部220、出力変換部225及びジョブ実行部222)及びBAツール213を格納し、プロセッサ部302が、それらのツール(プログラム)211及び213を実行する。
また、PDEV部303には、出力データベース212が、格納される。
カスタマデータベース206と収集ツール207からの入力情報、第1サーバ209との間でやり取りされる入出力情報、リモート端末(例えば、カスタマ又は管理者の端末)からWebブラウザ経由でやりとりされる入出力情報は、インターフェース部304経由で入出力される。
入力変換部220は、構成データ(例えばCSV(Comma Separated Values)におけるデータ)を、入力テーブル群221用のデータに変換する処理と、性能データ(例えばCSVにおけるデータ)を、入力テーブル群221用のデータに変換する処理とを行う。性能データは、時刻と実測値(実測I/O負荷、実測応答時間及び実測メトリック)とを含んでよい。
出力変換部225は、出力テーブル群224(及び入力テーブル群221)におけるデータを出力データベース212用のデータに変換する処理を行う。
BAツール213は、出力データベース212におけるデータに基づく情報を表示した管理画面を表示する処理を行う。
図4は、第1サーバ209の構成図である。
第1サーバ209は、インターフェース部404、PDEV部403、メモリ部401及びそれらに接続されたプロセッサ部402を有する。インターフェース部404は、インターネットのような通信ネットワーク310に接続される。
メモリ部401が、分析プログラム215(I/F216、関連付け部101、生成部106、予測部110及び最適化部114)を格納し、プロセッサ部402が、そのプログラム215を実行する。
また、PDEV部403には、テーブル群217(入力テーブル群221、作業テーブル群223及び出力テーブル群224)が格納される。
第2サーバ208との間でやりとりされる入出力情報は、インターフェース部404経由で入出力される。
図5は、サービス102(アプリケーション)とリソース(ストレージ装置203の内部コンポーネント)の関連図である。
サーバ501は、サーバシステム291における物理的又は仮想的なサーバである。サーバ501がアプリケーション503を実行することでサービス102が提供される。アプリケーション503が、サーバ501における記憶領域504を利用する。記憶領域504は、1以上のボリューム541である。各ボリューム541は、ストレージ装置203が提供するLDEV506がマウントされたものである。ボリューム541としては、例えば、トランザクションログを格納するボリュームや、ユーザデータを格納するボリュームや、システム管理情報を格納するボリュームでよい。ボリューム541を格納先とするデータはLDEV506に格納される。
ストレージ装置203は、インターフェース部、PDEV部、メモリ部及びそれらに接続されたプロセッサ部を有する。インターフェース部の一例が、複数のポート512である。PDEV部の一例が、1以上のRG(RAIDグループ)510である。メモリ部の一例が、1以上のキャッシュメモリである。プロセッサ部の一例が、1以上のMP(マイクロプロセッサ)507である。
ポート512がサーバ501に接続される。
1以上のRG510を基に、1以上のプール509が構成される。各プール509は、論理的な記憶空間であり、複数の論理領域(論理的な記憶領域)の集合である。また、LDEV506は、Thin Provisioning技術に従う仮想的なボリュームであり、サーバ501に提供される。LDEV506にプール509が関連付けられている。LDEV506におけるライト先に、当該LDEV506に関連付けられているプール509における論理領域が、当該LDEV506に関連付けられているMP507により割り当てられる。
LDEV506は、MP507、CLPR(Cache Logical Partition)508、プール509及びLUN(Logical Unit Number)511と関連している。プール509はRG510と関連しているため、LDEV506は、間接的にRG510と関連している。CLPR508は、1以上のキャッシュメモリの一部領域である。LUN511は、LDEV506のサーバ501に提供されるIDである。図5の例によれば、同一のLDEV506に対して2つのLUN511のいずれを使用してもサーバ501はLDEV506にアクセス可能である(交替パス)。LUN511はポート512に関連しているため、LDEV506は、間接的にポートと関連している。
サービス102に割り当てられ得るリソースは、本実施形態では、サービス102を提供するアプリケーション503が使用するLDEV506と、当該LDEV506に関連しているMP507、CLPR508、プール509及びポート512である。
図6は、入力テーブル群221の構成図である。
入力テーブル群221は、構成テーブル601、関連テーブル602、実測応答性能テーブル603、応答時間閾値テーブル604、実測メトリックテーブル605及びメトリック閾値テーブル606を含む。
構成テーブル601は、サービス102とLDEV506の関連を格納する。具体的には、例えば、構成テーブル601は、サービス102毎に、下記の情報、
・サービスID611(サービス102のIDを示す)、
・記憶領域ID612(サービス102に関連付けられた記憶領域504(505)のIDを示す)、
・ストレージID613(サービス102に関連付けられた記憶領域504内のボリューム541に対応したLDEV506を有するストレージ装置203のIDを示す)、及び、
・LDEV_ID614(サービス102に関連付けられた記憶領域504内のボリューム541に対応したLDEV506のIDを示す)、
を含む。
関連テーブル602は、LDEV506とストレージ装置203内のコンポーネントとの関連を格納する。具体的には、例えば、関連テーブル602は、LDEV506毎に、下記の情報、
・ストレージID621(LDEV506を有するストレージ装置203のIDを示す)、
・LDEV_ID622(LDEV506のIDを示す)、
・コンポーネント種別623(LDEV506に関連付けられているコンポーネントの種別を示す)、
・コンポーネントID624(LDEV506に関連付けられているコンポーネントのIDを示す)、及び、
・リソース量625(LDEV506に関連付けられているリソース群(コンポーネント群)の量を示す)、
を含む。サービス102に関連付けられた1以上のLDEV506のリソース量625の合計が、当該サービス102のリソース量に相当する。
実測応答性能テーブル603は、各サービス102の実測応答性能を格納する。具体的には、例えば、実測応答性能テーブル603は、時刻毎に、下記の情報、
・時刻631(時刻を示す)、
・サービスID632(サービス102のIDを示す)、
・実測I/O負荷633(実測I/O負荷を示す)、及び、
・実測応答時間634(実測応答時間を示す)、
を含む。なお、本実施形態において、時刻の単位は、例えば、年月日時分秒であるが、それよりも細かくても粗くてもよい。
応答時間閾値テーブル604は、各サービス102の応答時間閾値を格納する。具体的には、例えば、応答時間閾値テーブル604は、サービス102毎に、下記の情報、
・サービスID641(サービス102のIDを示す)、
・重要度642(サービス102の重要度を示す)、及び、
・応答時間閾値643(応答時間の閾値を示す)、
を含む。本実施形態では、重要度642が高いサービス102から優先的に関連付け、予測モデル生成、予測及び最適化が行われてよい。
実測メトリックテーブル605は、各リソース(コンポーネント)の実測メトリックを格納する。具体的には、例えば、実測メトリックテーブル605は、時刻毎に、下記の情報、
・時刻651(時刻を示す)、
・ストレージID652(コンポーネントを有するストレージ装置203のIDを示す)、
・コンポーネントID653(コンポーネントのIDを示す)、
・メトリック種別654(メトリックの種別を示す)、及び、
・実測メトリック655(実測メトリックを示す)、
を含む。構成テーブル601、関連テーブル602及び実測メトリックテーブル605を参照することで、サービス102に割り当てられたリソースの実測メトリックを取得することができる。
メトリック閾値テーブル606は、各コンポーネント(リソース)のメトリック閾値を格納する。具体的には、例えば、メトリック閾値テーブル606は、コンポーネント毎に、下記の情報、
・ストレージID661(コンポーネントを有するストレージ装置203のIDを示す)、
・コンポーネント種別662(コンポーネントの種別を示す)、
・コンポーネントID663(コンポーネントのIDを示す)、
・メトリック種別664(メトリックの種別を示す)、及び、
・メトリック閾値665(メトリック閾値を示す)、
を含む。
図7は、作業テーブル群223の構成図である。
作業テーブル群223は、I/O負荷予測モデルテーブル701、応答時間予測モデルテーブル702、及び、メトリック予測モデルテーブル703を含む。
I/O負荷予測モデルテーブル701は、I/O負荷予測モデル107に関する情報を格納する。具体的には、例えば、I/O負荷予測モデルテーブル701は、予測モデル107毎に、下記の情報、
・モデルID711(予測モデル107のIDを示す)、
・開始時刻712(学習期間の開始時刻を示す)、
・終了時刻713(学習期間の終了時刻を示す)、
・サービスID714(予測モデル107に対応するサービス102のIDを示す)、及び、
・関数式f(t)715(入力を時刻(t)とした出力を得るための予測モデル107相当の情報)、
を含む。
応答時間予測モデルテーブル702は、応答時間予測モデル108に関する情報を格納する。具体的には、例えば、応答時間予測モデルテーブル702は、予測モデル108毎に、下記の情報、
・モデルID721(予測モデル108のIDを示す)、
・開始時刻722(学習期間の開始時刻を示す)、
・終了時刻723(学習期間の終了時刻を示す)、
・サービスID724(予測モデル108に対応するサービス102のIDを示す)、及び、
・関数式f(I/O負荷)725(入力をI/O負荷とした出力を得るための予測モデル108相当の情報)、
を含む。
メトリック予測モデルテーブル703は、メトリック予測モデル109に関する情報を格納する。具体的には、例えば、メトリック予測モデルテーブル703は、予測モデル109毎に、下記の情報、
・モデルID731(予測モデル109のIDを示す)、
・開始時刻732(学習期間の開始時刻を示す)、
・終了時刻733(学習期間の終了時刻を示す)、
・ストレージID734(コンポーネントを有するストレージ装置203のIDを示す)、
・コンポーネントID735(コンポーネントのIDを示す)、
・メトリック種別736(メトリックの種別を示す)、及び、
・関数式f(I/O負荷)737(入力をI/O負荷とした出力を得るための予測モデル108相当の情報)、
を含む。
図8は、出力テーブル群224の構成図である。
出力テーブル群224は、関連付けテーブル801、予測応答性能テーブル805、予測メトリックテーブル808、及び、予測判別結果テーブル809を含む。
関連付けテーブル801は、サービス102とコンポーネント(リソース)との関連付けを示す情報を格納する。具体的には、例えば、関連付けテーブル801は、サービス102毎に、下記の情報、
・サービスID811(サービス102のIDを示す)、
・記憶領域ID812(サービス102に関連付けられた記憶領域504(505)のIDを示す)、
・ストレージID813(サービス102に関連付けられた記憶領域504内のボリューム541に対応したLDEV506を有するストレージ装置203のIDを示す)、
・コンポーネント種別814(サービス102に関連付けられたコンポーネントの種別を示す)、及び、
・コンポーネントID815(サービス102に関連付けられたコンポーネントのIDを示す)、
を含む。
予測応答性能テーブル805は、各サービス102の予測応答性能を格納する。具体的には、例えば、予測応答性能テーブル805は、時刻毎に、下記の情報、
・時刻851(時刻を示す)、
・サービスID852(サービス102のIDを示す)、
・予測I/O負荷853(予測I/O負荷を示す)、及び、
・予測応答時間854(予測応答時間を示す)、
を含む。
予測メトリックテーブル808は、各リソース(コンポーネント)の予測メトリックを格納する。具体的には、例えば、予測メトリックテーブル808は、時刻毎に、下記の情報、
・時刻881(時刻を示す)、
・ストレージID882(コンポーネントを有するストレージ装置203のIDを示す)、
・コンポーネントID883(コンポーネントのIDを示す)、
・メトリック種別884(メトリックの種別を示す)、及び、
・予測メトリック885(予測メトリックを示す)、
を含む。
予測判別結果テーブル809は、各サービス102についての予測判別の結果を格納する。具体的には、例えば、予測判別結果テーブル809は、サービス102毎に、下記の情報、
・サービスID891(サービス102のIDを示す)、
・開始時刻892(指定予測期間の開始時刻を示す)、
・終了時刻893(指定予測期間の終了時刻を示す)、
・許容範囲894(I/O負荷の実測値と予測値との差分の許容範囲を示す)、及び、
・予測判別結果895(予測判別の結果を示す)、
を含む。最適化部114は、許容範囲894を使って、実測I/O負荷に対して予測I/O負荷が許容の範囲内かどうかを判別する。許容範囲894は、予測I/Oに対して分散σの10%範囲内などのように指定可能である。予測判別結果テーブル809は、図1に示す集計80に相当する。
出力テーブル群224内のテーブルが、管理画面15の表示のための出力データベース212に格納されるが、出力テーブル群224内のテーブルに加えて、入力テーブル群221内のテーブル(例えば、実測応答性能テーブル603、応答時間閾値テーブル604、実測メトリックテーブル605及びメトリック閾値テーブル606)が、出力データベース212に格納されてもよい。
図9は、関連付け、予測モデル生成、予測、及び、最適化の流れを示す。以下、1つのサービス102を例に取る。
関連付け部101は、当該サービス102にリソース群103を関連付ける(S901)。
生成部106は、当該サービス102について、実学習期間(指定学習期間のうち実測応答時間が応答時間閾値以下である期間)の時系列実測I/O負荷、時系列実測応答時間及び時系列実測メトリックを用いた学習処理により、予測モデル107〜109を生成する(S902)。
予測部110が、当該サービス102に対応した予測モデル107及び108を用いて、指定予測期間での時系列応答性能(I/O負荷及び応答時間)を予測する(S903)。
最適化部114が、時系列実測応答性能と時系列予測応答性能を基に、当該サービス102のI/O負荷の正確な予測が期待できるか否かの判別である予測判別を行う(S904)。
S904の判別結果が偽の場合(S904:F)、最適化部114は、当該サービス102について、リソース群(例えば一定量のリソース群)の追加を決定する。
S904の判別結果が真の場合(S904:T)、予測部110は、当該サービス102に関連付いているリソース群103における各リソースの指定予測期間での時系列メトリックを、当該リソースに対応した予測モデル109を用いて予測する(S906)。最適化部114は、時系列予測メトリック及び時系列実測メトリックの少なくとも1つを基に、当該リソースのリソース量が現状維持か否かの判別である維持判別を行う(S907)。
S907の判別結果が偽の場合(S907:F)、最適化部114が、当該サービス102について、リソース量の調整を決定する(S908)。例えば、最適化部114が、実測メトリック又は予測メトリックとメトリック閾値との差分を基に、削減する又は追加するリソース量を決定する。
図10は、関連付け部101が行う処理の流れを示す。
S901において、関連付け部101は、第1関連付け(S1001)と第2関連付け(S1002)を行う。
第1関連付けは、サービス102とLDEV506の関連付けである。具体的には、関連付け部101は、構成テーブル601を入力し、サービス102と記憶領域504の関連付け(S1011)と、記憶領域504とLDEV506の関連付け(S1012)を実行し、当該実行の結果を関連付けテーブル801に格納する。
第2関連付けは、サービス102とコンポーネントの関連付けである。具体的には、関連付け部101は、関連テーブル602を入力し、サービス102とMP507の関連付け(S1021)、サービス102とCLPR508の関連付け(S1022)、サービス102とプール509の関連付け(S1023)、及び、サービス102とポート512の関連付け(S1024)を実行し、当該実行の結果を関連付けテーブル801に格納する。
図11は、生成部106が行う処理の流れを示す。
S902において、生成部106は、I/O負荷予測モデル107の生成(S1101)、応答時間予測モデル108の生成(S1102)、及び、メトリック予測モデル109の生成(S1103)を行う。
S1101において、生成部106は、実測応答性能テーブル603を入力する。生成部106は、指定学習期間のうちの実学習期間について、異常値除去と差分処理(S1111)と、ARIMAモデルを用いて関数(予測式)を作成する処理(S1112)とを実行し、当該実行の結果をI/O負荷予測モデルテーブル701に格納する。
S1102において、生成部106は、実測応答性能テーブル603を入力する。生成部106は、指定学習期間のうちの実学習期間について、異常値除去と差分処理(S1121)と、ARIMAモデルを用いて関数(予測式)を作成する処理(S1122)とを実行し、当該実行の結果を応答時間予測モデルテーブル702に格納する。
S1103において、生成部106は、実測メトリックテーブル605を入力する。生成部106は、指定学習期間のうちの実学習期間について、異常値除去と差分処理(S1131)と、ARIMAモデルを用いて関数(予測式)を作成する処理(S1132)とを実行し、当該実行の結果をメトリック予測モデルテーブル703に格納する。
図12は、予測部110が行う処理の流れを示す。
S903において、予測部110は、I/O負荷の予測と応答時間の予測とを行う。
I/O負荷の予測では、予測部110は、I/O負荷予測モデルテーブル701を入力する(S1201)。予測部110は、そのテーブル701における予測式(つまり関数としての予測モデル107)を使って、指定予測期間における時系列のn個の時刻と使用実測期間における時系列のn個の実測I/O負荷とを入力として時系列I/O負荷を予測する(S1202)。結果として、時系列のn個の予測I/O負荷が取得される。予測部110は、当該予測の結果を予測応答性能テーブル805に格納する。
応答時間の予測では、予測部110は、応答時間予測モデルテーブル702を入力する(S1201)。予測部110は、そのテーブル702における予測式(つまり関数としての予測モデル108)を使って、予測応答性能テーブル805における時系列のn個の予測I/O負荷(指定予測期間における時系列のn個の時刻にそれぞれ対応した時系列のn個の予測I/O負荷)と使用実測期間における時系列のn個の実測応答時間とを入力として時系列応答時間を予測する(S1202)。結果として、時系列のn個の予測応答時間が取得される。予測部110は、当該予測の結果を予測応答性能テーブル805に格納する。
S906において、予測部110は、関連付けテーブル801及びメトリック予測モデルテーブル703を入力する(S1211)。これにより、サービス102に関連付いたリソース(コンポーネント)のメトリック予測モデル109を特定できる。予測部110は、そのテーブル703における予測式(つまり関数としての予測モデル109)を使って、予測応答性能テーブル805における時系列のn個の予測I/O負荷(指定予測期間における時系列のn個の時刻にそれぞれ対応した時系列のn個の予測I/O負荷)と使用実測期間における時系列のn個の実測メトリックとを入力として時系列メトリックを予測する(S1212)。結果として、時系列のn個の予測メトリックが取得される。予測部110は、当該予測の結果を予測メトリックテーブル808に格納する。
図13は、最適化部114が行う処理の流れを示す。
S904において、最適化部114は、応答時間閾値テーブル604、予測応答性能テーブル805及び実測応答性能テーブル603を入力する。最適化部114は、指定予測期間における実測I/O負荷と予測I/O負荷との差分が、所定の許容範囲内(マージン内)であるか否かの判別を行う(S1301)。S1301の判別結果が偽の場合(S1301:F)、最適化部114は、当該サービス102について、予測判別結果テーブル809に、予測判別結果895として“予測不可”を格納する。
S1301の判別結果が真の場合(S1301:T)、最適化部114は、指定予測期間における実測応答時間及び予測応答時間の少なくとも1つが応答時間閾値以下であるか否かの判別を行う(S1302)。S1302の判別結果が偽の場合(S1302:F)、最適化部114は、当該サービス102について、予測判別結果テーブル809に、予測判別結果895として“予測不可”を格納する。一方、S1302の判別結果が真の場合(S1302:T)、最適化部114は、当該サービス102について、予測判別結果テーブル809に、予測判別結果895として“予測可”を格納する。
S905において、最適化部114は、十分なリソース量を決定する(S1311)。ここで言う「十分なリソース量」は、指定学習期間において実測応答時間が応答時間閾値以下になることが十分に期待されるリソース量である。追加されることになる当該リソース量は、例えば一定量のリソースである。
S907において、最適化部114は、メトリック閾値テーブル606、予測メトリックテーブル808、実測メトリックテーブル605及び関連付けテーブル801を入力する。最適化部114は、指定予測期間における実測メトリックと予測メトリックとの差分が、許容範囲内であるか否かの判別を行う(S1321)。S1321の判別結果が偽の場合(S1321:F)、非現状維持が得られる(すなわち、維持判別(S907)の結果が偽である)。
S1321の判別結果が真の場合(S1321:T)、最適化部114は、指定予測期間における実測メトリック及び予測メトリックの少なくとも1つがメトリック閾値以下であるか否かの判別を行う(S1322)。S1322の判別結果が偽の場合(S1322:F)、非現状維持が得られる。一方、S1322の判別結果が真の場合(S1322:T)、現状維持が得られる(すなわち、維持判別(S907)の結果が真である)。
S908において、最適化部114は、メトリック等に基づき調整リソース量を決定する(S1331)。具体的には、例えば、最適化部114は、メトリック閾値を超えた実測メトリック又は予測メトリックと当該メトリック閾値との差分に基づいて調整リソース量を決定する。
図14は、管理画面15の一例を示す。
管理画面15に表示される情報である管理情報は、出力データベース212内のデータに基づいている。管理画面15は、例えばGUI(Graphical User Interface)である。
管理画面15は、分析期間を指定するためのUI(User Interface)1401、開始時刻を指定するためのUI1402、及び、終了時刻を指定するためのUI1403を有する。これらのUI1401〜1403を用いて期間が指定される。この指定期間(以下、表示期間)に属するデータに基づく情報が、管理画面15に表示される管理情報である。表示期間は、過去の期間も将来の期間も含むことができる。管理画面15における情報の表示は、本実施形態では、BAツール213により制御され、BAツール213が、表示制御部の一例である。なお、表示制御部は、第2サーバ208に代えて第1サーバ209に設けられてもよい。
本実施形態において、管理情報は、サービス領域1405、ダッシュボード領域1404、トポロジー領域1406、予測と実測の領域1407、及び、グラフ領域1408に表示された情報の全部又は一部(例えば、ダッシュボード領域1404に表示された情報)である。
サービス領域1405は、サービス102の一覧を表示する。なお、サービス領域1405において、所定の条件に該当するサービス102の表示オブジェクトが強調表示される。「所定の条件に該当するサービス102」とは、下記のサービス102、
・オペレータ(例えば管理者又はユーザ)により選択されたサービス102、
・SLA(Service Level Agreement)違反のサービス102(実測応答時間又は予測応答時間が応答時間閾値を超えたサービス102)、
・実測メトリック又は予測メトリックがメトリック閾値を超えたサービス102、及び、
・予測判別の結果が偽であるサービス102、
のうちのいずれかのサービス102でよい。
ダッシュボード領域1404は、全サービス102のサービスレベル遵守状況(ここでは実測応答時間又は予測応答時間が応答時間閾値以下か否か)、全サービス102に関連するリソース使用状況(実測メトリック又は予測メトリックがメトリック閾値以下か否か)、及び、全サービス102に対する予測判別結果(予測判別結果が偽のサービス102の数又は割合)を表示する。また、ダッシュボード領域1404は、上記の「所定の条件に該当するサービス102」の一覧と、当該一覧における各サービス102について、SLA違反期間、各コンポーネント(リソース)のメトリック、及び、予測判別の結果を表示する。
トポロジー領域1406は、「所定の条件に該当するサービス102」をルートノードとするトポロジーを表示する。当該トポロジーでは、サービス102に関連するアプリケーション503や、LDEV506に関連付いたコンポーネントがリーフノードとなる。トポロジー領域1406において、異常のノードの表示オブジェクトが強調表示される。「異常のノード」は、リーフノード(例えばアプリケーション503やプール509)や、リーフノードの親ノード(例えば、プール509が関連付いたLDEV506)でよい。
予測と実測の領域1407は、トポロジー領域1406が表示するトポロジーにおける異常ノード(例えばオペレータにより選択されたノード)の詳細情報を表示する。詳細情報は、サービス性能1409(例えば、アプリケーションIDと、予測応答時間及び実測応答時間の各々について応答時間を超過した累積時間)と、リソースメトリック1410(例えば、コンポーネントのメトリック種別と、当該メトリック種別に関して現在のリソース量と推奨のリソース量)を含む。「推奨のリソース量」は、最適化部114により決定されたリソース量である。オペレータが、推奨のリソース量の承認を管理画面15に入力すると、BAツール213が、推奨のリソース量と現在のリソース量との差分である調整リソース量の追加又は削減の指示を、自動化ツール210を呼び出すことによりリソースシステム292に与えることができる。
グラフ領域1408は、サービス性能1409及びリソースメトリック1410の各々についてのグラフ(横軸を時刻とし縦軸を実測値又は予測値としたグラフ)を表示する。グラフには、応答時間閾値やメトリック閾値も表示される。
以上、本発明の一実施形態を説明したが、これは本発明の説明のための例示であって、本発明の範囲をこの実施形態にのみ限定する趣旨ではない。本発明は、他の種々の形態でも実施することが可能である。例えば、予測モデル107〜109の少なくとも1つが、時系列モデルに代えて、線形モデルであってもよい。例えば、予測モデル107〜109の各々が、線形モデルの場合、入力は、時系列のn個の時刻(指定予測期間における各単位時間幅に対応した数値)でよく、出力は、時系列にの個の予測値(予測I/O負荷、予測応答時間又は予測メトリック)でよい。
101…関連付け部、106…生成部、110…予測部、114…最適化部

Claims (15)

  1. 提供される複数のサービスの各々について、当該サービスについて第1期間における時系列ワークロード及び時系列サービスレベルを予測する予測部と、
    前記複数のサービスの各々について、下記(x)及び(y)
    (x)当該サービスについて前記第1期間における時系列実測ワークロードと時系列予測ワークロード、及び、
    (y)当該サービスについて前記第1期間における実測サービスレベルと予測サービスレベルとのうちの少なくとも1つ、
    のうちの少なくとも1つを基に、当該サービスのワークロードの正確な予測が期待できるか否かの判別である予測判別を行い、当該予測判別の結果を基に、当該サービスに対するリソース割り当てを制御する最適化部と
    を有するリソース割り当て最適化システム。
  2. 前記最適化部は、前記予測判別の結果が偽であるサービスに対してリソース群を追加することを決定する、
    請求項1に記載のリソース割り当て最適化システム。
  3. 前記追加されるリソース群は、一定量のリソース群である、
    請求項2に記載のリソース割り当て最適化システム。
  4. 前記追加されるリソース群は、ワークロード差分及び超過差分のうちの少なくとも1つに応じて決定された量のリソース群であり、
    前記ワークロード差分は、実測ワークロードと予測ワークロードとの差分であり、
    前記超過差分は、サービスレベル閾値を超えた実測サービスレベル又は予測サービスレベルと当該サービスレベル閾値との差分である、
    請求項2に記載のリソース割り当て最適化システム。
  5. 前記最適化部は、前記予測判別の結果が真であるサービスに関連付いているリソース群における各リソースのリソース量を、当該リソースの前記第1期間での実測メトリック及び予測メトリックの少なくとも1つを基に決定する、
    請求項2乃至4のうちのいずれか1項に記載のリソース割り当て最適化システム。
  6. 前記最適化部は、前記予測判別の結果が真であるサービスについてのリソース群のリソース量が、前記決定されたリソース量よりも多い場合、当該リソース群のリソース量を削減することを決定し、
    前記追加されたリソース群のリソース量は、前記削減されたリソース量を含む、
    請求項5に記載のリソース割り当て最適化システム。
  7. 前記最適化部は、前記予測判別の結果が真であるサービスに関連付けられているリソース群における各リソースについて、当該リソースのリソース量が現状維持か否かの判別である維持判別を行い、
    前記最適化部は、前記維持判別の結果が偽であるリソースについて、リソース量を決定し、
    前記維持判別は、以下の(K1)〜(K3)の判別のうちの少なくとも1つを含み、
    (K1)前記第1期間において時系列実測サービスレベルがサービスレベル閾値以下であるか否かの判別、
    (K2)前記第1期間における実測メトリックと予測メトリックとの差分が、許容範囲内であるか否かの判別、及び、
    (K3)前記第1期間における実測メトリック及び予測メトリックの少なくとも1つがメトリック閾値以下であるか否かの判別、
    (K1)〜(K3)の判別結果の少なくとも1つが偽の場合、前記維持判別の結果が偽である、
    請求項5又は6に記載のリソース割り当て最適化システム。
  8. 前記複数のサービスの各々について学習処理を行う生成部を更に有し、
    前記生成部は、前記複数のサービスの各々について、当該サービスについての前記学習処理において、
    当該サービスについて第2期間における時系列実測ワークロードと時系列実測サービスレベルとを基に、時刻が入力であり予測ワークロードが出力であるワークロード予測モデルと、予測ワークロードが入力であり予測サービスレベルが出力であるサービスレベル予測モデルとを生成し、
    当該サービスに関連付いているリソース群の各リソースについて、前記第2期間における時系列実測ワークロードと時系列実測メトリックとを基に、当該リソースのメトリックの予測モデルであり予測ワークロードが入力であり予測メトリックが出力であるメトリック予測モデルを生成し、
    前記第2期間は、前記第1期間よりも過去の期間であり、指定された学習期間のうち実測サービスレベルがサービスレベル閾値以下である期間であり、
    前記生成部は、前記或る量のリソース群が追加されたサービスについて、前記ワークロード予測モデル及び前記サービスレベル予測モデルを更新する再学習処理を行い、
    前記予測判別の結果が真であるサービスに関連付けられているリソース群のうち、前記維持判別の結果が偽であるが、前記第1期間における実測メトリックと予測メトリックとの差分が、許容範囲外のリソースについて、
    前記最適化部が、当該リソースのリソース量の決定を行わず、
    前記生成部が、当該サービスについての当該リソースのメトリック予測モデルを更新する再学習処理を行う、
    請求項5乃至7のうちのいずれか1項に記載のリソース割り当て最適化システム。
  9. 前記予測判別は、下記の(P1)及び(P2)の判別のうちの少なくとも1つを含み、
    (P1)実測ワークロードと予測ワークロードとの差分が、許容範囲内であるか否かの判別、及び、
    (P2)実測サービスレベル及び予測サービスレベルの少なくとも1つがサービスレベル閾値以下であるか否かの判別、
    (P1)及び(P2)の判別結果のうちの少なくとも1つが偽の場合、前記予測判別の結果が偽である、
    請求項1乃至8のうちのいずれか1項に記載のリソース割り当て最適化システム。
  10. 前記複数のサービスの各々について、当該サービスについて第2期間における時系列実測ワークロードと時系列実測サービスレベルとを基に、時刻が入力であり予測ワークロードが出力であるワークロード予測モデルと、予測ワークロードが入力であり予測サービスレベルが出力であるサービスレベル予測モデルとを生成する学習処理を行う生成部、
    を更に有し、
    前記第2期間は、前記第1期間よりも過去の期間であり、指定された学習期間のうち実測サービスレベルがサービスレベル閾値以下である期間である、
    請求項9に記載のリソース割り当て最適化システム。
  11. 前記最適化部は、前記予測判別の結果が真であるサービスに関連付いているリソース群における各リソースのリソース量を、当該リソースの前記第1期間での時系列実測メトリック及び時系列予測メトリックの少なくとも1つを基に決定する、
    請求項1乃至10のうちのいずれか1項に記載のリソース割り当て最適化システム。
  12. 管理情報を表示する表示制御部、
    を更に有し、
    前記管理情報は、指定期間について、前記複数のサービスの全体に対する、前記予測判別の結果が偽のサービスの数又は割合、を含む、
    請求項1乃至11のうちのいずれか1項に記載のリソース割り当て最適化システム。
  13. 前記複数のサービスの各々について、
    ワークロードは、I/O(Input/Output)負荷であり、
    サービスレベルは、応答時間である、
    請求項1乃至12のうちのいずれか1項に記載のリソース割り当て最適化システム。
  14. 提供される複数のサービスの各々について、当該サービスについて所定期間における時系列ワークロード及び時系列サービスレベルを予測し、
    前記複数のサービスの各々について、下記(x)及び(y)
    (x)当該サービスについて前記所定期間における時系列実測ワークロードと時系列予測ワークロード、及び、
    (y)当該サービスについて前記所定期間における実測サービスレベルと予測サービスレベルとのうちの少なくとも1つ、
    のうちの少なくとも1つを基に、当該サービスのワークロードの正確な予測が期待できるか否かの判別である予測判別を行い、
    前記複数のサービスの各々について、前記予測判別の結果を基に、当該サービスに対するリソース割り当てを制御する、
    リソース割り当て最適化方法。
  15. 提供される複数のサービスの各々について、当該サービスについて所定期間における時系列ワークロード及び時系列サービスレベルを予測し、
    前記複数のサービスの各々について、下記(x)及び(y)
    (x)当該サービスについて前記所定期間における時系列実測ワークロードと時系列予測ワークロード、及び、
    (y)当該サービスについて前記所定期間における実測サービスレベルと予測サービスレベルとのうちの少なくとも1つ、
    のうちの少なくとも1つを基に、当該サービスのワークロードの正確な予測が期待できるか否かの判別である予測判別を行い、
    前記複数のサービスの各々について、前記予測判別の結果を基に、当該サービスに対するリソース割り当てを制御する、
    ことをコンピュータに実行させるコンピュータプログラム。
JP2017209178A 2017-10-30 2017-10-30 リソースの割り当てを最適化するシステム及び方法 Active JP6681377B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2017209178A JP6681377B2 (ja) 2017-10-30 2017-10-30 リソースの割り当てを最適化するシステム及び方法
US16/125,984 US10904159B2 (en) 2017-10-30 2018-09-10 Resource allocation optimizing system and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017209178A JP6681377B2 (ja) 2017-10-30 2017-10-30 リソースの割り当てを最適化するシステム及び方法

Publications (2)

Publication Number Publication Date
JP2019082801A true JP2019082801A (ja) 2019-05-30
JP6681377B2 JP6681377B2 (ja) 2020-04-15

Family

ID=66244917

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017209178A Active JP6681377B2 (ja) 2017-10-30 2017-10-30 リソースの割り当てを最適化するシステム及び方法

Country Status (2)

Country Link
US (1) US10904159B2 (ja)
JP (1) JP6681377B2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2021124397A1 (ja) * 2019-12-16 2021-06-24
KR20210109407A (ko) * 2020-02-27 2021-09-06 숭실대학교산학협력단 학습에 의한 머신 러닝 실행 관리 플랫폼 시스템 및 방법
WO2021260924A1 (ja) * 2020-06-26 2021-12-30 楽天グループ株式会社 予測システム、予測方法、及びプログラム
CN114520773A (zh) * 2022-02-16 2022-05-20 平安科技(深圳)有限公司 一种服务请求的响应方法、装置、服务器及存储介质
JP2023027200A (ja) * 2020-09-09 2023-03-01 株式会社日立製作所 リソース割当制御装置、計算機システム、及びリソース割当制御方法

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10685306B2 (en) * 2015-12-07 2020-06-16 Sap Se Advisor generating multi-representations of time series data
US10423500B2 (en) * 2016-06-01 2019-09-24 Seagate Technology Llc Technologies for limiting performance variation in a storage device
US11201835B1 (en) 2019-05-23 2021-12-14 C/Hca, Inc. Systems and methods for multi-tier resource and subsystem orchestration and adaptation
US11283690B1 (en) * 2019-09-13 2022-03-22 C/Hca, Inc. Systems and methods for multi-tier network adaptation and resource orchestration
US10810054B1 (en) * 2019-07-29 2020-10-20 Hitachi, Ltd. Capacity balancing for data storage system
US11277317B2 (en) 2019-08-05 2022-03-15 International Business Machines Corporation Machine learning to predict quality-of-service needs in an operational data management system
US11310126B2 (en) * 2019-08-05 2022-04-19 International Business Machines Corporation Automated operational data management dictated by quality of service criteria
US11620577B2 (en) * 2020-07-01 2023-04-04 International Business Machines Corporation Multi-modal data explainer pipeline
CN112099950A (zh) * 2020-09-15 2020-12-18 重庆电政信息科技有限公司 基于边缘图像处理系统的图像预处理优化方法
WO2022070292A1 (ja) * 2020-09-30 2022-04-07 日本電信電話株式会社 Vdiリソース配置決定装置、vdiリソース配置決定方法及びvdiリソース配置決定プログラム
JP2023036469A (ja) * 2021-09-02 2023-03-14 株式会社日立製作所 外れ値検出装置及び方法
CN117455205B (zh) * 2023-12-25 2024-04-19 中国移动通信集团设计院有限公司 资源需求预测模型训练方法、系统及资源需求预测方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015152984A (ja) * 2014-02-12 2015-08-24 日本電信電話株式会社 仮想マシン配置装置及び方法及びプログラム
JPWO2015146100A1 (ja) * 2014-03-28 2017-04-13 日本電気株式会社 負荷推定システム、情報処理装置、負荷推定方法、及び、コンピュータ・プログラム

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8839243B2 (en) * 2012-04-23 2014-09-16 International Business Machines Corporation Remediating resource overload
SG10201705920SA (en) 2012-09-20 2017-08-30 Amazon Tech Inc Automated profiling of resource usage
SE537197C2 (sv) * 2012-10-05 2015-03-03 Elastisys Ab Metod, nod och datorprogram för möjliggörande av automatiskanpassning av resursenheter
US10574748B2 (en) * 2013-03-21 2020-02-25 Infosys Limited Systems and methods for allocating one or more resources in a composite cloud environment
US10169720B2 (en) * 2014-04-17 2019-01-01 Sas Institute Inc. Systems and methods for machine learning using classifying, clustering, and grouping time series data
US9753782B2 (en) * 2014-04-24 2017-09-05 Empire Technology Development Llc Resource consumption optimization
US10102025B2 (en) * 2016-05-31 2018-10-16 Huawei Technologies Co., Ltd. Virtual machine resource utilization in a data center
US10721137B2 (en) * 2016-06-30 2020-07-21 Intel Corporation Performance assurance using workload phase detection
US10091904B2 (en) * 2016-07-22 2018-10-02 Intel Corporation Storage sled for data center
WO2018065051A1 (en) * 2016-10-05 2018-04-12 Telefonaktiebolaget Lm Ericsson (Publ) Controlling resource allocation in a data center
US10360077B2 (en) * 2016-10-10 2019-07-23 International Business Machines Corporation Measuring utilization of resources in datacenters
US10503548B2 (en) * 2016-10-11 2019-12-10 Microsoft Technology Licensing, Llc Resource and latency estimation-based scheduling in a distributed computing environment
US10691491B2 (en) * 2016-10-19 2020-06-23 Nutanix, Inc. Adapting a pre-trained distributed resource predictive model to a target distributed computing environment
US10680975B2 (en) * 2016-12-19 2020-06-09 Futurewei Technologies, Inc. Method of dynamic resource allocation for public clouds
US20200026560A1 (en) * 2017-01-27 2020-01-23 Nutanix, Inc. Dynamic workload classification for workload-based resource allocation
US10873541B2 (en) * 2017-04-17 2020-12-22 Microsoft Technology Licensing, Llc Systems and methods for proactively and reactively allocating resources in cloud-based networks

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015152984A (ja) * 2014-02-12 2015-08-24 日本電信電話株式会社 仮想マシン配置装置及び方法及びプログラム
JPWO2015146100A1 (ja) * 2014-03-28 2017-04-13 日本電気株式会社 負荷推定システム、情報処理装置、負荷推定方法、及び、コンピュータ・プログラム

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2021124397A1 (ja) * 2019-12-16 2021-06-24
WO2021124397A1 (ja) * 2019-12-16 2021-06-24 富士通株式会社 ジョブ予測プログラム、システム、及び方法
KR20210109407A (ko) * 2020-02-27 2021-09-06 숭실대학교산학협력단 학습에 의한 머신 러닝 실행 관리 플랫폼 시스템 및 방법
KR102405933B1 (ko) 2020-02-27 2022-06-08 숭실대학교 산학협력단 학습에 의한 머신 러닝 실행 관리 플랫폼 시스템 및 방법
WO2021260924A1 (ja) * 2020-06-26 2021-12-30 楽天グループ株式会社 予測システム、予測方法、及びプログラム
JP7058804B1 (ja) * 2020-06-26 2022-04-22 楽天グループ株式会社 予測システム、予測方法、及びプログラム
JP2023027200A (ja) * 2020-09-09 2023-03-01 株式会社日立製作所 リソース割当制御装置、計算機システム、及びリソース割当制御方法
JP7465940B2 (ja) 2020-09-09 2024-04-11 株式会社日立製作所 リソース割当制御装置、計算機システム、及びリソース割当制御方法
CN114520773A (zh) * 2022-02-16 2022-05-20 平安科技(深圳)有限公司 一种服务请求的响应方法、装置、服务器及存储介质
CN114520773B (zh) * 2022-02-16 2023-09-29 平安科技(深圳)有限公司 一种服务请求的响应方法、装置、服务器及存储介质

Also Published As

Publication number Publication date
US10904159B2 (en) 2021-01-26
US20190132256A1 (en) 2019-05-02
JP6681377B2 (ja) 2020-04-15

Similar Documents

Publication Publication Date Title
JP6681377B2 (ja) リソースの割り当てを最適化するシステム及び方法
US10896055B2 (en) Capacity risk management for virtual machines
US11455183B2 (en) Adjusting virtual machine migration plans based on alert conditions related to future migrations
US8112366B2 (en) Expert system and visualization for multi-server capacity management
US10452416B2 (en) Virtualization planning system
US8738333B1 (en) Capacity and load analysis in a datacenter
US10142179B2 (en) Selecting resources for automatic modeling using forecast thresholds
US10467128B2 (en) Measuring and optimizing test resources and test coverage effectiveness through run time customer profiling and analytics
WO2021036936A1 (zh) 在分布式系统中资源及任务的分配方法、装置及系统
US9875169B2 (en) Modeling real capacity consumption changes using process-level data
US20120221373A1 (en) Estimating Business Service Responsiveness
CN113544647A (zh) 云计算系统中使用虚拟机系列建模的容量管理
JP6842447B2 (ja) リソース割当ての最適化を支援するシステム及び方法
US10664786B2 (en) Using run time and historical customer profiling and analytics to determine customer test vs. production differences, and to enhance customer test effectiveness
Wu et al. A benefit-aware on-demand provisioning approach for multi-tier applications in cloud computing
US8832263B2 (en) Dynamic resource adaptation
US11562299B2 (en) Workload tenure prediction for capacity planning
US11487462B2 (en) Method and device of predicting inter-volume copy time based on inter-pool copy speed
US10078560B2 (en) Using run time and historical customer profiling and analytics to determine customer disaster recovery vs. production differences, and to enhance customer disaster recovery readiness and effectiveness
Perennou et al. Workload characterization for a non-hyperscale public cloud platform
JPWO2018207225A1 (ja) 時系列データの分析制御方法および分析制御装置
Jiang et al. Resource allocation in contending virtualized environments through VM performance modeling and feedback
KR102672580B1 (ko) 비정상 이벤트에 대한 가상 머신의 처리 용량 증가
JP2023545316A (ja) システム性能に対する複数のアプリケーションの影響の決定
JP2015138432A (ja) 性能予測装置、性能モデル生成方法およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190207

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191122

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191203

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200122

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200212

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200227

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: 20200303

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200323

R150 Certificate of patent or registration of utility model

Ref document number: 6681377

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150