本発明は、概して、リソースの割り当ての最適化に関する。 The present invention relates generally to resource allocation optimization.
一般に、クラウド基盤のような計算機システムは、複数のサービスを1以上のユーザに提供する。通常、サービス毎に、計算機システムにおけるリソース(コンピューティングリソース)が割り当てられる。各サービスについて、当該サービスの提供は、当該サービスに対応したアプリケーション(アプリケーションプログラム)の実行により行われる。アプリケーションの実行では、当該アプリケーションに対応したサービスに割り当てられているリソースが使用される。 Generally, a computer system such as a cloud platform provides a plurality of services to one or more users. Normally, resources (computing resources) in a computer system are assigned to each service. For each service, the service is provided by executing an application (application program) corresponding to the service. When the application is executed, the resources assigned to the service corresponding to the application are used.
特許文献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のコンピューティングリソースの予測リソース使用量が関連付けられていて、当該予測リソース使用量は、複数の事前測定値に少なくとも基づいている。 Patent Document 1 discloses `` 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 ". That is, the predicted resource usage of the first computing resource is associated with the virtual machine instance configuration, and the predicted resource usage is based at least on the plurality of pre-measured values.
一般に、各サービスには、サービスのワークロードが変動したりリソースに障害が生じたりしてもサービスのレベル(サービスの品質)を維持することができるように、余剰のリソースが割り当てられている。 In general, surplus resources are allocated to each service so that the level of service (quality of service) can be maintained even if the workload of the service fluctuates or a resource fails.
特許文献1に開示の技術は、リソースの使用量を予測できるが、サービスのワークロードを予測することができない。このため、各サービスのサービスレベルを維持するためには、各サービスに十分な余剰リソースを割り当てる必要がある。結果として、使用されないリソースが多く必要となってしまうことがある。例えば、一般に、計算機システムの一例であるクラウド基盤は、多数のサービスを提供する。いずれのサービスにも、十分な余剰リソースとして、定常時の2倍強の余剰リソースが割り当てられるとする。その場合、定常時では、クラウド基盤全体のうちの50%未満しかリソースが使われないことになってしまう。 The technique disclosed in Patent Document 1 can predict the resource usage amount, but cannot predict the service workload. Therefore, in order to maintain the service level of each service, it is necessary to allocate sufficient surplus resources to each service. As a result, many unused resources may be required. For example, generally, a cloud platform, which is an example of a computer system, provides a large number of services. It is assumed that a surplus resource that is more than twice as large as that in the steady state is allocated to each service as a sufficient surplus resource. In that case, in the steady state, less than 50% of the entire cloud infrastructure will use resources.
リソース割り当て最適化システムは、複数のサービスの各々について、当該サービスのワークロードの正確な予測が期待できるか否かの判別である予測判別を行い、前記予測判別の結果を基に、当該サービスに対するリソース割り当てを制御する。各サービスについて、予測判別は、(x)当該サービスについて使用実測期間(指定予測期間(指定された予測期間)と同じ長さの期間)における時系列実測ワークロードと指定予測期間における時系列予測ワークロード、及び、(y)当該サービスについて使用実測期間における実測サービスレベルと指定予測期間における予測サービスレベルとのうちの少なくとも1つ、のうちの少なくとも1つに基づく。The resource allocation optimizing system performs, for each of the plurality of services, a prediction determination that is a determination of whether or not an accurate prediction of the workload of the service can be expected, and based on the result of the prediction determination, the service is determined for the service Control resource allocation. For each service, the prediction determination is as follows: (x) Time-series actual measurement workload in theactual measurement period used (period having the same length as the specified prediction period (specified prediction period)) andthe time-series prediction workin the specified prediction period Load and (y) based on at least one of at least one of an actually measured service level in the actuallyused period and a predicted service levelin the designated predicted period for the service.
なお、各サービスについて、時系列実測サービスレベルは、時系列実測ワークロードに対応しており、時系列予測サービスレベルは、時系列予測ワークロードに対応していてよい。また、「複数のサービス」は、一ユーザ(例えば一カスタマ)が提供するサービスでもよいし、同一のクラウド基盤のような計算機システムの複数のユーザが提供するサービスでもよい。 For each service, the time-series actually measured service level may correspond to the time-series actually measured workload, and the time-series predicted service level may correspond to the time-series predicted workload. The “plurality of services” may be a service provided by one user (for example, one customer) or a service provided by a plurality of users of a computer system such as the same cloud platform.
本発明により、各サービスのサービスレベルを維持するために必要なリソース量を適切な量に維持することができる。 According to the present invention, it is possible to maintain an appropriate amount of resources required to maintain the service level of each service.
以下の説明では、「インターフェース部」は、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))であってもよい。 In the following description, the “interface unit” may be one or more interfaces. The one or more interfaces may include at least a communication interface unit of a user interface unit and a communication interface unit. The user interface unit may be at least one I / O device among one or more I / O devices (for example, an input device (for example, keyboard and pointing device) and an output device (for example, display device)) and a display computer. Alternatively or additionally, it may be an interface device for the at least one I / O device. The communication interface unit may be one or more communication interface devices. The one or more communication interface devices may be one or more same type communication interface devices (for example, one or more NICs (Network Interface Cards)) or two or more different communication interface devices (for example, NIC and HBA (Host Bus). Adapter)).
以下の説明では、「メモリ部」は、1以上のメモリでよい。少なくとも1つのメモリは、揮発性メモリであってもよいし不揮発性メモリであってもよい。メモリ部は、主に、プロセッサ部による処理の際に使用される。 In the following description, the “memory unit” may be one or more memories. The at least one memory may be a volatile memory or a non-volatile memory. The memory unit is mainly used during processing by the processor unit.
また、以下の説明では、「PDEV部」は、1以上のPDEVでよい。「PDEV」は、物理的な記憶デバイスを意味し、典型的には、不揮発性の記憶デバイス(例えば補助記憶デバイス)、例えばHDD(Hard Disk Drive)又はSSD(Solid State Drive)である。PDEV部は、RAIDグループであってもよい。「RAID」は、Redundant Array of Independent (or Inexpensive) Disksの略である。 Further, in the following description, the “PDEV unit” may be one or more PDEV. “PDEV” means a physical storage device, and is typically a non-volatile storage device (for example, auxiliary storage device), such as a HDD (Hard Disk Drive) or SSD (Solid State Drive). The PDEV unit may be a RAID group. “RAID” is an abbreviation for Redundant Array of Independent (or Inexpensive) Disks.
また、以下の説明では、「記憶部」は、メモリ部及びPDEV部のうちの少なくともメモリ部を含む。 Further, in the following description, the “storage unit” includes at least the memory unit of the memory unit and the PDEV unit.
また、以下の説明では、「プロセッサ部」は、1以上のプロセッサでよい。少なくとも1つのプロセッサは、典型的には、CPU(Central Processing Unit)のようなマイクロプロセッサであるが、GPU(Graphics Processing Unit)のような他種のプロセッサでもよい。1以上のプロセッサの各々は、シングルコアでもよいしマルチコアでもよい。一部のプロセッサは、処理の一部または全部を行うハードウェア回路でもよい。 Further, in the following description, the “processor unit” may be one or more processors. At least one processor is typically a microprocessor such as a CPU (Central Processing Unit), but may be another type of processor such as a GPU (Graphics Processing Unit). Each of the one or more processors may be single-core or multi-core. Some processors may be hardware circuits that perform some or all of the processing.
また、以下の説明では、「kkk部」(インターフェース部、記憶部及びプロセッサ部を除く)の表現にて機能を説明することがあるが、機能は、1以上のコンピュータプログラムがプロセッサ部によって実行されることで実現されてもよいし、1以上のハードウェア回路(例えばFPGA(Field-Programmable Gate Array)又はASIC(Application Specific Integrated Circuit))によって実現されてもよい。プログラムがプロセッサ部によって実行されることで機能が実現される場合、定められた処理が、適宜に記憶部及び/又はインターフェース部等を用いながら行われるため、機能はプロセッサ部の少なくとも一部とされてもよい。機能を主語として説明された処理は、プロセッサ部あるいはそのプロセッサ部を有する装置が行う処理としてもよい。プログラムは、プログラムソースからインストールされてもよい。プログラムソースは、例えば、プログラム配布計算機又は計算機が読み取り可能な記録媒体(例えば非一時的な記録媒体)であってもよい。各機能の説明は一例であり、複数の機能が1つの機能にまとめられたり、1つの機能が複数の機能に分割されたりしてもよい。 Further, in the following description, the function may be described by the expression “kkk unit” (excluding the interface unit, the storage unit, and the processor unit). However, as for the function, one or more computer programs are executed by the processor unit. Alternatively, it may be realized by one or more hardware circuits (for example, FPGA (Field-Programmable Gate Array) or ASIC (Application Specific Integrated Circuit)). When the function is realized by the program being executed by the processor unit, the function is defined as at least a part of the processor unit because the predetermined processing is appropriately performed while using the storage unit and / or the interface unit. May be. The processing described by using the function as a subject may be processing performed by the processor unit or an apparatus including the processor unit. The program may be installed from a program source. The program source may be, for example, a program distribution computer or a computer-readable recording medium (for example, a non-transitory recording medium). The description of each function is an example, and a plurality of functions may be combined into one function or one function may be divided into a plurality of functions.
また、以下の説明では、「xxxテーブル」といった表現にて情報を説明することがあるが、情報は、どのようなデータ構造で表現されていてもよい。すなわち、情報がデータ構造に依存しないことを示すために、「xxxテーブル」を「xxx情報」と言うことができる。また、以下の説明において、各テーブルの構成は一例であり、1つのテーブルは、2以上のテーブルに分割されてもよいし、2以上のテーブルの全部または一部が1つのテーブルであってもよい。 Further, in the following description, the information may be described by an expression such as “xxx table”, but the information may be expressed by any data structure. That is, the “xxx table” can be referred to as “xxx information” to indicate that the information does not depend on the data structure. Further, in the following description, the configuration of each table is an example, and one table may be divided into two or more tables, or all or a part of the two or more tables may be one table. Good.
また、以下の説明では、同種の要素を区別しないで説明する場合は、その要素の参照符号を使用し(例えばサービス102)、同種の要素を区別して説明する場合は、その要素のIDを使用することがある(例えばサービス1)。 Further, in the following description, when the same type of element is described without distinction, the reference numeral of the element is used (for example, service 102), and when the same type of element is described separately, the element ID is used. (Eg service 1).
また、以下の説明では、「リソース割り当て最適化システム」は、一以上の計算機で構成されてよい。具体的には、例えば、計算機が表示デバイスを有していて計算機が自分の表示デバイスに情報を表示する場合、当該計算機がリソース割り当て最適化システムでよい。また、例えば、第1計算機(例えばサーバ)が表示用情報を遠隔の第2計算機(表示用計算機(例えばクライアント))に送信し表示用計算機がその情報を表示する場合(第1計算機が第2計算機に情報を表示する場合)、第1計算機と第2計算機とのうちの少なくとも第1計算機がリソース割り当て最適化システムでよい。リソース割り当て最適化システムは、インターフェース部、記憶部およびそれらに接続されたプロセッサ部を有してよい。リソース割り当て最適化システムにおける計算機が「表示用情報を表示する」ことは、計算機が有する表示デバイスに表示用情報を表示することであってもよいし、計算機が表示用計算機に表示用情報を送信することであってもよい(後者の場合は表示用計算機によって表示用情報が表示される)。 Further, in the following description, the “resource allocation optimization system” may be composed of one or more computers. Specifically, for example, when the computer has a display device and the computer displays information on its own display device, the computer may be the resource allocation optimization system. Further, for example, when the first computer (for example, the server) transmits the display information to the remote second computer (for the display computer (for example, client)) and the display computer displays the information (the first computer is the second computer). When displaying information on a computer), at least the first computer of the first computer and the second computer may be the resource allocation optimizing system. The resource allocation optimization system may include an interface unit, a storage unit, and a processor unit connected to them. The “displaying the display information” of the computer in the resource allocation optimization system may be displaying the display information on a display device of the computer, or the computer transmits the display information to the display computer. (In the latter case, the display computer displays the display information).
また、以下の説明では、「リソース」とは、典型的にはコンピューティングリソースであり、物理リソースと論理リソースの総称である。リソースは、計算機システムを構成する複数のノード(例えば、サーバやストレージ装置)の各々でもよいし、各ノードが有する複数のコンポーネントの各々でもよい。 Further, in the following description, “resource” is typically a computing resource, which is a general term for a physical resource and a logical resource. The resource may be each of a plurality of nodes (for example, a server or a storage device) configuring the computer system, or each of a plurality of components included in each node.
また、以下の説明では、「ワークロード」は、サービスの実行に伴う作業負荷であり、一例として、当該サービス(アプリケーション)の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数」が採用される。 Further, in the following description, the “workload” is the work load associated with the execution of the service, and as an example, the I / O (Input / Output) load of the service (application) is adopted. As the "I / O load", at least one of "number of I / O" and "I / O size" can be adopted. “I / O count” is the number of I / O commands issued per unit time. “I / O size” is the total size of I / O target data according to I / O commands issued per unit time. In this embodiment, the "I / O load" is the "I / O count".
また、以下の説明では、「サービスレベル」は、サービスに求められるレベル(品質)であり、一例として、応答時間が採用される。ここで言う「応答時間」は、サービス(アプリケーション)がI/Oコマンドを発行してから当該I/Oコマンドの応答を当該サービス(アプリケーション)が受信するまでの時間である。「I/O負荷」に対応する「応答時間」は、単位時間当たりに発行された1以上のI/Oコマンドにそれぞれ対応した1以上の応答時間に基づく時間(例えば、平均応答時間、最小応答時間又は最大応答時間)である。 Further, in the following description, the “service level” is a level (quality) required for a service, and a response time is used as an example. The “response time” here is the time from when the service (application) issues the I / O command until the service (application) receives the response to the I / O command. The “response time” corresponding to the “I / O load” is a time based on one or more response times respectively corresponding to one or more I / O commands issued per unit time (for example, average response time, minimum response time). Time or maximum response time).
また、以下の説明では、「メトリック」は、リソースのメトリックである。メトリックの種別は、リソースの種別に依存する。例えば、リソースが、MP(マイクロプロセッサ)であれば、メトリックの種別は、プロセッサ使用率である。また、例えば、リソースが、プールであれば、メトリックの種別は、プール使用率(割り当てられたプールの最大IOPSに対する実測のIOPSの割合)である。 Further, in the following description, “metric” is the metric of a resource. The metric type depends on the resource type. For example, if the resource is MP (microprocessor), the metric type is processor usage rate. Further, for example, if the resource is a pool, the metric type is the pool usage rate (the ratio of the actually measured IOPS to the maximum IOPS of the allocated pool).
以下、図面を参照しながら、一実施形態を説明する。なお、以下の説明により本発明が限定されるものではない。 An embodiment will be described below with reference to the drawings. The present invention is not limited to the following description.
図1は、本発明の一実施形態に係るリソース割り当て最適化システムの概要図である。 FIG. 1 is a schematic diagram of a resource allocation optimization system according to an embodiment of the present invention.
リソース割り当て最適化システム200は、リソースの割り当てを最適化するシステムである。リソース割り当て最適化システム200は、関連付け部101、生成部106、予測部110及び最適化部114を有する。関連付け部101、生成部106、予測部110及び最適化部114の各々は、本実施形態では、1以上のコンピュータプログラムがプロセッサ部に実行されることにより発揮される機能であるが、それらの機能のうちの一部がハードウェア回路により発揮されてもよい。 The resource allocation optimization system 200 is a system that optimizes resource allocation. The resource allocation optimizing system 200 includes an associating unit 101, a generating unit 106, a predicting unit 110, and an optimizing unit 114. In the present embodiment, each of the associating unit 101, the generating unit 106, the predicting unit 110, and the optimizing unit 114 is a function that is exhibited by the processor unit executing one or more computer programs. Some of them may be exerted by a hardware circuit.
関連付け部101は、サービス102毎に、当該サービス102にリソース群(1以上のリソース)103を関連付ける。これにより、サービス102毎に、時系列実測応答性能104と、時系列実測メトリック105とが関連付く。なお、本実施形態では、数千のサービス102が後述の情報システム290(図2参照)により提供されるとする。 The associating unit 101 associates, for each service 102, a resource group (one or more resources) 103 with the service 102. As a result, the time series actual measurement response performance 104 and the time series actual measurement metric 105 are associated with each other for each service 102. In the present embodiment, it is assumed that thousands of services 102 are provided by the information system 290 (see FIG. 2) described later.
各サービス102について、「時系列応答性能」とは、当該サービス102の時系列のI/O負荷及び応答時間である。従って、時系列実測応答性能104は、時系列実測I/O負荷(I/O負荷の実測値の時系列データ)と時系列実測応答時間(応答時間の実測値の時系列データ)である。 For each service 102, the “time series response performance” is the time series I / O load and response time of the service 102. Therefore, the time-series actually measured response performance 104 is the time-series actually measured I / O load (time-series data of actually measured value of I / O load) and time-series actually measured response time (time-series data of actually measured value of response time).
各サービス102について、リソースの「時系列メトリック」は、当該サービス102に関連付いたリソース群103における当該リソースの時系列のメトリックである。従って、リソースの時系列実測メトリック105は、当該サービス102に関連付いたリソース群103における当該リソースの実測メトリック(メトリックの実測値)の時系列データである。 For each service 102, the “time-series metric” of the resource is a time-series metric of the resource in the resource group 103 associated with the service 102. Therefore, the time-series actual measurement metric 105 of the resource is time-series data of the actual measurement metric (the actual measurement value of the metric) of the resource in the resource group 103 associated with the service 102.
生成部106は、サービス102毎に、学習処理を行う。各サービス102についての学習処理では、生成部106は、当該サービス102の時系列実測応答性能104の該当部分を使って、I/O負荷予測モデル107と、応答時間予測モデル108とを作成する。また、生成部106は、当該サービス102の時系列実測応答性能104の該当部分(正確には時系列実測I/O負荷の該当部分)と、当該サービス102に関連付いているリソースの時系列実測メトリック105の該当部分とを使って、メトリック予測モデル109を作成する。 The generation unit 106 performs a learning process for each service 102. In the learning process for each service 102, the generation unit 106 creates an I / O load prediction model 107 and a response time prediction model 108 by using the corresponding part of the time-series actual measurement response performance 104 of the service 102. The generation unit 106 also measures the relevant part of the time-series actual measurement response performance 104 of the service 102 (correctly, the relevant part of the time-series actual measurement I / O load) and the time-series actual measurement of the resource associated with the service 102. A metric prediction model 109 is created using the relevant part of the metric 105.
各サービス102について、「時系列実測応答性能104の該当部分」とは、当該サービス102の時系列実測応答性能104の全部又は一部であって、当該サービス102の時系列実測応答性能104のうち、実学習期間に対応した時系列データである。「実学習期間」は、第2期間の一例であり、指定学習期間のうちの少なくとも一部、具体的には、指定学習期間のうち、実測応答時間が所定の応答時間閾値(ThR)以下である期間である。「指定学習期間」は、指定された学習期間である。「学習期間」は、予測モデル107〜109の作成ための学習用データとして使用されるデータが属する期間(時刻範囲)である。各サービス102について、リソース割り当て最適化システム200の管理者により任意の学習期間が指定されてもよいし、当該サービス102のユーザにより任意の学習期間が指定されてもよいし、自動決定された又は所定の学習期間が生成部106(又は他の機能)により指定されてもよい。For each service 102, the “corresponding part of the time series actual measurement response performance 104” is all or part of the time series actual measurement response performance 104 of the service 102, and , Time-series data corresponding to the actual learning period. The “actual learning period” is an example of the second period, and at least a part of the designated learning period, specifically, the measured response time is equal to or less than a predetermined response time threshold (ThR ) in the designated learning period. Is a period. The "designated learning period" is a designated learning period. The “learning period” is a period (time range) to which data used as learning data for creating the prediction models 107 to 109 belongs. For each service 102, the administrator of the resource allocation optimizing system 200 may specify any learning period, the user of the service 102 may specify any learning period, or the learning period is automatically determined or The predetermined learning period may be designated by the generation unit 106 (or another function).
各サービス102について、リソースの「時系列実測メトリック105の該当部分」とは、当該リソースの時系列実測メトリック105のうち、上記の該当期間に対応した時系列データである。 For each service 102, the “corresponding part of the time-series actually measured metric 105” of the resource is the time-series data corresponding to the above-mentioned applicable period in the time-series actually measured metric 105 of the resource.
予測モデル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負荷及び実測メトリックを入力すると予測メトリック(メトリックの予測値)を出力する関数である。 As the prediction models 107 to 109, a model created by using a known learning method, for example, an autoregressive moving average model (for example, ARIMA (Autoregressive Integrated Moving Average) model) or a neural network can be adopted. In the present embodiment, the I / O load prediction model 107 is an example of a prediction model created from a plurality of first value sets (sets of time and measured I / O load), and the time and measured I / O It is a function that outputs a predicted I / O load (predicted value of I / O load) when an O load is input. The response time prediction model 108 is an example of a prediction model created from a plurality of second value sets (a set of the measured I / O load and the measured response time at the same time), and the predicted I / O load and This is a function that outputs the predicted response time (the predicted value of the response time) when the actual response time is input. The metric prediction model 109 is an example of a prediction model created from a plurality of third data sets (a set of actually measured I / O loads and actually measured metrics at the same time). Is a function that outputs a prediction metric (a predicted value of a metric) when is input.
予測部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から出力される。 The prediction unit 110 predicts, for each service 102, the time-series response performance of the service 102 in the designated prediction period, that is, outputs the time-series predicted response performance of the service 102. “Time-series predicted response performance” is time-series data of predicted I / O load and predicted response time, and is time-series data corresponding to a designated prediction period. The “designated prediction period” is an example of the first period and is a designated prediction period. The “prediction period” is a period (time range) to which the data input to the prediction models 107 to 109 belongs. An administrator of the resource allocation optimization system 200 may specify an arbitrary prediction period, a user of the service 102 may specify an arbitrary prediction period, or an automatically determined or predetermined prediction period may be predicted. It may be designated by the section 110 (or another function). The designated prediction period may be the same (common) for all services 102. The designated learning period described above is typically a period earlier than the designated prediction period. For each time in the designated prediction period, the predicted I / O load is the I / O load as an output value corresponding to the time and the actually measured I / O load input to the I / O load prediction model 107, and the predicted response The time is a response time as an output value corresponding to the predicted I / O load (predicted I / O load corresponding to the time) input to the response time prediction model 108 and the measured response time. Note that the time t used for prediction (time input to the prediction model 107) is not the time represented by year, month, day, hour, minute, and second, but the unit time width such as 1 day or 1 hour is the x-th unit time width. A numerical value x when expressed as (x is a natural number). For example, when the specified prediction period is one month ahead from today and the unit time width is one day, the time t input to the prediction model 107 is t = 1, 2, 3, ..., 29, 30. . That is, 30 times arranged in time series are input. Further, the length of the actual measurement period used, which is the period to which the actually measured I / O load input to the prediction model 107 belongs, is the same as the length of the designated prediction period. When the designated prediction period is shifted m (m is a time length) ahead (when the sliding width is m), the actual measurement period used may be shifted m ahead. At least part of the actual measurement period may overlap with the actual learning period. The number n of measured I / O loads that is input to the prediction model 107 is the same as the number n that configures the time t (for example, the measured I / O load of each day in the past one month (30 days) is input. Be done). That is, n measured I / O loads arranged in time series are input. As a result, n predicted I / O loads arranged in time series are output. Similarly, the prediction model 108 includes n time-series predicted I / O loads corresponding to n time-series time points belonging to the designated prediction period and n time-series actual measurement values belonging to the use measurement period. The response time is input, and as a result, n prediction response times in time series are output from the prediction model 108.
予測部110は、サービス102毎に、当該サービス102に関連付いたリソースの指定予測期間での時系列メトリックを予測する、すなわち、当該サービス102及び当該リソースに対応した時系列予測メトリックを出力することができる。「時系列予測メトリック」は、予測メトリックの時系列データであって、指定予測期間に対応した時系列データである。指定予測期間における各時刻について、サービス102に関連付いたリソースの予測メトリックは、当該サービス102及び当該リソースに対応したメトリック予測モデル109に入力された予測I/O負荷(当該時刻に対応した予測I/O負荷)及び実測メトリックに対応した出力値としてのメトリックである。具体的には、予測モデル109には、指定予測期間に属する時系列のn個の時刻にそれぞれ対応した時系列のn個の予測I/O負荷と、使用実測期間に属する時系列のn個の実測メトリックとが入力され、結果として、時系列のn個の予測メトリックが予測モデル109から出力される。 The prediction unit 110 predicts, for each service 102, a time series metric of a resource associated with the service 102 in a specified prediction period, that is, outputs a time series prediction metric corresponding to the service 102 and the resource. You can The “time series prediction metric” is time series data of a prediction metric and is time series data corresponding to a designated prediction period. For each time in the designated prediction period, the prediction metric of the resource associated with the service 102 is the predicted I / O load (prediction I corresponding to the time) input to the metric prediction model 109 corresponding to the service 102 and the resource. / O load) and the metric as an output value corresponding to the actually measured metric. Specifically, the prediction model 109 includes n time-series predicted I / O loads respectively corresponding to n time-series times belonging to the specified prediction period and n time-series belonging to the actual measurement period used. Of the actual measurement metric are input, and as a result, n prediction metrics in time series are output from the prediction model 109.
  最適化部114は、サービス102毎に、次の処理を行う。すなわち、最適化部114は、下記(x)及び(y)
(x)当該サービス102について使用実測期間における時系列実測ワークロードと指定予測期間における時系列予測ワークロード、及び、
(y)当該サービス102について使用実測期間における実測サービスレベルと指定予測期間における予測サービスレベルとのうちの少なくとも1つ、
のうちの少なくとも1つを基に、当該サービス102のワークロードの正確な予測が期待できるか否かの判別である予測判別を行う。そして、最適化部114は、当該予測判別の結果を基に、当該サービス102に対するリソース割り当てを制御する。リソース割り当ての制御は、追加又は削減されるリソース量の決定であってもよいし、現状維持のために待ちであってもよい。The optimization unit 114 performs the following processing for each service 102. That is, the optimization unit 114 uses the following (x) and (y)
 (X) Time-series actual measurement workload in theactual measurement period used for the service 102 and time-series prediction workloadin the designated prediction period , and
 (Y) For the service 102, at least one of an actually measured service level in the actuallyused period and a predicted service levelin the designated predicted period ;
 Based on at least one of the above, a prediction determination that is a determination as to whether or not an accurate prediction of the workload of the service 102 can be expected is performed. Then, the optimization unit 114 controls the resource allocation for the service 102 based on the result of the prediction determination. The control of resource allocation may be determination of the amount of resources to be added or reduced, or may be waiting for maintaining the current state.
  予測判別は、以下の(P1)及び(P2)の判別、
(P1)使用実測期間における実測I/O負荷と指定予測期間における予測I/O負荷との差分が、所定の許容範囲内(マージン内)であるか否かの判別、及び、
(P2)使用実測期間における実測応答時間及び指定予測期間における予測応答時間の少なくとも1つが所定の応答時間閾値(ThR)以下であるか否かの判別、
のうちの少なくとも1つを含む。(P1)及び(P2)の判別結果のうちの少なくとも1つが偽の場合、予測判別の結果が偽である。The prediction determination is the following determination of (P1) and (P2),
 (P1)Judgment as to whether or not the difference between the measured I / O load in the actuallyusedperiod and the predicted I / O loadin the designated predicted period is within a predetermined allowable range (within a margin), and
 (P2) Judgment as to whether or not at least one of the measured response time in the actualmeasurement period used andthe predicted response timein the designated prediction period is equal to or less than a predetermined response time threshold value (ThR ).
 At least one of When at least one of the determination results of (P1) and (P2) is false, the result of the prediction determination is false.
なお、(P1)の判別結果が偽であれば予測判別の結果が偽となる理由は、学習処理において予測モデル107及び108の生成のために使用された学習用データの量が少なかったために予測モデル107及び108の少なくとも1つが不正確であると考えられることにある。そして、学習用データの量が少なかったと考えられる理由は、リソース量が不十分であったために上述の「実学習期間」(第2の期間の一例)が短かったと考えられることにある。(P1)において、「実測I/O負荷」は、時系列実測I/O負荷に基づく値(例えば、時系列実測I/O負荷における最大値、最小値又は平均値)である。「予測I/O負荷」は、時系列予測I/O負荷に基づく値(例えば、時系列予測I/O負荷における最大値、最小値又は平均値)である。 The reason why the result of the prediction determination is false if the determination result of (P1) is false is that the amount of learning data used for generating the prediction models 107 and 108 in the learning process is small. At least one of the models 107 and 108 is considered to be incorrect. The reason why the amount of learning data is considered to be small is that the above-mentioned “actual learning period” (an example of the second period) was short because the amount of resources was insufficient. In (P1), the “measured I / O load” is a value based on the time-series actually measured I / O load (for example, the maximum value, the minimum value, or the average value in the time-series actually measured I / O load). The “predicted I / O load” is a value based on the time-series predicted I / O load (for example, the maximum value, the minimum value, or the average value in the time-series predicted I / O load).
また、(P2)の判別結果が偽であれば予測判別の結果が偽となる理由は、リソース量が不十分であるために既に又は将来に応答時間が応答時間閾値を超えてしまうと考えられることにある。(P2)において、「実測応答時間」は、時系列実測応答時間における最大値(又は平均値)である。「予測応答時間」は、時系列予測応答時間における最大値(又は平均値)である。 Further, if the determination result of (P2) is false, the reason why the prediction determination result is false is that the response time exceeds the response time threshold value already or in the future due to insufficient resource amount. Especially. In (P2), the “actual measurement response time” is the maximum value (or average value) in the time-series actual measurement response time. The “predicted response time” is the maximum value (or average value) in the time series predicted response time.
また、予測判別は、(P3)使用実測期間における実測応答時間と指定予測期間における予測応答時間との差分が所定の許容範囲内(マージン内)であるか否かの判別、を含んでもよいが、(P3)の判別は、(P1)の判別と同義であると考えられる(つまり、(P1)に加えて(P3)を含むことは不要と考えられる)。なぜなら、I/O負荷と応答時間は相関が高いため、(P1)の判別結果と(P3)の判別結果は同じになる可能性が高いからである。このため、(P1)の判別は(P3)の判別を含むと解釈することができる。Further, the prediction determination may include (P3) determination of whether or not the difference between the actually measured response time in the actuallyusedperiod and the predicted response timein the designated prediction period is within a predetermined allowable range (within a margin). , (P3) is considered to be synonymous with the determination of (P1) (that is, it is considered unnecessary to include (P3) in addition to (P1)). This is because there is a high correlation between the I / O load and the response time, and therefore the determination result of (P1) and the determination result of (P3) are likely to be the same. Therefore, the determination of (P1) can be interpreted as including the determination of (P3).
連続した複数の指定予測期間(例えば1か月)における各指定予測期間(例えば第1週〜第4週の各々)について予測判別が行われてよい。 The prediction determination may be performed for each designated prediction period (for example, each of the first week to the fourth week) in a plurality of consecutive designated prediction periods (for example, one month).
予測判別の結果が偽のサービス102について、最適化部114は、対象サービス102にリソース群を追加することを決定する。追加されるリソース群は、所定種類(例えば全種類)のリソースでよい。また、追加されるリソース群は、一定量のリソースであってもよいし、I/O負荷差分及び超過差分のうちの少なくとも1つに応じて決定された量のリソース群でもよい。いずれもリソース量も、リソース群の追加後の再学習を経て行われる再度の予測判別の結果が真となる可能性が十分に高い程のリソース量である。なお、「I/O負荷差分」は、実測I/O負荷と予測I/O負荷との差分である。ここでの「実測I/O負荷」及び「予測I/O負荷」は、(P1)の判別についてのそれらと同義でよい。「超過差分」は、応答時間閾値(ThR)を超えた実測応答時間又は予測応答時間と当該応答時間閾値(ThR)との差分である。なお、最適化部114は、予測判別の結果が真であるサービスがあれば、当該サービスから削減されたリソース群(リソース量)を、追加されるリソース群(リソース量)に優先的に含めるようにする。これは、全体最適化に貢献する。For the service 102 whose prediction determination result is false, the optimizing unit 114 determines to add a resource group to the target service 102. The added resource group may be a predetermined type (for example, all types) of resources. Further, the added resource group may be a fixed amount of resources, or may be an amount of resource groups determined according to at least one of the I / O load difference and the excess difference. In each case, the resource amount is such that the possibility that the result of the second prediction determination performed through the re-learning after adding the resource group is true is sufficiently high. The “I / O load difference” is the difference between the actually measured I / O load and the predicted I / O load. The “actually measured I / O load” and the “predicted I / O load” here may be synonymous with those for the determination of (P1). "Excess difference" is the difference between the response time threshold (ThR) the measured response time exceeds or expected response time and the response time threshold (ThR). Note that the optimizing unit 114 preferentially includes the resource group (resource amount) reduced from the service in the added resource group (resource amount) if there is a service whose prediction determination result is true. To This contributes to overall optimization.
  一方、(P1)及び(P2)の判別結果のいずれもが真の場合、予測判別の結果が真である。予測判別の結果が真であるサービス102に関連付けられているリソース群103における各リソースについて、最適化部114は、当該リソースのリソース量が現状維持か否かの判別である維持判別を行う。維持判別は、以下の(K1)〜(K3)の判別、
(K1)使用実測期間において実測応答時間が応答時間閾値(ThR)以下であるか否かの判別、
(K2)使用実測期間における実測メトリックと指定予測期間における予測メトリックとの差分が、許容範囲内であるか否かの判別、及び、
(K3)使用実測期間における実測メトリック及び指定予測期間における予測メトリックの少なくとも1つがメトリック閾値(ThM)以下であるか否かの判別、
の少なくとも1つを含む。On the other hand, when both the determination results of (P1) and (P2) are true, the result of the prediction determination is true. For each resource in the resource group 103 associated with the service 102 for which the result of the prediction determination is true, the optimization unit 114 performs a maintenance determination, which is a determination as to whether or not the resource amount of the resource is currently maintained. For the maintenance determination, the following determinations (K1) to (K3),
 (K1) Judgment as to whether or not the measured response time is less than or equal to the response time threshold value (ThR ) in the actuallyused period .
 (K2)Judgment as to whether or not the difference between the actual measurement metricduring the actualmeasurement period used and the prediction metricduring the designated prediction period is within an allowable range, and
 (K3) Judgment as to whether or not at least one of the actual measurement metric in the actualmeasurement period used andthe prediction metricin the designated prediction period is equal to or less than the metric threshold value (ThM ).
 At least one of
なお、(K1)において、「実測応答時間」は、(P2)での「実測応答時間」と同義でよい。 Note that in (K1), the “actually measured response time” may be synonymous with the “actually measured response time” in (P2).
また、(K2)において、「実測メトリック」は、時系列実測メトリックに基づく値(例えば、時系列実測メトリックにおける最大値、最小値又は平均値)である。「予測メトリック」は、時系列予測メトリックに基づく値(例えば、時系列予測メトリックにおける最大値、最小値又は平均値)である。 Further, in (K2), the “actual measurement metric” is a value based on the time series measurement metric (for example, the maximum value, the minimum value, or the average value in the time series measurement metric). The “prediction metric” is a value based on the time series prediction metric (for example, the maximum value, the minimum value, or the average value in the time series prediction metric).
また、(K3)において、「実測メトリック」は、時系列実測メトリックにおける最大値(又は平均値)である。「予測メトリック」は、時系列予測メトリックにおける最大値(又は平均値)である。 Further, in (K3), the "measured metric" is the maximum value (or average value) in the time-series measured metric. The “prediction metric” is the maximum value (or average value) in the time series prediction metric.
維持判別について、時系列予測メトリックは、予測指定期間での予測メトリックの時系列データである。時系列予測メトリックは、予測判別の結果が真の場合に最適化部114により予測部110が呼び出されることで、取得されてもよいし、予測判別とは非同期に予測部110に時系列メトリックの予測が行われることで、取得されてもよい。 Regarding the maintenance determination, the time series prediction metric is time series data of the prediction metric in the prediction designated period. The time series prediction metric may be acquired by calling the prediction unit 110 by the optimization unit 114 when the result of the prediction determination is true, or may be acquired by the prediction unit 110 asynchronously with the prediction determination. It may be acquired by performing the prediction.
(K1)〜(K3)の判別結果の少なくとも1つが偽の場合、維持判別の結果が偽である。維持判別の結果が偽であるサービス102について、最適化部114は、調整リソース量(削減するリソース量、又は、追加するリソース量)を決定する。具体的には、例えば、最適化部114は、維持判別結果が偽であるリソースのリソース量を、当該リソースの使用実測期間での実測メトリック(例えば、時系列実測メトリックにおける最大値又は平均値)及び指定予測期間での予測メトリック(例えば、時系列予測メトリックにおける最大値又は平均値)の少なくとも1つを基に決定する。当該決定されたリソース量と、現在のリソース量との差分が、調整リソース量(削減される又は追加されるリソース量)である。調整リソース量は、メトリック閾値(ThM)を超えた実測メトリック又は予測メトリック(例えば最大値)と当該メトリック閾値(ThM)との差分に基づいて決定されてよい。When at least one of the determination results of (K1) to (K3) is false, the result of the maintenance determination is false. The optimization unit 114 determines the adjustment resource amount (the resource amount to be reduced or the resource amount to be added) for the service 102 for which the result of the maintenance determination is false. Specifically, for example, the optimization unit 114 determines the resource amount of a resource whose maintenance determination result is false as an actual measurement metric (for example, a maximum value or an average value in the time-series actual measurement metric)during the actualmeasurement period ofuse of the resource. And at least oneof the prediction metricsin the designated prediction period (for example, the maximum value or the average value in the time-series prediction metric). The difference between the determined resource amount and the current resource amount is the adjusted resource amount (reduced or added resource amount). Adjusting resource amount measured metric or predictive metric exceeds the metric threshold (ThM) (e.g., maximum value) may be determined based on the difference between the metric threshold (ThM).
維持判別の結果が真であるサービス102について、最適化部114は、現状維持のために待ちとなる。その後、例えば、次の指定予測期間について、上述の予測判別が行われる。 For the service 102 for which the result of the maintenance determination is true, the optimization unit 114 waits to maintain the current state. Then, for example, the above-described prediction determination is performed for the next designated prediction period.
最適化部114は、予測判別結果集計80(全サービス102の各々についての指定予測期間毎の予測判別の結果)を作成できる。図1において、集計80におけるセルは、サービス102に対応する。予測可サービス(予測判別の結果が真であるサービス)102については、現状維持でない限り、予測メトリックのピーク値がメトリック閾値(ThM)以下になるような量のリソース群が当該サービス102に割り当てられるよう、リソース量が削減又は追加される。一方、予測不可サービス(予測判別の結果が偽であるサービス)102については、一定量のリソース群(又は、I/O負荷差分及び超過差分の少なくとも1つに基づき決定されたリソース量のリソース群)が追加される。予測可サービスから削減した余剰リソースがあれば、当該余剰リソースが、上述したように、予測不可サービスに追加されるリソース群に優先的に含まれてよい。The optimizing unit 114 can create a prediction determination result total 80 (results of prediction determination for each designated prediction period for each of the services 102). In FIG. 1, the cell in the aggregation 80 corresponds to the service 102. For the predictable service (service for which the result of the prediction determination is true) 102, a resource group of such an amount that the peak value of the predictive metric is equal to or less than the metric threshold (ThM ) is allocated to the service 102 unless the current state is maintained. So that the resource amount is reduced or added. On the other hand, regarding the unpredictable service (service whose prediction determination result is false) 102, a fixed amount of resource group (or resource group of resource amount determined based on at least one of I / O load difference and excess difference). ) Is added. If there is a surplus resource reduced from the unpredictable service, the surplus resource may be preferentially included in the resource group added to the unpredictable service as described above.
リソース群の追加又は削減後、関連付け部101により関連付け(関連付けの更新)が行われ、生成部106により再学習処理(予測モデル107〜109の更新)が行われる。 After the addition or reduction of the resource group, the association unit 101 performs association (update of association), and the generation unit 106 performs re-learning processing (update of the prediction models 107 to 109).
以上が、本実施形態の概要である。 The above is the outline of the present embodiment.
本実施形態では、複数のサービス102の各々が、予測判別を経て、予測可サービスと予測不可サービスとに区別される。 In the present embodiment, each of the plurality of services 102 is classified into a predictable service and an unpredictable service through the prediction determination.
予測可サービスに対応した予測モデル107〜109は、正確であると考えられる。このため、予測可サービスについては、最適化部114は、上述した方法で調整リソース量を決定する。このため、予測可サービスに割り当てられるリソース群のリソース量を、応答時間が応答時間閾値(ThR)以下であることを維持するのに適切な量に維持することができる(言い換えれば、過剰なリソース量が割り当たっている状態になってしまうことを防ぐことができる)。The prediction models 107-109 corresponding to the predictable service are considered to be accurate. Therefore, for the predictable service, the optimization unit 114 determines the adjustment resource amount by the method described above. Therefore, the resource amount of the resource group allocated to the predictable service can be maintained at an amount appropriate for maintaining that the response time is equal to or less than the response time threshold value (ThR ). It is possible to prevent that the amount of resources has been allocated).
一方、予測不可サービスに対応した予測モデル107〜109は、学習期間において実測応答時間が応答時間閾値(ThR)を超えてしまったために不正確であると考えられる。このため、予測不可サービスに対しては、一定量のリソース群(又は、I/O負荷差分及び超過差分の少なくとも1つに基づき決定されたリソース量のリソース群)が追加される。追加されるリソース量は、上述の指定学習期間において実測応答時間が応答時間閾値(ThR)以下になることが十分に期待されるリソース量である。このため、再学習処理において、予測モデル107〜109は、より正確な予測モデル107〜109に更新され、結果として、後の処理において、I/O負荷及び応答時間を正確に予測することができるようになることが期待される。故に、当該サービス102についても、割り当てられるリソース群のリソース量を、応答時間が応答時間閾値(ThR)以下であることを維持するのに適切な量に維持することができる(言い換えれば、過剰なリソース量が割り当たっている状態になってしまうことを防ぐことができる)。On the other hand, the prediction models 107 to 109 corresponding to the unpredictable service are considered to be inaccurate because the actually measured response time exceeds the response time threshold value (ThR ) during the learning period. Therefore, a fixed amount of resource group (or a resource amount of resource determined based on at least one of the I / O load difference and the excess difference) is added to the unpredictable service. The resource amount to be added is a resource amount that is sufficiently expected that the measured response time will be equal to or less than the response time threshold value (ThR ) in the above-described designated learning period. Therefore, in the re-learning process, the prediction models 107 to 109 are updated to more accurate prediction models 107 to 109, and as a result, the I / O load and the response time can be accurately predicted in the subsequent process. Is expected to be. Therefore, also for the service 102, the resource amount of the allocated resource group can be maintained at an appropriate amount for maintaining that the response time is equal to or less than the response time threshold value (ThR ). It is possible to prevent that the amount of resources is allocated.)
なお、本実施形態では、予め、各サービス102について、余剰リソース(当該サービス102について必要と見積もられたリソース量のリソースよりも多くのリソース)が割り当てられていてよい。一比較例では、上述したような予測判別が不可能であるため、過剰に余剰リソースが必要であるが、本実施形態では、各サービス102について、リソース量を、応答時間が応答時間閾値(ThR)以下であることを維持するのに適切な量に維持することができる。In the present embodiment, surplus resources (more resources than the resources of the resource amount estimated to be necessary for the service 102) may be allocated to each service 102 in advance. In the comparative example, the above-described prediction determination cannot be performed, and thus excessive resources are required. However, in the present embodiment, the resource amount of each service 102 is set to the response time threshold (Th).R ) can be maintained at a suitable amount to remain below.
また、上述の説明において、(P2)の判別に関し、指定予測期間において予測応答時間が応答時間閾値(ThR)を超えても、その超えたトータル時間がP秒以下(P≧0)であれば、(P2)の判別結果は真でよい。Further, in the above description, regarding the determination of (P2), even if the predicted response time exceeds the response time threshold value (ThR ) in the designated prediction period, the total time that is exceeded is P seconds or less (P ≧ 0). Therefore, the determination result of (P2) may be true.
また、同様に、(M1)の判別に関し、使用実測期間において実測応答時間が応答時間閾値(ThR)を超えても、その超えたトータル時間がQ秒以下(Q≧0)であれば、(K1)の判別結果は真でよい。Similarly, regarding the determination of (M1), even if the measured response time exceeds the response time threshold value (ThR )during the actualmeasurement period ofuse , if the exceeded total time is Q seconds or less (Q ≧ 0), The determination result of (K1) may be true.
また、各リソースについて、(K3)の判別に関し、使用実測期間における実測メトリック又は指定予測期間における予測メトリックが、当該リソースに対応したメトリック閾値(ThM)を超えても、その超えたトータル時間がR秒以下(R≧0)であれば、(K3)の判別結果は真でよい。Further, regarding the determination of (K3) for each resource, even ifthe actual measurement metricduring theuse actual measurement period orthe prediction metricduring the designated prediction period exceeds the metric threshold value (ThM ) corresponding to the resource, the total time that is exceeded is exceeded. If R seconds or less (R ≧ 0), the determination result of (K3) may be true.
以下、本実施形態を詳細に説明する。 Hereinafter, the present embodiment will be described in detail.
図2は、本実施形態に係るシステム全体の構成図である。 FIG. 2 is a configuration diagram of the entire system according to the present embodiment.
リソース割り当て最適化システム200に情報システム290が接続されている。 An information system 290 is connected to the resource allocation optimization system 200.
情報システム290は、サーバシステム291とリソースシステム292とに大別される。 The information system 290 is roughly classified into a server system 291 and a resource system 292.
サーバシステム291は、サービス102を提供するシステムである。具体的には、サーバシステム291は、1以上のサーバであり、複数(例えば数千)のアプリケーションを実行することで複数のサービス102を提供する。 The server system 291 is a system that provides the service 102. Specifically, the server system 291 is one or more servers, and provides a plurality of services 102 by executing a plurality (for example, thousands) of applications.
リソースシステム292は、複数のサービス102のための複数のリソースを含んだシステムである。具体的には、リソースシステム292は、1以上のカスタマデータセンタ202を有する。各カスタマデータセンタ202は、1以上のストレージ装置203と、構成データと性能データを収集するプローブ204と、ストレージ装置203の内部コンポーネント(リソース)の割り当てをする設定ツール205とを有する。各ストレージ装置203は、物理的なストレージ装置である。プローブ204及び設定ツール205の各々は、物理的な装置であってもよいし、コンピュータプログラムがプロセッサ部に実行されることによって発揮される機能であってもよい。「構成データ」は、ストレージ装置203の構成を示すデータである。「性能データ」は、ストレージ装置203の性能を示すデータである。 Resource system 292 is a system that includes multiple resources for multiple services 102. Specifically, the resource system 292 has one or more customer data centers 202. Each customer data center 202 has at least one storage device 203, a probe 204 for collecting configuration data and performance data, and a setting tool 205 for allocating internal components (resources) of the storage device 203. Each storage device 203 is a physical storage device. Each of the probe 204 and the setting tool 205 may be a physical device, or may be a function exerted when a computer program is executed by a processor unit. The “configuration data” is data indicating the configuration of the storage device 203. The “performance data” is data indicating the performance of the storage device 203.
リソース割り当て最適化システム200は、カスタマ(ユーザ)データベース206と、収集ツール207と、第2サーバ208と、第1サーバ209と、自動化ツール210とを有する。カスタマデータベース206は、リソース割り当て最適化システム200における記憶部に格納される。収集ツール207及び自動化ツール210の各々は、物理的な装置であってもよいし、コンピュータプログラムがプロセッサ部に実行されることによって発揮される機能であってもよい。 The resource allocation optimization system 200 includes a customer (user) database 206, a collection tool 207, a second server 208, a first server 209, and an automation tool 210. The customer database 206 is stored in the storage unit of the resource allocation optimization system 200. Each of the collection tool 207 and the automation tool 210 may be a physical device, or may be a function exerted when a computer program is executed by a processor unit.
カスタマデータベース206は、カスタマ毎に、サービス102とLDEV(Logical Device)との対応関係を示す情報と、各サービス102のサービスレベル(応答時間)を示す情報とを含む。なお、LDEVは、ストレージ装置203が提供する論理的なデバイス(論理ボリューム)である。 The customer database 206 includes, for each customer, information indicating a correspondence relationship between the service 102 and an LDEV (Logical Device) and information indicating a service level (response time) of each service 102. The LDEV is a logical device (logical volume) provided by the storage device 203.
収集ツール207は、各カスタマデータセンタ202内のプローブ204から、構成データと性能データを収集する。 The collection tool 207 collects configuration data and performance data from the probes 204 in each customer data center 202.
第2サーバ208は、ETL(Extract、 Transform、 Load)ツール211と、出力データベース212と、BA(Business Application)ツール213がある。ETLツール211は、入力変換部220、出力変換部225及びジョブ実行部222を有する。出力データベース212は、管理画面15に表示される情報を含むデータベースである。BAツール213は、管理画面15の表示や自動化ツール210の呼び出しを行う。 The second server 208 has an ETL (Extract, Transform, Load) tool 211, an output database 212, and a BA (Business Application) tool 213. The ETL tool 211 has an input conversion unit 220, an output conversion unit 225, and a job execution unit 222. The output database 212 is a database including the information displayed on the management screen 15. The BA tool 213 displays the management screen 15 and calls the automation tool 210.
第1サーバ209は、テーブル群217と、分析処理を実行する分析プログラム215とを有する。 The first server 209 has a table group 217 and an analysis program 215 that executes an analysis process.
テーブル群217は、入力テーブル群221、作業テーブル群223及び出力テーブル群224を含む。各テーブル群221、223及び224は、1以上のテーブルである。 The table group 217 includes an input table group 221, a work table group 223, and an output table group 224. Each table group 221, 223, and 224 is one or more tables.
分析プログラム215は、プログラムインターフェース(I/F)216と、関連付け部101と、生成部106と、予測部110、及び最適化部114とを有する。 The analysis program 215 includes a program interface (I / F) 216, an associating unit 101, a generating unit 106, a predicting unit 110, and an optimizing unit 114.
リソース割り当て最適化システム200では、例えば以下の処理が行われる。 In the resource allocation optimizing system 200, for example, the following processing is performed.
すなわち、ETLツール211における入力変換部220は、カスタマデータベース206と収集ツール207からのデータを変換し、変換されたデータを入力テーブル群221に格納する。 That is, the input conversion unit 220 in the ETL tool 211 converts the data from the customer database 206 and the collection tool 207, and stores the converted data in the input table group 221.
ETLツール211におけるジョブ実行部222がジョブを実行すると、分析プログラム215上の機能(プログラム)101、106、110及び114が順に実行される。分析プログラム215は、入力テーブル群221を入力し、作業テーブル群223に一時的にデータを格納し、当該作業テーブル群223を利用し、出力テーブル群224に結果を格納する。 When the job execution unit 222 in the ETL tool 211 executes a job, the functions (programs) 101, 106, 110 and 114 on the analysis program 215 are executed in order. The analysis program 215 inputs the input table group 221, temporarily stores data in the work table group 223, uses the work table group 223, and stores the result in the output table group 224.
ETLツール211における出力変換部225は、出力テーブル群224(及び入力テーブル群221)からのデータを変換して、変換されたデータを出力データベース212に格納する。 The output conversion unit 225 in the ETL tool 211 converts the data from the output table group 224 (and the input table group 221) and stores the converted data in the output database 212.
BAツール213は、出力データベース212からデータを取得して、当該データに基づく情報を表示した管理画面(典型的にはGUI(Graphical User Interface))15を表示する。管理画面15は、カスタマ向けでもよいし、管理者向けでもよい。管理画面15経由で、BAツール213が、リソース割り当ての指示を受けた場合、BAツール213が、自動化ツール210を呼び出す。呼び出された自動化ツール210は、リソースの割り当て(最適化部114により決定されたリソース量のリソース群の追加又は削減)を設定ツール205に指示する。当該指示に応答して、設定ツール205が、リソースの割り当て(最適化部114により決定されたリソース量のリソース群の追加又は削減)を行う。 The BA tool 213 acquires data from the output database 212 and displays a management screen (typically GUI (Graphical User Interface)) 15 displaying information based on the data. The management screen 15 may be for a customer or an administrator. When the BA tool 213 receives a resource allocation instruction via the management screen 15, the BA tool 213 calls the automation tool 210. The called automation tool 210 instructs the setting tool 205 to allocate resources (add or reduce the resource group of the resource amount determined by the optimization unit 114). In response to the instruction, the setting tool 205 performs resource allocation (addition or reduction of the resource group of the resource amount determined by the optimization unit 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と仮想的なサーバが同一の計算機システム上で実行されてもよい。 Each of the server system 291 and the resource system 292 is an example of a computer system. At least one of the server system 291 and the resource system 292 may be a system that provides a cloud service. The server system 291 may be one or more physical servers (for example, a cluster of servers), or may include at least one virtual server (for example, a VM (Virtual Machine)). Specifically, for example, in the information system 290, the server system 291 may be a virtual server executed on the customer data center 202 in the resource system 292. Further, in the resource system 292, some of the storage devices 203 may be virtual storage devices. The information system 290 may execute SDx (Software-Defined anything). As SDx, for example, SDS (Software Defined Storage) or SDDC (Software-defined Datacenter) can be adopted. The SDS and the virtual server may be executed on the same computer system.
また、リソース量の追加と削減は、相対的でもよい。具体的には、例えば、サービス102(アプリケーション)を、カスタマデータセンタ202間で移動することが、当該サービス102について、リソース量の追加又は削減であってもよい。 Further, addition and reduction of the resource amount may be relative. Specifically, for example, moving the service 102 (application) between the customer data centers 202 may be addition or reduction of the resource amount for the service 102.
図3は、第2サーバ208の構成図である。 FIG. 3 is a configuration diagram of the second server 208.
第2サーバ208は、インターフェース部304、PDEV部303、メモリ部301及びそれらに接続されたプロセッサ部302を有する。インターフェース部304は、インターネットのような通信ネットワーク310に接続される。 The second server 208 has an interface unit 304, a PDEV unit 303, a memory unit 301, and a processor unit 302 connected to them. The interface unit 304 is connected to a communication network 310 such as the Internet.
メモリ部301が、ETLツール211(入力変換部220、出力変換部225及びジョブ実行部222)及びBAツール213を格納し、プロセッサ部302が、それらのツール(プログラム)211及び213を実行する。 The memory unit 301 stores the ETL tool 211 (input conversion unit 220, output conversion unit 225 and job execution unit 222) and the BA tool 213, and the processor unit 302 executes those tools (programs) 211 and 213.
また、PDEV部303には、出力データベース212が、格納される。 An output database 212 is stored in the PDEV unit 303.
カスタマデータベース206と収集ツール207からの入力情報、第1サーバ209との間でやり取りされる入出力情報、リモート端末(例えば、カスタマ又は管理者の端末)からWebブラウザ経由でやりとりされる入出力情報は、インターフェース部304経由で入出力される。 Input information from the customer database 206 and the collection tool 207, input / output information exchanged with the first server 209, input / output information exchanged from a remote terminal (for example, a customer or administrator terminal) via a Web browser Are input and output via the interface unit 304.
入力変換部220は、構成データ(例えばCSV(Comma Separated Values)におけるデータ)を、入力テーブル群221用のデータに変換する処理と、性能データ(例えばCSVにおけるデータ)を、入力テーブル群221用のデータに変換する処理とを行う。性能データは、時刻と実測値(実測I/O負荷、実測応答時間及び実測メトリック)とを含んでよい。 The input conversion unit 220 converts the configuration data (for example, data in CSV (Comma Separated Values)) into data for the input table group 221, and the performance data (for example, data in CSV) for the input table group 221. Perform processing to convert to data. The performance data may include a time and an actual measurement value (actual I / O load, actual response time, and actual metric).
出力変換部225は、出力テーブル群224(及び入力テーブル群221)におけるデータを出力データベース212用のデータに変換する処理を行う。 The output conversion unit 225 performs a process of converting the data in the output table group 224 (and the input table group 221) into the data for the output database 212.
BAツール213は、出力データベース212におけるデータに基づく情報を表示した管理画面を表示する処理を行う。 The BA tool 213 performs a process of displaying a management screen that displays information based on the data in the output database 212.
図4は、第1サーバ209の構成図である。 FIG. 4 is a configuration diagram of the first server 209.
第1サーバ209は、インターフェース部404、PDEV部403、メモリ部401及びそれらに接続されたプロセッサ部402を有する。インターフェース部404は、インターネットのような通信ネットワーク310に接続される。 The first server 209 has an interface unit 404, a PDEV unit 403, a memory unit 401, and a processor unit 402 connected to them. The interface unit 404 is connected to the communication network 310 such as the Internet.
メモリ部401が、分析プログラム215(I/F216、関連付け部101、生成部106、予測部110及び最適化部114)を格納し、プロセッサ部402が、そのプログラム215を実行する。 The memory unit 401 stores the analysis program 215 (I / F 216, association unit 101, generation unit 106, prediction unit 110, and optimization unit 114), and the processor unit 402 executes the program 215.
また、PDEV部403には、テーブル群217(入力テーブル群221、作業テーブル群223及び出力テーブル群224)が格納される。 Further, the PDEV unit 403 stores a table group 217 (input table group 221, work table group 223, and output table group 224).
第2サーバ208との間でやりとりされる入出力情報は、インターフェース部404経由で入出力される。 The input / output information exchanged with the second server 208 is input / output via the interface unit 404.
図5は、サービス102(アプリケーション)とリソース(ストレージ装置203の内部コンポーネント)の関連図である。 FIG. 5 is a relational diagram of the service 102 (application) and the resource (internal component of the storage device 203).
サーバ501は、サーバシステム291における物理的又は仮想的なサーバである。サーバ501がアプリケーション503を実行することでサービス102が提供される。アプリケーション503が、サーバ501における記憶領域504を利用する。記憶領域504は、1以上のボリューム541である。各ボリューム541は、ストレージ装置203が提供するLDEV506がマウントされたものである。ボリューム541としては、例えば、トランザクションログを格納するボリュームや、ユーザデータを格納するボリュームや、システム管理情報を格納するボリュームでよい。ボリューム541を格納先とするデータはLDEV506に格納される。 The server 501 is a physical or virtual server in the server system 291. The service 102 is provided by the server 501 executing the application 503. The application 503 uses the storage area 504 in the server 501. The storage area 504 is one or more volumes 541. Each volume 541 is mounted with the LDEV 506 provided by the storage system 203. The volume 541 may be, for example, a volume that stores a transaction log, a volume that stores user data, or a volume that stores system management information. Data whose storage destination is the volume 541 is stored in the LDEV 506.
ストレージ装置203は、インターフェース部、PDEV部、メモリ部及びそれらに接続されたプロセッサ部を有する。インターフェース部の一例が、複数のポート512である。PDEV部の一例が、1以上のRG(RAIDグループ)510である。メモリ部の一例が、1以上のキャッシュメモリである。プロセッサ部の一例が、1以上のMP(マイクロプロセッサ)507である。 The storage device 203 has an interface unit, a PDEV unit, a memory unit, and a processor unit connected to them. An example of the interface unit is the plurality of ports 512. An example of the PDEV unit is one or more RGs (RAID groups) 510. One example of the memory unit is one or more cache memories. An example of the processor unit is one or more MPs (microprocessors) 507.
ポート512がサーバ501に接続される。 The port 512 is connected to the server 501.
1以上のRG510を基に、1以上のプール509が構成される。各プール509は、論理的な記憶空間であり、複数の論理領域(論理的な記憶領域)の集合である。また、LDEV506は、Thin Provisioning技術に従う仮想的なボリュームであり、サーバ501に提供される。LDEV506にプール509が関連付けられている。LDEV506におけるライト先に、当該LDEV506に関連付けられているプール509における論理領域が、当該LDEV506に関連付けられているMP507により割り当てられる。 One or more pools 509 are configured based on the one or more RGs 510. Each pool 509 is a logical storage space and is a set of a plurality of logical areas (logical storage areas). The LDEV 506 is a virtual volume that complies with Thin Provisioning technology and is provided to the server 501. A pool 509 is associated with the LDEV 506. The logical area in the pool 509 associated with the LDEV 506 is allocated to the write destination in the LDEV 506 by the MP 507 associated with the LDEV 506.
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は、間接的にポートと関連している。 The LDEV 506 is associated with the MP 507, CLPR (Cache Logical Partition) 508, pool 509, and LUN (Logical Unit Number) 511. Pool 509 is associated with RG 510, so LDEV 506 is indirectly associated with RG 510. The CLPR 508 is a partial area of one or more cache memories. The LUN 511 is an ID provided to the server 501 of the LDEV 506. According to the example of FIG. 5, the server 501 can access the LDEV 506 by using either of the two LUNs 511 for the same LDEV 506 (alternate path). LDEV 506 is indirectly associated with a port because LUN 511 is associated with port 512.
サービス102に割り当てられ得るリソースは、本実施形態では、サービス102を提供するアプリケーション503が使用するLDEV506と、当該LDEV506に関連しているMP507、CLPR508、プール509及びポート512である。 In this embodiment, the resources that can be allocated to the service 102 are the LDEV 506 used by the application 503 that provides the service 102, and the MP 507, CLPR 508, pool 509, and port 512 associated with the LDEV 506.
図6は、入力テーブル群221の構成図である。 FIG. 6 is a configuration diagram of the input table group 221.
入力テーブル群221は、構成テーブル601、関連テーブル602、実測応答性能テーブル603、応答時間閾値テーブル604、実測メトリックテーブル605及びメトリック閾値テーブル606を含む。 The input table group 221 includes a configuration table 601, a related table 602, an actually measured response performance table 603, a response time threshold value table 604, an actually measured metric table 605, and a metric threshold value table 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を示す)、
を含む。The configuration table 601 stores the relationship between the service 102 and the LDEV 506. Specifically, for example, the configuration table 601 shows the following information for each service 102:
 -Service ID 611 (indicating the ID of the service 102),
 Storage area ID 612 (indicating the ID of the storage area 504 (505) associated with the service 102),
 A storage ID 613 (indicating the ID of the storage device 203 having the LDEV 506 corresponding to the volume 541 in the storage area 504 associated with the service 102), and
 LDEV_ID 614 (indicating the ID of the LDEV 506 corresponding to the volume 541 in the storage area 504 associated with the service 102),
 including.
  関連テーブル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のリソース量に相当する。The relation table 602 stores the relation between the LDEV 506 and the components in the storage device 203. Specifically, for example, the association table 602 shows the following information for each LDEV 506:
 Storage ID 621 (indicating the ID of the storage device 203 having the LDEV 506),
 LDEV_ID 622 (indicating the ID of LDEV 506),
 Component type 623 (indicating the type of component associated with the LDEV 506),
 -Component ID 624 (indicating the ID of the component associated with the LDEV 506), and
 A resource amount 625 (indicating the amount of a resource group (component group) associated with the LDEV 506),
 including. The sum of the resource amounts 625 of one or more LDEVs 506 associated with the service 102 corresponds to the resource amount of the service 102.
  実測応答性能テーブル603は、各サービス102の実測応答性能を格納する。具体的には、例えば、実測応答性能テーブル603は、時刻毎に、下記の情報、
・時刻631(時刻を示す)、
・サービスID632(サービス102のIDを示す)、
・実測I/O負荷633(実測I/O負荷を示す)、及び、
・実測応答時間634(実測応答時間を示す)、
を含む。なお、本実施形態において、時刻の単位は、例えば、年月日時分秒であるが、それよりも細かくても粗くてもよい。The measured response performance table 603 stores the measured response performance of each service 102. Specifically, for example, the measured response performance table 603 shows the following information for each time:
 -Time 631 (indicating time),
 -Service ID 632 (indicating the ID of the service 102),
 -Measured I / O load 633 (indicating measured I / O load), and
 -Measured response time 634 (indicating measured response time),
 including. In the present embodiment, the unit of time is, for example, year, month, day, hour, minute, second, but it may be finer or coarser.
  応答時間閾値テーブル604は、各サービス102の応答時間閾値を格納する。具体的には、例えば、応答時間閾値テーブル604は、サービス102毎に、下記の情報、
・サービスID641(サービス102のIDを示す)、
・重要度642(サービス102の重要度を示す)、及び、
・応答時間閾値643(応答時間の閾値を示す)、
を含む。本実施形態では、重要度642が高いサービス102から優先的に関連付け、予測モデル生成、予測及び最適化が行われてよい。The response time threshold table 604 stores the response time threshold of each service 102. Specifically, for example, the response time threshold table 604 shows the following information for each service 102:
 -Service ID 641 (indicating the ID of the service 102),
 -Importance 642 (indicating the importance of the service 102), and
 A response time threshold 643 (indicating a response time threshold),
 including. In the present embodiment, the service 102 having a high importance 642 may be preferentially associated, and the prediction model generation, prediction, and optimization may be performed.
  実測メトリックテーブル605は、各リソース(コンポーネント)の実測メトリックを格納する。具体的には、例えば、実測メトリックテーブル605は、時刻毎に、下記の情報、
・時刻651(時刻を示す)、
・ストレージID652(コンポーネントを有するストレージ装置203のIDを示す)、
・コンポーネントID653(コンポーネントのIDを示す)、
・メトリック種別654(メトリックの種別を示す)、及び、
・実測メトリック655(実測メトリックを示す)、
を含む。構成テーブル601、関連テーブル602及び実測メトリックテーブル605を参照することで、サービス102に割り当てられたリソースの実測メトリックを取得することができる。The measured metric table 605 stores the measured metric of each resource (component). Specifically, for example, the actual measurement metric table 605 shows the following information for each time:
 -Time 651 (indicating time),
 Storage ID 652 (indicating the ID of the storage device 203 having the component),
 Component ID 653 (indicating the component ID),
 Metric type 654 (indicating metric type), and
 -Measured metric 655 (indicating measured metric),
 including. By referring to the configuration table 601, the related table 602, and the actual measurement metric table 605, the actual measurement metric of the resource assigned to the service 102 can be acquired.
  メトリック閾値テーブル606は、各コンポーネント(リソース)のメトリック閾値を格納する。具体的には、例えば、メトリック閾値テーブル606は、コンポーネント毎に、下記の情報、
・ストレージID661(コンポーネントを有するストレージ装置203のIDを示す)、
・コンポーネント種別662(コンポーネントの種別を示す)、
・コンポーネントID663(コンポーネントのIDを示す)、
・メトリック種別664(メトリックの種別を示す)、及び、
・メトリック閾値665(メトリック閾値を示す)、
を含む。The metric threshold table 606 stores the metric threshold of each component (resource). Specifically, for example, the metric threshold table 606 shows the following information for each component:
 Storage ID 661 (indicating the ID of the storage device 203 having the component),
 -Component type 662 (indicating the type of component),
 Component ID 663 (indicating the component ID),
 -Metric type 664 (indicating the type of metric), and
 Metric threshold 665 (indicating metric threshold),
 including.
図7は、作業テーブル群223の構成図である。 FIG. 7 is a configuration diagram of the work table group 223.
作業テーブル群223は、I/O負荷予測モデルテーブル701、応答時間予測モデルテーブル702、及び、メトリック予測モデルテーブル703を含む。 The work table group 223 includes an I / O load prediction model table 701, a response time prediction model table 702, and a metric prediction model table 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相当の情報)、
を含む。The I / O load prediction model table 701 stores information regarding the I / O load prediction model 107. Specifically, for example, the I / O load prediction model table 701 includes the following information for each prediction model 107:
 Model ID 711 (indicating the ID of the prediction model 107),
 -Start time 712 (indicating the start time of the learning period),
 -End time 713 (indicates the end time of the learning period),
 Service ID 714 (indicating the ID of the service 102 corresponding to the prediction model 107), and
 -Functional expression f (t) 715 (information corresponding to the prediction model 107 for obtaining the output with the input being the time (t)),
 including.
  応答時間予測モデルテーブル702は、応答時間予測モデル108に関する情報を格納する。具体的には、例えば、応答時間予測モデルテーブル702は、予測モデル108毎に、下記の情報、
・モデルID721(予測モデル108のIDを示す)、
・開始時刻722(学習期間の開始時刻を示す)、
・終了時刻723(学習期間の終了時刻を示す)、
・サービスID724(予測モデル108に対応するサービス102のIDを示す)、及び、
・関数式f(I/O負荷)725(入力をI/O負荷とした出力を得るための予測モデル108相当の情報)、
を含む。The response time prediction model table 702 stores information about the response time prediction model 108. Specifically, for example, the response time prediction model table 702 includes the following information for each prediction model 108:
 Model ID 721 (indicating the ID of the prediction model 108),
 -Start time 722 (indicating the start time of the learning period),
 -End time 723 (indicates the end time of the learning period),
 Service ID 724 (indicating the ID of the service 102 corresponding to the prediction model 108), and
 -Functional expression f (I / O load) 725 (information corresponding to the prediction model 108 for obtaining the output with the input being the I / O load),
 including.
  メトリック予測モデルテーブル703は、メトリック予測モデル109に関する情報を格納する。具体的には、例えば、メトリック予測モデルテーブル703は、予測モデル109毎に、下記の情報、
・モデルID731(予測モデル109のIDを示す)、
・開始時刻732(学習期間の開始時刻を示す)、
・終了時刻733(学習期間の終了時刻を示す)、
・ストレージID734(コンポーネントを有するストレージ装置203のIDを示す)、
・コンポーネントID735(コンポーネントのIDを示す)、
・メトリック種別736(メトリックの種別を示す)、及び、
・関数式f(I/O負荷)737(入力をI/O負荷とした出力を得るための予測モデル108相当の情報)、
を含む。The metric prediction model table 703 stores information about the metric prediction model 109. Specifically, for example, the metric prediction model table 703 stores the following information for each prediction model 109:
 Model ID 731 (indicating the ID of the prediction model 109),
 -Start time 732 (indicating the start time of the learning period),
 -End time 733 (indicates the end time of the learning period),
 Storage ID 734 (indicating the ID of the storage device 203 having the component),
 Component ID 735 (indicating the component ID),
 Metric type 736 (indicating metric type), and
 -Functional expression f (I / O load) 737 (information corresponding to the prediction model 108 for obtaining the output with the input being the I / O load),
 including.
図8は、出力テーブル群224の構成図である。 FIG. 8 is a configuration diagram of the output table group 224.
出力テーブル群224は、関連付けテーブル801、予測応答性能テーブル805、予測メトリックテーブル808、及び、予測判別結果テーブル809を含む。 The output table group 224 includes an association table 801, a prediction response performance table 805, a prediction metric table 808, and a prediction determination result table 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を示す)、
を含む。The association table 801 stores information indicating the association between the service 102 and the component (resource). Specifically, for example, the association table 801 includes the following information for each service 102:
 -Service ID 811 (indicating the ID of the service 102),
 Storage area ID 812 (indicating the ID of the storage area 504 (505) associated with the service 102),
 Storage ID 813 (indicating the ID of the storage device 203 having the LDEV 506 corresponding to the volume 541 in the storage area 504 associated with the service 102),
 A component type 814 (indicating the type of component associated with the service 102), and
 A component ID 815 (indicating the ID of the component associated with the service 102),
 including.
  予測応答性能テーブル805は、各サービス102の予測応答性能を格納する。具体的には、例えば、予測応答性能テーブル805は、時刻毎に、下記の情報、
・時刻851(時刻を示す)、
・サービスID852(サービス102のIDを示す)、
・予測I/O負荷853(予測I/O負荷を示す)、及び、
・予測応答時間854(予測応答時間を示す)、
を含む。The predicted response performance table 805 stores the predicted response performance of each service 102. Specifically, for example, the predicted response performance table 805 shows the following information for each time:
 -Time 851 (indicating time),
 -Service ID 852 (indicating the ID of the service 102),
 -Predicted I / O load 853 (indicating predicted I / O load), and
 -Predicted response time 854 (indicating predicted response time),
 including.
  予測メトリックテーブル808は、各リソース(コンポーネント)の予測メトリックを格納する。具体的には、例えば、予測メトリックテーブル808は、時刻毎に、下記の情報、
・時刻881(時刻を示す)、
・ストレージID882(コンポーネントを有するストレージ装置203のIDを示す)、
・コンポーネントID883(コンポーネントのIDを示す)、
・メトリック種別884(メトリックの種別を示す)、及び、
・予測メトリック885(予測メトリックを示す)、
を含む。The prediction metric table 808 stores the prediction metric of each resource (component). Specifically, for example, the prediction metric table 808 shows the following information for each time:
・ Time 881 (indicating time),
 Storage ID 882 (indicating the ID of the storage device 203 having the component),
 Component ID 883 (indicating the component ID),
 Metric type 884 (indicating metric type), and
 A prediction metric 885 (indicating a prediction metric),
 including.
  予測判別結果テーブル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に相当する。The prediction determination result table 809 stores the result of the prediction determination for each service 102. Specifically, for example, the prediction determination result table 809 includes the following information for each service 102:
 -Service ID 891 (indicating the ID of the service 102),
 -Start time 892 (indicates the start time of the designated prediction period),
 -End time 893 (indicates the end time of the designated prediction period),
 An allowable range 894 (indicating an allowable range of the difference between the measured value and the predicted value of the I / O load), and
 -Prediction discrimination result 895 (indicating the result of prediction discrimination),
 including. The optimization unit 114 uses the allowable range 894 to determine whether the predicted I / O load is within the allowable range with respect to the measured I / O load. The allowable range 894 can be designated such as within 10% of the variance σ with respect to the predicted I / O. The prediction determination result table 809 corresponds to the total 80 shown in FIG.
出力テーブル群224内のテーブルが、管理画面15の表示のための出力データベース212に格納されるが、出力テーブル群224内のテーブルに加えて、入力テーブル群221内のテーブル(例えば、実測応答性能テーブル603、応答時間閾値テーブル604、実測メトリックテーブル605及びメトリック閾値テーブル606)が、出力データベース212に格納されてもよい。 The tables in the output table group 224 are stored in the output database 212 for displaying the management screen 15. In addition to the tables in the output table group 224, the tables in the input table group 221 (for example, measured response performance The table 603, the response time threshold value table 604, the actually measured metric table 605, and the metric threshold value table 606) may be stored in the output database 212.
図9は、関連付け、予測モデル生成、予測、及び、最適化の流れを示す。以下、1つのサービス102を例に取る。 FIG. 9 shows a flow of association, prediction model generation, prediction, and optimization. Hereinafter, one service 102 will be taken as an example.
関連付け部101は、当該サービス102にリソース群103を関連付ける(S901)。 The associating unit 101 associates the resource group 103 with the service 102 (S901).
生成部106は、当該サービス102について、実学習期間(指定学習期間のうち実測応答時間が応答時間閾値以下である期間)の時系列実測I/O負荷、時系列実測応答時間及び時系列実測メトリックを用いた学習処理により、予測モデル107〜109を生成する(S902)。 The generation unit 106, for the service 102, the time-series actually measured I / O load, the time-series actually-measured response time, and the time-series actually-measured metric during the actual learning period (the period in which the actually-measured response time is less than or equal to the response time threshold in the designated learning period) The prediction models 107 to 109 are generated by the learning process using (S902).
予測部110が、当該サービス102に対応した予測モデル107及び108を用いて、指定予測期間での時系列応答性能(I/O負荷及び応答時間)を予測する(S903)。 The prediction unit 110 predicts the time series response performance (I / O load and response time) in the designated prediction period using the prediction models 107 and 108 corresponding to the service 102 (S903).
最適化部114が、時系列実測応答性能と時系列予測応答性能を基に、当該サービス102のI/O負荷の正確な予測が期待できるか否かの判別である予測判別を行う(S904)。 The optimization unit 114 performs a prediction determination, which is a determination as to whether or not an accurate prediction of the I / O load of the service 102 can be expected based on the time-series actual measurement response performance and the time-series predicted response performance (S904). .
S904の判別結果が偽の場合(S904:F)、最適化部114は、当該サービス102について、リソース群(例えば一定量のリソース群)の追加を決定する。 When the determination result of S904 is false (S904: F), the optimization unit 114 determines to add a resource group (for example, a fixed amount of resource group) for the service 102.
S904の判別結果が真の場合(S904:T)、予測部110は、当該サービス102に関連付いているリソース群103における各リソースの指定予測期間での時系列メトリックを、当該リソースに対応した予測モデル109を用いて予測する(S906)。最適化部114は、時系列予測メトリック及び時系列実測メトリックの少なくとも1つを基に、当該リソースのリソース量が現状維持か否かの判別である維持判別を行う(S907)。 When the determination result of S904 is true (S904: T), the prediction unit 110 predicts the time-series metric in the specified prediction period of each resource in the resource group 103 associated with the service 102, for the corresponding resource. Prediction is performed using the model 109 (S906). The optimization unit 114 makes a maintenance determination, which is a determination as to whether or not the resource amount of the resource is currently maintained, based on at least one of the time-series prediction metric and the time-series actual measurement metric (S907).
S907の判別結果が偽の場合(S907:F)、最適化部114が、当該サービス102について、リソース量の調整を決定する(S908)。例えば、最適化部114が、実測メトリック又は予測メトリックとメトリック閾値との差分を基に、削減する又は追加するリソース量を決定する。 When the determination result of S907 is false (S907: F), the optimization unit 114 determines the adjustment of the resource amount for the service 102 (S908). For example, the optimization unit 114 determines the resource amount to be reduced or added based on the difference between the actually measured metric or the predicted metric and the metric threshold.
図10は、関連付け部101が行う処理の流れを示す。 FIG. 10 shows a flow of processing performed by the associating unit 101.
S901において、関連付け部101は、第1関連付け(S1001)と第2関連付け(S1002)を行う。 In S901, the associating unit 101 performs the first association (S1001) and the second association (S1002).
第1関連付けは、サービス102とLDEV506の関連付けである。具体的には、関連付け部101は、構成テーブル601を入力し、サービス102と記憶領域504の関連付け(S1011)と、記憶領域504とLDEV506の関連付け(S1012)を実行し、当該実行の結果を関連付けテーブル801に格納する。 The first association is an association between the service 102 and the LDEV 506. Specifically, the associating unit 101 inputs the configuration table 601, executes the association between the service 102 and the storage area 504 (S1011), and the association between the storage area 504 and the LDEV 506 (S1012), and associates the result of the execution. It is stored in the table 801.
第2関連付けは、サービス102とコンポーネントの関連付けである。具体的には、関連付け部101は、関連テーブル602を入力し、サービス102とMP507の関連付け(S1021)、サービス102とCLPR508の関連付け(S1022)、サービス102とプール509の関連付け(S1023)、及び、サービス102とポート512の関連付け(S1024)を実行し、当該実行の結果を関連付けテーブル801に格納する。 The second association is an association between the service 102 and the component. Specifically, the associating unit 101 inputs the association table 602, associates the service 102 with the MP 507 (S1021), associates the service 102 with the CLPR 508 (S1022), associates the service 102 with the pool 509 (S1023), and The service 102 is associated with the port 512 (S1024), and the result of the execution is stored in the association table 801.
図11は、生成部106が行う処理の流れを示す。 FIG. 11 shows the flow of processing performed by the generation unit 106.
S902において、生成部106は、I/O負荷予測モデル107の生成(S1101)、応答時間予測モデル108の生成(S1102)、及び、メトリック予測モデル109の生成(S1103)を行う。 In S902, the generation unit 106 generates the I / O load prediction model 107 (S1101), the response time prediction model 108 (S1102), and the metric prediction model 109 (S1103).
S1101において、生成部106は、実測応答性能テーブル603を入力する。生成部106は、指定学習期間のうちの実学習期間について、異常値除去と差分処理(S1111)と、ARIMAモデルを用いて関数(予測式)を作成する処理(S1112)とを実行し、当該実行の結果をI/O負荷予測モデルテーブル701に格納する。 In S1101, the generation unit 106 inputs the measured response performance table 603. The generation unit 106 performs abnormal value removal and difference processing (S1111) and processing (S1112) of creating a function (prediction formula) using the ARIMA model for the actual learning period of the designated learning period, and The execution result is stored in the I / O load prediction model table 701.
S1102において、生成部106は、実測応答性能テーブル603を入力する。生成部106は、指定学習期間のうちの実学習期間について、異常値除去と差分処理(S1121)と、ARIMAモデルを用いて関数(予測式)を作成する処理(S1122)とを実行し、当該実行の結果を応答時間予測モデルテーブル702に格納する。 In S1102, the generation unit 106 inputs the measured response performance table 603. The generation unit 106 executes abnormal value removal and difference processing (S1121) and processing (S1122) of creating a function (prediction formula) using the ARIMA model for the actual learning period of the designated learning period. The execution result is stored in the response time prediction model table 702.
S1103において、生成部106は、実測メトリックテーブル605を入力する。生成部106は、指定学習期間のうちの実学習期間について、異常値除去と差分処理(S1131)と、ARIMAモデルを用いて関数(予測式)を作成する処理(S1132)とを実行し、当該実行の結果をメトリック予測モデルテーブル703に格納する。 In S1103, the generation unit 106 inputs the measured metric table 605. The generation unit 106 executes the abnormal value removal and difference processing (S1131) and the processing (S1132) of creating a function (prediction formula) using the ARIMA model for the actual learning period of the designated learning period. The execution result is stored in the metric prediction model table 703.
図12は、予測部110が行う処理の流れを示す。 FIG. 12 shows the flow of processing performed by the prediction unit 110.
S903において、予測部110は、I/O負荷の予測と応答時間の予測とを行う。 In S903, the prediction unit 110 predicts the I / O load and the response time.
I/O負荷の予測では、予測部110は、I/O負荷予測モデルテーブル701を入力する(S1201)。予測部110は、そのテーブル701における予測式(つまり関数としての予測モデル107)を使って、指定予測期間における時系列のn個の時刻と使用実測期間における時系列のn個の実測I/O負荷とを入力として時系列I/O負荷を予測する(S1202)。結果として、時系列のn個の予測I/O負荷が取得される。予測部110は、当該予測の結果を予測応答性能テーブル805に格納する。 In the I / O load prediction, the prediction unit 110 inputs the I / O load prediction model table 701 (S1201). The prediction unit 110 uses the prediction formula in the table 701 (that is, the prediction model 107 as a function) to n time-series time points in the designated prediction period and n time-series actually-measured I / Os in the use measurement period. The load and the input are used to predict the time series I / O load (S1202). As a result, a time series of n predicted I / O loads is obtained. The prediction unit 110 stores the result of the prediction in the predicted response performance table 805.
応答時間の予測では、予測部110は、応答時間予測モデルテーブル702を入力する(S1201)。予測部110は、そのテーブル702における予測式(つまり関数としての予測モデル108)を使って、予測応答性能テーブル805における時系列のn個の予測I/O負荷(指定予測期間における時系列のn個の時刻にそれぞれ対応した時系列のn個の予測I/O負荷)と使用実測期間における時系列のn個の実測応答時間とを入力として時系列応答時間を予測する(S1202)。結果として、時系列のn個の予測応答時間が取得される。予測部110は、当該予測の結果を予測応答性能テーブル805に格納する。 In the response time prediction, the prediction unit 110 inputs the response time prediction model table 702 (S1201). The prediction unit 110 uses the prediction formula (that is, the prediction model 108 as a function) in the table 702 to calculate n time-series predicted I / O loads (time-series n in the designated prediction period) in the prediction response performance table 805. The time series response time is predicted by inputting the time series n predicted I / O loads corresponding to the respective times and the time series n actually measured response times during the actual measurement period (S1202). As a result, n predicted response times in time series are acquired. The prediction unit 110 stores the result of the prediction in the predicted response performance table 805.
S906において、予測部110は、関連付けテーブル801及びメトリック予測モデルテーブル703を入力する(S1211)。これにより、サービス102に関連付いたリソース(コンポーネント)のメトリック予測モデル109を特定できる。予測部110は、そのテーブル703における予測式(つまり関数としての予測モデル109)を使って、予測応答性能テーブル805における時系列のn個の予測I/O負荷(指定予測期間における時系列のn個の時刻にそれぞれ対応した時系列のn個の予測I/O負荷)と使用実測期間における時系列のn個の実測メトリックとを入力として時系列メトリックを予測する(S1212)。結果として、時系列のn個の予測メトリックが取得される。予測部110は、当該予測の結果を予測メトリックテーブル808に格納する。 In S906, the prediction unit 110 inputs the association table 801 and the metric prediction model table 703 (S1211). As a result, the metric prediction model 109 of the resource (component) associated with the service 102 can be specified. The prediction unit 110 uses the prediction formula (that is, the prediction model 109 as a function) in the table 703 to calculate n time-series predicted I / O loads (time-series n in the designated prediction period) in the prediction response performance table 805. The time series metrics are predicted by inputting the time series n predicted I / O loads corresponding to the respective times and the time series n actually measured metrics during the actual measurement period used (S1212). As a result, a time series of n predictive metrics is obtained. The prediction unit 110 stores the result of the prediction in the prediction metric table 808.
図13は、最適化部114が行う処理の流れを示す。 FIG. 13 shows a flow of processing performed by the optimizing unit 114.
S904において、最適化部114は、応答時間閾値テーブル604、予測応答性能テーブル805及び実測応答性能テーブル603を入力する。最適化部114は、使用実測期間における実測I/O負荷と指定予測期間における予測I/O負荷との差分が、所定の許容範囲内(マージン内)であるか否かの判別を行う(S1301)。S1301の判別結果が偽の場合(S1301:F)、最適化部114は、当該サービス102について、予測判別結果テーブル809に、予測判別結果895として“予測不可”を格納する。In S904, the optimization unit 114 inputs the response time threshold value table 604, the predicted response performance table 805, and the measured response performance table 603. The optimization unit 114 determines whether or not the difference between the measured I / O loadduring the actualmeasurement period used andthe predicted I / O loadduring the designated prediction period is within a predetermined allowable range (within a margin) (S1301). ). If the determination result of S1301 is false (S1301: F), the optimizing unit 114 stores “unpredictable” as the prediction determination result 895 in the prediction determination result table 809 for the service 102.
S1301の判別結果が真の場合(S1301:T)、最適化部114は、使用実測期間における実測応答時間及び指定予測期間における予測応答時間の少なくとも1つが応答時間閾値以下であるか否かの判別を行う(S1302)。S1302の判別結果が偽の場合(S1302:F)、最適化部114は、当該サービス102について、予測判別結果テーブル809に、予測判別結果895として“予測不可”を格納する。一方、S1302の判別結果が真の場合(S1302:T)、最適化部114は、当該サービス102について、予測判別結果テーブル809に、予測判別結果895として“予測可”を格納する。If the determination result of S1301 is true (S1301: T), the optimizing unit 114 determines whether at least one of the measured response time in the actualmeasurement period used andthe predicted response timein the designated prediction period is equal to or less than the response time threshold value. Is performed (S1302). When the determination result of S1302 is false (S1302: F), the optimizing unit 114 stores “unpredictable” as the prediction determination result 895 in the prediction determination result table 809 for the service 102. On the other hand, when the determination result of S1302 is true (S1302: T), the optimization unit 114 stores “predictable” as the prediction determination result 895 in the prediction determination result table 809 for the service 102.
S905において、最適化部114は、十分なリソース量を決定する(S1311)。ここで言う「十分なリソース量」は、指定学習期間において実測応答時間が応答時間閾値以下になることが十分に期待されるリソース量である。追加されることになる当該リソース量は、例えば一定量のリソースである。 In S905, the optimization unit 114 determines a sufficient resource amount (S1311). The “sufficient resource amount” here is a resource amount that is sufficiently expected that the measured response time will be equal to or less than the response time threshold value during the designated learning period. The resource amount to be added is, for example, a fixed amount of resource.
S907において、最適化部114は、メトリック閾値テーブル606、予測メトリックテーブル808、実測メトリックテーブル605及び関連付けテーブル801を入力する。最適化部114は、使用実測期間における実測メトリックと指定予測期間における予測メトリックとの差分が、許容範囲内であるか否かの判別を行う(S1321)。S1321の判別結果が偽の場合(S1321:F)、非現状維持が得られる(すなわち、維持判別(S907)の結果が偽である)。In S907, the optimization unit 114 inputs the metric threshold value table 606, the prediction metric table 808, the actually measured metric table 605, and the association table 801. The optimization unit 114 determines whether or not the difference between the actual measurement metricduring the actualmeasurement period used and the prediction metricduring the designated prediction period is within the allowable range (S1321). When the determination result of S1321 is false (S1321: F), non-current status maintenance is obtained (that is, the result of maintenance determination (S907) is false).
S1321の判別結果が真の場合(S1321:T)、最適化部114は、使用実測期間における実測メトリック及び指定予測期間における予測メトリックの少なくとも1つがメトリック閾値以下であるか否かの判別を行う(S1322)。S1322の判別結果が偽の場合(S1322:F)、非現状維持が得られる。一方、S1322の判別結果が真の場合(S1322:T)、現状維持が得られる(すなわち、維持判別(S907)の結果が真である)。When the determination result of S1321 is true (S1321: T), the optimizing unit 114 determines whether or not at least one of the actual measurement metric in theused actual measurement period andthe prediction metricin the designated prediction period is equal to or less than the metric threshold value ( S1322). When the determination result of S1322 is false (S1322: F), non-current state maintenance is obtained. On the other hand, if the determination result of S1322 is true (S1322: T), the current state is maintained (that is, the result of the maintenance determination (S907) is true).
S908において、最適化部114は、メトリック等に基づき調整リソース量を決定する(S1331)。具体的には、例えば、最適化部114は、メトリック閾値を超えた実測メトリック又は予測メトリックと当該メトリック閾値との差分に基づいて調整リソース量を決定する。 In S908, the optimization unit 114 determines the adjustment resource amount based on the metric or the like (S1331). Specifically, for example, the optimization unit 114 determines the adjustment resource amount based on the difference between the actually measured metric or predicted metric that exceeds the metric threshold and the metric threshold.
図14は、管理画面15の一例を示す。 FIG. 14 shows an example of the management screen 15.
管理画面15に表示される情報である管理情報は、出力データベース212内のデータに基づいている。管理画面15は、例えばGUI(Graphical User Interface)である。 The management information, which is the information displayed on the management screen 15, is based on the data in the output database 212. The management screen 15 is, for example, a GUI (Graphical User Interface).
管理画面15は、分析期間を指定するためのUI(User Interface)1401、開始時刻を指定するためのUI1402、及び、終了時刻を指定するためのUI1403を有する。これらのUI1401〜1403を用いて期間が指定される。この指定期間(以下、表示期間)に属するデータに基づく情報が、管理画面15に表示される管理情報である。表示期間は、過去の期間も将来の期間も含むことができる。管理画面15における情報の表示は、本実施形態では、BAツール213により制御され、BAツール213が、表示制御部の一例である。なお、表示制御部は、第2サーバ208に代えて第1サーバ209に設けられてもよい。 The management screen 15 has a UI (User Interface) 1401 for designating an analysis period, a UI 1402 for designating a start time, and a UI 1403 for designating an end time. The period is designated using these UIs 1401-1403. The information based on the data belonging to this designated period (hereinafter, display period) is the management information displayed on the management screen 15. The display period can include past periods and future periods. In the present embodiment, the display of information on the management screen 15 is controlled by the BA tool 213, and the BA tool 213 is an example of a display control unit. The display control unit may be provided in the first server 209 instead of the second server 208.
本実施形態において、管理情報は、サービス領域1405、ダッシュボード領域1404、トポロジー領域1406、予測と実測の領域1407、及び、グラフ領域1408に表示された情報の全部又は一部(例えば、ダッシュボード領域1404に表示された情報)である。 In this embodiment, the management information is the service area 1405, the dashboard area 1404, the topology area 1406, the prediction and actual measurement area 1407, and all or part of the information displayed in the graph area 1408 (for example, the dashboard area). Information displayed in 1404).
  サービス領域1405は、サービス102の一覧を表示する。なお、サービス領域1405において、所定の条件に該当するサービス102の表示オブジェクトが強調表示される。「所定の条件に該当するサービス102」とは、下記のサービス102、
・オペレータ(例えば管理者又はユーザ)により選択されたサービス102、
・SLA(Service Level Agreement)違反のサービス102(実測応答時間又は予測応答時間が応答時間閾値を超えたサービス102)、
・実測メトリック又は予測メトリックがメトリック閾値を超えたサービス102、及び、
・予測判別の結果が偽であるサービス102、
のうちのいずれかのサービス102でよい。The service area 1405 displays a list of services 102. In the service area 1405, the display object of the service 102 corresponding to the predetermined condition is highlighted. The "service 102 corresponding to a predetermined condition" means the following service 102,
 The service 102 selected by the operator (eg administrator or user),
 A service 102 that violates an SLA (Service Level Agreement) (service 102 whose actual response time or predicted response time exceeds the response time threshold),
 A service 102 whose measured metric or predicted metric exceeds the metric threshold, and
 A service 102 in which the result of the prediction determination is false,
 Service 102 of any of the above.
ダッシュボード領域1404は、全サービス102のサービスレベル遵守状況(ここでは実測応答時間又は予測応答時間が応答時間閾値以下か否か)、全サービス102に関連するリソース使用状況(実測メトリック又は予測メトリックがメトリック閾値以下か否か)、及び、全サービス102に対する予測判別結果(予測判別結果が偽のサービス102の数又は割合)を表示する。また、ダッシュボード領域1404は、上記の「所定の条件に該当するサービス102」の一覧と、当該一覧における各サービス102について、SLA違反期間、各コンポーネント(リソース)のメトリック、及び、予測判別の結果を表示する。 The dashboard area 1404 shows the service level compliance status of all the services 102 (here, whether the measured response time or the predicted response time is less than or equal to the response time threshold), the resource usage status related to all the services 102 (the measured metric or the predicted metric is Whether or not it is less than or equal to the metric threshold) and the prediction determination result for all the services 102 (the number or ratio of the services 102 whose prediction determination result is false) are displayed. Further, the dashboard area 1404 is a list of the above-mentioned “services 102 corresponding to a predetermined condition”, and an SLA violation period, a metric of each component (resource), and a result of prediction determination for each service 102 in the list. Is displayed.
トポロジー領域1406は、「所定の条件に該当するサービス102」をルートノードとするトポロジーを表示する。当該トポロジーでは、サービス102に関連するアプリケーション503や、LDEV506に関連付いたコンポーネントがリーフノードとなる。トポロジー領域1406において、異常のノードの表示オブジェクトが強調表示される。「異常のノード」は、リーフノード(例えばアプリケーション503やプール509)や、リーフノードの親ノード(例えば、プール509が関連付いたLDEV506)でよい。 The topology area 1406 displays a topology having the “service 102 corresponding to a predetermined condition” as a root node. In this topology, the application 503 related to the service 102 and the component related to the LDEV 506 are leaf nodes. In the topology area 1406, the display object of the abnormal node is highlighted. The “abnormal node” may be a leaf node (for example, the application 503 or the pool 509) or a parent node of the leaf node (for example, the LDEV 506 associated with the pool 509).
予測と実測の領域1407は、トポロジー領域1406が表示するトポロジーにおける異常ノード(例えばオペレータにより選択されたノード)の詳細情報を表示する。詳細情報は、サービス性能1409(例えば、アプリケーションIDと、予測応答時間及び実測応答時間の各々について応答時間を超過した累積時間)と、リソースメトリック1410(例えば、コンポーネントのメトリック種別と、当該メトリック種別に関して現在のリソース量と推奨のリソース量)を含む。「推奨のリソース量」は、最適化部114により決定されたリソース量である。オペレータが、推奨のリソース量の承認を管理画面15に入力すると、BAツール213が、推奨のリソース量と現在のリソース量との差分である調整リソース量の追加又は削減の指示を、自動化ツール210を呼び出すことによりリソースシステム292に与えることができる。 The prediction and actual measurement area 1407 displays detailed information of an abnormal node (for example, a node selected by an operator) in the topology displayed by the topology area 1406. The detailed information is related to the service performance 1409 (for example, application ID and cumulative time that exceeds the response time for each of the predicted response time and the measured response time), the resource metric 1410 (for example, the metric type of the component, and the metric type). Current resource amount and recommended resource amount) are included. The “recommended resource amount” is the resource amount determined by the optimization unit 114. When the operator inputs approval of the recommended resource amount on the management screen 15, the BA tool 213 issues an instruction to add or reduce the adjusted resource amount, which is the difference between the recommended resource amount and the current resource amount, to the automation tool 210. Can be given to the resource system 292 by calling.
グラフ領域1408は、サービス性能1409及びリソースメトリック1410の各々についてのグラフ(横軸を時刻とし縦軸を実測値又は予測値としたグラフ)を表示する。グラフには、応答時間閾値やメトリック閾値も表示される。 The graph area 1408 displays a graph (a graph in which the horizontal axis represents time and the vertical axis represents measured or predicted value) for each of the service performance 1409 and the resource metric 1410. A response time threshold and a metric threshold are also displayed on the graph.
以上、本発明の一実施形態を説明したが、これは本発明の説明のための例示であって、本発明の範囲をこの実施形態にのみ限定する趣旨ではない。本発明は、他の種々の形態でも実施することが可能である。例えば、予測モデル107〜109の少なくとも1つが、時系列モデルに代えて、線形モデルであってもよい。例えば、予測モデル107〜109の各々が、線形モデルの場合、入力は、時系列のn個の時刻(指定予測期間における各単位時間幅に対応した数値)でよく、出力は、時系列のn個の予測値(予測I/O負荷、予測応答時間又は予測メトリック)でよい。Although one embodiment of the present invention has been described above, this is merely an example for explaining the present invention, and does not purport to limit the scope of the present invention only to this embodiment. The present invention can be implemented in various other forms. For example, at least one of the prediction models 107 to 109 may be a linear model instead of the time series model. For example, each of the predictive model 107 to 109 are, in the case of the linear model, the input when the n time series well (in the specified prediction time period value corresponding to each unit time width), the outputof the time-series It may ben predicted values (predicted I / O load, predicted response time or predicted metric).
101…関連付け部、106…生成部、110…予測部、114…最適化部 101 ... Association unit, 106 ... Generation unit, 110 ... Prediction unit, 114 ... Optimization unit
| Application Number | Priority Date | Filing Date | Title | 
|---|---|---|---|
| JP2017209178AJP6681377B2 (en) | 2017-10-30 | 2017-10-30 | System and method for optimizing resource allocation | 
| US16/125,984US10904159B2 (en) | 2017-10-30 | 2018-09-10 | Resource allocation optimizing system and method | 
| Application Number | Priority Date | Filing Date | Title | 
|---|---|---|---|
| JP2017209178AJP6681377B2 (en) | 2017-10-30 | 2017-10-30 | System and method for optimizing resource allocation | 
| Publication Number | Publication Date | 
|---|---|
| JP2019082801A JP2019082801A (en) | 2019-05-30 | 
| JP6681377B2true JP6681377B2 (en) | 2020-04-15 | 
| Application Number | Title | Priority Date | Filing Date | 
|---|---|---|---|
| JP2017209178AActiveJP6681377B2 (en) | 2017-10-30 | 2017-10-30 | System and method for optimizing resource allocation | 
| Country | Link | 
|---|---|
| US (1) | US10904159B2 (en) | 
| JP (1) | JP6681377B2 (en) | 
| Publication number | Priority date | Publication date | Assignee | Title | 
|---|---|---|---|---|
| US10628180B1 (en) | 2018-08-20 | 2020-04-21 | C/Hca, Inc. | Disparate data aggregation for user interface customization | 
| 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 | 
| US11908573B1 (en) | 2020-02-18 | 2024-02-20 | C/Hca, Inc. | Predictive resource management | 
| 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 | 
| WO2021124397A1 (en)* | 2019-12-16 | 2021-06-24 | 富士通株式会社 | Job prediction program, system, and method | 
| KR102405933B1 (en)* | 2020-02-27 | 2022-06-08 | 숭실대학교 산학협력단 | Platform system and method for managing execution of machine learning based on learning | 
| JP7058804B1 (en)* | 2020-06-26 | 2022-04-22 | 楽天グループ株式会社 | Prediction systems, prediction methods, and programs | 
| US11620577B2 (en)* | 2020-07-01 | 2023-04-04 | International Business Machines Corporation | Multi-modal data explainer pipeline | 
| US11500686B2 (en)* | 2020-07-31 | 2022-11-15 | International Business Machines Corporation | Resource management of a software application with multiple software components | 
| JP7191906B2 (en) | 2020-09-09 | 2022-12-19 | 株式会社日立製作所 | RESOURCE ALLOCATION CONTROL DEVICE, COMPUTER SYSTEM, AND RESOURCE ALLOCATION CONTROL METHOD | 
| CN112099950B (en)* | 2020-09-15 | 2024-09-24 | 重庆电政信息科技有限公司 | Image preprocessing optimization method based on edge image processing system | 
| US20230367649A1 (en)* | 2020-09-30 | 2023-11-16 | Nippon Telegraph And Telephone Corporation | Vdi resource allocation decision apparatus, vdi resource allocation decision method, and vdi resource allocation decision program | 
| US11762709B2 (en)* | 2020-11-11 | 2023-09-19 | International Business Machines Corporation | Predictive auto-scaler for a hierarchical computing infrastructure | 
| CN113220452B (en)* | 2021-05-10 | 2025-05-27 | 北京百度网讯科技有限公司 | Resource allocation method, model training method, device and electronic device | 
| JP7672926B2 (en)* | 2021-09-02 | 2025-05-08 | 日立ヴァンタラ株式会社 | Outlier detection device and method | 
| JP7661205B2 (en)* | 2021-11-26 | 2025-04-14 | トヨタ自動車株式会社 | Information processing device and information processing method | 
| CN114520773B (en)* | 2022-02-16 | 2023-09-29 | 平安科技(深圳)有限公司 | Service request response method, device, server and storage medium | 
| CN114661472A (en)* | 2022-03-29 | 2022-06-24 | 海南大学 | Service resource dynamic allocation method and system based on machine learning | 
| CN117455205B (en)* | 2023-12-25 | 2024-04-19 | 中国移动通信集团设计院有限公司 | Resource demand prediction model training method, system and resource demand prediction method | 
| CN120378002B (en)* | 2025-06-23 | 2025-09-09 | 深圳新海讯光电有限公司 | A method and system for real-time management and status monitoring of optical distribution resources | 
| Publication number | Priority date | Publication date | Assignee | Title | 
|---|---|---|---|---|
| US8839243B2 (en)* | 2012-04-23 | 2014-09-16 | International Business Machines Corporation | Remediating resource overload | 
| CN104854563B (en) | 2012-09-20 | 2018-09-18 | 亚马逊技术有限公司 | What resource used automatically analyzes | 
| SE537197C2 (en)* | 2012-10-05 | 2015-03-03 | Elastisys Ab | Method, node and computer program to enable automatic adaptation of resource units | 
| US10574748B2 (en)* | 2013-03-21 | 2020-02-25 | Infosys Limited | Systems and methods for allocating one or more resources in a composite cloud environment | 
| JP6031462B2 (en)* | 2014-02-12 | 2016-11-24 | 日本電信電話株式会社 | Virtual machine placement apparatus, method, and program | 
| WO2015146100A1 (en)* | 2014-03-28 | 2015-10-01 | 日本電気株式会社 | Load estimation system, information processing device, load estimation method, and storage medium for storing program | 
| 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 | 
| US10034407B2 (en)* | 2016-07-22 | 2018-07-24 | Intel Corporation | Storage sled for a data center | 
| US11620163B2 (en)* | 2016-10-05 | 2023-04-04 | Telefonaktiebolaget Lm Ericsson (Publ) | Controlling resource allocation in a data center by monitoring load on servers and network links | 
| 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 | 
| Publication number | Publication date | 
|---|---|
| US20190132256A1 (en) | 2019-05-02 | 
| US10904159B2 (en) | 2021-01-26 | 
| JP2019082801A (en) | 2019-05-30 | 
| Publication | Publication Date | Title | 
|---|---|---|
| JP6681377B2 (en) | System and method for optimizing resource allocation | |
| JP6842440B2 (en) | Performance analysis method and management computer | |
| US11455183B2 (en) | Adjusting virtual machine migration plans based on alert conditions related to future migrations | |
| US10467128B2 (en) | Measuring and optimizing test resources and test coverage effectiveness through run time customer profiling and analytics | |
| US8112366B2 (en) | Expert system and visualization for multi-server capacity management | |
| US10142179B2 (en) | Selecting resources for automatic modeling using forecast thresholds | |
| US9760294B2 (en) | Computer system, storage management computer, and storage management method | |
| US10606649B2 (en) | Workload identification and display of workload-specific metrics | |
| WO2021036936A1 (en) | Method and apparatus for allocating resources and tasks in distributed system, and system | |
| EP3805940A1 (en) | Automatic demand-driven resource scaling for relational database-as-a-service | |
| US9875169B2 (en) | Modeling real capacity consumption changes using process-level data | |
| CN111880914A (en) | Resource scheduling method, resource scheduling apparatus, electronic device, and storage medium | |
| Xue et al. | Managing data center tickets: Prediction and active sizing | |
| US8832263B2 (en) | Dynamic resource adaptation | |
| CN113544647A (en) | Capacity management in cloud computing systems using virtual machine family modeling | |
| Wu et al. | A benefit-aware on-demand provisioning approach for multi-tier applications in cloud computing | |
| US10664786B2 (en) | Using run time and historical customer profiling and analytics to determine customer test vs. production differences, and to enhance customer test effectiveness | |
| JP6842447B2 (en) | Systems and methods to help optimize resource allocation | |
| US10038744B1 (en) | Intelligent core assignment | |
| US11487462B2 (en) | Method and device of predicting inter-volume copy time based on inter-pool copy speed | |
| Perennou et al. | Workload characterization for a non-hyperscale public cloud platform | |
| 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 | |
| Jiang et al. | Resource allocation in contending virtualized environments through VM performance modeling and feedback | |
| WO2018207225A1 (en) | Time series data analysis control method and analysis control device | |
| KR102672580B1 (en) | Increased virtual machine processing capacity for abnormal 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 | |
| S111 | Request for change of ownership or part of ownership | Free format text:JAPANESE INTERMEDIATE CODE: R313111 | |
| R350 | Written notification of registration of transfer | Free format text:JAPANESE INTERMEDIATE CODE: R350 |