JP2011243117A - Input/output control program, information processor and input/output control method - Google Patents

Input/output control program, information processor and input/output control method Download PDF

Info

Publication number
JP2011243117A
JP2011243117A JP2010116605A JP2010116605A JP2011243117A JP 2011243117 A JP2011243117 A JP 2011243117A JP 2010116605 A JP2010116605 A JP 2010116605A JP 2010116605 A JP2010116605 A JP 2010116605A JP 2011243117 A JP2011243117 A JP 2011243117A
Authority
JP
Japan
Prior art keywords
input
output
customer
disk
outputs
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2010116605A
Other languages
Japanese (ja)
Other versions
JP5471822B2 (en
Inventor
Tatsuo Kumano
達夫 熊野
Yasuo Noguchi
泰生 野口
Kosuke Uchida
考介 内田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2010116605A priority Critical patent/JP5471822B2/en
Publication of JP2011243117A publication Critical patent/JP2011243117A/en
Application granted granted Critical
Publication of JP5471822B2 publication Critical patent/JP5471822B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

PROBLEM TO BE SOLVED: To appropriately control input/output quantity.SOLUTION: An information processor is configured to measure the number of input/output to a disk and a mean time spent on the execution of input/output to the disk for every customer, to calculate a total time spent on the number of input/output from the total of the counted number of input/output and the total of the measured mean time spent on the execution of input/output for every customer, to calculate the maximum number of input/output per unit time processable by the disk from the total of the total time spent on the number of input/output calculated for every customer and the total of the number of input/output counted for every customer, to calculate the maximum number of input/output per unit time allowable as input/output to the disk for every customer from the maximum number of input/output of the disk and the maximum load to the disk preliminarily set for every customer, and to control input/output to the disk for every customer based on the maximum number of input/output calculated for every customer.

Description

本発明は、入出力制御プログラム、情報処理装置および入出力制御方法に関する。   The present invention relates to an input / output control program, an information processing apparatus, and an input / output control method.

従来、複数のユーザや複数のアプリケーションが利用するマルチテナントのストレージシステムでは、単位時間当たりの転送量を示すスループットを用いた入出力量(言い換えると流量またはアクセス量)の制限が実施されている。また、このようなストレージシステムでは、単位時間当たりの入出力数(以下、I/O数という)を示すIOPS(Input Output Per Second)を用いた流量の制御も実施されている。   Conventionally, in a multi-tenant storage system used by a plurality of users and a plurality of applications, a restriction on an input / output amount (in other words, a flow rate or an access amount) using a throughput indicating a transfer amount per unit time is performed. In such a storage system, flow control using IOPS (Input Output Per Second) indicating the number of inputs / outputs per unit time (hereinafter referred to as the number of I / Os) is also performed.

例えば、ストレージシステムは、一定時間ごとに、各顧客について実際に処理が行われたI/O数を計測する。続いて、ストレージシステムは、計測したI/O数を一定時間で除算し、各顧客のIOPS(実測値)を算出する。そして、ストレージシステムは、算出したIOPS(実測値)が閾値よりも大きい場合に、該当顧客のI/Oを抑制させる制御を実施する。   For example, the storage system measures the number of I / Os actually processed for each customer at regular time intervals. Subsequently, the storage system divides the measured number of I / Os by a predetermined time to calculate the IOPS (actual measurement value) of each customer. Then, when the calculated IOPS (actually measured value) is larger than the threshold value, the storage system performs control to suppress the I / O of the corresponding customer.

また、ストレージシステムが有する各ディスクの負荷状況を監視し、負荷が高いリソースよりも負荷が低いリソースへの処理を優先させる技術が開示されている。また、特定のデータに対するアクセスを優先させる技術が開示されている。   In addition, a technology is disclosed in which the load status of each disk included in the storage system is monitored, and priority is given to processing for a resource having a low load over a resource having a high load. In addition, a technique for prioritizing access to specific data is disclosed.

近年普及している、ハードウェアリソースなどを共有するクラウドコンピューティングシステムにおいても、上記ストレージシステムで利用される入出力制御が利用されている。具体的には、サーバAは、顧客Aが利用するホストサーバA、顧客Bが利用するホストホストサーバB、顧客Cが利用するホストホストサーバCが共有で利用するサーバである。このサーバAは、ホストごとにIOPS値やスループットを設定して、ホスト各々に対してアクセス制御を実施する。   In cloud computing systems that share hardware resources and the like that have become widespread in recent years, input / output control used in the storage system is also used. Specifically, the server A is a server that is shared by the host server A used by the customer A, the host host server B used by the customer B, and the host host server C used by the customer C. The server A sets an IOPS value and a throughput for each host and performs access control for each host.

特開2004−302751号公報JP 2004-302751 A 特開2008−186108号公報JP 2008-186108 A 特開2003−177963号公報JP 2003-177963 A

しかしながら、従来の技術では、入出力量を適切に制御することができないという課題があった。例えば、512kB単位のランダムアクセス性能が100IOPSであり、4kB単位のランダムアクセス性能が500IOPSであるディスクを有するストレージシステムにおいて、最大でもディスク処理性能の半分しかアクセス量を割り当てないとする。つまり、I/Oサイズは考慮せず、入出力量を50IOPSに制限する。   However, the conventional technique has a problem that the input / output amount cannot be appropriately controlled. For example, in a storage system having a disk whose random access performance in units of 512 kB is 100 IOPS and whose random access performance in units of 4 kB is 500 IOPS, it is assumed that only half of the disk processing performance is allocated at most. That is, the input / output amount is limited to 50 IOPS without considering the I / O size.

この場合、顧客が512kB単位のI/Oを行うのであれば、処理性能を十分に利用できるが、顧客が4kB単位のI/Oを行う場合には、処理性能を十分に利用できない。従来の技術では、このような事象が発生するので、入出力量を適切に制御できているとは言い難い。   In this case, if the customer performs 512 kB I / O, the processing performance can be fully utilized, but if the customer performs 4 kB I / O, the processing performance cannot be sufficiently utilized. In the conventional technology, such an event occurs, and it is difficult to say that the input / output amount can be appropriately controlled.

開示の技術は、上記に鑑みてなされたものであって、入出力量を適切に制御することが可能である入出力制御プログラム、情報処理装置および入出力制御方法を提供することを目的とする。   The disclosed technique has been made in view of the above, and an object thereof is to provide an input / output control program, an information processing apparatus, and an input / output control method capable of appropriately controlling an input / output amount.

本願の開示する入出力制御プログラム、情報処理装置および入出力制御方法は、一つの態様において、ディスクへの入出力の数を顧客毎に計数し、前記ディスクへの入出力の実行に要した平均時間を顧客毎に計測し、前記顧客毎に、前記入出力の数の合計と前記入出力の実行に要した平均時間の合計とから前記入出力の数に要した総時間を算出して記憶部に記憶し、前記顧客毎に算出された前記入出力の数に要した総時間の合計と、前記顧客毎に計数された入出力の数の合計とから、前記ディスクが処理可能な単位時間あたりの第1の最大入出力数を算出して前記記憶部に記憶し、前記ディスクの前記第1の最大入出力数と前記顧客毎に予め設定された前記ディスクへの最大負荷とから、前記顧客毎に、前記ディスクへの入出力として許容できる単位時間当たりの第2の最大入出力数を算出して前記記憶部に記憶し、前記顧客毎に算出された前記第2の最大入出力数に基づいて、前記ディスクへの入出力を顧客毎に制御する、処理を情報処理装置のプロセッサに実行させる。   An input / output control program, an information processing apparatus, and an input / output control method disclosed in the present application are, in one aspect, counting the number of inputs / outputs to / from a disk for each customer, and averaging the execution of the inputs / outputs to the disk Time is measured for each customer, and for each customer, the total time required for the number of inputs / outputs is calculated and stored from the total number of the inputs / outputs and the total average time required for execution of the inputs / outputs. A unit time that can be processed by the disk from the total time required for the number of inputs / outputs calculated for each customer and the total number of inputs / outputs counted for each customer. The first maximum input / output number per unit is calculated and stored in the storage unit, and the first maximum input / output number of the disk and the maximum load on the disk set in advance for each customer, For each customer, it is acceptable as input / output to the disk. A second maximum number of inputs / outputs per unit time is calculated and stored in the storage unit, and based on the second maximum number of inputs / outputs calculated for each customer, input / output to the disk is performed by the customer. The processor of the information processing apparatus is caused to execute processing that is controlled every time.

本願の開示する入出力制御プログラム、情報処理装置および入出力制御方法の一つの態様によれば、入出力量を適切に制御することが可能であるという効果を奏する。   According to one aspect of the input / output control program, the information processing apparatus, and the input / output control method disclosed in the present application, there is an effect that the input / output amount can be appropriately controlled.

図1は、実施例1に係る情報処理装置の構成を示すブロック図である。FIG. 1 is a block diagram illustrating the configuration of the information processing apparatus according to the first embodiment. 図2は、統計情報DBに記憶される統計情報の例を示す図である。FIG. 2 is a diagram illustrating an example of statistical information stored in the statistical information DB. 図3は、ディスクの負荷指標を説明する図である。FIG. 3 is a diagram for explaining a disk load index. 図4は、実施例1に係る最大IOPSの計算処理を示すフローチャートである。FIG. 4 is a flowchart illustrating the maximum IOPS calculation process according to the first embodiment. 図5は、実施例1に係る流量制限処理の流れを示すフローチャートである。FIG. 5 is a flowchart illustrating the flow of the flow restriction process according to the first embodiment. 図6は、実施例1に係る流量保証処理の流れを示すフローチャートである。FIG. 6 is a flowchart illustrating the flow of the flow rate guarantee process according to the first embodiment. 図7は、本願の開示する入出力制御を実施するストレージシステムの例を示す図である。FIG. 7 is a diagram illustrating an example of a storage system that performs input / output control disclosed in the present application. 図8は、統計情報の例を示す図である。FIG. 8 is a diagram illustrating an example of statistical information. 図9は、入出力制御プログラムを実行するコンピュータの例を示す図である。FIG. 9 is a diagram illustrating an example of a computer that executes an input / output control program.

以下に、本願の開示する入出力制御プログラム、情報処理装置および入出力制御方法の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。   Embodiments of an input / output control program, an information processing apparatus, and an input / output control method disclosed in the present application will be described below in detail with reference to the drawings. Note that the present invention is not limited to the embodiments.

[情報処理装置の構成]
図1は、実施例1に係る情報処理装置の構成を示すブロック図である。図1に示すように、情報処理装置10は、複数のアプリケーションを実行するサーバであり、本願の開示する入出力制御を実施するサーバである。この情報処理装置10は、ディスク11と統計情報DB(DataBase)12とアプリケーション13と主制御部14とミドルウェア15とを有し、複数のアプリケーション各々がディスク11にデータを読み書きする。
[Configuration of information processing device]
FIG. 1 is a block diagram illustrating the configuration of the information processing apparatus according to the first embodiment. As illustrated in FIG. 1, the information processing apparatus 10 is a server that executes a plurality of applications, and is a server that performs input / output control disclosed in the present application. The information processing apparatus 10 includes a disk 11, a statistical information DB (DataBase) 12, an application 13, a main control unit 14, and middleware 15, and each of a plurality of applications reads / writes data from / to the disk 11.

なお、ここで示した制御部は例示であり、これに限定されるものではない。例えば、情報処理装置10は、キーボードやマウスなどの入力部やディスプレイなどの表示部を有していてもよい。また、統計情報DB12は、メモリ中においてもよく、ハードディスク上においてもよい。   In addition, the control part shown here is an illustration and is not limited to this. For example, the information processing apparatus 10 may include an input unit such as a keyboard and a mouse and a display unit such as a display. The statistical information DB 12 may be in memory or on a hard disk.

ディスク11は、アプリケーション13が演算処理など各種処理に使用するデータを記憶する。このディスク11は、半導体メモリ素子、または、ハードディスク、光ディスクなどの記憶装置である。さらに、ディスク11は、RAID(Redundant Arrays of Inexpensive Disks)を用いて、複数台のハードディスクを組み合わせた仮想的なハードディスクであってもよい。   The disk 11 stores data used by the application 13 for various processing such as arithmetic processing. The disk 11 is a semiconductor memory element or a storage device such as a hard disk or an optical disk. Further, the disk 11 may be a virtual hard disk obtained by combining a plurality of hard disks using RAID (Redundant Arrays of Inexpensive Disks).

統計情報DB12は、ミドルウェア15の各制御部が実行して得られた統計情報を記憶する。図2は、統計情報DBに記憶される統計情報の例を示す図である。例えば、統計情報DB12は、図2に示すように、「アプリケーション名、最大設定値(%)、最小設定値(%)、I/O数(入出力数)、実行時間(平均)、時刻、最大I/O数、最小I/O数」を記憶する。具体的には、統計情報DB12は、「A、50、20、10、65ms、2010/1/21 18:30:15、5、2」や「B、30、10、5、170ms、2010/1/21 18:30:15、3、1」などを記憶する。   The statistical information DB 12 stores statistical information obtained by execution of each control unit of the middleware 15. FIG. 2 is a diagram illustrating an example of statistical information stored in the statistical information DB. For example, as shown in FIG. 2, the statistical information DB 12 includes “application name, maximum setting value (%), minimum setting value (%), I / O number (input / output number), execution time (average), time, "Maximum I / O number, Minimum I / O number" is stored. Specifically, the statistical information DB 12 includes “A, 50, 20, 10, 65 ms, 2010/1/21 18:30:15, 5, 2” and “B, 30, 10, 5, 170 ms, 2010 / 1/21 18:30:15, 3, 1 ", etc. are stored.

ここで記憶される「アプリケーション名」は、ディスク11にI/Oを実施したアプリケーション13を識別する識別子である。「最大設定値」は、ディスク全体の性能に対する最大の負荷(割合)である。「最小設定値」は、ディスク全体の性能に対する最小の負荷(割合)である。「I/O数(入出力数)」は、単位時間当たりに計測されたI/O数であり、例えば1秒間間にディスク11に実行されたI/O数である。「実行時間(平均)」は、単位時間当たりに計測されたI/Oの平均時間であり、例えばディスク11に10回実行されたI/Oの平均時間である。「時刻」は、統計情報DB12の統計情報が更新された時間である。「最大I/O数」は、ディスク11に対する入出力数として許容できる単位時間当たりの最大入出力数の制限値であり、「最小I/O数」は、ディスク11に対する入出力数として保証する単位時間当たりの最小入出力数の制限値である。   The “application name” stored here is an identifier for identifying the application 13 that has performed I / O on the disk 11. The “maximum setting value” is the maximum load (ratio) with respect to the performance of the entire disk. The “minimum setting value” is the minimum load (ratio) with respect to the performance of the entire disk. The “number of I / Os (input / output number)” is the number of I / Os measured per unit time, for example, the number of I / Os performed on the disk 11 in one second. The “execution time (average)” is the average time of I / O measured per unit time, for example, the average time of I / O executed 10 times on the disk 11. “Time” is the time when the statistical information in the statistical information DB 12 is updated. “Maximum number of I / Os” is a limit value of the maximum number of inputs / outputs per unit time allowable as the number of inputs / outputs to the disk 11, and “Minimum number of I / Os” is guaranteed as the number of inputs / outputs to the disk 11. This is the limit value for the minimum number of I / Os per unit time.

アプリケーション13は、ディスク11に記憶されるデータを用いて、文書の作成、表計算、数値計算など各種処理を実行するソフトウエアである。例えば、アプリケーション13は、ミドルウェア15を介して主制御部14にデータ読み出し要求を出力してディスク11から所望のデータを読み出す。また、アプリケーション13は、ミドルウェア15を介して主制御部14にデータ書き込み要求を出力してディスク11に所望のデータを書き込む。   The application 13 is software that executes various processes such as document creation, spreadsheet, and numerical calculation using data stored in the disk 11. For example, the application 13 reads a desired data from the disk 11 by outputting a data read request to the main control unit 14 via the middleware 15. Further, the application 13 outputs a data write request to the main control unit 14 via the middleware 15 and writes desired data to the disk 11.

主制御部14は、情報処理装置10の各種制御を制御するOS(Operating System)などである。例えば、主制御部14は、ミドルウェア15を介してデータ読み出し要求をアプリケーション13から受け付けた場合に、該当するデータをディスク11から読み出して応答する。また、主制御部14は、ミドルウェア15を介してデータ書き込み要求をアプリケーション13から受け付けた場合に、該当するデータをディスク11に書き込む。   The main control unit 14 is an OS (Operating System) that controls various controls of the information processing apparatus 10. For example, when the main control unit 14 receives a data read request from the application 13 via the middleware 15, the main control unit 14 reads the corresponding data from the disk 11 and responds. When the main control unit 14 receives a data write request from the application 13 via the middleware 15, the main control unit 14 writes the corresponding data to the disk 11.

ミドルウェア15は、アプリケーション13からディスク11への入出力(I/O)を制御するソフトウエアである。このミドルウェア15は、負荷設定部15aと入出力計数部15bと時間計測部15cと最大数算出部15dと最小数算出部15eと入出力制御部15fとを有する。   The middleware 15 is software that controls input / output (I / O) from the application 13 to the disk 11. The middleware 15 includes a load setting unit 15a, an input / output counting unit 15b, a time measuring unit 15c, a maximum number calculating unit 15d, a minimum number calculating unit 15e, and an input / output control unit 15f.

負荷設定部15aは、管理者等から最大設定値や最小設定値を受け付けて、統計情報DB12の設定値に格納する。例えば、負荷設定部15aは、各アプリケーションごとに、最大設定値や最小設定値を受け付けて、統計情報DB12の設定値に格納し、何も受け付けない場合には、「なし」を格納する。   The load setting unit 15a receives the maximum setting value and the minimum setting value from an administrator or the like, and stores them in the setting value of the statistical information DB 12. For example, the load setting unit 15a accepts the maximum setting value and the minimum setting value for each application, stores them in the setting value of the statistical information DB 12, and stores “none” when nothing is accepted.

入出力計数部15bは、ディスク11に実行された入出力を計数する。例えば、入出力計数部15bは、アプリケーション13ごとに、例えば1秒など単位時間当たりに、主制御部14からディスク11に出力されたI/O数を計数して、統計情報DB12に格納する。具体的には、入出力計数部15bは、アプリケーション13の要求によって、ディスク11へのI/Oが発生するたびに、発生した時点から1秒前までのI/O数を計数して、統計情報DB12に格納する。   The input / output counting unit 15b counts input / output executed on the disk 11. For example, the input / output counting unit 15b counts the number of I / Os output from the main control unit 14 to the disk 11 per unit time such as 1 second for each application 13, and stores it in the statistical information DB 12. Specifically, the input / output counting unit 15b counts the number of I / Os up to 1 second before the time each time an I / O to the disk 11 occurs according to a request from the application 13, Store in the information DB 12.

時間計測部15cは、入出力計数部15bによって計測された入出力数において、1つの入出力に要した平均時間を算出する。例えば、時間計測部15cは、入出力計数部15bによって計測されたI/O数が実行されるのに要した総時間を算出する。そして、時間計測部15cは、算出した総時間を入出力計数部15bによって計測されたI/O数で除算した結果を、統計情報DB12の実行時間(平均)に格納する。また、時間計測部15cは、上記実行時間(平均)の算出をアプリケーションごとに実行する。   The time measuring unit 15c calculates an average time required for one input / output in the number of inputs / outputs measured by the input / output counting unit 15b. For example, the time measuring unit 15c calculates the total time required for executing the number of I / Os measured by the input / output counting unit 15b. Then, the time measurement unit 15c stores the calculated total time divided by the number of I / Os measured by the input / output counting unit 15b in the execution time (average) of the statistical information DB 12. In addition, the time measurement unit 15c executes the calculation of the execution time (average) for each application.

例えば、アプリケーションAが1秒間に実行したI/O数が「10」の場合に、時間計測部15cは、I/O数「10」が実行されるのに要した総時間が「650ms」と算出したとする。この場合、時間計測部15cは、「650/10=65」を実行時間(平均)に格納する。なお、時間計測部15cは、統計情報DB12が更新されるたびに、上記処理を実行する。   For example, when the number of I / Os executed by the application A per second is “10”, the time measurement unit 15c determines that the total time required to execute the I / O number “10” is “650 ms”. Suppose that it is calculated. In this case, the time measurement unit 15c stores “650/10 = 65” in the execution time (average). The time measuring unit 15c executes the above process every time the statistical information DB 12 is updated.

最大数算出部15dは、入出力計数部15bによって計測された入出力数と、時間計測部15cによって計測された時間とを用いて、ディスク11に対する入出力数として許容できる単位時間当たりの最大入出力数を算出する。具体的には、最大数算出部15dは、統計情報DB12に記憶される情報「全アプリケーションの総I/O数」と「総I/O数に要した時間」とを算出し、算出した値を式(1)に代入して、「ディスク全体の最大IOPS」を算出する。その後、最大数算出部15dは、算出した「ディスク全体の最大IOPS」をアプリケーションごとに設定されている「最大設定値」を式(2)に代入して、アプリケーションごとに「最大IOPS値」を算出する。   The maximum number calculation unit 15d uses the number of inputs / outputs measured by the input / output counting unit 15b and the time measured by the time measurement unit 15c to allow the maximum input per unit time allowable as the number of inputs / outputs to the disk 11. Calculate the number of outputs. Specifically, the maximum number calculation unit 15d calculates the information “total number of I / Os of all applications” and “time required for the total number of I / Os” stored in the statistical information DB 12, and calculates the calculated value. Is substituted into equation (1) to calculate “maximum IOPS of the entire disk”. Thereafter, the maximum number calculation unit 15d substitutes the “maximum setting value” set for each application in the calculated “maximum IOPS of the entire disk” in the equation (2), and sets the “maximum IOPS value” for each application. calculate.

Figure 2011243117
Figure 2011243117
Figure 2011243117
Figure 2011243117

ここで算出される「ディスク全体の最大IOPS」とは、ある単位時間あたりにおけるディスク11のビジー率を考慮した負荷指標を基に算出することができる、ディスクが最大で処理できるIOPS値である。つまり、「ディスク全体の最大IOPS」は、ある単位時間内でディスクに対して発行された全I/Oと当該I/O各々の応答を得るまでの時間とを考慮している。したがって、この「ディスク全体の最大IOPS」は、1つのディスクに対して固定的に決定されるものではなく、ディスクがI/Oを処理するのに要した時間に基づいて変化するものである。なお、ビジー率とは、ディスクがI/Oをどのくらい処理していたかを示すものであり、例えばI/O処理に要した時間などである。   The “maximum IOPS of the entire disk” calculated here is an IOPS value that can be calculated at the maximum by the disk, which can be calculated based on a load index considering the busy rate of the disk 11 per unit time. That is, the “maximum IOPS of the entire disk” considers all I / Os issued to the disk within a certain unit time and the time required to obtain a response for each I / O. Therefore, the “maximum IOPS of the entire disk” is not fixedly determined for one disk, but changes based on the time required for the disk to process I / O. The busy rate indicates how much I / O has been processed by the disk, such as the time required for I / O processing.

図3の例を用いて具体的に説明する。図3は、ディスクの負荷指標を説明する図であり、横軸に「時刻」、縦軸に「ディスクが待ちかどうか(true or false)」を示している。なお、I/Oを処理した場合を「true」、I/O処理していない場合を「false」とする。図3の場合、現時点以前の単位時間あたり(1秒間)の間に、2回のディスクI/O(AとB)が発生し、それぞれに125ms要したことを示している。つまり、このときのディスクは、1秒間で、2つのI/Oを計250msかかって処理したこととなる。したがって、1秒間でどのくらい性能を発揮できたかを示す「負荷指標」は、125ms×2/1秒間×100=25%となる。言い換えると、ディスクは、当該1秒間で、性能の25%を発揮したこととなる。この結果、ディスクは、25%の性能でI/Oを2つ処理できたため、余力の75%全部利用可能と仮定すると、8つのI/Oを処理できることとなる。以上より、この例の場合、「ディスク全体の最大IOPS」は「8」となる。   This will be specifically described with reference to the example of FIG. FIG. 3 is a diagram for explaining a disk load index. The horizontal axis indicates “time”, and the vertical axis indicates “whether the disk is waiting (false or false)”. The case where I / O is processed is “true”, and the case where I / O is not processed is “false”. In the case of FIG. 3, two disk I / Os (A and B) are generated per unit time (one second) before the current time, and each takes 125 ms. In other words, the disk at this time processed two I / Os for a total of 250 ms in one second. Therefore, the “load index” indicating how much performance can be achieved in one second is 125 ms × 2/1 second × 100 = 25%. In other words, the disk exhibited 25% of the performance in the one second. As a result, the disk can process two I / Os with a performance of 25%, and assuming that 75% of the remaining capacity is available, it can process eight I / Os. As described above, in this example, “maximum IOPS of the entire disk” is “8”.

例えば、最大数算出部15dは、統計情報DB12を参照し、アプリケーションAについてI/O数「10」とI/O数「10」のうち1つのI/Oにかかった実行時間「65」とから、I/O数「10」を実行するのに要した総時間「650ms」を算出する。また、最大数算出部15dは、統計情報DB12を参照し、アプリケーションBについてI/O数「5」と実行時間「170」とから、I/O数「5」を実行するのに要した総時間「850ms」を算出する。   For example, the maximum number calculation unit 15d refers to the statistical information DB 12, and regarding the application A, the execution time “65” required for one I / O out of the number of I / Os “10” and the number of I / Os “10”. From this, the total time “650 ms” required to execute the I / O number “10” is calculated. Further, the maximum number calculation unit 15d refers to the statistical information DB 12, and for the application B, from the I / O number “5” and the execution time “170”, the total number required to execute the I / O number “5” is calculated. The time “850 ms” is calculated.

続いて、最大数算出部15dは、アプリケーションAの総時間「650ms」とアプリケーションBの総時間「850ms」とを加算し、ディスク11への総I/O時間「1500ms」を算出する。そして、最大数算出部15dは、アプリケーションAとBの総I/O「15」をディスク11への総I/O時間「1500ms」で除算し、1000を乗算することで、最大IOPS「10」を算出する。   Subsequently, the maximum number calculating unit 15d adds the total time “650 ms” of the application A and the total time “850 ms” of the application B, and calculates the total I / O time “1500 ms” to the disk 11. Then, the maximum number calculation unit 15d divides the total I / O “15” of the applications A and B by the total I / O time “1500 ms” to the disk 11 and multiplies by 1000 to obtain the maximum IOPS “10”. Is calculated.

その後、最大数算出部15dは、アプリケーションAについては、統計情報DB12に最大設定値「50」が格納されていることより、最大I/O数「10×0.5=5」を格納する。また、最大数算出部15dは、アプリケーションBについては、統計情報DB12に最大設定値「30」が格納されていることより、最大I/O数「10×0.3=3」を格納する。なお、最大数算出部15dは、統計情報DB12の統計情報が更新されるたびに、上記処理を実行する。   Thereafter, the maximum number calculating unit 15d stores the maximum number of I / Os “10 × 0.5 = 5” for the application A because the maximum setting value “50” is stored in the statistical information DB 12. The maximum number calculation unit 15d stores the maximum number of I / Os “10 × 0.3 = 3” for the application B because the maximum setting value “30” is stored in the statistical information DB 12. The maximum number calculation unit 15d performs the above process every time the statistical information in the statistical information DB 12 is updated.

図1に戻り、最小数算出部15eは、入出力計数部15bによって計測された入出力数と、時間計測部15cによって計測された時間とを用いて、ディスク11に対する入出力数として保証する単位時間当たりの最小I/O数を算出する。具体的には、最小数算出部15eは、アプリケーションごとに、最大数算出部15dによって算出された「ディスク全体の最大IOPS」と統計情報DB12から取得した「最小設定値」とを式(3)に代入して、アプリケーションごとの「最小I/O数」を算出する。   Returning to FIG. 1, the minimum number calculation unit 15e uses the number of inputs / outputs measured by the input / output counting unit 15b and the time measured by the time measurement unit 15c to guarantee the number of inputs / outputs with respect to the disk 11. Calculate the minimum number of I / Os per hour. Specifically, the minimum number calculation unit 15e calculates, for each application, the “maximum IOPS of the entire disk” calculated by the maximum number calculation unit 15d and the “minimum setting value” acquired from the statistical information DB 12 using Expression (3). To calculate the “minimum number of I / Os” for each application.

Figure 2011243117
Figure 2011243117

上述した例で説明すると、最小数算出部15eは、アプリケーションAについては、統計情報DB12に最小設定値「20」が格納されており、最大IOPS「10」であることから、最小I/O数「10×0.2=2」を格納する。また、最小数算出部15eは、アプリケーションBについては、統計情報DB12に最小設定値「10」が格納されており、最大IOPS「10」であることから、最小I/O数「10×0.1=1」を格納する。なお、最小数算出部15eは、統計情報DB12の統計情報が更新されるたびに、上記処理を実行する。また、最大数算出部15dではなく最小数算出部15eが最大IOPS「10」を計算してもよい。   In the example described above, the minimum number calculation unit 15e stores the minimum setting value “20” in the statistical information DB 12 for the application A and is the maximum IOPS “10”. “10 × 0.2 = 2” is stored. The minimum number calculation unit 15e stores the minimum setting value “10” in the statistical information DB 12 for the application B and is the maximum IOPS “10”, so the minimum I / O number “10 × 0. 1 = 1 "is stored. The minimum number calculating unit 15e performs the above process every time the statistical information in the statistical information DB 12 is updated. Further, instead of the maximum number calculation unit 15d, the minimum number calculation unit 15e may calculate the maximum IOPS “10”.

入出力制御部15fは、ディスク11への入出力数が最大数算出部15dによって算出された最大I/O数を超えないように制御する。上述した例の場合、入出力制御部15fは、アプリケーションAについては、統計情報DB12を参照してディスク11への単位時間(1秒間)当たりのI/O数が最大I/O数「5」を超えないように制御する。そして、入出力制御部15fは、アプリケーションBについては、統計情報DB12を参照してディスク11への単位時間(1秒間)当たりのI/O数が最大I/O数「3」を超えないように制御する。   The input / output control unit 15f performs control so that the number of inputs / outputs to / from the disk 11 does not exceed the maximum number of I / Os calculated by the maximum number calculation unit 15d. In the case of the above-described example, for the application A, the input / output control unit 15f refers to the statistical information DB 12, and the number of I / Os per unit time (one second) to the disk 11 is the maximum number of I / Os “5”. Control not to exceed. For the application B, the input / output control unit 15f refers to the statistical information DB 12 so that the number of I / Os per unit time (one second) to the disk 11 does not exceed the maximum number of I / Os “3”. To control.

具体的には、入出力制御部15fは、次に実行すべきアプリケーションAのI/Oを実行すると最大I/O数「5」を超えると判定した場合には、当該I/Oを抑止し、他のアプリケーションのI/Oを優先的に実行する。そして、入出力制御部15fは、次の単位時間の範囲で、抑止していたI/Oを実行する。   Specifically, if the input / output control unit 15f determines that when the I / O of the application A to be executed next exceeds the maximum number of I / Os “5”, the I / O is suppressed. Priority is given to I / O of other applications. Then, the input / output control unit 15f executes the suppressed I / O in the next unit time range.

また、入出力制御部15fは、ディスク11への入出力数が最小数算出部15eによって算出された最小入出力数以上になるように制御する。上述した例の場合、入出力制御部15fは、アプリケーションAについては、統計情報DB12を参照してディスク11への単位時間(1秒間)当たりのI/O数が最小I/O数「2」を下回らないよう制御する。そして、入出力制御部15fは、アプリケーションBについては、統計情報DB12を参照してディスク11への単位時間(1秒間)当たりのI/O数が最小I/O数「1」を下回らないよう制御する。   The input / output controller 15f controls the number of inputs / outputs to / from the disk 11 to be equal to or greater than the minimum number of inputs / outputs calculated by the minimum number calculator 15e. In the case of the above-described example, for the application A, the input / output control unit 15f refers to the statistical information DB 12, and the number of I / Os per unit time (one second) to the disk 11 is the minimum I / O number “2”. Control not to fall below. For the application B, the input / output control unit 15f refers to the statistical information DB 12 so that the number of I / Os per unit time (one second) to the disk 11 does not fall below the minimum I / O number “1”. Control.

具体的には、入出力制御部15fは、次に実行すべきアプリケーションBのI/Oを実行しないと最小I/O数「1」を下回る、つまり、アプリケーションのI/O数が0になると判定した場合には、当該I/Oをどのアプリケーションよりも優先的に実行する。   Specifically, if the I / O of the application B to be executed next is not executed, the input / output control unit 15f falls below the minimum I / O number “1”, that is, the application I / O number becomes zero. If it is determined, the I / O is preferentially executed over any application.

[処理の流れ]
次に、図4〜図6を用いて、実施例1に係る情報処理装置の処理の流れを説明する。図4は、実施例1に係る最大IOPSの計算処理を示すフローチャートであり、図5は、実施例1に係る流量制限処理の流れを示すフローチャートであり、図6は、実施例1に係る流量保証処理の流れを示すフローチャートである。
[Process flow]
Next, a processing flow of the information processing apparatus according to the first embodiment will be described with reference to FIGS. FIG. 4 is a flowchart showing a calculation process of the maximum IOPS according to the first embodiment, FIG. 5 is a flowchart showing a flow of the flow rate limiting process according to the first embodiment, and FIG. 6 is a flow chart according to the first embodiment. It is a flowchart which shows the flow of a guarantee process.

(計算処理の流れ)
図4に示すように、情報処理装置10の入出力計数部15bは、計算開始の契機に到達すると(ステップS101肯定)、アプリケーションごとに、単位時間あたりのI/O数を計測して統計情報DB12に格納する(ステップS102)。例えば、入出力計数部15bは、新たなI/Oを実行した後に、単位時間あたりのI/O数を計測する。
(Calculation process flow)
As shown in FIG. 4, when the input / output counting unit 15b of the information processing apparatus 10 reaches the trigger for calculation (Yes in step S101), the I / O count per unit time is measured for each application and statistical information is obtained. Store in the DB 12 (step S102). For example, the input / output counting unit 15b measures the number of I / Os per unit time after executing a new I / O.

続いて、時間計測部15cは、入出力計数部15bによって計測された入出力数において、1つの入出力に要した平均時間を算出して統計情報DB12に格納する(ステップS103)。なお、ステップS102よりも先にステップS103を実行してもよい。   Subsequently, the time measuring unit 15c calculates an average time required for one input / output in the number of inputs / outputs measured by the input / output counting unit 15b, and stores it in the statistical information DB 12 (step S103). Note that step S103 may be executed prior to step S102.

その後、最大数算出部15dまたは最小数算出部15eは、入出力計数部15bによって計測されたI/O数と時間計測部15cによって算出された平均時間とを用いて、アプリケーションごとの負荷指標を算出して統計情報DB12に格納する(ステップS104)。例えば、最大数算出部15dまたは最小数算出部15eは、「平均時間=125ms」×「I/O数=2」/1秒間=負荷指標「25%」を算出する。情報処理装置10は、この負荷指標によって、現在単位時間当たりでどのくらいI/Oの負荷がかかっているかを把握することができる。   Thereafter, the maximum number calculation unit 15d or the minimum number calculation unit 15e uses the I / O number measured by the input / output counting unit 15b and the average time calculated by the time measurement unit 15c to calculate the load index for each application. Calculate and store in the statistical information DB 12 (step S104). For example, the maximum number calculating unit 15d or the minimum number calculating unit 15e calculates “average time = 125 ms” × “I / O number = 2” / 1 second = load index “25%”. The information processing apparatus 10 can grasp how much I / O load is currently applied per unit time by using the load index.

続いて、最大数算出部15dは、入出力計数部15bによって計測されたI/O数と時間計測部15cによって計測された平均時間とを用いて、ディスク11全体の最大IOPSを算出して統計情報DB12に格納する(ステップS105)。この後、最大数算出部15dは、アプリケーションごとに設定された最大設定値を用いて、最大I/O数を算出して統計情報DB12に格納する。また、最小数算出部15eは、アプリケーションごとに設定された最小設定値を用いて、最小I/O数を算出して統計情報DB12に格納する。   Subsequently, the maximum number calculation unit 15d calculates the maximum IOPS of the entire disk 11 by using the number of I / Os measured by the input / output counting unit 15b and the average time measured by the time measurement unit 15c, and calculates the statistics. The information is stored in the information DB 12 (step S105). Thereafter, the maximum number calculation unit 15d calculates the maximum number of I / Os using the maximum setting value set for each application, and stores it in the statistical information DB 12. Further, the minimum number calculation unit 15e calculates the minimum number of I / Os using the minimum setting value set for each application, and stores it in the statistical information DB 12.

(流量制限処理の流れ)
図5に示すように、情報処理装置10の入出力制御部15fは、アプリケーションからI/O指示を受信すると(ステップS201肯定)、統計情報DB12や主制御部14等から、現時点での単位時間当たりのI/O数を取得する(ステップS202)。
(Flow of flow restriction process)
As illustrated in FIG. 5, when the input / output control unit 15f of the information processing apparatus 10 receives an I / O instruction from the application (Yes in step S201), the current unit time is received from the statistical information DB 12, the main control unit 14, or the like. The number of winning I / Os is acquired (step S202).

続いて、入出力制御部15fは、統計情報DB12を参照して当該アプリケーションの最大I/O数を取得し、新たなI/Oを実行すると、最大I/O数を超えるか否かを判定する(ステップS203)。   Subsequently, the input / output control unit 15f acquires the maximum number of I / Os of the application with reference to the statistical information DB 12, and determines whether or not the maximum number of I / Os is exceeded when a new I / O is executed. (Step S203).

そして、入出力制御部15fは、最大I/O数を超えないと判定した場合には(ステップS203否定)、受け付けた新たなI/Oをディスク11に発行する(ステップS204)。   If the input / output control unit 15f determines that the maximum number of I / Os is not exceeded (No at Step S203), the input / output control unit 15f issues the accepted new I / O to the disk 11 (Step S204).

一方、入出力制御部15fは、最大I/O数を超えると判定した場合には(ステップS203肯定)、受け付けた新たなI/Oの優先度を下げて、ディスク11への発行を抑止する(ステップS205)。   On the other hand, if the input / output control unit 15f determines that the maximum number of I / Os is exceeded (Yes in step S203), the input / output control unit 15f decreases the priority of the received new I / O and suppresses the issuance to the disk 11. (Step S205).

(流量保証処理の流れ)
図6に示すように、情報処理装置10の入出力制御部15fは、アプリケーションからI/O指示を受信すると(ステップS301肯定)、統計情報DB12や主制御部14等から、現時点での単位時間当たりのI/O数を取得する(ステップS302)。
(Flow rate guarantee process)
As shown in FIG. 6, when the input / output control unit 15f of the information processing apparatus 10 receives an I / O instruction from the application (Yes in step S301), the current unit time from the statistical information DB 12, the main control unit 14, or the like. The number of I / Os per unit is acquired (step S302).

続いて、入出力制御部15fは、統計情報DB12を参照して当該アプリケーションの最小I/O数を取得し、新たなI/Oを実行しないと、最小I/O数を下回るか否かを判定する(ステップS303)。   Subsequently, the input / output control unit 15f refers to the statistical information DB 12, obtains the minimum number of I / Os of the application, and determines whether or not the minimum number of I / Os is reached unless a new I / O is executed. Determination is made (step S303).

そして、入出力制御部15fは、最小I/O数を下回ると判定した場合には(ステップS303肯定)、受け付けた新たなI/Oの優先度を最優先にしてディスク11に発行する(ステップS304)。   If the input / output control unit 15f determines that the number of I / Os is below the minimum I / O number (Yes at Step S303), the input / output control unit 15f issues the received new I / O priority to the disk 11 with the highest priority (Step S303). S304).

一方、入出力制御部15fは、最小I/O数を下回らないと判定した場合には(ステップS303否定)、受け付けた新たなI/Oの優先度を上げることなく、ディスク11へ通常のI/Oを発行する(ステップS305)。   On the other hand, if the input / output control unit 15f determines that the number of I / Os is not less than the minimum I / O number (No in step S303), the I / O control unit 15f does not increase the priority of the received new I / O and does not increase the priority of the normal I / O. / O is issued (step S305).

[実施例1による効果]
実施例1によれば、ディスク11へのI/O数だけでなく、I/Oに要した時間を考慮して最大IOPSを算出する。その結果、1つのI/Oが要する平均時間を用いるので、I/Oの状況や種別、ディスク11の状態を考慮した精度の高い最大IOPSを算出することができ、出力量(I/O量)をより適切に制御することが可能である。
[Effects of Example 1]
According to the first embodiment, the maximum IOPS is calculated in consideration of not only the number of I / Os to the disk 11 but also the time required for I / O. As a result, since the average time required for one I / O is used, it is possible to calculate the maximum IOPS with high accuracy in consideration of the status and type of the I / O and the state of the disk 11, and the output amount (I / O amount) ) Can be controlled more appropriately.

また、I/Oに要した時間を考慮して最大IOPSを算出するので、回線状況やディスクの状況によって逐次変わる最大IOPSを追従することができる。さらに、I/O数の上限および下限アプリケーションごとに設定できる。したがって、入出力量(I/O量)を適切に制御することが可能である。また、アプリケーションごとに流量の制限や流量の保証を実施することができる。この結果、アクセスパターンに応じた適切なI/O制御を実施することができる。   In addition, since the maximum IOPS is calculated in consideration of the time required for I / O, it is possible to follow the maximum IOPS that changes sequentially according to the line status and the disk status. Further, it can be set for each of the upper limit and lower limit applications of the number of I / Os. Therefore, the input / output amount (I / O amount) can be appropriately controlled. In addition, it is possible to limit the flow rate and guarantee the flow rate for each application. As a result, appropriate I / O control according to the access pattern can be performed.

さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下に異なる実施例を説明する。   Although the embodiments of the present invention have been described so far, the present invention may be implemented in various different forms other than the embodiments described above. Therefore, different embodiments will be described below.

(最大IOPSの算出手法)
例えば、実施例1では、ディスクへのI/O数と全I/O数に要した時間とから最大IOPSを算出したが、これに限定されるものではない。例えば、上述した負荷指標を用いて算出することもできる。具体的には、負荷指標が『「1つのI/Oの平均時間=125ms」×「全I/O数=2」/「1秒」×「100」=25%』であったとする。この場合、1秒間で実施できる処理性能のうち25%を利用した結果が「全I/O数=2」ということである。したがって、1秒間で処理性能を100%利用しようとすると、「全I/O数=8」となる。この結果、最大IOPSは8と算出することができる。
(Maximum IOPS calculation method)
For example, in the first embodiment, the maximum IOPS is calculated from the number of I / Os to the disk and the time required for the total number of I / Os, but the present invention is not limited to this. For example, it can be calculated using the load index described above. Specifically, it is assumed that the load index is “average time of one I / O = 125 ms” × “total number of I / O = 2” / “1 second” × “100” = 25% ”. In this case, the result of using 25% of the processing performance that can be performed in one second is “the total number of I / O = 2”. Therefore, if 100% of processing performance is used in one second, “total number of I / Os = 8”. As a result, the maximum IOPS can be calculated as 8.

また、実施例1では、最大IOPSを算出するのに、1秒間で実行されたI/O数と1I/Oの平均時間とを用いて算出したが、これに限定されるものではない。例えば、5秒間のうちに実行されたI/O数と1I/Oの平均時間とから算出することもできる。   In the first embodiment, the maximum IOPS is calculated using the number of I / Os executed in one second and the average time of 1 I / O. However, the present invention is not limited to this. For example, it can be calculated from the number of I / Os executed within 5 seconds and the average time of 1 I / O.

(I/O間隔の制御)
本願の開示する情報処理装置は、算出したアプリケーションごとの最大I/O数(制限値)からアプリケーションごとの最小I/O間隔(制限値)を算出することができる。具体的には、情報処理装置は、式(4)に示すように、「アプリケーションごとの最小I/O間隔(制限値)=1/アプリケーションごとの最大IOPS数(制限値)」で算出することができる。そして、情報処理装置は、I/Oを行うことに、直前に行ったそのアプリケーションのI/Oとの時間差を計算し、もし最小I/O間隔(制限値)よりも短ければ、そのアプリケーションのI/Oを抑止する。この結果、特定アプリケーションが連続してI/O制御することを防止でき、他のアプリケーションのI/Oが遅延するなど悪影響を防止することができる。
(I / O interval control)
The information processing apparatus disclosed in the present application can calculate the minimum I / O interval (limit value) for each application from the calculated maximum number of I / Os (limit value) for each application. Specifically, the information processing apparatus calculates “minimum I / O interval for each application (limit value) = 1 / maximum number of IOPS for each application (limit value)” as shown in Expression (4). Can do. Then, the information processing apparatus calculates the time difference from the I / O of the application performed immediately before the I / O, and if it is shorter than the minimum I / O interval (limit value), Suppress I / O. As a result, it is possible to prevent the specific application from continuously performing I / O control, and to prevent adverse effects such as delay of I / O of other applications.

Figure 2011243117
Figure 2011243117

また、本願の開示する情報処理装置は、算出したアプリケーションごとの最小I/O数(制限値)からアプリケーションごとの最大I/O間隔(制限値)を算出することができる。具体的には、情報処理装置は、「アプリケーションごとの最大I/O間隔(制限値)=1/アプリケーションごとの最小IOPS数(制限値)」で算出する。そして、情報処理装置は、I/Oを行うことに、直前に行ったそのアプリケーションのI/Oとの時間差を計算し、もし最大I/O間隔(制限値)よりも長ければ、そのアプリケーションのI/Oを最優先で実行する。この結果、特定アプリケーションのI/Oが実行されずに遅延するなど悪影響を防止することができる。   Further, the information processing apparatus disclosed in the present application can calculate the maximum I / O interval (limit value) for each application from the calculated minimum number of I / O (limit value) for each application. Specifically, the information processing apparatus calculates “maximum I / O interval for each application (limit value) = 1 / minimum number of IOPS for each application (limit value)”. Then, the information processing apparatus calculates the time difference from the I / O of the application performed immediately before the I / O, and if it is longer than the maximum I / O interval (limit value), I / O is executed with the highest priority. As a result, it is possible to prevent adverse effects such as delay without executing I / O of a specific application.

(他の適用例)
また、本願は、実施例1で説明した情報処理装置以外にも、ストレージシステムにも適用することができる。図7は、本願の開示する入出力制御を実施するストレージシステムの例を示す図である。図7に示すストレージシステムは、サーバA、サーバB、サーバCとストレージ装置とを有する。サーバA、サーバB、サーバCは、ストレージ装置が有するディスクに対してデータの読み書きをする一般的なサーバである。ストレージ装置は、図1で説明した各機能部を有する装置であり、サーバA、サーバB、サーバCそれぞれに対して最大I/O数や最小I/O数を算出し、流量制御や流量保証を実施する。
(Other application examples)
In addition to the information processing apparatus described in the first embodiment, the present application can be applied to a storage system. FIG. 7 is a diagram illustrating an example of a storage system that performs input / output control disclosed in the present application. The storage system illustrated in FIG. 7 includes server A, server B, server C, and a storage device. Server A, server B, and server C are general servers that read / write data from / to the disks of the storage apparatus. The storage device is a device having each functional unit described with reference to FIG. 1, and calculates the maximum I / O number and the minimum I / O number for each of the server A, the server B, and the server C, and controls the flow rate and the flow rate guarantee. To implement.

例えば、ストレージ装置は、図8に示すような統計情報を記憶する。図8は、統計情報の例を示す図である。具体的には、ストレージ装置は、「サーバ名、最大設定値(%)、最小設定値(%)、I/O数(入出力数)、実行時間(平均)、時刻、最大I/O数、最小I/O数」を記憶する。なお、ここで記憶される各情報および各情報の取得ならびに算出方法は、実施例1と同様なので省略する。そして、ストレージ装置は、サーバA〜サーバCからI/Oを受け付けた場合に、図8に示した「最大I/O数」にしたがってI/O数を制御するとともに、「最小I/O数」にしたがってI/O数を保証する。   For example, the storage device stores statistical information as shown in FIG. FIG. 8 is a diagram illustrating an example of statistical information. Specifically, the storage device is “server name, maximum setting value (%), minimum setting value (%), I / O number (input / output number), execution time (average), time, maximum I / O number. , “Minimum I / O number”. In addition, since each information memorize | stored here and the acquisition and calculation method of each information are the same as that of Example 1, it abbreviate | omits. When the storage apparatus receives I / O from the server A to the server C, the storage apparatus controls the number of I / Os according to the “maximum I / O number” shown in FIG. To guarantee the number of I / Os.

なお、ストレージ装置は、実施例1で説明したアプリケーション単位だけでなく、サーバ単位、クライアント(ユーザ)単位に最大I/O数や最小I/O数を算出して、流量制御や流量保証を実施することができる。また、最大I/O数や最小I/O数は、物理ディスク単位で算出することもでき、論理ディスク単位で算出することもできる。   The storage device calculates the maximum number of I / Os and the minimum number of I / Os in units of servers and clients (users) in addition to the units of applications described in the first embodiment, and performs flow control and flow guarantee. can do. Further, the maximum number of I / Os and the minimum number of I / Os can be calculated in units of physical disks, or can be calculated in units of logical disks.

(システム)
また、本実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともできる。あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。また、本願は、最大I/O数と最小I/O数を両方算出して、流量制限と流量保証を実行する必要はなく、いずれか一方だけを実行するようにしてもよい。また、実施例1では、ミドルウェアが各制御部を有する例について説明したが、これに限定されるものではなく、アプリケーションとして実装されてよく、OSに実装されていてもよい。
(system)
In addition, among the processes described in the present embodiment, all or a part of the processes described as being automatically performed can be manually performed. Alternatively, all or part of the processing described as being performed manually can be automatically performed by a known method. In addition, the processing procedure, control procedure, specific name, and information including various data and parameters shown in the above-described document and drawings can be arbitrarily changed unless otherwise specified. Further, in the present application, it is not necessary to calculate both the maximum I / O number and the minimum I / O number and execute the flow rate restriction and the flow rate guarantee, and only one of them may be executed. In the first embodiment, an example in which the middleware includes each control unit has been described. However, the present invention is not limited to this, and may be implemented as an application or may be implemented in the OS.

また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、例えば最大数算出部15dと最小数算出部15eとを統合するなど各装置の分散・統合の具体的形態は図示のものに限られない。つまり、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。   Further, each component of each illustrated apparatus is functionally conceptual, and does not necessarily need to be physically configured as illustrated. That is, the specific form of distribution / integration of each device, for example, integrating the maximum number calculation unit 15d and the minimum number calculation unit 15e, is not limited to that illustrated. That is, all or a part of them can be configured to be functionally or physically distributed / integrated in arbitrary units according to various loads or usage conditions. Further, all or any part of each processing function performed in each device may be realized by a CPU and a program analyzed and executed by the CPU, or may be realized as hardware by wired logic.

(プログラム)
ところで、上記の実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することができる。そこで、以下では、上記の実施例と同様の機能を有するプログラムを実行するコンピュータシステムの一例を説明する。
(program)
By the way, the various processes described in the above embodiments can be realized by executing a program prepared in advance on a computer system such as a personal computer or a workstation. Therefore, in the following, an example of a computer system that executes a program having the same function as in the above embodiment will be described.

図9は、入出力制御プログラムを実行するコンピュータの例を示す図である。図9に示すように、コンピュータシステム100は、RAM101と、HDD102と、ROM103と、CPU104とを有する。ここで、ROM103には、上の実施例と同様の機能を発揮するプログラムがあらかじめ記憶されている。つまり、図9に示すように、負荷設定プログラム103a、入出力計数プログラム103b、時間計測プログラム103c、最大数算出プログラム103dがあらかじめ記憶されている。また、ROM103には、最小数算出プログラム103e、入出力制御プログラム103fがあらかじめ記憶されている。   FIG. 9 is a diagram illustrating an example of a computer that executes an input / output control program. As illustrated in FIG. 9, the computer system 100 includes a RAM 101, an HDD 102, a ROM 103, and a CPU 104. Here, the ROM 103 stores in advance a program that exhibits the same function as in the above embodiment. That is, as shown in FIG. 9, a load setting program 103a, an input / output counting program 103b, a time measurement program 103c, and a maximum number calculation program 103d are stored in advance. The ROM 103 stores in advance a minimum number calculation program 103e and an input / output control program 103f.

そして、CPU104には、これらのプログラム103a〜103fを読み出して実行することで、図9に示すように、各プロセスとなる。つまり、負荷設定プロセス104a、入出力計数プロセス104b、時間計測プロセス104c、最大数算出プロセス104d、最小数算出プロセス104e、入出力制御プロセス104fとなる。   Then, the CPU 104 reads out and executes these programs 103a to 103f, whereby each process is performed as shown in FIG. That is, the load setting process 104a, the input / output counting process 104b, the time measurement process 104c, the maximum number calculation process 104d, the minimum number calculation process 104e, and the input / output control process 104f.

なお、負荷設定プロセス104aは、図1に示した負荷設定部15aに対応し、同様に、入出力計数プロセス104bは、入出力計数部15bに対応する。また、時間計測プロセス104cは、時間計測部15cに対応し、最大数算出プロセス104dは、最大数算出部15dに対応する。また、最小数算出プロセス104eは、最小数算出部15eに対応し、入出力制御プロセス104fは、入出力制御部15fに対応する。   The load setting process 104a corresponds to the load setting unit 15a shown in FIG. 1, and similarly, the input / output counting process 104b corresponds to the input / output counting unit 15b. The time measurement process 104c corresponds to the time measurement unit 15c, and the maximum number calculation process 104d corresponds to the maximum number calculation unit 15d. The minimum number calculation process 104e corresponds to the minimum number calculation unit 15e, and the input / output control process 104f corresponds to the input / output control unit 15f.

また、HDD102には、統計情報テーブル102aが設けられる。統計情報テーブル102aは、図2や図8に示した統計情報DB12に記憶される統計情報に対応する。   Further, the HDD 102 is provided with a statistical information table 102a. The statistical information table 102a corresponds to the statistical information stored in the statistical information DB 12 shown in FIG. 2 or FIG.

ところで、上記したプログラム103a〜103fは、必ずしもROM103に記憶させておく必要はない。例えば、コンピュータシステム100に挿入されるフレキシブルディスク(FD)、CD−ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に記憶させておくようにしてもよい。また、コンピュータシステム100の内外に備えられるハードディスクドライブ(HDD)などの「固定用の物理媒体」に記憶させておいてもよい。さらに、公衆回線、インターネット、LAN、WANなどを介してコンピュータシステム100に接続される「他のコンピュータシステム」に記憶させておいてもよい。そして、コンピュータシステム100がこれらからプログラムを読み出して実行するようにしてもよい。   By the way, the above-described programs 103 a to 103 f are not necessarily stored in the ROM 103. For example, it may be stored in a “portable physical medium” such as a flexible disk (FD), a CD-ROM, a DVD disk, a magneto-optical disk, or an IC card inserted into the computer system 100. Further, it may be stored in a “fixed physical medium” such as a hard disk drive (HDD) provided inside or outside the computer system 100. Further, it may be stored in “another computer system” connected to the computer system 100 via a public line, the Internet, a LAN, a WAN, or the like. Then, the computer system 100 may read the program from these and execute it.

すなわち、この他の実施例でいうプログラムは、上記した「可搬用の物理媒体」、「固定用の物理媒体」、「通信媒体」などの記録媒体に、コンピュータ読み取り可能に記録されるものである。そして、コンピュータシステム100は、このような記録媒体からプログラムを読み出して実行することで上記した実施例と同様の機能を実現する。なお、この他の実施例でいうプログラムは、コンピュータシステム100によって実行されることに限定されるものではない。例えば、他のコンピュータシステムまたはサーバがプログラムを実行する場合や、これらが協働してプログラムを実行するような場合にも、本発明を同様に適用することができる。   That is, the program referred to in the other embodiments is recorded in a computer-readable manner on a recording medium such as the above-mentioned “portable physical medium”, “fixed physical medium”, “communication medium”, and the like. . Then, the computer system 100 realizes the same function as the above-described embodiment by reading and executing the program from such a recording medium. The program referred to in the other embodiments is not limited to being executed by the computer system 100. For example, the present invention can be similarly applied to a case where another computer system or server executes a program or a case where these programs cooperate to execute a program.

10 情報処理装置
11 ディスク
12 統計情報DB
13 アプリケーション
14 主制御部
15 ミドルウェア
15a 負荷設定部
15b 入出力計数部
15c 時間計測部
15d 最大数算出部
15e 最小数算出部
15f 入出力制御部
10 Information processing device 11 Disk 12 Statistical information DB
13 Application 14 Main Control Unit 15 Middleware 15a Load Setting Unit 15b Input / Output Counting Unit 15c Time Measurement Unit 15d Maximum Number Calculation Unit 15e Minimum Number Calculation Unit 15f Input / Output Control Unit

Claims (6)

ディスクへの入出力の数を顧客毎に計数し、
前記ディスクへの入出力の実行に要した平均時間を顧客毎に計測し、
前記顧客毎に、前記入出力の数の合計と前記入出力の実行に要した平均時間の合計とから前記入出力の数に要した総時間を算出して記憶部に記憶し、
前記顧客毎に算出された前記入出力の数に要した総時間の合計と、前記顧客毎に計数された入出力の数の合計とから、前記ディスクが処理可能な単位時間あたりの第1の最大入出力数を算出して前記記憶部に記憶し、
前記ディスクの前記第1の最大入出力数と前記顧客毎に予め設定された前記ディスクへの最大負荷とから、前記顧客毎に、前記ディスクへの入出力として許容できる単位時間当たりの第2の最大入出力数を算出して前記記憶部に記憶し、
前記顧客毎に算出された前記第2の最大入出力数に基づいて、前記ディスクへの入出力を顧客毎に制御する、
処理を情報処理装置のプロセッサに実行させることを特徴とする入出力制御プログラム。
Count the number of inputs and outputs to the disk for each customer,
Measure the average time required to execute I / O to the disk for each customer,
For each customer, calculate the total time required for the number of inputs / outputs from the total number of inputs / outputs and the total average time required for execution of the inputs / outputs, and store in the storage unit,
Based on the total time required for the number of inputs / outputs calculated for each customer and the total number of inputs / outputs counted for each customer, a first per unit time that can be processed by the disk Calculate the maximum number of inputs and outputs and store it in the storage unit,
Based on the first maximum number of inputs / outputs of the disk and the maximum load on the disk preset for each customer, a second per unit time allowable as input / output to the disk for each customer. Calculate the maximum number of inputs and outputs and store it in the storage unit,
Based on the second maximum number of inputs / outputs calculated for each customer, the input / output to the disk is controlled for each customer,
An input / output control program that causes a processor of an information processing device to execute processing.
前記制御する処理は、前記顧客毎に算出した最大入出力数の逆数を前記顧客毎の最小入出力間隔とし、制御対象となっている対象入出力と対象入出力の直前に実行された入出力との時間差が、前記最小入出力間隔よりも短ければ、当該対象入出力を抑止することを前記顧客ごとに実行することを特徴とする請求項1に記載の入出力制御プログラム。   The process to be controlled is the input / output executed immediately before the target input / output to be controlled and the target input / output, which is the reciprocal of the maximum input / output number calculated for each customer, as the minimum input / output interval for each customer. 2. The input / output control program according to claim 1, wherein the target input / output is suppressed for each customer if the time difference between the input and output is shorter than the minimum input / output interval. 前記顧客毎に、前記ディスクの前記第1の最大入出力数と前記顧客毎に予め設定された前記ディスクへの最小負荷とから、前記ディスクへの入出力として保証する単位時間当たりの最小入出力数を算出する処理を前記情報処理装置のプロセッサに実行させ、
前記制御する処理は、前記顧客毎に算出された前記最小入出力数に基づいて、前記ディスクへの入出力を顧客毎に制御することを特徴とする請求項1または2に記載の入出力制御プログラム。
Minimum input / output per unit time guaranteed as input / output to the disk from the first maximum input / output number of the disk and a minimum load to the disk preset for each customer for each customer Causing the processor of the information processing apparatus to execute a process of calculating the number;
3. The input / output control according to claim 1, wherein the control processing controls input / output to the disk for each customer based on the minimum number of inputs / outputs calculated for each customer. 4. program.
前記制御する処理は、前記顧客毎に算出した前記最小入出力数の逆数を最大入出力間隔とし、制御対象となっている対象入出力と対象入出力の直前に実行された入出力との時間差が、前記最大入出力間隔よりも長ければ、当該対象入出力を最優先で実行することを前記顧客ごとに実行することを特徴とする請求項3に記載の入出力制御プログラム。   The processing to be controlled is the time difference between the target input / output to be controlled and the input / output executed immediately before the target input / output, with the reciprocal of the minimum input / output calculated for each customer as the maximum input / output interval. 4. The input / output control program according to claim 3, wherein if the length is longer than the maximum input / output interval, the target input / output is executed for each customer in the highest priority. ディスクへの入出力の数を顧客毎に計数する入出力計数部と、
前記ディスクへの入出力の実行に要した平均時間を顧客毎に計測する時間計測部と、
前記顧客毎に、前記入出力計数部によって計数された入出力の数の合計と前記時間計測部によって計測された入出力の実行に要した平均時間の合計とから前記入出力の数に要した総時間を算出する総時間算出部と、
前記総時間算出部によって顧客毎に算出された前記入出力の数に要した総時間の合計と、前記入出力計数部によって顧客毎に計数された入出力の数の合計とから、前記ディスクが処理可能な単位時間あたりの最大入出力数を算出する最大入出力数算出部と、
前記最大入出力数算出部によって算出されたディスクの最大入出力数と前記顧客毎に予め設定された前記ディスクへの最大負荷とから、前記顧客毎に、前記ディスクへの入出力として許容できる単位時間当たりの最大入出力数を算出する顧客最大入出力数算出部と、
前記顧客最大入出力数算出部によって顧客毎に算出された最大入出力数に基づいて、前記ディスクへの入出力を顧客毎に制御する入出力制御部と、
有することを特徴とする情報処理装置。
An input / output counter that counts the number of inputs and outputs to the disk for each customer;
A time measuring unit that measures an average time required for execution of input and output to the disk for each customer;
For each customer, the total number of inputs / outputs counted from the total number of inputs / outputs counted by the input / output counting unit and the average time taken to execute the inputs / outputs measured by the time measuring unit. A total time calculation unit for calculating the total time;
From the total time required for the number of inputs / outputs calculated for each customer by the total time calculation unit and the total number of inputs / outputs counted for each customer by the input / output counting unit, the disk A maximum input / output number calculation unit that calculates the maximum number of input / outputs per unit time that can be processed;
Units that can be allowed as input / output to the disk for each customer from the maximum number of disks input / output calculated by the maximum input / output number calculation unit and the maximum load to the disk preset for each customer A customer maximum input / output number calculation unit that calculates the maximum number of input / outputs per hour,
Based on the maximum input / output number calculated for each customer by the customer maximum input / output number calculation unit, an input / output control unit for controlling input / output to the disk for each customer;
An information processing apparatus comprising:
情報処理装置のプロセッサが、
ディスクへの入出力の数を顧客毎に計数するステップと、
前記ディスクへの入出力の実行に要した平均時間を顧客毎に計測するステップと、
前記顧客毎に、前記入出力の数の合計と前記入出力の実行に要した平均時間の合計とから前記入出力の数に要した総時間を算出して記憶部に記憶するステップと、
前記顧客毎に算出された前記入出力の数に要した総時間の合計と、前記顧客毎に計数された入出力の数の合計とから、前記ディスクが処理可能な単位時間あたりの第1の最大入出力数を算出して前記記憶部に記憶するステップと、
前記ディスクの前記第1の最大入出力数と前記顧客毎に予め設定された前記ディスクへの最大負荷とから、前記顧客毎に、前記ディスクへの入出力として許容できる単位時間当たりの第2の最大入出力数を算出して前記記憶部に記憶するステップと、
前記顧客毎に算出された前記第2の最大入出力数に基づいて、前記ディスクへの入出力を顧客毎に制御するするステップと、
を含んだことを特徴とする入出力制御方法。
The processor of the information processing device
Counting the number of inputs and outputs to the disk for each customer;
Measuring the average time required for execution of input / output to the disk for each customer;
For each customer, calculating the total time required for the number of inputs / outputs from the total of the number of inputs / outputs and the total of the average time required for execution of the input / outputs, and storing them in a storage unit;
Based on the total time required for the number of inputs / outputs calculated for each customer and the total number of inputs / outputs counted for each customer, a first per unit time that can be processed by the disk Calculating a maximum input / output number and storing it in the storage unit;
Based on the first maximum number of inputs / outputs of the disk and the maximum load on the disk preset for each customer, a second per unit time allowable as input / output to the disk for each customer. Calculating a maximum input / output number and storing it in the storage unit;
Controlling the input / output to the disk for each customer based on the second maximum number of inputs / outputs calculated for each customer;
An input / output control method characterized by comprising:
JP2010116605A 2010-05-20 2010-05-20 I / O control program, information processing apparatus, and I / O control method Expired - Fee Related JP5471822B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010116605A JP5471822B2 (en) 2010-05-20 2010-05-20 I / O control program, information processing apparatus, and I / O control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010116605A JP5471822B2 (en) 2010-05-20 2010-05-20 I / O control program, information processing apparatus, and I / O control method

Publications (2)

Publication Number Publication Date
JP2011243117A true JP2011243117A (en) 2011-12-01
JP5471822B2 JP5471822B2 (en) 2014-04-16

Family

ID=45409676

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010116605A Expired - Fee Related JP5471822B2 (en) 2010-05-20 2010-05-20 I / O control program, information processing apparatus, and I / O control method

Country Status (1)

Country Link
JP (1) JP5471822B2 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013127758A (en) * 2011-12-19 2013-06-27 Fujitsu Ltd Storage device, storage device control method and storage device control program
JP2013164820A (en) * 2012-02-13 2013-08-22 Fujitsu Ltd Evaluation support method, evaluation support program, and evaluation support apparatus
US8667186B2 (en) 2011-10-12 2014-03-04 Fujitsu Limited IO control method and program and computer
JP2015507268A (en) * 2011-12-27 2015-03-05 ソリッドファイア インコーポレイテッド Proportional quality of service based on client usage and system metrics
JP2015184707A (en) * 2014-03-20 2015-10-22 日本電気株式会社 Information processing system, information processor, information processing method and program
JP2017004442A (en) * 2015-06-15 2017-01-05 富士通株式会社 Storage management device, storage management method, and storage management program
US10277676B2 (en) 2014-11-19 2019-04-30 Fujitsu Limited Storage management device, storage management method, and computer-readable recording medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1063603A (en) * 1996-08-27 1998-03-06 Nec Corp Peripheral control device and its load state setting method
JP2005242690A (en) * 2004-02-26 2005-09-08 Hitachi Ltd Storage sub-system and method for tuning performance
JP2008059478A (en) * 2006-09-01 2008-03-13 Hitachi Ltd Storage system and data input/output control method
JP2008186108A (en) * 2007-01-29 2008-08-14 Hitachi Ltd Storage system comprising function for relieving performance bottleneck

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1063603A (en) * 1996-08-27 1998-03-06 Nec Corp Peripheral control device and its load state setting method
JP2005242690A (en) * 2004-02-26 2005-09-08 Hitachi Ltd Storage sub-system and method for tuning performance
JP2008059478A (en) * 2006-09-01 2008-03-13 Hitachi Ltd Storage system and data input/output control method
JP2008186108A (en) * 2007-01-29 2008-08-14 Hitachi Ltd Storage system comprising function for relieving performance bottleneck

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8667186B2 (en) 2011-10-12 2014-03-04 Fujitsu Limited IO control method and program and computer
JP2013127758A (en) * 2011-12-19 2013-06-27 Fujitsu Ltd Storage device, storage device control method and storage device control program
JP2015507268A (en) * 2011-12-27 2015-03-05 ソリッドファイア インコーポレイテッド Proportional quality of service based on client usage and system metrics
JP2013164820A (en) * 2012-02-13 2013-08-22 Fujitsu Ltd Evaluation support method, evaluation support program, and evaluation support apparatus
JP2015184707A (en) * 2014-03-20 2015-10-22 日本電気株式会社 Information processing system, information processor, information processing method and program
US10277676B2 (en) 2014-11-19 2019-04-30 Fujitsu Limited Storage management device, storage management method, and computer-readable recording medium
JP2017004442A (en) * 2015-06-15 2017-01-05 富士通株式会社 Storage management device, storage management method, and storage management program

Also Published As

Publication number Publication date
JP5471822B2 (en) 2014-04-16

Similar Documents

Publication Publication Date Title
JP5471822B2 (en) I / O control program, information processing apparatus, and I / O control method
JP6260407B2 (en) Storage management device, performance adjustment method, and performance adjustment program
US7467291B1 (en) System and method for calibrating headroom margin
JP6191691B2 (en) Abnormality detection apparatus, control method, and program
US11003359B2 (en) Method and device for managing disk pool
US20080109817A1 (en) Schedule control program and schedule control method
US20160378557A1 (en) Task allocation determination apparatus, control method, and program
CN109086009B (en) Monitoring management method and device and computer readable storage medium
CN111124269B (en) Method, electronic device, and computer-readable storage medium for storage management
JP2011238202A (en) System and method for managing resources in logically-partitioned computing system based on resource usage
JP2018514027A (en) System and method for improving quality of service in a hybrid storage system
JP6237170B2 (en) Allocation determination apparatus, control method, and program
US20180217875A1 (en) Data processing system and data processing method
JP2019191886A (en) Information processing apparatus, information processing method, and program
JPWO2015075803A1 (en) Information processing apparatus, method, program, and recording medium
US8245229B2 (en) Temporal batching of I/O jobs
JP6627475B2 (en) Processing resource control program, processing resource control device, and processing resource control method
US11144427B2 (en) Storage system performance models based on empirical component utilization
US10783096B2 (en) Storage system and method of controlling I/O processing
CN105528303B (en) Method and apparatus for managing storage system
JP2018041282A (en) Storage management device, performance adjustment method and performance adjustment program
WO2013129061A1 (en) Control system for simultaneous number of connections, control server for simultaneous number of connections, control method for simultaneous number of connections and control program for simultaneous number of connections
US10747446B2 (en) Computer system and storage device activation control method
CN110874192B (en) Storage management apparatus and storage management method
US20230289273A1 (en) Thermal throttling supression device, thermal throttling supression method, and thermal throttling suppression program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130403

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131219

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140120

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees