JP2017228180A - Information processing system, information processing device, and storage device - Google Patents

Information processing system, information processing device, and storage device Download PDF

Info

Publication number
JP2017228180A
JP2017228180A JP2016125122A JP2016125122A JP2017228180A JP 2017228180 A JP2017228180 A JP 2017228180A JP 2016125122 A JP2016125122 A JP 2016125122A JP 2016125122 A JP2016125122 A JP 2016125122A JP 2017228180 A JP2017228180 A JP 2017228180A
Authority
JP
Japan
Prior art keywords
response
information processing
time
unit
transmission
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.)
Pending
Application number
JP2016125122A
Other languages
Japanese (ja)
Inventor
猛 植田
Takeshi Ueda
猛 植田
明宇 成瀬
Akitaka Naruse
明宇 成瀬
宏章 今野
Hiroaki Konno
宏章 今野
弘 小嵐
Hiroshi Koarashi
弘 小嵐
千葉 博
Hiroshi Chiba
博 千葉
秀和 河野
Hidekazu Kawano
秀和 河野
仁美 秋山
Hitomi Akiyama
仁美 秋山
憲二 樋口
Kenji Higuchi
憲二 樋口
礼介 中川
Reisuke Nakagawa
礼介 中川
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 JP2016125122A priority Critical patent/JP2017228180A/en
Publication of JP2017228180A publication Critical patent/JP2017228180A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

PROBLEM TO BE SOLVED: To improve the processing performance of an information processing system.SOLUTION: An information processing system 1 can include an information processing device 2 and a storage device 3. The information processing device 2 can execute transmission processing for transmitting an access request to the storage device 3. The storage device 3 can perform processing corresponding to the access request transmitted by the transmission processing to transmit a response to the information processing device 2. The information processing device 2 or the storage device 3 can include a determination part 324 for determining whether to determine control of transmission timing of the response to the information processing device 2 on the basis of an index about transmission delay of the access request resulting from the transmission processing. The storage device 3 can include a response control part 325 for controlling the transmission timing of the response to the information processing device 2 on the basis of a determination result by the determination part 324.SELECTED DRAWING: Figure 5

Description

本発明は、情報処理システム、情報処理装置、及びストレージ装置に関する。   The present invention relates to an information processing system, an information processing apparatus, and a storage apparatus.

複数の装置を接続して運用する情報処理システムでは、情報処理システム全体としての性能、例えばIO(Input Output;入出力)性能は、複数の装置のうちの処理性能が低い側の装置の性能で頭打ちとなる。   In an information processing system in which a plurality of devices are connected and operated, the performance of the information processing system as a whole, such as IO (Input Output) performance, is the performance of the device with the lower processing performance among the plurality of devices. It becomes a peak.

一例として、情報処理装置(例えばホストサーバ)とストレージ装置とを接続して運用する情報処理システムでは、情報処理装置側の性能が高い場合が多く、情報処理システム全体としてのIO性能は、ストレージ装置の性能で頭打ちとなることが多い。   As an example, in an information processing system that operates by connecting an information processing apparatus (for example, a host server) and a storage apparatus, the performance of the information processing apparatus side is often high, and the IO performance of the information processing system as a whole is In many cases, the performance will reach a peak.

近年、ストレージ装置に搭載されるプロセッサの高速化に伴い、ストレージ装置のIO性能が向上している。   In recent years, with an increase in the speed of processors mounted on storage devices, the IO performance of storage devices has improved.

特開2005−190057号公報Japanese Patent Laid-Open No. 2005-190057 特開2007−179359号公報JP 2007-179359 A 特開2014−10519号公報JP 2014-10519 A

情報処理装置とストレージ装置とを接続して運用する情報処理システムにおいて、システムの構築の際の設計や運用後のストレージ装置のリプレース等により、IO性能の高いストレージ装置が用いられる場合がある。   In an information processing system in which an information processing apparatus and a storage apparatus are connected and operated, a storage apparatus with high IO performance may be used due to design at the time of system construction or replacement of the storage apparatus after operation.

このような場合、ストレージ装置の処理性能が情報処理装置の処理性能を上回り、情報処理システム全体としてのIO性能がホスト装置側の性能で頭打ちとなることがある。このため、ストレージ装置の性能を活かせず、システム全体のIO性能が、ストレージ装置の性能を十分に発揮した場合よりも低下することがある。   In such a case, the processing performance of the storage device may exceed the processing performance of the information processing device, and the IO performance of the information processing system as a whole may reach its peak on the host device side. For this reason, the performance of the storage apparatus cannot be utilized, and the IO performance of the entire system may be lower than when the performance of the storage apparatus is fully exhibited.

1つの側面では、本発明は、情報処理システムの処理性能を向上させることを目的の1つとする。   In one aspect, an object of the present invention is to improve the processing performance of an information processing system.

なお、前記目的に限らず、後述する発明を実施するための形態に示す各構成により導かれる作用効果であって、従来の技術によっては得られない作用効果を奏することも本発明の他の目的の1つとして位置付けることができる。   In addition, the present invention is not limited to the above-described object, and other effects of the present invention can be achieved by the functions and effects derived from the respective configurations shown in the embodiments for carrying out the invention which will be described later. It can be positioned as one of

1つの側面では、情報処理システムは、情報処理装置と、ストレージ装置と、をそなえてよい。前記情報処理装置は、前記ストレージ装置へのアクセス要求を送信するための送信処理を実行してよい。前記ストレージ装置は、前記送信処理により送信されたアクセス要求に応じた処理を行ない、前記情報処理装置に応答を送信してよい。前記情報処理装置又は前記ストレージ装置は、前記送信処理に起因したアクセス要求の送信遅延に関する指標に基づいて、前記情報処理装置への応答の送信タイミングの制御を実施するか否かを判定する判定部をそなえてよい。前記ストレージ装置は、前記判定部の判定結果に基づいて、前記情報処理装置への応答の送信タイミングを制御する制御部をそなえてよい。   In one aspect, the information processing system may include an information processing device and a storage device. The information processing apparatus may execute a transmission process for transmitting an access request to the storage apparatus. The storage device may perform processing according to the access request transmitted by the transmission processing, and transmit a response to the information processing device. The information processing apparatus or the storage apparatus determines whether to control transmission timing of a response to the information processing apparatus based on an index related to a transmission delay of an access request caused by the transmission process You may have. The storage device may include a control unit that controls transmission timing of a response to the information processing device based on a determination result of the determination unit.

1つの側面では、情報処理システムの処理性能を向上できる。   In one aspect, the processing performance of the information processing system can be improved.

比較例に係る情報処理システムの構成例を示すブロック図である。It is a block diagram which shows the structural example of the information processing system which concerns on a comparative example. CPUの稼働状況の変化の一例を示す図である。It is a figure which shows an example of the change of the operating condition of CPU. 第1及び第2実施形態に係る情報処理システムの構成例を示すブロック図である。It is a block diagram which shows the structural example of the information processing system which concerns on 1st and 2nd embodiment. 第1及び第2実施形態に係るコンピュータのハードウェア構成例を示すブロック図である。It is a block diagram which shows the hardware structural example of the computer which concerns on 1st and 2nd embodiment. 第1実施形態に係る情報処理システムの機能構成例を示すブロック図である。It is a block diagram which shows the function structural example of the information processing system which concerns on 1st Embodiment. 第1実施形態に係るホスト装置及びRAID装置がそれぞれ管理する測定結果の一例を示す図である。It is a figure which shows an example of the measurement result which the host apparatus and RAID apparatus which concern on 1st Embodiment manage, respectively. ホスト装置及びRAID装置が測定する応答時間の一例を説明する図である。It is a figure explaining an example of the response time which a host apparatus and a RAID apparatus measure. ホスト装置及びRAID装置が測定する応答時間の一例を説明する図である。It is a figure explaining an example of the response time which a host apparatus and a RAID apparatus measure. 応答制御部による応答制御と、システムCPU時間との関係の一例を説明する図である。It is a figure explaining an example of the relationship between the response control by a response control part, and system CPU time. 時系列に沿ったシステム全体のIO処理性能の一例を示す図である。It is a figure which shows an example of IO processing performance of the whole system along a time series. 第1実施形態に係るホスト装置の動作例を説明するフローチャートである。5 is a flowchart for explaining an operation example of the host device according to the first embodiment. 第1実施形態に係るRAID装置の動作例を説明するフローチャートである。5 is a flowchart for explaining an operation example of the RAID device according to the first embodiment. 図11に示す「サンプリング応答時間(A)」の測定の動作例を示す図である。It is a figure which shows the operation example of the measurement of "sampling response time (A)" shown in FIG. 図12に示す「サンプリング応答時間(D)」の測定の動作例を示す図である。It is a figure which shows the operation example of the measurement of "sampling response time (D)" shown in FIG. 図11に示す「現在の応答時間(B)」の測定の動作例を示す図である。It is a figure which shows the operation example of a measurement of "the present response time (B)" shown in FIG. 図12に示す「現在の応答時間(E)」の測定の動作例を示す図である。It is a figure which shows the operation example of the measurement of "the present response time (E)" shown in FIG. 図11に示す「CPU使用率(C)」の測定の動作例を示す図である。It is a figure which shows the operation example of a measurement of "CPU usage rate (C)" shown in FIG. 図11及び図12における、ホスト装置からRAID装置への測定結果の通知の動作例を示す図である。FIG. 13 is a diagram illustrating an operation example of notification of measurement results from the host device to the RAID device in FIGS. 11 and 12. 図12における応答遅延処理の動作例を示す図である。It is a figure which shows the operation example of the response delay process in FIG. 第2実施形態に係る情報処理システムの機能構成例を示すブロック図である。It is a block diagram which shows the function structural example of the information processing system which concerns on 2nd Embodiment. 第2実施形態に係るホスト装置及びRAID装置がそれぞれ管理する測定結果の一例を示す図である。It is a figure which shows an example of the measurement result which the host apparatus and RAID apparatus which concern on 2nd Embodiment manage, respectively. 第2実施形態に係るホスト装置の動作例を説明するフローチャートである。It is a flowchart explaining the operation example of the host apparatus which concerns on 2nd Embodiment. 第2実施形態に係るRAID装置の動作例を説明するフローチャートである。It is a flowchart explaining the operation example of the RAID apparatus which concerns on 2nd Embodiment. 第2実施形態に係るRAID装置における応答制御の動作例を説明するフローチャートである。It is a flowchart explaining the operation example of the response control in the RAID apparatus which concerns on 2nd Embodiment. 図22及び図23における、RAID装置からホスト装置への測定結果の通知の動作例を示す図である。FIG. 24 is a diagram illustrating an operation example of notification of measurement results from the RAID device to the host device in FIGS. 22 and 23. 図22及び図24における応答遅延処理の動作例を示す図である。FIG. 25 is a diagram illustrating an operation example of response delay processing in FIGS. 22 and 24.

以下、図面を参照して本発明の実施の形態を説明する。ただし、以下に説明する実施形態は、あくまでも例示であり、以下に明示しない種々の変形や技術の適用を排除する意図はない。例えば、本実施形態を、その趣旨を逸脱しない範囲で種々変形して実施することができる。なお、以下の説明で用いる図面において、同一符号を付した部分は、特に断らない限り、同一若しくは同様の部分を表す。   Embodiments of the present invention will be described below with reference to the drawings. However, the embodiment described below is merely an example, and there is no intention to exclude various modifications and technical applications that are not explicitly described below. For example, the present embodiment can be implemented with various modifications without departing from the spirit of the present embodiment. Note that, in the drawings used in the following description, parts denoted by the same reference numerals represent the same or similar parts unless otherwise specified.

〔1〕比較例
はじめに、図1を参照して、比較例に係る情報処理システム100を説明する。図1に示すように、情報処理システム100は、例示的に、ホスト装置200及びRAID装置300をそなえてよい。なお、RAIDはRedundant Arrays of Inexpensive Disksの略称である。
[1] Comparative Example First, an information processing system 100 according to a comparative example will be described with reference to FIG. As illustrated in FIG. 1, the information processing system 100 may include a host device 200 and a RAID device 300, for example. RAID is an abbreviation for Redundant Arrays of Inexpensive Disks.

ホスト装置200は、ハードウェア構成として、CPU(Central Processing Unit)200a、メモリ200b、及びHBA(Host Bus Adaptor)200cをそなえる。   The host device 200 includes a CPU (Central Processing Unit) 200a, a memory 200b, and an HBA (Host Bus Adapter) 200c as hardware configurations.

また、ホスト装置200は、メモリ200bに展開されCPU200aにより実行されるソフトウェア構成として、1以上(図1の例では2つ)のアプリケーション210とOS(Operating System)220とをそなえる。   In addition, the host device 200 includes one or more (two in the example of FIG. 1) applications 210 and an OS (Operating System) 220 as software configurations developed in the memory 200b and executed by the CPU 200a.

OS220は、OS220の一部の機能、例えばHBAドライバの一機能として、IOキュー230をそなえる。IOキュー230は、コマンドの待ち行列の一例である。   The OS 220 includes an IO queue 230 as a part of the function of the OS 220, for example, one function of the HBA driver. The IO queue 230 is an example of a command queue.

RAID装置300は、ハードウェア構成として、CPU300a、メモリ300b、CA(Channel Adaptor)300c、及び1以上(図1の例では2つ)の記憶装置300dをそなえる。   The RAID device 300 includes a CPU 300a, a memory 300b, a CA (Channel Adapter) 300c, and one or more (two in the example of FIG. 1) storage devices 300d as hardware configurations.

以下、情報処理システム100において、ホスト装置200のアプリケーション210がRAID装置300の記憶装置300dに配置されたデータにアクセスする手順の一例を説明する。   Hereinafter, in the information processing system 100, an example of a procedure for the application 210 of the host device 200 to access data arranged in the storage device 300d of the RAID device 300 will be described.

はじめに、アプリケーション210がRAID装置300へのIO要求をOS220に出力する(図1の矢印(i)参照)。なお、IO要求は、アクセス要求の一例であり、例えば、RAID装置300へのリード又はライト等のアクセスに関するコマンドが含まれてよい。以下、IO要求を、「コマンド」或いは「アクセス要求」と表記する場合がある。   First, the application 210 outputs an IO request to the RAID device 300 to the OS 220 (see arrow (i) in FIG. 1). The IO request is an example of an access request, and may include a command related to access such as read or write to the RAID device 300, for example. Hereinafter, the IO request may be referred to as “command” or “access request”.

OS220は、受信したコマンドをIOキュー230に登録する。なお、IOキュー230の行列には上限があるため、IOキュー230に上限までコマンドが登録され、IOキュー230に空きがない場合がある。この場合、OS220は、IOキュー230に空きができたときに、次のコマンドを登録する。   The OS 220 registers the received command in the IO queue 230. Since there is an upper limit in the queue of the IO queue 230, commands may be registered up to the upper limit in the IO queue 230, and the IO queue 230 may be free. In this case, the OS 220 registers the next command when the IO queue 230 becomes available.

IOキュー230に空きができたときとは、例えば、IOキュー230内の最も古いコマンドの1つ前のコマンドの処理が完了したことをRAID装置300から報告され、最も古いコマンドをRAID装置300に発行したとき等が挙げられる。   When the IO queue 230 is empty, for example, the RAID device 300 reports that the processing of the command immediately before the oldest command in the IO queue 230 is completed, and the oldest command is sent to the RAID device 300. Such as when issued.

OS220は、IOキュー230に登録されている最も古いコマンドをRAID装置300に対して発行する。発行されたコマンドは、HBA200c及びCA300cを経由してRAID装置300に伝達される(矢印(ii)参照)。RAID装置300のCPU300aは、伝達されたコマンドを記憶装置300dに対して実行する。   The OS 220 issues the oldest command registered in the IO queue 230 to the RAID device 300. The issued command is transmitted to the RAID device 300 via the HBA 200c and the CA 300c (see arrow (ii)). The CPU 300a of the RAID device 300 executes the transmitted command to the storage device 300d.

RAID装置300は、OS220が発行したコマンドが完了すると(例えば、コマンドに応じた処理が完了すると)、CA300c、HBA200c及びOS220を経由して、アプリケーション210にコマンドの完了を通知する(矢印(iii)参照)。   When the command issued by the OS 220 is completed (for example, when processing corresponding to the command is completed), the RAID device 300 notifies the application 210 of the completion of the command via the CA 300c, HBA 200c, and OS 220 (arrow (iii)). reference).

アプリケーション210は、コマンドが完了したことをRAID装置300から報告されると、図1の矢印(i)に示すように、アクセスに係る次のコマンドをOS220に出力し、次のコマンドがIOキュー230に登録される。   When the RAID device 300 reports that the command has been completed, the application 210 outputs the next command related to access to the OS 220 as shown by the arrow (i) in FIG. Registered in

ここで、上述した動作を行なう情報処理システム100について、ホスト装置200のCPU200aの使用率に着目する。図2は、CPU200aの稼働状況の変化の一例を示す図である。   Here, regarding the information processing system 100 that performs the above-described operation, attention is paid to the usage rate of the CPU 200a of the host device 200. FIG. 2 is a diagram illustrating an example of a change in the operating status of the CPU 200a.

図2の(a)に示すように、CPU200aの稼働時間は、その用途に応じて、例えば、「ユーザCPU時間」、「システムCPU時間」、及び「アイドル時間」に大別できる。なお、図2の(a)は、情報処理システム100の定常状態の一例を示す。   As shown in FIG. 2A, the operating time of the CPU 200a can be roughly divided into, for example, “user CPU time”, “system CPU time”, and “idle time” according to the application. 2A shows an example of a steady state of the information processing system 100. FIG.

「ユーザCPU時間」は、CPU200aの稼動時間に対する、アプリケーション210自体がCPU200aを使用する合計時間の占める割合を意味してよい。また、「システムCPU時間」は、アプリケーション210の依頼でOS220が処理を行なうためにCPU200aを使用する合計時間の占める割合を意味してよい。なお、OS220の処理には、RAID装置300に対するIO処理を含んでよい。さらに、「アイドル時間」は、アプリケーション210及びOS220がCPU200aを使用していない合計時間の占める割合を意味してよい。   “User CPU time” may mean the ratio of the total time that the application 210 itself uses the CPU 200a to the operating time of the CPU 200a. The “system CPU time” may mean a ratio of the total time for which the CPU 220a uses the CPU 220a to perform processing at the request of the application 210. Note that the processing of the OS 220 may include IO processing for the RAID device 300. Furthermore, the “idle time” may mean a ratio of the total time that the application 210 and the OS 220 are not using the CPU 200a.

図2の(a)の例では、「ユーザCPU時間」、「システムCPU時間」、及び「アイドル時間」の表示単位はそれぞれ「%」であり、これらの合計は100%である。CPU200aの使用率の内訳は可変であり、アプリケーション210自体が多く処理を行なっている場合は「ユーザCPU時間」の割合が増え、アプリケーション210の依頼でOS220が多く処理を行なっている場合は「システムCPU時間」の割合が増える。   In the example of FIG. 2A, the display units of “user CPU time”, “system CPU time”, and “idle time” are each “%”, and the sum of these is 100%. The breakdown of the usage rate of the CPU 200a is variable. When the application 210 itself performs a large amount of processing, the ratio of “user CPU time” increases. When the OS 220 performs a large amount of processing at the request of the application 210, “system” The ratio of “CPU time” increases.

「アイドル時間」が存在するとき、アプリケーション210は「アイドル時間」を減らし、(例えば減らした分)「ユーザCPU時間」を増やしてアプリケーション210の処理量を増やすことができる。同様に、「アイドル時間」が存在するとき、OS220は「アイドル時間」を減らし、(例えば減らした分)「システムCPU時間」を増やしてOS220の処理量を増やすことができる。   When the “idle time” exists, the application 210 can decrease the “idle time” and increase the “user CPU time” (for example, the reduced amount) to increase the processing amount of the application 210. Similarly, when the “idle time” exists, the OS 220 can decrease the “idle time” and increase the “system CPU time” (for example, the reduced amount) to increase the processing amount of the OS 220.

一例として、図1を参照して説明したように、アプリケーション210は、IOキュー230にコマンドを登録するためには、「ユーザCPU時間」を使用する。換言すれば、「ユーザCPU時間」の割合が増加する。一方、IOキュー230に空きがない場合、アプリケーション210は待ち状態となり、「ユーザCPU時間」の割合は減少する。   As an example, as described with reference to FIG. 1, the application 210 uses “user CPU time” in order to register a command in the IO queue 230. In other words, the ratio of “user CPU time” increases. On the other hand, if there is no free space in the IO queue 230, the application 210 enters a waiting state, and the ratio of “user CPU time” decreases.

また、OS220は、IOキュー230に登録されている最も古いコマンドをRAID装置300に対して発行するためには、「システムCPU時間」を使用する。換言すれば、「システムCPU時間」の割合が増加する。一方、最も古いコマンドをIOキュー230からRAID装置300に発行し終えたとき、「システムCPU時間」の割合は減少する。   The OS 220 uses “system CPU time” in order to issue the oldest command registered in the IO queue 230 to the RAID device 300. In other words, the ratio of “system CPU time” increases. On the other hand, when the oldest command has been issued from the IO queue 230 to the RAID device 300, the ratio of “system CPU time” decreases.

ここで、OS220がコマンドをRAID装置300に対して発行できるのは、「システムCPU時間」が使用できるとき、換言すれば、「アイドル時間」が存在し「システムCPU時間」を増やせる場合である。なお、「アイドル時間」が存在しない場合でも、コマンドをRAID装置300に対して発行し終えて、そのために使用していた「システムCPU時間」が解放された場合、OS220は、「システムCPU時間」を増やしてコマンドを発行できる。   Here, the OS 220 can issue a command to the RAID device 300 when “system CPU time” is available, in other words, when “idle time” exists and “system CPU time” can be increased. Even when the “idle time” does not exist, when the “system CPU time” used for the completion of issuing the command to the RAID device 300 is released, the OS 220 determines that the “system CPU time” The command can be issued with more.

また、コマンドが完了したことの通知をRAID装置300から受ける処理のために、OS220は「システムCPU時間」を使用し、アプリケーション210は「ユーザCPU時間」を使用する。   Further, in order to receive a notification that the command has been completed from the RAID device 300, the OS 220 uses “system CPU time” and the application 210 uses “user CPU time”.

ここで、アプリケーション210は、IOキュー230に空きがあれば、IOキュー230がフルになるまで、「アイドル時間」を減らして「ユーザCPU時間」を増やし、連続して又はまとめて、複数のコマンドをIOキュー230に登録してよい。なお、このとき、OS220は、アプリケーション210から受信したコマンドについてRAID装置300に対するIO処理を行なうため、「システムCPU時間」も増加する。   Here, if the IO queue 230 has a free space, the application 210 reduces the “idle time” and increases the “user CPU time” until the IO queue 230 becomes full, and continuously or collectively collects a plurality of commands. May be registered in the IO queue 230. At this time, the OS 220 performs IO processing on the RAID device 300 with respect to the command received from the application 210, so that “system CPU time” also increases.

図2の(b)に、IOキュー230がフルになった場合のCPU200aの稼働状況の一例を示す。図2の(b)では、アプリケーション210が「ユーザCPU時間」を、アプリケーション210からコマンド発行を依頼されたOS220が「システムCPU時間」を、それぞれ限界まで使用し、「アイドル時間」が0%になった場合を例示する。   FIG. 2B shows an example of the operating status of the CPU 200a when the IO queue 230 becomes full. In FIG. 2B, the application 210 uses “user CPU time”, the OS 220 requested to issue a command from the application 210 uses “system CPU time” to the limit, and the “idle time” becomes 0%. An example will be given.

IOキュー230がフルになると、アプリケーション210は待ち状態となり、「ユーザCPU時間」は減少する。そして、「ユーザCPU時間」と「システムCPU時間」とが、図2の(c)に例示するような均衡状態に収束する。   When the IO queue 230 becomes full, the application 210 enters a waiting state, and the “user CPU time” decreases. Then, “user CPU time” and “system CPU time” converge to an equilibrium state as illustrated in FIG.

均衡状態では、上述のようにIOキュー230はフルであるため、アプリケーション210が次のコマンドをIOキュー230に登録する機会は、OS220が「システムCPU時間」を使ってIOキュー230内の最も古いコマンドを発行したときに制限される。この場合、IOキュー230に空きができるまで、アプリケーション210によるコマンドの発行は制限される。   In equilibrium, the IO queue 230 is full as described above, so the opportunity for the application 210 to register the next command in the IO queue 230 is the oldest in the IO queue 230 by the OS 220 using “system CPU time”. Limited when the command is issued. In this case, the issue of commands by the application 210 is limited until the IO queue 230 is empty.

一方、RAID装置300は、さらに多くのコマンドが発行されれば、IO性能をさらに発揮できる状態であっても、ホスト装置200からはこれ以上多くのコマンドが発行されないため、これ以上のIO性能を発揮できない。   On the other hand, if more commands are issued, the host device 200 does not issue any more commands even if the IO performance can be further exhibited. I can't show it.

このように、ホスト装置200のCPU200aの性能限界に起因して、ホスト装置200、ひいては情報処理システム100全体のIO性能が飽和することがある(図2の(c)参照)。換言すれば、ホスト装置200よりも処理性能の高いRAID装置300の処理性能を活かせない場合がある。   As described above, due to the performance limit of the CPU 200a of the host device 200, the IO performance of the host device 200, and hence the information processing system 100 as a whole, may be saturated (see FIG. 2C). In other words, the processing performance of the RAID device 300 having higher processing performance than the host device 200 may not be utilized.

〔2〕実施形態について
そこで、後述する第1及び第2実施形態では、上述した運用形態において、情報処理システムの処理性能を向上させる手法について説明する。
[2] Embodiments In the first and second embodiments to be described later, a method for improving the processing performance of the information processing system in the above-described operation mode will be described.

第1及び第2実施形態では、後述するように、RAID装置側のIO処理の応答を制御することにより、ホスト装置のCPU時間の内訳を最適化し、情報処理システム全体のIO性能を改善させることができる。RAID装置側のIO処理の応答の制御は、ホスト装置における送信処理に起因したアクセス要求の送信遅延に関する指標に基づいて、ホスト装置に適用するプログラム、及び、RAID装置に適用するプログラムが協調して動作することで実現されてよい。   In the first and second embodiments, as described later, the breakdown of the CPU time of the host device is optimized and the IO performance of the entire information processing system is improved by controlling the response of the IO processing on the RAID device side. Can do. The control of the response of the IO processing on the RAID device side is based on the coordination of the program applied to the host device and the program applied to the RAID device based on an index related to the transmission delay of the access request caused by the transmission processing in the host device. It may be realized by operating.

〔2−1〕情報処理システムの構成例
はじめに、図3を参照して、第1及び第2実施形態に係る情報処理システム1の構成例を説明する。なお、情報処理システム1の構成例は、後述する第1及び第2実施形態で共通に用いられてよい。
[2-1] Configuration Example of Information Processing System First, a configuration example of the information processing system 1 according to the first and second embodiments will be described with reference to FIG. Note that the configuration example of the information processing system 1 may be used in common in first and second embodiments described later.

図3に示すように、情報処理システム1は、例示的に、ホスト装置2及びRAID装置3をそなえてよい。情報処理システム1は、ホスト装置2とRAID装置3とを接続して運用するシステムの一例である。   As illustrated in FIG. 3, the information processing system 1 may include a host device 2 and a RAID device 3 exemplarily. The information processing system 1 is an example of a system that operates by connecting a host device 2 and a RAID device 3.

ホスト装置2は、RAID装置3へのアクセス要求を送信するための送信処理を実行する情報処理装置の一例である。情報処理装置としては、サーバやPC(Personal Computer)等のコンピュータが挙げられる。   The host device 2 is an example of an information processing device that executes a transmission process for transmitting an access request to the RAID device 3. Examples of the information processing apparatus include computers such as servers and PCs (Personal Computers).

ホスト装置2は、ハードウェア構成として、CPU2a、メモリ2b、HBA2c−1、及びNIC(Network Interface Card)2c−2をそなえてよい。   The host device 2 may include a CPU 2a, a memory 2b, an HBA 2c-1, and a NIC (Network Interface Card) 2c-2 as hardware configurations.

また、ホスト装置2は、メモリ2bに展開されCPU2aにより実行されるソフトウェア構成として、1以上(図3の例では2つ)のアプリケーション21とOS22とをそなえてよい。   Further, the host device 2 may include one or more (two in the example of FIG. 3) applications 21 and the OS 22 as a software configuration developed in the memory 2b and executed by the CPU 2a.

OS22は、ホスト装置2の管理を行なう基本ソフトの一例である。OS22は、OS22の一部の機能として、IOキュー23及びホスト側制御部24をそなえてよい。   The OS 22 is an example of basic software that manages the host device 2. The OS 22 may include an IO queue 23 and a host side control unit 24 as a part of the functions of the OS 22.

IOキュー23は、例えば、HBA2c−1のドライバであるHBAドライバにより管理されてよい。IOキュー23は、コマンドの待ち行列の一例であり、例えばFIFO方式のデータ構造を有してよい。或いは、IOキュー23は、HBAドライバにより管理されるHBAキューと、OS22が管理するOSキューとの組み合わせとして位置付けられてもよい。   The IO queue 23 may be managed by, for example, an HBA driver that is a driver of the HBA 2c-1. The IO queue 23 is an example of a command queue, and may have, for example, a FIFO data structure. Alternatively, the IO queue 23 may be positioned as a combination of an HBA queue managed by the HBA driver and an OS queue managed by the OS 22.

ホスト側制御部24は、OS22に追加される機能であってよく、例えばドライバ等のソフトウェアとして提供されてよい。ドライバとしては、例えば、ホスト装置2とRAID装置3とをマルチパスで接続するためのマルチパスドライバが挙げられる。ホスト側制御部24については後述する。   The host-side control unit 24 may be a function added to the OS 22 and may be provided as software such as a driver. An example of the driver is a multipath driver for connecting the host device 2 and the RAID device 3 by multipath. The host side control unit 24 will be described later.

CPU2aは、種々の制御や演算を行なうプロセッサの一例である。プロセッサとしては、CPU2a等の演算処理装置に代えて、電子回路、例えばMPU(Micro Processing Unit)、ASIC(Application Specific Integrated Circuit)、又はFPGA(Field Programmable Gate Array)等の集積回路(IC)が用いられてもよい。   The CPU 2a is an example of a processor that performs various controls and operations. As the processor, an electronic circuit, for example, an integrated circuit (IC) such as an MPU (Micro Processing Unit), an ASIC (Application Specific Integrated Circuit), or an FPGA (Field Programmable Gate Array) is used instead of the arithmetic processing unit such as the CPU 2a. May be.

メモリ2bは、種々のデータやプログラム等の情報を格納するハードウェアの一例である。メモリ2bとしては、例えばRAM(Random Access Memory)等の揮発性メモリが挙げられる。   The memory 2b is an example of hardware that stores information such as various data and programs. Examples of the memory 2b include a volatile memory such as a RAM (Random Access Memory).

HBA2c−1及びNIC2c−2は、それぞれ、RAID装置3等との間の接続及び通信の制御等を行なう通信インタフェースの一例である。   The HBA 2c-1 and the NIC 2c-2 are examples of communication interfaces that perform connection and communication control with the RAID device 3 and the like, respectively.

HBA2c−1としては、例えば、FC(Fibre Channel;ファイバチャネル)、SAS、SATA、イーサネット(Ethernet)(登録商標)、インフィニバンド(Infiniband)、又はUSB(Universal Serial Bus)等に準拠したアダプタが挙げられる。なお、SASはSerial Attached SCSI (Small Computer System Interface)の略称であり、SATAはSerial ATA (Advanced Technology Attachment)の略称である。   Examples of the HBA 2c-1 include adapters conforming to FC (Fibre Channel), SAS, SATA, Ethernet (registered trademark), Infiniband, USB (Universal Serial Bus), and the like. It is done. Note that SAS is an abbreviation for Serial Attached SCSI (Small Computer System Interface), and SATA is an abbreviation for Serial ATA (Advanced Technology Attachment).

NIC2c−2としては、例えば、イーサネット(登録商標)又はインフィニバンド等に準拠したアダプタが挙げられる。   As NIC2c-2, the adapter based on Ethernet (trademark) or Infiniband etc. is mentioned, for example.

RAID装置3は、ホスト装置2から送信処理により送信されたアクセス要求に応じた処理を行ない、ホスト装置2に応答を送信するストレージ装置の一例である。ストレージ装置としては、RAID装置に限定されず、他の構成又は態様でホスト装置2と通信する種々の装置が用いられてよい。   The RAID device 3 is an example of a storage device that performs processing according to the access request transmitted from the host device 2 by transmission processing and transmits a response to the host device 2. The storage device is not limited to a RAID device, and various devices that communicate with the host device 2 in other configurations or modes may be used.

RAID装置3は、ハードウェア構成として、CPU3a、メモリ3b、CA3c−1、NIC3c−2、及び1以上(図3の例では2つ)の記憶装置3dをそなえてよい。   The RAID device 3 may include a CPU 3a, a memory 3b, a CA 3c-1, a NIC 3c-2, and one or more (two in the example of FIG. 3) storage devices 3d as hardware configurations.

また、RAID装置3は、メモリ3bに展開されCPU3aにより実行されるソフトウェア構成として、ファームウェア31をそなえてよい。   Further, the RAID device 3 may have firmware 31 as a software configuration that is expanded in the memory 3b and executed by the CPU 3a.

ファームウェア31は、RAID装置3の管理を行なう基本ソフトの一例である。ファームウェア31は、ファームウェア31の一部の機能として、ストレージ側制御部32をそなえてよい。   The firmware 31 is an example of basic software that manages the RAID device 3. The firmware 31 may include a storage-side control unit 32 as a partial function of the firmware 31.

ストレージ側制御部32は、ファームウェア31に追加される機能であってよく、例えばドライバ等のソフトウェアとして提供されてよい。ドライバとしては、例えば、マルチパスドライバが挙げられる。ストレージ側制御部32については後述する。   The storage-side control unit 32 may be a function added to the firmware 31 and may be provided as software such as a driver. An example of the driver is a multipath driver. The storage side control unit 32 will be described later.

CA3c−1及びNIC3c−2は、それぞれ、ホスト装置2等との間の接続及び通信の制御等を行なう通信インタフェースの一例である。   The CA 3c-1 and the NIC 3c-2 are examples of communication interfaces that perform connection and communication control with the host device 2 and the like, respectively.

CA3c−1としては、例えば、FC、SAS、SATA、イーサネット(登録商標)、インフィニバンド、又はUSB等に準拠したアダプタが挙げられる。   As CA3c-1, for example, an adapter conforming to FC, SAS, SATA, Ethernet (registered trademark), InfiniBand, USB or the like can be cited.

NIC3c−2としては、例えば、イーサネット(登録商標)又はインフィニバンド等に準拠したアダプタが挙げられる。   As NIC3c-2, the adapter based on Ethernet (trademark) or Infiniband etc. is mentioned, for example.

ホスト装置2のHBA2c−1とRAID装置3のCA3c−1との間は、これらのインタフェースに準拠したケーブルやネットワーク等の通信回線41によって相互に通信可能に接続されてよい。通信回線41には、例えば、SAN(Storage Area Network)、LAN(Local Area Network)やWAN(Wide Area Network)等のイントラネット、或いはインターネット等が含まれてもよい。通信回線41では、例えば、ホスト装置2−RAID装置3間のアクセスに関するコマンドやデータ等の情報が伝送されてよい。   The HBA 2c-1 of the host device 2 and the CA 3c-1 of the RAID device 3 may be connected to each other via a communication line 41 such as a cable or a network conforming to these interfaces. The communication line 41 may include, for example, an intranet such as a SAN (Storage Area Network), a LAN (Local Area Network) or a WAN (Wide Area Network), or the Internet. In the communication line 41, for example, information such as commands and data related to access between the host device 2 and the RAID device 3 may be transmitted.

また、ホスト装置2のNIC2c−2とRAID装置3のNIC3c−2の間は、これらのインタフェースに準拠したケーブルやネットワーク等の管理回線42によって相互に通信可能に接続されてよい。管理回線42には、例えば、LANやWAN等のイントラネット、或いはインターネット等が含まれてもよい。管理回線42では、例えば、ホスト装置2及びRAID装置3の管理用の情報が伝送されてよい。   Further, the NIC 2c-2 of the host device 2 and the NIC 3c-2 of the RAID device 3 may be connected to each other by a management line 42 such as a cable or a network conforming to these interfaces. The management line 42 may include, for example, an intranet such as a LAN or WAN, or the Internet. For example, information for managing the host device 2 and the RAID device 3 may be transmitted through the management line 42.

なお、CPU3a、メモリ3b、CA3c−1、及びNIC2c−2の少なくとも1つは、RAID装置3の制御又は管理を行なうCM(Controller Module)等に実装されてもよい。この場合、CMはRAID装置3に複数設けられて冗長化されてもよい。また、CMはRAID装置3全体を制御又は管理するCE(Controller Enclosure)に搭載されてもよい。   At least one of the CPU 3a, the memory 3b, the CA 3c-1, and the NIC 2c-2 may be mounted on a CM (Controller Module) that controls or manages the RAID device 3. In this case, a plurality of CMs may be provided in the RAID device 3 and made redundant. The CM may be mounted on a CE (Controller Enclosure) that controls or manages the entire RAID device 3.

記憶装置3dは、種々のデータやプログラム等の情報を格納するハードウェアの一例である。RAID装置3では、例えば、複数の記憶装置3dを用いてRAIDが構成されてもよい。記憶装置3dとしては、例えばHDD(Hard Disk Drive)等の磁気ディスク装置、又は、SSD(Solid State Drive)等の半導体ドライブ装置等の各種装置が挙げられる。なお、記憶装置3dは、例えば複数の記憶装置3dを搭載するDE(Drive Enclosure)等に実装されてもよい。   The storage device 3d is an example of hardware that stores information such as various data and programs. In the RAID device 3, for example, a RAID may be configured using a plurality of storage devices 3d. Examples of the storage device 3d include various devices such as a magnetic disk device such as an HDD (Hard Disk Drive) or a semiconductor drive device such as an SSD (Solid State Drive). Note that the storage device 3d may be mounted on, for example, a DE (Drive Enclosure) or the like on which a plurality of storage devices 3d are mounted.

〔2−2〕ハードウェア構成例
次に、ホスト装置2及びRAID装置3のハードウェア構成例について説明する。なお、ホスト装置2と、RAID装置3の少なくとも一部(例えばCM)とは、同様のハードウェア構成をそなえてもよい。以下、便宜上、ホスト装置2と、RAID装置3の少なくとも一部(例えばCM)とをまとめてコンピュータ10と表記し、コンピュータ10のハードウェア構成例を説明する。
[2-2] Hardware Configuration Example Next, hardware configuration examples of the host device 2 and the RAID device 3 will be described. The host device 2 and at least a part (for example, CM) of the RAID device 3 may have the same hardware configuration. Hereinafter, for convenience, the host device 2 and at least a part (for example, CM) of the RAID device 3 are collectively referred to as a computer 10 and a hardware configuration example of the computer 10 will be described.

図4に示すように、コンピュータ10は、例示的に、CPU10a、メモリ10b、IF(Interface)部10c、記憶部10d、入出力部10e、及び読取部10fをそなえてよい。   As shown in FIG. 4, the computer 10 may include, for example, a CPU 10a, a memory 10b, an IF (Interface) unit 10c, a storage unit 10d, an input / output unit 10e, and a reading unit 10f.

CPU10aは、図3に示すCPU2a又は3aの一例である。CPU10aは、コンピュータ内の各ブロックとバスで相互に通信可能に接続されてよい。メモリ10bは、図3に示すメモリ2b又は3bの一例である。   The CPU 10a is an example of the CPU 2a or 3a shown in FIG. The CPU 10a may be communicably connected to each block in the computer via a bus. The memory 10b is an example of the memory 2b or 3b shown in FIG.

IF部10cは、ネットワーク又はデバイス等との間の接続及び通信の制御等を行なう通信インタフェースの一例である。IF部10cは、図3に示すHBA2c−1及びNIC2c−2、又は、CA3c−1及びNIC3c−2の一例である。また、RAID装置3において、IF部10cには、記憶装置3dとの間の接続及び通信の制御等を行なうDA(Device Adaptor)等が含まれてもよい。   The IF unit 10c is an example of a communication interface that performs connection control and communication control with a network or a device. The IF unit 10c is an example of the HBA 2c-1 and NIC 2c-2 or the CA 3c-1 and NIC 3c-2 shown in FIG. Further, in the RAID device 3, the IF unit 10c may include a DA (Device Adapter) that controls connection and communication with the storage device 3d.

記憶部10dは、種々のデータやプログラム等の情報を格納するハードウェアの一例である。記憶部10dとしては、例えばHDD等の磁気ディスク装置、SSD等の半導体ドライブ装置、又は、フラッシュメモリやROM(Read Only Memory)等の不揮発性メモリ、等の各種装置が挙げられる。なお、RAID装置3は、記憶装置3dとは別に記憶部10dをそなえてもよい。   The storage unit 10d is an example of hardware that stores information such as various data and programs. Examples of the storage unit 10d include various devices such as a magnetic disk device such as an HDD, a semiconductor drive device such as an SSD, or a nonvolatile memory such as a flash memory and a ROM (Read Only Memory). The RAID device 3 may include a storage unit 10d separately from the storage device 3d.

例えば記憶部10dは、ホスト装置2又はRAID装置3の各種機能の全部若しくは一部を実現する制御プログラム10hを格納してよい。CPU10aは、例えば記憶部10dに格納された制御プログラム10hをメモリ10bに展開して実行することにより、ホスト装置2又はRAID装置3の機能を実現できる。   For example, the storage unit 10d may store a control program 10h that realizes all or part of various functions of the host device 2 or the RAID device 3. For example, the CPU 10a can realize the functions of the host device 2 or the RAID device 3 by expanding and executing the control program 10h stored in the storage unit 10d in the memory 10b.

なお、制御プログラム10hは、図示しないネットワーク等からIF部10cを介してホスト装置2又はRAID装置3にダウンロードされてもよい。   The control program 10h may be downloaded to the host device 2 or the RAID device 3 from the network or the like (not shown) via the IF unit 10c.

入出力部10eは、マウス、キーボード、又は操作ボタン等の入力部、並びに、ディスプレイ又はプリンタ等の出力部、の一方又は双方を含んでよい。   The input / output unit 10e may include one or both of an input unit such as a mouse, a keyboard, or an operation button, and an output unit such as a display or a printer.

読取部10fは、記録媒体10gに記録されたデータやプログラムの情報を読み出すリーダの一例である。読取部10fは、コンピュータが読取可能な記録媒体10gを接続可能又は挿入可能な接続端子又は装置を含んでよい。読取部10fとしては、例えばUSB等に準拠したアダプタ、記録ディスクへのアクセスを行なうドライブ装置、SDカード等のフラッシュメモリへのアクセスを行なうカードリーダ等が挙げられる。なお、記録媒体10gには制御プログラム10hが格納されてもよい。   The reading unit 10f is an example of a reader that reads data and program information recorded in the recording medium 10g. The reading unit 10f may include a connection terminal or a device that can connect or insert a computer-readable recording medium 10g. Examples of the reading unit 10f include an adapter based on USB or the like, a drive device that accesses a recording disk, a card reader that accesses a flash memory such as an SD card, and the like. Note that the control program 10h may be stored in the recording medium 10g.

記録媒体10gとしては、例示的に、フレキシブルディスク、CD、DVD、ブルーレイディスク等の光ディスクや、USBメモリやSDカード等のフラッシュメモリ、等の非一時的な記録媒体が挙げられる。なお、CDとしては、例示的に、CD−ROM、CD−R、CD−RW等が挙げられる。また、DVDとしては、例示的に、DVD−ROM、DVD−RAM、DVD−R、DVD−RW、DVD+R、DVD+RW等が挙げられる。   Examples of the recording medium 10g include non-temporary recording media such as an optical disk such as a flexible disk, a CD, a DVD, and a Blu-ray disk, and a flash memory such as a USB memory and an SD card. Examples of the CD include CD-ROM, CD-R, CD-RW, and the like. Examples of the DVD include a DVD-ROM, a DVD-RAM, a DVD-R, a DVD-RW, a DVD + R, and a DVD + RW.

上述したコンピュータ10のハードウェア構成は例示である。従って、ホスト装置2又はRAID装置3内でのハードウェアの増減(例えば任意のブロックの追加や削除)、分割、任意の組み合わせでの統合、又は、バスの追加若しくは削除等は適宜行なわれてもよい。例えば、入出力部10e及び読取部10fはRAID装置3に存在しなくてもよい。   The hardware configuration of the computer 10 described above is an example. Accordingly, hardware increase / decrease (for example, addition or deletion of an arbitrary block), division, integration in an arbitrary combination, or addition or deletion of a bus in the host device 2 or the RAID device 3 may be appropriately performed. Good. For example, the input / output unit 10 e and the reading unit 10 f may not exist in the RAID device 3.

〔3〕第1実施形態
〔3−1〕機能構成例
次に、第1実施形態について説明する。図5は、第1実施形態に係る情報処理システム1Aの機能構成例を示すブロック図である。情報処理システム1Aは、図3に示す情報処理システム1の一例である。
[3] First Embodiment [3-1] Functional Configuration Example Next, the first embodiment will be described. FIG. 5 is a block diagram illustrating a functional configuration example of the information processing system 1A according to the first embodiment. The information processing system 1A is an example of the information processing system 1 shown in FIG.

図5に示すように、情報処理システム1Aにおいて、ホスト装置2のOS22は、機能構成として、ホスト側制御部24A及びIO処理部25をそなえてよい。   As shown in FIG. 5, in the information processing system 1 </ b> A, the OS 22 of the host device 2 may include a host-side control unit 24 </ b> A and an IO processing unit 25 as functional configurations.

IO処理部25は、送信キューの一例としてのIOキュー23を管理し、アプリケーション21から入力されるアクセス要求に関する種々の処理を行なってよい。IO処理部25による処理には、例えば、入力されるIO要求のIOキュー23への入力、IOキュー23から所定の順序でコマンドをRAID装置3に送信する処理、等が含まれてよい。また、IO処理部25による処理には、RAID装置3からの応答の受信及びアプリケーション21への当該応答の通知、等が含まれてよい。   The IO processing unit 25 may manage an IO queue 23 as an example of a transmission queue and perform various processes related to access requests input from the application 21. The processing by the IO processing unit 25 may include, for example, input of an input IO request to the IO queue 23, processing for transmitting commands from the IO queue 23 to the RAID device 3 in a predetermined order, and the like. The processing by the IO processing unit 25 may include reception of a response from the RAID device 3, notification of the response to the application 21, and the like.

換言すれば、IO処理部25は、RAID装置3に対してアクセス要求を送信するための送信処理を実行する送信処理部の一例である。また、IO処理部25は、後述する手法によって送信タイミングが制御された、ホスト装置2への応答を、RAID装置3から受信する受信部の一例である。   In other words, the IO processing unit 25 is an example of a transmission processing unit that executes a transmission process for transmitting an access request to the RAID device 3. The IO processing unit 25 is an example of a receiving unit that receives from the RAID device 3 a response to the host device 2 whose transmission timing is controlled by a method described later.

IO処理部25の処理では、「システムCPU時間」が用いられてよい。IO処理部25は、例えば、HBAドライバの少なくとも一部の機能により実現されてよく、通信回線41を介してRAID装置3との間で情報を伝送してよい。   In the processing of the IO processing unit 25, “system CPU time” may be used. For example, the IO processing unit 25 may be realized by at least a part of the functions of the HBA driver, and may transmit information to and from the RAID device 3 via the communication line 41.

ホスト側制御部24Aは、図3に示すホスト側制御部24の一例であり、図5に示すように、例示的に、IO性能測定部241、システム性能測定部242、メモリ部243、及び通信部244をそなえてよい。   The host-side control unit 24A is an example of the host-side control unit 24 illustrated in FIG. 3, and as illustrated in FIG. 5, for example, the IO performance measurement unit 241, the system performance measurement unit 242, the memory unit 243, and the communication A portion 244 may be provided.

IO性能測定部241は、アクセスに関するコマンドの応答時間(レスポンスタイム)を測定し、測定結果をメモリ部243に格納する。IO性能測定部241が測定する応答時間は、後述するRAID装置3のIO性能測定部322が測定する応答時間と合わせて、アクセス要求がIOキュー23に滞在する時間に関する第1の情報の一例である。   The IO performance measurement unit 241 measures a response time (response time) of a command related to access, and stores the measurement result in the memory unit 243. The response time measured by the IO performance measurement unit 241 is an example of first information regarding the time during which an access request stays in the IO queue 23 together with the response time measured by the IO performance measurement unit 322 of the RAID device 3 described later. is there.

コマンドの応答時間は、例えば、IO処理部25が送信処理を開始してから、RAID装置3から応答(例えば完了報告)を受信するまでの第1の時間であってよい。例えば、IO性能測定部241は、IO処理部25を監視し、応答時間の測定に用いる時刻を取得してよい。   The command response time may be, for example, a first time from when the IO processing unit 25 starts transmission processing to when a response (for example, completion report) is received from the RAID device 3. For example, the IO performance measurement unit 241 may monitor the IO processing unit 25 and acquire the time used for response time measurement.

一例として、IO性能測定部241は、コマンドがIO処理部25に入力されたときの時刻を取得してよい。また、IO性能測定部241は、RAID装置3からの応答がIO処理部25で受信されたときの時刻を取得してよい。そして、IO性能測定部241は、応答の受信時刻からコマンドの入力時刻を減算することで、これらの時刻の時間差をホスト装置2での「応答時間(レスポンスタイム)」として取得してよい。   As an example, the IO performance measurement unit 241 may acquire the time when a command is input to the IO processing unit 25. Further, the IO performance measuring unit 241 may acquire the time when the response from the RAID device 3 is received by the IO processing unit 25. Then, the IO performance measurement unit 241 may obtain a time difference between these times as “response time (response time)” in the host device 2 by subtracting the command input time from the response reception time.

応答時間の測定は、ホスト装置2のOS22の起動後、アプリケーション21が処理を開始していないとき等の初期状態で行なわれてもよい。また、応答時間の測定は、アプリケーション21が処理を行なっている運用中(例えば業務中)に、任意のタイミングで(例えば一定時間ごとに)行なわれてもよい。   The response time may be measured in an initial state such as when the application 21 has not started processing after the OS 22 of the host device 2 is activated. Further, the response time may be measured at an arbitrary timing (for example, at regular intervals) during operation (for example, during work) in which the application 21 is processing.

初期状態での応答時間の測定では、IO性能測定部241は、テストIOのコマンド(以下、「テストコマンド」と表記する場合がある)を生成しIO処理部25に入力することで、ホスト装置2の「サンプリング応答時間(A)」を取得してよい。   In the measurement of the response time in the initial state, the IO performance measurement unit 241 generates a test IO command (hereinafter sometimes referred to as “test command”) and inputs the command to the IO processing unit 25, whereby the host device 2 "sampling response time (A)" may be acquired.

なお、テストコマンドに係る、ライト及びリードの種別、アクセスに係るデータサイズ、RAID装置3内でのキャッシュのヒット/ミス等については、任意であってよい。一例として、テストコマンドは、RAID装置3の記憶装置3dにおけるソフトウェアの管理領域に対して、任意のサイズのデータを書き込むコマンドであってもよい。   Note that the type of write and read related to the test command, the data size related to access, the hit / miss of the cache in the RAID device 3, and the like may be arbitrary. As an example, the test command may be a command for writing data of an arbitrary size to a software management area in the storage device 3d of the RAID device 3.

運用中の応答時間の測定では、IO性能測定部241は、アプリケーション21からIO処理部25に入力されるコマンドを対象として、ホスト装置2での「現在の応答時間(B)」を取得してよい。なお、「現在の」とは、応答時間を測定する任意のタイミングの前後一定期間を意味してよい。例えば、IO性能測定部241は、当該タイミングの前後一定期間内にアプリケーション21からIO処理部25に入力されるコマンドを、「現在の応答時間(B)」の測定対象として選択してよい。   In measuring the response time during operation, the IO performance measurement unit 241 obtains “current response time (B)” in the host device 2 for the command input from the application 21 to the IO processing unit 25. Good. “Current” may mean a fixed period before and after an arbitrary timing for measuring the response time. For example, the IO performance measurement unit 241 may select a command input from the application 21 to the IO processing unit 25 within a certain period before and after the timing as a measurement target of “current response time (B)”.

なお、応答時間の始点及び終点は、上述したものに限定されるものではない。応答時間の始点(測定の開始タイミング)は、例えば、アプリケーション21がOS22にコマンドの送信要求を出力したときの時刻、或いは、IOキュー23にIO要求が登録されたときの時刻であってもよい。また、応答時間の終点(測定の終了タイミング)は、例えば、RAID装置3からの応答がアプリケーション21で受信されたときの時刻であってもよい。   Note that the start point and end point of the response time are not limited to those described above. The start point of the response time (measurement start timing) may be, for example, the time when the application 21 outputs a command transmission request to the OS 22 or the time when the IO request is registered in the IO queue 23. . The end point of the response time (measurement end timing) may be, for example, the time when a response from the RAID device 3 is received by the application 21.

システム性能測定部242は、システムの現在の処理性能を測定する。処理性能は、ホスト装置2のCPU2aが送信処理に割当可能な処理能力に関する第2の情報の一例である。   The system performance measurement unit 242 measures the current processing performance of the system. The processing performance is an example of second information regarding the processing capability that the CPU 2a of the host device 2 can allocate to the transmission processing.

例えば、システム性能測定部242は、任意のタイミング、例えば一定時間ごとに、ホスト装置2のCPU2aの使用率に関する情報を測定し、測定した結果を「CPU使用率(C)」としてメモリ部243に格納してよい。   For example, the system performance measurement unit 242 measures information on the usage rate of the CPU 2a of the host device 2 at an arbitrary timing, for example, every fixed time, and the measurement result is stored in the memory unit 243 as “CPU usage rate (C)”. May be stored.

CPU2aの使用率に関する情報としては、例えば、現在の「アイドル時間」、換言すれば、CPU2aの稼働時間に対する、アプリケーション21及びOS22がCPU2aを使用していない合計時間の占める割合の情報が含まれてよい。なお、CPU2aの使用率に関する情報には、現在の「ユーザCPU時間」及び「システムCPU時間」の少なくとも一方が含まれてもよい。   The information on the usage rate of the CPU 2a includes, for example, the current “idle time”, in other words, information on the ratio of the total time that the application 21 and the OS 22 are not using the CPU 2a to the operating time of the CPU 2a. Good. The information on the usage rate of the CPU 2a may include at least one of the current “user CPU time” and “system CPU time”.

メモリ部243は、IO性能測定部241及びシステム性能測定部242による測定結果243aの情報を格納する。メモリ部243は、例えば図3に示すメモリ2bの記憶領域により実現されてよい。   The memory unit 243 stores information on the measurement result 243a obtained by the IO performance measurement unit 241 and the system performance measurement unit 242. The memory unit 243 may be realized by the storage area of the memory 2b shown in FIG. 3, for example.

測定結果243aは、図6に例示するように、「サンプリング応答時間(A)」、「現在の応答時間(B)」、及び「CPU使用率(C)」を含んでよい。なお、測定結果243aのうち、「現在の応答時間(B)」及び「CPU使用率(C)」については、少なくとも最新の情報が含まれていればよく、例えば「現在の応答時間(B)」及び「CPU使用率(C)」を格納する際に、過去の情報は削除されてもよい。   As illustrated in FIG. 6, the measurement result 243a may include “sampling response time (A)”, “current response time (B)”, and “CPU usage rate (C)”. Of the measurement results 243a, “current response time (B)” and “CPU usage rate (C)” need only include at least the latest information. For example, “current response time (B)”. ”And“ CPU usage rate (C) ”, the past information may be deleted.

通信部244は、RAID装置3との間で管理情報の通信を行なう。例えば、通信部244は、RAID装置3に対して、メモリ部243に格納された測定結果243aの少なくとも一部の情報を送信してよい。   The communication unit 244 communicates management information with the RAID device 3. For example, the communication unit 244 may transmit at least part of the information of the measurement result 243 a stored in the memory unit 243 to the RAID device 3.

例えば、通信部244は、図6に例示するように、測定結果243aのうちの「サンプリング応答時間(A)」については、システム(例えばOS22)起動後、換言すれば、IO性能測定部241による測定後に、RAID装置3に送信してよい。また、通信部244は、図6に例示するように、測定結果243aのうちの「現在の応答時間(B)」及び「CPU使用率(C)」については、一定時間ごと、換言すれば、IO性能測定部241による各測定の後、RAID装置3に送信してよい。一定時間は、ユーザが任意で設定してよい。   For example, as illustrated in FIG. 6, the communication unit 244 performs “sampling response time (A)” in the measurement result 243 a after the system (for example, OS 22) is started, in other words, by the IO performance measurement unit 241. You may transmit to the RAID apparatus 3 after a measurement. Further, as illustrated in FIG. 6, the communication unit 244, for the “current response time (B)” and the “CPU usage rate (C)” in the measurement result 243 a, in other words, After each measurement by the IO performance measurement unit 241, it may be transmitted to the RAID device 3. The fixed time may be arbitrarily set by the user.

なお、通信部244は、管理回線42を介してRAID装置3との間で情報を伝送してよい。通信部244は、HBA2c−1及びCPU2aの少なくとも一部により実現されてよい。   The communication unit 244 may transmit information to and from the RAID device 3 through the management line 42. The communication unit 244 may be realized by at least a part of the HBA 2c-1 and the CPU 2a.

情報処理システム1Aにおいて、RAID装置3のファームウェア31は、機能構成として、ストレージ側制御部32A及びIO処理・応答部33をそなえてよい。   In the information processing system 1A, the firmware 31 of the RAID device 3 may include a storage-side control unit 32A and an IO processing / response unit 33 as functional configurations.

IO処理・応答部33は、ホスト装置2から受信するIOのコマンドに関する種々の処理を行なってよい。IO処理・応答部33による処理には、例えば、ホスト装置2から受信するコマンドの処理、並びに、コマンドの処理結果に基づくホスト装置2への応答処理、等が含まれてよい。なお、コマンドの処理には、コマンドに応じた記憶装置3dへのアクセスが含まれてよい。   The IO processing / response unit 33 may perform various processes related to IO commands received from the host device 2. The processing by the IO processing / response unit 33 may include, for example, processing of a command received from the host device 2, response processing to the host device 2 based on the processing result of the command, and the like. The command processing may include access to the storage device 3d according to the command.

換言すれば、IO処理・応答部33は、ホスト装置2から送信処理により送信されたアクセス要求に応じて処理を行ない、ホスト装置2に応答を送信する応答処理部の一例である。   In other words, the IO processing / response unit 33 is an example of a response processing unit that performs processing in response to an access request transmitted from the host device 2 by transmission processing and transmits a response to the host device 2.

ストレージ側制御部32Aは、図3に示すストレージ側制御部32の一例であり、図5に示すように、例示的に、通信部321、IO性能測定部322、メモリ部323、判定部324、及び応答制御部325をそなえてよい。   The storage-side control unit 32A is an example of the storage-side control unit 32 illustrated in FIG. 3 and, as illustrated in FIG. 5, for example, the communication unit 321, the IO performance measurement unit 322, the memory unit 323, the determination unit 324, And a response control unit 325 may be provided.

通信部321は、ホスト装置2との間で管理情報の通信を行なう。例えば、通信部321は、ホスト装置2のメモリ部243に格納された測定結果243aの少なくとも一部の情報を、ホスト装置2の通信部244から受信し、受信した情報を、ホスト側測定結果323aとしてメモリ部323に格納してよい。   The communication unit 321 communicates management information with the host device 2. For example, the communication unit 321 receives at least a part of information of the measurement result 243a stored in the memory unit 243 of the host device 2 from the communication unit 244 of the host device 2, and receives the received information as the host-side measurement result 323a. May be stored in the memory unit 323.

IO性能測定部322は、RAID装置3でのコマンドの応答時間(レスポンスタイム)を測定し、測定結果をメモリ部323に格納する。IO性能測定部322が測定する応答時間は、IO性能測定部241が測定する応答時間と合わせて、第1の情報の一例である。   The IO performance measurement unit 322 measures the response time (response time) of the command in the RAID device 3 and stores the measurement result in the memory unit 323. The response time measured by the IO performance measurement unit 322 is an example of first information together with the response time measured by the IO performance measurement unit 241.

RAID装置3でのコマンドの応答時間は、例えば、ホスト装置2からアクセス要求を受信してから、ホスト装置2に応答を送信するまでの第2の時間であってよい。例えば、IO性能測定部322は、IO処理・応答部33を監視し、応答時間の測定に用いる時刻を取得してよい。   The command response time in the RAID device 3 may be, for example, a second time from when an access request is received from the host device 2 to when a response is transmitted to the host device 2. For example, the IO performance measurement unit 322 may monitor the IO processing / response unit 33 and acquire the time used for response time measurement.

一例として、IO性能測定部322は、CA3c−1(図3参照)にコマンドが入力されたときの時刻を取得してよい。また、IO性能測定部322は、CA3c−1から応答が送信されたときの時刻を取得してよい。そして、IO性能測定部322は、応答の送信時刻からコマンドの受信時刻を減算することで、これらの時刻の時間差をRAID装置3での「応答時間(レスポンスタイム)」として取得してよい。   As an example, the IO performance measurement unit 322 may acquire the time when a command is input to the CA 3c-1 (see FIG. 3). Further, the IO performance measurement unit 322 may acquire the time when the response is transmitted from the CA 3c-1. Then, the IO performance measurement unit 322 may acquire the time difference between these times as “response time (response time)” in the RAID device 3 by subtracting the command reception time from the response transmission time.

RAID装置3での応答時間の測定は、ホスト装置2の初期状態において行なわれてもよい。また、RAID装置3での応答時間の測定は、アプリケーション21の運用中(例えば業務中)に、任意のタイミングで(例えば一定時間ごとに)行なわれてもよい。   The measurement of the response time in the RAID device 3 may be performed in the initial state of the host device 2. Further, the measurement of the response time in the RAID device 3 may be performed at an arbitrary timing (for example, at regular intervals) while the application 21 is being operated (for example, during work).

初期状態での応答時間の測定では、IO性能測定部322は、テストコマンドを対象に応答時間の測定を行なうことで、RAID装置3での「サンプリング応答時間(D)」を取得してよい。なお、コマンドがテストコマンドであるか通常(運用中)のコマンドであるかの判定は、事前に設定されたテストコマンドの条件に基づきIO処理・応答部33又はIO性能測定部322により行なわれてよい。テストコマンドの条件としては、ライト及びリードの種別、アクセス対象のアドレス、データ内容等の種々の条件が挙げられる。   In the measurement of the response time in the initial state, the IO performance measurement unit 322 may acquire “sampling response time (D)” in the RAID device 3 by measuring the response time for the test command. Whether the command is a test command or a normal (during operation) command is determined by the IO processing / response unit 33 or the IO performance measurement unit 322 based on the test command conditions set in advance. Good. The test command conditions include various conditions such as write and read types, addresses to be accessed, and data contents.

運用中の応答時間の測定では、IO性能測定部322は、アプリケーション21から受信したテストコマンド以外のコマンドを対象として、RAID装置3での「現在の応答時間(E)」を取得してよい。   In the measurement of the response time during operation, the IO performance measurement unit 322 may acquire “current response time (E)” in the RAID device 3 for a command other than the test command received from the application 21.

なお、応答時間の始点及び終点は、上述したものに限定されるものではない。応答時間の始点(測定の開始タイミング)は、例えば、IO要求がIO処理・応答部33に入力されたときの時刻であってよい。また、応答時間の終点(測定の終了タイミング)は、例えば、IO応答がIO処理・応答部33からCA3c−1に出力されたときの時刻であってもよい。   Note that the start point and end point of the response time are not limited to those described above. The start point of the response time (measurement start timing) may be, for example, the time when an IO request is input to the IO processing / response unit 33. The end point of the response time (measurement end timing) may be, for example, the time when the IO response is output from the IO processing / responding unit 33 to the CA 3c-1.

メモリ部323は、通信部321がホスト装置2から受信したホスト側測定結果323aの情報と、IO性能測定部322による測定結果323bの情報とを格納する。メモリ部323は、例えば図3に示すメモリ3bの記憶領域により実現されてよい。   The memory unit 323 stores information on the host-side measurement result 323a received from the host device 2 by the communication unit 321 and information on the measurement result 323b by the IO performance measurement unit 322. The memory unit 323 may be realized by, for example, a storage area of the memory 3b illustrated in FIG.

ホスト側測定結果323aは、ホスト装置2での測定結果であり、図6に例示するように、ホスト装置2での測定結果243aと同様、「サンプリング応答時間(A)」、「現在の応答時間(B)」、及び「CPU使用率(C)」を含んでよい。   The host-side measurement result 323a is a measurement result in the host device 2, and, as illustrated in FIG. 6, as in the measurement result 243a in the host device 2, “sampling response time (A)”, “current response time” (B) ”and“ CPU usage rate (C) ”may be included.

測定結果323bは、図6に例示するように、「サンプリング応答時間(D)」及び「現在の応答時間(E)」を含んでよい。なお、測定結果323bのうち、「現在の応答時間(E)」については、少なくとも最新の情報が含まれていればよく、例えば「現在の応答時間(E)」を格納する際に、過去の情報は削除されてもよい。   The measurement result 323b may include “sampling response time (D)” and “current response time (E)” as illustrated in FIG. Of the measurement results 323b, the “current response time (E)” needs to include at least the latest information. For example, when the “current response time (E)” is stored, Information may be deleted.

判定部324は、メモリ部323に格納されたホスト側測定結果323a及び測定結果323bの情報に基づいて、システムのIO性能の評価を行なう。例えば、判定部324は、以下の第1及び第2条件の双方が満たされる場合に、ホスト装置2のCPU2aの性能限界に起因してシステム全体のIO性能が飽和した状態、換言すればRAID装置3の性能を活かせていない状態に陥ったと判断してよい。   The determination unit 324 evaluates the IO performance of the system based on information on the host-side measurement result 323a and the measurement result 323b stored in the memory unit 323. For example, the determination unit 324 is in a state in which the IO performance of the entire system is saturated due to the performance limit of the CPU 2a of the host device 2 when both the following first and second conditions are satisfied, in other words, the RAID device It may be determined that the state 3 has not been utilized.

・第1条件:(C)のうちの「アイドル時間」=0%
・第2条件:(B)−(E)>(A)−(D)
First condition: “Idle time” in (C) = 0%
Second condition: (B)-(E)> (A)-(D)

ここで、上記第1及び第2条件で用いられる、(A)〜(E)は、メモリ部323に格納されたホスト側測定結果323a及び測定結果323bの情報であり、これらの情報は、送信処理に起因したアクセス要求の送信遅延に関する指標の一例である。   Here, (A) to (E) used in the first and second conditions are information on the host-side measurement result 323a and the measurement result 323b stored in the memory unit 323, and these information are transmitted. It is an example of the parameter | index regarding the transmission delay of the access request resulting from a process.

第1条件は、CPU2aが送信処理に割当可能な処理能力を有しているか否かの判定であるといえる。第1条件が満たされる場合、図2の(b)及び(c)に例示するように、ホスト装置2のCPU2aの稼働時間に「アイドル時間」が存在せず、送信処理に割当可能な処理能力が存在しないことを意味する。   It can be said that the first condition is a determination as to whether or not the CPU 2a has a processing capability that can be allocated to the transmission process. When the first condition is satisfied, as illustrated in (b) and (c) of FIG. 2, there is no “idle time” in the operating time of the CPU 2 a of the host device 2, and the processing capability that can be assigned to the transmission processing Means that does not exist.

なお、IO処理以外の処理によって「アイドル時間」が存在しない場合にも、第1条件が満たされることがある。   Note that the first condition may be satisfied even when there is no “idle time” due to processing other than IO processing.

そこで、判定部324は、第2条件として、図2の(c)に例示するようにOS22でのIOの処理が滞った状態を検出するため、現在のIOの待ち時間が初期状態のときの待ち時間よりも長いか否かを判定するのである。換言すれば、判定部324は、第1の時間の一例である(B)と第2の時間の一例である(E)との時間差と、当該時間差の基準値の一例である(A)−(D)との比較を行なう。   Therefore, the determination unit 324 detects, as the second condition, a state in which IO processing in the OS 22 is delayed as illustrated in FIG. 2C, so that the current IO waiting time is in the initial state. It is determined whether or not it is longer than the waiting time. In other words, the determination unit 324 is an example of a time difference between (B), which is an example of the first time, and (E), which is an example of the second time, and an example of a reference value of the time difference (A) − Comparison with (D) is performed.

判定部324は、上記第1条件及び第2条件が満たされると判定した場合、応答制御部325に対して、ホスト装置2への応答制御を実施させてよい。   When determining that the first condition and the second condition are satisfied, the determination unit 324 may cause the response control unit 325 to perform response control to the host device 2.

応答制御部325は、判定部324からの指示によって、ホスト装置2のOS22が発行したコマンドに対する応答を、所定時間遅延させる制御を行なう。所定時間は、例えば1ms等の固定の一単位であってよい。以下、遅延させる所定時間を、「遅延時間」と表記する場合がある。   The response control unit 325 performs control for delaying a response to a command issued by the OS 22 of the host device 2 for a predetermined time according to an instruction from the determination unit 324. The predetermined time may be a fixed unit such as 1 ms. Hereinafter, the predetermined time to be delayed may be referred to as “delay time”.

応答制御部325による応答の遅延制御は、IO処理・応答部33での処理、例えば、アクセス要求に応じた処理、応答の生成処理、及び、生成した応答をホスト装置2に送信する処理、のうちの少なくとも1つの処理を遅延させる制御を含んでよい。これにより、応答を確実に遅延させることができる。   Response delay control by the response control unit 325 includes processing in the IO processing / response unit 33, for example, processing according to an access request, response generation processing, and processing for transmitting the generated response to the host device 2. Control for delaying at least one of the processes may be included. Thereby, a response can be delayed reliably.

判定部324及び応答制御部325の処理は、一定時間ごと、例えばホスト装置2の通信部244からホスト装置2での測定結果243aを受信するごとに、受信した測定結果243aと測定結果323bとを用いて実施されてよい。   The determination unit 324 and the response control unit 325 process the received measurement result 243a and the measurement result 323b every predetermined time, for example, every time the measurement result 243a is received at the host device 2 from the communication unit 244 of the host device 2. May be implemented.

応答制御部325は、上記第1及び第2条件の少なくとも一方が成立しなくなるまでの間、遅延時間を累積させてよい。換言すれば、判定部324から応答制御を指示される都度、応答を返すまでの時間に「遅延時間」を加算してよい。   The response control unit 325 may accumulate the delay time until at least one of the first and second conditions is not satisfied. In other words, every time response control is instructed from the determination unit 324, “delay time” may be added to the time until a response is returned.

なお、判定部324及び応答制御部325による制御によって、例えば、第2条件が(B)−(E)=(A)−(D)の状態になった場合、判定部324からの指示により、応答制御部325は、応答の遅延制御を停止、例えば遅延制御をキャンセルしてよい。   For example, when the second condition is in a state of (B) − (E) = (A) − (D) by the control by the determination unit 324 and the response control unit 325, an instruction from the determination unit 324 The response control unit 325 may stop response delay control, for example, cancel delay control.

以上のように、判定部324は、送信処理に起因したアクセス要求の送信遅延に関する指標に基づいて、ホスト装置2への応答の送信タイミングの制御を実施するか否かを判定するといえる。また、応答制御部325は、判定部による判定結果に基づいて、ホスト装置2への応答の送信タイミングを制御する制御部の一例である。   As described above, it can be said that the determination unit 324 determines whether or not to control the transmission timing of the response to the host apparatus 2 based on the index related to the transmission delay of the access request caused by the transmission process. The response control unit 325 is an example of a control unit that controls transmission timing of a response to the host device 2 based on a determination result by the determination unit.

ここで、図7及び図8を参照して、判定部324及び応答制御部325の制御と、システム全体のIO性能との関係について説明する。図7及び図8は、ホスト装置2及びRAID装置3が測定する応答時間の一例を説明する図である。   Here, with reference to FIG.7 and FIG.8, the relationship between control of the determination part 324 and the response control part 325, and IO performance of the whole system is demonstrated. 7 and 8 are diagrams for explaining an example of the response time measured by the host device 2 and the RAID device 3.

図7に示すように、ホスト装置2のアプリケーション21がIO要求をOS22に出力する(処理A1)。OS22は、入力されたIO要求をIOキュー23に格納し、送信順序に従いIOキュー23からIO要求(例えばコマンド)をRAID装置3に送信する(処理A2)。   As shown in FIG. 7, the application 21 of the host device 2 outputs an IO request to the OS 22 (Processing A1). The OS 22 stores the input IO request in the IO queue 23 and transmits an IO request (for example, a command) from the IO queue 23 to the RAID device 3 in accordance with the transmission order (processing A2).

次いで、RAID装置3がIO要求を受信し、IO要求に応じた処理を行なう。そして、RAID装置3はIO応答をOS22に送信し(処理A3)、OS22は受信したIO応答をアプリケーション21に出力し(処理A4)、アプリケーション21のアクセスが完了する。   Next, the RAID device 3 receives the IO request and performs processing according to the IO request. Then, the RAID device 3 transmits an IO response to the OS 22 (process A3), and the OS 22 outputs the received IO response to the application 21 (process A4), and the access of the application 21 is completed.

図7の例において、上述した第2条件における(B)−(E)の数値(時間差)、及び、(A)−(D)の数値(時間差)は、それぞれ、「待ち時間」+「HBA−CA間の伝送時間」(往復)に相当する。   In the example of FIG. 7, the numerical value (time difference) of (B)-(E) and the numerical value (time difference) of (A)-(D) in the second condition described above are “waiting time” + “HBA”, respectively. Corresponds to “transmission time between CAs” (round trip).

「待ち時間」は、処理A1の終点から、処理A2の始点までの時間であるといえる。また、「HBA−CA間の伝送時間」(往復)は、処理A2の始点から終点までの時間、及び、処理A3の始点から終点までの時間の合計であるといえる。   The “waiting time” can be said to be the time from the end point of the process A1 to the start point of the process A2. The “transmission time between HBA and CA” (round trip) can be said to be the total of the time from the start point to the end point of process A2 and the time from the start point to the end point of process A3.

ここで、「HBA−CA間の伝送時間」は、「待ち時間」と比較して短時間であり、また、ホスト装置2のCPU2aの使用率に関係なく(例えば、ホスト装置2の初期状態及び運用中に関係なく)ほぼ一定の値である。   Here, the “transmission time between HBA and CA” is shorter than the “waiting time”, and is independent of the usage rate of the CPU 2a of the host device 2 (for example, the initial state and the host device 2). It is almost constant (regardless of operation).

従って、(B)−(E)と(A)−(D)との比較において、「HBA−CA間の伝送時間」を定数として扱ってよく、(B)−(E)と(A)−(D)との差は、「待ち時間」の差であると見做せる。   Therefore, in the comparison between (B)-(E) and (A)-(D), the “transmission time between HBA and CA” may be treated as a constant, and (B)-(E) and (A)- The difference from (D) can be regarded as a difference in “waiting time”.

例えば、図8に示すように、システム(例えばOS22)が起動し(処理B1)、OS22のIO性能測定部241がテストコマンドを生成する(処理B2)。テストコマンドはIO処理部25に出力され(処理B3)、IOキュー23に登録される。   For example, as shown in FIG. 8, the system (for example, OS 22) is activated (process B1), and the IO performance measurement unit 241 of the OS 22 generates a test command (process B2). The test command is output to the IO processing unit 25 (processing B3) and registered in the IO queue 23.

システムの起動後のように、ホスト装置2の「システムCPU時間」が増やせる(換言すれば、「アイドル時間」に空きがある)場合、IO処理部25がIO要求を受けてから(処理B3)IOコマンドを送信する(処理B4)までの遅延時間(X)が短くなる。なお、図8の遅延時間(X)の例は、OS22がテストコマンドを送信する場合を示すが、「アイドル時間」に空きがあれば、アプリケーション21からOS22にIO要求が入力される場合も同様である。   When the “system CPU time” of the host device 2 can be increased (in other words, there is a vacancy in the “idle time”) as after the system is started, the IO processing unit 25 receives the IO request (processing B3). The delay time (X) until the IO command is transmitted (process B4) is shortened. The example of the delay time (X) in FIG. 8 shows the case where the OS 22 transmits a test command. However, if there is an empty “idle time”, the same applies when an IO request is input from the application 21 to the OS 22. It is.

一方、図8において、ホスト装置2の運用中に、アプリケーション21がIO要求をIO処理部25に出力し(処理C1)、IO要求がIOキュー23に登録される。   On the other hand, in FIG. 8, during operation of the host device 2, the application 21 outputs an IO request to the IO processing unit 25 (processing C <b> 1), and the IO request is registered in the IO queue 23.

このように、ホスト装置2のCPU2aの「アイドル時間」に空きがなくなりこれ以上「システムCPU時間」を増やせなくなると、IO処理部25がIO要求を受けてから(処理C1)IOコマンドを送信する(処理C2)までの遅延時間(Y)が発生する。遅延時間(Y)は、少なくとも、IOキュー23のうちの最も古いコマンドを一つ処理する間の待ち時間であってよい。   As described above, when the “idle time” of the CPU 2a of the host device 2 is full and the “system CPU time” cannot be increased any more, the IO processing unit 25 receives the IO request (processing C1) and transmits the IO command. A delay time (Y) until (Process C2) occurs. The delay time (Y) may be a waiting time during which at least one of the oldest commands in the IO queue 23 is processed.

上記第2条件を図8の例に当てはめた場合、第2条件における(B)−(E)及び(A)−(D)は、それぞれ、以下のように、(Y)及び(X)に応じた値として表すことができる。なお、伝送時間(T1)〜(T4)は、いずれも差が小さいため、それぞれ(T)と見做してよい。   When the second condition is applied to the example of FIG. 8, (B)-(E) and (A)-(D) in the second condition are respectively (Y) and (X) as follows: It can be expressed as a corresponding value. The transmission times (T1) to (T4) may be regarded as (T) because the difference is small.

(B)−(E) = (Y)+(T3)+(T4) = (Y)+2(T)
(A)−(D) = (X)+(T1)+(T2) = (X)+2(T)
(B)-(E) = (Y) + (T3) + (T4) = (Y) +2 (T)
(A)-(D) = (X) + (T1) + (T2) = (X) +2 (T)

ところで、上述のように、ホスト装置2のCPU2aの性能限界に起因してシステム全体のIO性能が飽和した状態(図2の(c)及び図9参照)では、以下の制限がある。   By the way, as described above, when the IO performance of the entire system is saturated due to the performance limit of the CPU 2a of the host device 2 (see FIG. 2C and FIG. 9), there are the following limitations.

すなわち、アプリケーション21からRAID装置3へのIOコマンド発行を依頼されたOS22が、IOキュー23の最も古い読み書きコマンドを処理するまでは、アプリケーション21による、次の読み書きコマンドのIOキュー23への登録が制限される。換言すれば、アプリケーション21からRAID装置3へのIOコマンド発行を依頼されたOS22の、「システムCPU時間」の獲得待ちがシステム全体のIOのボトルネックとなる。   That is, until the OS 22 requested to issue an IO command from the application 21 to the RAID device 3 processes the oldest read / write command in the IO queue 23, the application 21 registers the next read / write command in the IO queue 23. Limited. In other words, waiting for acquisition of “system CPU time” of the OS 22 requested to issue an IO command from the application 21 to the RAID device 3 becomes a bottleneck of IO of the entire system.

この状態において、RAID装置3からアプリケーション21に対するIO応答が遅延し、アプリケーション21が次のIO要求を送信するまでの時間を遅延したとしても、システム全体のIO性能をこれ以上低下させることにはならない。   In this state, even if the IO response from the RAID device 3 to the application 21 is delayed and the time until the application 21 transmits the next IO request is delayed, the IO performance of the entire system is not lowered any further. .

そこで、第1実施形態では、システム全体のIO性能が飽和した状態において、応答制御部325の応答制御により、RAID装置3のIOレスポンスを遅延させる処理が実行される。   Therefore, in the first embodiment, in a state where the IO performance of the entire system is saturated, the process of delaying the IO response of the RAID device 3 is executed by the response control of the response control unit 325.

この場合、図9に例示するように、RAID装置3のIOレスポンスを遅延させることによってアプリケーション21が次のIOコマンドを要求しなくなると、アプリケーション21の使用する「ユーザCPU時間」が減少する。   In this case, as illustrated in FIG. 9, if the application 21 does not request the next IO command by delaying the IO response of the RAID device 3, the “user CPU time” used by the application 21 decreases.

一方、この減少した「ユーザCPU時間」は「システムCPU時間」として割り当てることができるため、OS22がIOキュー23に滞留している読み書きコマンドを処理する速度を向上させることができる。   On the other hand, since this reduced “user CPU time” can be allocated as “system CPU time”, the speed at which the OS 22 processes read / write commands staying in the IO queue 23 can be improved.

このように、第1実施形態に係る情報処理システム1Aでは、要求に対する応答を遅延させることにより、「遅延時間」を調節でき、これにより、「システムCPU時間」の割合を増加させ、IOキュー23に登録された要求の処理速度を向上できる。従って、ホスト装置2、ひいては情報処理システム1Aの処理性能を向上できる。   As described above, the information processing system 1A according to the first embodiment can adjust the “delay time” by delaying the response to the request, thereby increasing the ratio of the “system CPU time” and the IO queue 23. The processing speed of the request registered in can be improved. Accordingly, it is possible to improve the processing performance of the host device 2, and thus the information processing system 1A.

図10は、時系列に沿ったシステム全体のIO処理性能の一例を示す図である。図10に示すように、ホスト装置2は、起動後にテストIOを発行するため、テストIOを発行しない場合と比較して、起動後にIO性能が向上する。業務開始後、性能飽和に達すると、応答を遅延させない場合には、矢印xで示す性能値で頭打ちとなり、これ以上性能は向上しない。   FIG. 10 is a diagram illustrating an example of IO processing performance of the entire system in time series. As shown in FIG. 10, since the host device 2 issues a test IO after startup, the IO performance improves after startup compared to the case where the test IO is not issued. When the performance reaches saturation after the start of business, if the response is not delayed, the performance reaches a peak at the performance value indicated by the arrow x, and the performance is not further improved.

一方、応答を遅延させる場合、RAID装置3の応答遅延開始(矢印a参照)から、ホスト装置2のIOキュー23に空きができるようになるまで(矢印b参照)の間、一時的にシステム全体のIO性能が向上する。   On the other hand, when delaying the response, the entire system is temporarily suspended from the start of the response delay of the RAID device 3 (see arrow a) until the IO queue 23 of the host device 2 becomes free (see arrow b). IO performance is improved.

これにより、ホスト装置2、ひいては情報処理システム1A全体のIO性能の平均値が矢印yで示す性能値に向上する(x⇒y)。従って、情報処理システム1Aの処理性能を向上できる。   As a result, the average value of the IO performance of the host device 2 and thus the entire information processing system 1A is improved to the performance value indicated by the arrow y (x => y). Therefore, the processing performance of the information processing system 1A can be improved.

以上のように、第1実施形態に係る情報処理システム1Aは、ホスト装置2及びRAID装置3の応答速度差が基準値よりも拡大したときに、ホスト装置2における送信処理が未完了なコマンドを意図的に増加させることができる。これにより、IOキュー23に滞留したコマンドの処理速度を向上させ、ボトルネック箇所であるIOキュー23のIO処理を動的に解消できる。従って、IOキュー23内のコマンド(例えば優先度の等価なコマンド)に係るIO処理の平均性能を改善できる。   As described above, the information processing system 1A according to the first embodiment issues a command for which transmission processing in the host device 2 is not completed when the response speed difference between the host device 2 and the RAID device 3 is larger than the reference value. Can be increased intentionally. Thereby, the processing speed of the command staying in the IO queue 23 can be improved, and the IO processing of the IO queue 23 which is the bottleneck portion can be dynamically solved. Accordingly, it is possible to improve the average performance of the IO processing related to the commands in the IO queue 23 (for example, commands with equivalent priority).

〔3−2〕動作例
次に、図11〜図19を参照して、第1実施形態に係る情報処理システム1Aの動作例を説明する。図11及び図12は、それぞれ、ホスト装置2及びRAID装置3の動作例を説明するフローチャートであり、図13〜図19は、それぞれ、ホスト装置2又はRAID装置3における各処理の動作例を説明する図である。なお、図13〜図19では、便宜上、第1実施形態に係るホスト側制御部24Aをホスト側制御部24と表記し、第1実施形態に係るストレージ側制御部32Aをストレージ側制御部32と表記している。
[3-2] Operation Example Next, an operation example of the information processing system 1A according to the first embodiment will be described with reference to FIGS. FIGS. 11 and 12 are flowcharts for explaining an operation example of the host device 2 and the RAID device 3, respectively. FIGS. 13 to 19 show an operation example of each process in the host device 2 or the RAID device 3, respectively. It is a figure to do. 13 to 19, for convenience, the host-side control unit 24A according to the first embodiment is referred to as a host-side control unit 24, and the storage-side control unit 32A according to the first embodiment is referred to as a storage-side control unit 32. It is written.

〔3−2−1〕ホスト装置及びRAID装置の動作例
はじめに、第1実施形態に係るホスト装置2及びRAID装置3の各々の動作例について説明する。
[3-2-1] Operation Example of Host Device and RAID Device First, an operation example of each of the host device 2 and the RAID device 3 according to the first embodiment will be described.

(ホスト装置2の動作例)
図11に示すように、ホスト装置2のOS22が起動すると(ステップS1)、ホスト側制御部24AのIO性能測定部241は、「サンプリング応答時間(A)」の測定を行ない(ステップS2)、測定した結果をメモリ部243に格納する。
(Operation example of host device 2)
As shown in FIG. 11, when the OS 22 of the host device 2 is activated (step S1), the IO performance measurement unit 241 of the host-side control unit 24A measures “sampling response time (A)” (step S2). The measured result is stored in the memory unit 243.

次いで、IO性能測定部241は、「現在の応答時間(B)」の測定を行ない(ステップS3)、測定した結果をメモリ部243に格納する。   Next, the IO performance measurement unit 241 measures “current response time (B)” (step S <b> 3), and stores the measurement result in the memory unit 243.

また、システム性能測定部242は、「CPU使用率(C)」の測定を行ない(ステップS4)、測定した結果をメモリ部243に格納する。   Further, the system performance measurement unit 242 measures “CPU usage rate (C)” (step S <b> 4), and stores the measurement result in the memory unit 243.

通信部244は、メモリ部243に格納された測定結果243aを、管理回線42を介してRAID装置3に送信する(ステップS5)。なお、通信部244は、測定結果243aのうちの少なくとも最新の情報(例えば未送信の情報)をRAID装置3に送信すればよい。また、「サンプリング応答時間(A)」については、ステップS2の後に送信されてもよい。さらに、「現在の応答時間(B)」及び「CPU使用率(C)」は、それぞれ、測定の都度、別々に送信されてもよい。   The communication unit 244 transmits the measurement result 243a stored in the memory unit 243 to the RAID device 3 via the management line 42 (step S5). The communication unit 244 may transmit at least the latest information (for example, untransmitted information) in the measurement result 243a to the RAID device 3. Also, “sampling response time (A)” may be transmitted after step S2. Furthermore, the “current response time (B)” and “CPU usage rate (C)” may be transmitted separately for each measurement.

次いで、ホスト側制御部24Aは、一定時間が経過したか否かを判定し(ステップS6)、一定時間が経過していない場合(ステップS6でNo)、一定時間が経過するまで待機する。一定時間が経過した場合(ステップS6でYes)、処理がステップS3に移行する。   Next, the host-side control unit 24A determines whether or not a certain time has elapsed (step S6). If the certain time has not elapsed (No in step S6), the host-side control unit 24A waits until the certain time has elapsed. If the predetermined time has elapsed (Yes in step S6), the process proceeds to step S3.

(RAID装置3の動作例)
図12に示すように、RAID装置3のIO性能測定部322は、ホスト装置2からテストIOを受信すると(ステップS11)、受信したテストIOに基づき「サンプリング応答時間(D)」の測定を行なう(ステップS12)。なお、IO性能測定部322は、測定した結果をメモリ部323に格納する。
(Operation example of RAID device 3)
As shown in FIG. 12, when receiving the test IO from the host device 2 (step S11), the IO performance measuring unit 322 of the RAID device 3 measures the “sampling response time (D)” based on the received test IO. (Step S12). The IO performance measurement unit 322 stores the measurement result in the memory unit 323.

次いで、IO性能測定部322は、「現在の応答時間(E)」の測定を行ない(ステップS13)、測定した結果をメモリ部323に格納する。   Next, the IO performance measurement unit 322 measures the “current response time (E)” (step S <b> 13) and stores the measurement result in the memory unit 323.

通信部244は、ホスト装置2から測定結果243aを受信し(ステップS14)、測定結果243aをホスト側測定結果323aとしてメモリ部323に格納する。   The communication unit 244 receives the measurement result 243a from the host device 2 (step S14), and stores the measurement result 243a in the memory unit 323 as the host-side measurement result 323a.

判定部324は、ホスト側測定結果323aに含まれる「CPU使用率(C)」を参照し、ホスト装置2のCPU2aの「アイドル時間」が0%か否かを判定する(ステップS15)。「アイドル時間」が0%ではない場合(ステップS15でNo)、処理がステップS18に移行する。   The determination unit 324 refers to the “CPU usage rate (C)” included in the host-side measurement result 323a and determines whether the “idle time” of the CPU 2a of the host device 2 is 0% (step S15). If the “idle time” is not 0% (No in step S15), the process proceeds to step S18.

一方、「アイドル時間」が0%の場合(ステップS15でYes)、判定部324は、ホスト側測定結果323a及び測定結果323bに含まれる各応答時間(A)、(B)、(D)、及び(E)に基づいて、以下の判定を行なう(ステップS16)。すなわち、判定部324は、(B)−(E)>(A)−(D)であるか否かを判定する。   On the other hand, when the “idle time” is 0% (Yes in step S15), the determination unit 324 determines the response times (A), (B), (D), and the response times included in the host-side measurement result 323a and the measurement result 323b. And based on (E), the following determination is performed (step S16). That is, the determination unit 324 determines whether or not (B)-(E)> (A)-(D).

(B)−(E)>(A)−(D)である場合(ステップS16でYes)、判定部324は、応答制御部325に対して応答遅延処理の開始を指示する。応答制御部325は、判定部324からの指示に応じて、ホスト装置2からのIOについて、所定時間(xx[ms])の応答遅延処理を実行し(ステップS17)、処理がステップS13に移行する。応答遅延処理では、例えば、IO処理・応答部33の処理を所定時間遅延させる制御が行なわれてよい。   When (B)-(E)> (A)-(D) (Yes in step S16), the determination unit 324 instructs the response control unit 325 to start response delay processing. In response to an instruction from the determination unit 324, the response control unit 325 executes a response delay process for a predetermined time (xx [ms]) on the IO from the host device 2 (step S17), and the process proceeds to step S13. To do. In the response delay processing, for example, control for delaying the processing of the IO processing / response unit 33 for a predetermined time may be performed.

一方、(B)−(E)>(A)−(D)ではない場合(ステップS16でNo)、判定部324は、応答制御部325に対して、応答遅延処理の停止を指示する。応答制御部325は、判定部324からの指示に応じて応答遅延処理を停止し(ステップS18)、処理がステップS13に移行する。   On the other hand, when (B)-(E)> (A)-(D) is not satisfied (No in step S16), the determination unit 324 instructs the response control unit 325 to stop the response delay processing. The response control unit 325 stops the response delay process in response to the instruction from the determination unit 324 (step S18), and the process proceeds to step S13.

ステップS15及びS16でNoとならない場合、ステップS13〜S17の処理が一定時間ごとに繰り返し実施される。これにより、(C)の「アイドル時間」=0%、且つ、(B)−(E)>(A)−(D)が成立しなくなるまでの間、応答制御部325が、ステップS17において遅延時間を累積させることで、(B)−(E)=(A)−(D)の状態に制御できる。   When it is not No in steps S15 and S16, the processes in steps S13 to S17 are repeatedly performed at regular intervals. Accordingly, the response control unit 325 delays in step S17 until “idle time” in (C) = 0% and (B) − (E)> (A) − (D) is not satisfied. By accumulating the time, it is possible to control to the state of (B) − (E) = (A) − (D).

〔3−2−2〕各処理の説明
次に、ホスト装置2及びRAID装置3の各々における各処理の動作例について説明する。
[3-2-2] Explanation of Each Process Next, an operation example of each process in each of the host apparatus 2 and the RAID apparatus 3 will be described.

(「サンプリング応答時間(A)」の測定の動作例)
図11のステップS2における「サンプリング応答時間(A)」の測定の動作例を図13に示す。IO性能測定部241は、例えばアプリケーション21が処理を開始していないときに、OS22、IO処理部25のIOキュー23、HBA2c−1を経由して、RAID装置3に通信回線41経由でテストIOを発行する(符号(1)〜(3)参照)。
(Operation example of “Sampling response time (A)” measurement)
FIG. 13 shows an operation example of measurement of “sampling response time (A)” in step S2 of FIG. For example, when the application 21 has not started processing, the IO performance measurement unit 241 performs test IO via the communication line 41 to the RAID device 3 via the OS 22, the IO queue 23 of the IO processing unit 25, and the HBA 2c-1. (See reference numerals (1) to (3)).

テストIOは、RAID装置3のCA3c−1で受信され、メモリ3bに格納される。そして、テストIOは、ストレージ側制御部32AのIO処理・応答部33によって記憶装置3dへのアクセス処理が行なわれる(符号(4)〜(7)参照)。また、IO処理・応答部33により、IO処理・応答部33の処理結果に基づき応答がメモリ3b上に生成される。生成された応答は、CA3c−1から送信され、ホスト装置2のHBA2c−1を経由してOS22に通知される(符号(8)〜(10)参照)。   The test IO is received by the CA 3c-1 of the RAID device 3 and stored in the memory 3b. The test IO is subjected to access processing to the storage device 3d by the IO processing / response unit 33 of the storage-side control unit 32A (see symbols (4) to (7)). The IO processing / response unit 33 generates a response on the memory 3b based on the processing result of the IO processing / response unit 33. The generated response is transmitted from the CA 3c-1 and notified to the OS 22 via the HBA 2c-1 of the host device 2 (see symbols (8) to (10)).

ここで、IO性能測定部241は、テストIOを発行してからRAID装置3が応答を返すまでの時間差を計測し、ホスト装置2の「サンプリング応答時間(A)」としてメモリ部243に記録する。例えば、上述した符号(1)〜(6)(テストIOのリクエスト)と、符号(7)〜(10)(テストIOのレスポンス)の合計時間が、「サンプリング応答時間(A)」に相当する。   Here, the IO performance measurement unit 241 measures the time difference from when the test IO is issued until the RAID device 3 returns a response, and records it in the memory unit 243 as “sampling response time (A)” of the host device 2. . For example, the total time of the above-described codes (1) to (6) (test IO request) and codes (7) to (10) (test IO response) corresponds to “sampling response time (A)”. .

なお、IOキュー23内の黒丸は、IOキュー23に滞留しているコマンドを表す。図13の例では、IOキュー23には、他のコマンドが存在しないため、テストIOのIOキュー23での待ち合わせは生じない。   A black circle in the IO queue 23 represents a command staying in the IO queue 23. In the example of FIG. 13, there is no other command in the IO queue 23, so no waiting for the test IO in the IO queue 23 occurs.

(「サンプリング応答時間(D)」の測定の動作例)
図12のステップS12における「サンプリング応答時間(D)」の測定の動作例を図14に示す。RAID装置3のIO性能測定部322は、ホスト装置2のIO性能測定部241が発行するテストIOのコマンドがRAID装置3のCA3c−1に入力されてから、CA3c−1経由でIO応答を返すまでの時間差を計測する。そして、IO性能測定部322は、計測した結果をRAID装置3での「サンプリング応答時間(D)」としてメモリ部323に記録する。
(Operation example of “Sampling response time (D)” measurement)
FIG. 14 shows an operation example of measurement of “sampling response time (D)” in step S12 of FIG. The IO performance measurement unit 322 of the RAID device 3 returns an IO response via the CA3c-1 after the test IO command issued by the IO performance measurement unit 241 of the host device 2 is input to the CA3c-1 of the RAID device 3. Measure the time difference until. Then, the IO performance measuring unit 322 records the measured result in the memory unit 323 as “sampling response time (D)” in the RAID device 3.

例えば、図14において、符号(15)及び(16)においてCA3c−1から入力されたテストIOのリクエストの時間と、符号(17)及び(18)におけるIOのレスポンスの時間との合計時間が、「サンプリング応答時間(D)」に相当する。なお、図14に示す符号(15)〜(18)の経路は、図13に示す符号(5)〜(8)の経路と同様である。   For example, in FIG. 14, the total time of the test IO request time input from CA3c-1 at reference signs (15) and (16) and the IO response time at reference signs (17) and (18), This corresponds to “sampling response time (D)”. 14 are the same as the routes (5) to (8) shown in FIG.

なお、説明の便宜上、図14を用いてIO性能測定部322の動作を説明したが、IO性能測定部322は、IO性能測定部241による「サンプリング応答時間(A)」の測定の過程で「サンプリング応答時間(D)」を測定してよい。換言すれば、IO性能測定部322は、図13に示すようにホスト装置2のIO性能測定部241がテストIOを発行したときに、符号(5)〜(8)の経路において「サンプリング応答時間(D)」を測定してよい。   For convenience of explanation, the operation of the IO performance measurement unit 322 has been described with reference to FIG. 14, but the IO performance measurement unit 322 performs “sampling response time (A)” measurement by the IO performance measurement unit 241. Sampling response time (D) "may be measured. In other words, when the IO performance measurement unit 241 of the host device 2 issues a test IO as shown in FIG. 13, the IO performance measurement unit 322 performs “sampling response time” in the paths (5) to (8). (D) "may be measured.

(「現在の応答時間(B)」の測定の動作例)
図11のステップS3における「現在の応答時間(B)」の測定の動作例を図15に示す。IO性能測定部241は、IO要求がアプリケーション21からIO処理部25に入力されてから(符号(21)参照)、RAID装置3が応答を返すまでの時間差を計測し、「現在の応答時間(B)」としてメモリ部243に記録する。
(Operation example of measurement of “current response time (B)”)
FIG. 15 shows an operation example of measurement of “current response time (B)” in step S3 of FIG. The IO performance measurement unit 241 measures the time difference from when the IO request is input to the IO processing unit 25 from the application 21 (see reference numeral (21)) until the RAID device 3 returns a response, and the “current response time ( B) "is recorded in the memory unit 243.

なお、図15において、RAID装置3から受信した応答は、ホスト装置2のHBA2c−1からOS22を経由してアプリケーション21に渡される(符号(30)参照)。図15に示す符号(22)〜(29)の経路は、図13に示す符号(2)〜(9)の経路と同様である。   In FIG. 15, the response received from the RAID device 3 is passed from the HBA 2c-1 of the host device 2 to the application 21 via the OS 22 (see reference numeral (30)). The paths indicated by reference numerals (22) to (29) shown in FIG. 15 are the same as the paths indicated by reference signs (2) to (9) shown in FIG.

例えば、図15において、IOのリクエストと、IOのレスポンスとの合計時間が、「現在の応答時間(B)」に相当する。なお、IOのリクエストの時間は、符号(21)でIO処理部25がIO要求を受け取ってから符号(26)でIO要求が処理されるまでの時間であってよい。また、IOのレスポンスの時間は、符号(27)で処理が完了してから、符号(30)でIO処理部25がIO応答を受け取るまでの時間であってよい。   For example, in FIG. 15, the total time of the IO request and the IO response corresponds to “current response time (B)”. The IO request time may be the time from when the IO processing unit 25 receives the IO request at reference (21) until the IO request is processed at reference (26). Also, the IO response time may be the time from when the process is completed at the code (27) until the IO processing unit 25 receives the IO response at the code (30).

なお、図15の例では、ホスト装置2は業務運用を開始しているため、IOキュー23には他のコマンドが存在し、IO要求のIOキュー23での待ち合わせが発生する。換言すれば、「現在の応答時間(B)」は、「サンプリング応答時間(A)」+「IOキュー23での待ち合わせ時間」である。   In the example of FIG. 15, since the host apparatus 2 has started business operation, there are other commands in the IO queue 23, and an IO request waits in the IO queue 23. In other words, the “current response time (B)” is “sampling response time (A)” + “waiting time in the IO queue 23”.

(「現在の応答時間(E)」の測定の動作例)
図12のステップS13における「現在の応答時間(E)」の測定の動作例を図16に示す。RAID装置3のIO性能測定部322は、テストIO以外のIOコマンドがRAID装置3のCA3c−1に入力されてから、CA3c−1経由でIO応答を返すまでの時間差を計測し、「現在の応答時間(E)」としてメモリ部323に記録する。
(Example of measurement of “Current Response Time (E)”)
FIG. 16 shows an operation example of measurement of “current response time (E)” in step S13 of FIG. The IO performance measurement unit 322 of the RAID device 3 measures the time difference from when an IO command other than the test IO is input to the CA 3c-1 of the RAID device 3 until an IO response is returned via the CA 3c-1, Response time (E) "is recorded in the memory unit 323.

例えば、図16において、符号(35)及び(36)におけるCA3c−1から入力されたIOのリクエストの時間と、符号(37)及び(38)におけるIOのレスポンスの時間との合計時間が、「現在の応答時間(E)」に相当する。なお、図16に示す符号(35)〜(38)の経路は、図15に示す符号(25)〜(28)の経路と同様である。   For example, in FIG. 16, the total time of the IO request time input from CA3c-1 at reference numerals (35) and (36) and the IO response time at reference numerals (37) and (38) is " This corresponds to “current response time (E)”. Note that the paths indicated by reference numerals (35) to (38) illustrated in FIG. 16 are the same as the paths indicated by reference numerals (25) to (28) illustrated in FIG.

上述のように、情報処理システム1Aでは、ホスト装置2の業務開始前と業務開始後とでIO負荷の変化が生じ、(D)の値と(E)の値とが異なる場合がある。従って、「サンプリング応答時間(D)」と、「現在の応答時間(E)」とは、異なるタイミングで別個に測定されてよい。   As described above, in the information processing system 1A, a change in the IO load occurs before and after the business start of the host device 2, and the value of (D) and the value of (E) may be different. Accordingly, the “sampling response time (D)” and the “current response time (E)” may be separately measured at different timings.

なお、説明の便宜上、図16を用いてIO性能測定部322の動作を説明したが、IO性能測定部322は、IO性能測定部241による「現在の応答時間(B)」の測定の過程で「現在の応答時間(E)」を測定してもよい。換言すれば、IO性能測定部322は、図15に示すようにホスト装置2がIOを発行したときに、符号(25)〜(28)の経路において「現在の応答時間(E)」を測定してもよい。   For convenience of explanation, the operation of the IO performance measurement unit 322 has been described with reference to FIG. 16, but the IO performance measurement unit 322 is in the process of measuring the “current response time (B)” by the IO performance measurement unit 241. “Current response time (E)” may be measured. In other words, the IO performance measurement unit 322 measures the “current response time (E)” in the paths (25) to (28) when the host device 2 issues an IO as shown in FIG. May be.

(「CPU使用率(C)」の測定の動作例)
図11のステップS4における「CPU使用率(C)」の測定の動作例を図17に示す。システム性能測定部242は、一定時間ごとのホスト装置2のCPU2aの「ユーザCPU時間」、「システムCPU時間」、及び「アイドル時間」を計測し(符号(41)参照)、ホスト装置2の「CPU使用率(C)」としてメモリ部243に記録する。
(Operation example of “CPU usage rate (C)” measurement)
FIG. 17 shows an operation example of measurement of “CPU usage rate (C)” in step S4 of FIG. The system performance measuring unit 242 measures “user CPU time”, “system CPU time”, and “idle time” of the CPU 2a of the host device 2 at regular intervals (see reference numeral (41)). CPU usage rate (C) ”is recorded in the memory unit 243.

(測定結果243aの通知の動作例)
図11のステップS5及び図12のステップS14における、ホスト装置2からRAID装置3への測定結果243aの通知の動作例を図18に示す。ホスト装置2の通信部244は、管理回線42を介して、RAID装置3のストレージ側制御部32Aに対して、測定結果243aを通知する(符号(51)参照)。
(Operation example of notification of measurement result 243a)
FIG. 18 shows an operation example of notification of the measurement result 243a from the host device 2 to the RAID device 3 in step S5 of FIG. 11 and step S14 of FIG. The communication unit 244 of the host device 2 notifies the measurement result 243a to the storage side control unit 32A of the RAID device 3 via the management line 42 (see reference numeral (51)).

測定結果243aにおける「サンプリング応答時間(A)」の通知は、ホスト装置2のOS22の起動後に、例えば1度だけ行なわれてよい。測定結果243aにおける「現在の応答時間(B)」及び「CPU使用率(C)」の通知は、一定時間ごとに行なわれてよい。なお、RAID装置3の通信部321は、受信した測定結果243aをホスト側測定結果323aとしてメモリ部323に格納する。   The notification of the “sampling response time (A)” in the measurement result 243a may be performed only once, for example, after the OS 22 of the host apparatus 2 is activated. The notification of “current response time (B)” and “CPU usage rate (C)” in the measurement result 243a may be performed at regular intervals. Note that the communication unit 321 of the RAID device 3 stores the received measurement result 243a in the memory unit 323 as the host-side measurement result 323a.

(応答遅延処理の動作例)
図12のステップS15〜S18における応答遅延処理の動作例を図19に示す。判定部324が、ホスト側測定結果323a及び測定結果323bに基づきシステム全体のIO性能が飽和した状態に陥ったと判断すると、応答制御部325に対して応答遅延処理の開始を指示する。また、判定部324が、システム全体のIO性能の飽和が解消したと判断すると、応答制御部325に対して応答遅延処理の停止を指示する。
(Example of response delay processing)
FIG. 19 shows an example of response delay processing in steps S15 to S18 of FIG. If the determination unit 324 determines that the IO performance of the entire system has been saturated based on the host-side measurement result 323a and the measurement result 323b, it instructs the response control unit 325 to start response delay processing. If the determination unit 324 determines that the saturation of the IO performance of the entire system has been eliminated, the determination unit 324 instructs the response control unit 325 to stop the response delay processing.

なお、図19に示す符号(61)〜(70)の経路は、図15に示す符号(21)〜(30)の経路と同様である。   Note that the paths indicated by reference numerals (61) to (70) illustrated in FIG. 19 are the same as the paths indicated by reference numerals (21) to (30) illustrated in FIG.

応答制御部325は、判定部324からの指示に応じて、IO処理・応答部33に対して、ホスト装置2のOS22が発行した読み書きのコマンドの応答を一定時間遅延させる、又は、遅延を停止(例えば解除)させてよい。なお、応答遅延処理の対象となる、IO処理・応答部33の処理は、例えば、符号(67)でのIO要求の処理から、符号(69)でのCA3c−1からのIO応答の送信までにおける少なくとも1つの処理であってよい。   In response to an instruction from the determination unit 324, the response control unit 325 delays the response of the read / write command issued by the OS 22 of the host device 2 to the IO processing / response unit 33 for a predetermined time or stops the delay. (For example, release). The processing of the IO processing / response unit 33 that is the target of the response delay processing is, for example, from the processing of the IO request at the code (67) to the transmission of the IO response from the CA 3c-1 at the code (69). May be at least one process.

〔4〕第2実施形態
第1実施形態では、RAID装置3のストレージ側制御部32Aが、ホスト装置2での測定結果243a及びRAID装置3での測定結果323bに基づいて、応答制御の実施の要否を判定するものとして説明したが、これに限定されるものではない。以下、応答制御の実施の要否をホスト装置2が判定する場合について説明する。
[4] Second Embodiment In the first embodiment, the storage-side control unit 32A of the RAID device 3 performs response control based on the measurement result 243a in the host device 2 and the measurement result 323b in the RAID device 3. Although it has been described that the necessity is determined, the present invention is not limited to this. Hereinafter, a case where the host device 2 determines whether or not response control is necessary will be described.

〔4−1〕機能構成例
図20は、第2実施形態に係る情報処理システム1Bの機能構成例を示すブロック図である。情報処理システム1Bは、図3に示す情報処理システム1の一例である。なお、以下の説明において、既述の符号と同一の符号の構成は、既述の構成と同様であってよい。
[4-1] Functional Configuration Example FIG. 20 is a block diagram illustrating a functional configuration example of the information processing system 1B according to the second embodiment. The information processing system 1B is an example of the information processing system 1 shown in FIG. In the following description, the configuration of the same reference numerals as those described above may be the same as the configuration described above.

図20に示すように、情報処理システム1Bにおいて、ホスト装置2のOS22は、機能構成として、ホスト側制御部24B及びIO処理部25をそなえてよい。   As shown in FIG. 20, in the information processing system 1B, the OS 22 of the host device 2 may include a host-side control unit 24B and an IO processing unit 25 as functional configurations.

ホスト側制御部24Bは、図3に示すホスト側制御部24の一例である。図20に示すように、ホスト側制御部24Bは、図5に示すホスト側制御部24Aと比較して、通信部244に代えて、判定部245及び通信部246をそなえてよい。また、メモリ部243は、測定結果243aに加えて、ストレージ側測定結果243bを格納可能であってよい。   The host side control unit 24B is an example of the host side control unit 24 shown in FIG. As illustrated in FIG. 20, the host-side control unit 24B may include a determination unit 245 and a communication unit 246 instead of the communication unit 244, as compared with the host-side control unit 24A illustrated in FIG. The memory unit 243 may be capable of storing the storage-side measurement result 243b in addition to the measurement result 243a.

通信部246は、RAID装置3との間で管理情報の通信を行なう。例えば、通信部246は、RAID装置3のメモリ部323に格納された測定結果323bの少なくとも一部の情報を、RAID装置3の通信部326(図20参照)から受信し、受信した情報をストレージ側測定結果243bとしてメモリ部243に格納してよい。   The communication unit 246 communicates management information with the RAID device 3. For example, the communication unit 246 receives at least part of the information of the measurement result 323b stored in the memory unit 323 of the RAID device 3 from the communication unit 326 (see FIG. 20) of the RAID device 3, and stores the received information in the storage The side measurement result 243b may be stored in the memory unit 243.

なお、通信部246は、管理回線42を介してRAID装置3との間で情報を伝送してよい。通信部246は、HBA2c−1及びCPU2aの少なくとも一部により実現されてよい。   The communication unit 246 may transmit information to and from the RAID device 3 via the management line 42. The communication unit 246 may be realized by at least a part of the HBA 2c-1 and the CPU 2a.

判定部245は、第1実施形態に係るRAID装置3の判定部324と同様の機能をそなえてよい。   The determination unit 245 may have the same function as the determination unit 324 of the RAID device 3 according to the first embodiment.

例えば、判定部245は、メモリ部243に格納された測定結果243a及びストレージ側測定結果243bの情報に基づいて、システムのIO性能の評価を行なう。一例として、判定部245は、第1及び第2条件の双方が満たされる場合に、ホスト装置2のCPU2aの性能限界に起因してシステム全体のIO性能が飽和した状態、換言すればRAID装置3の性能を活かせていない状態に陥ったと判断してよい。なお、第1及び第2条件は、いずれも第1実施形態において説明したものと同様であってよい。   For example, the determination unit 245 evaluates the IO performance of the system based on the information on the measurement result 243a and the storage-side measurement result 243b stored in the memory unit 243. As an example, the determination unit 245 is in a state where the IO performance of the entire system is saturated due to the performance limit of the CPU 2a of the host device 2 when both the first and second conditions are satisfied, in other words, the RAID device 3 It may be determined that the performance of the system has not been utilized. The first and second conditions may be the same as those described in the first embodiment.

判定部245は、第1及び第2条件が満たされると判定した場合、RAID装置3の応答制御部325に対して、ホスト装置2への応答制御の実施を指示してよい。判定部245から応答制御部325への指示は、例えば通信部246から管理回線42を介してRAID装置3に送信されてよい。   If the determination unit 245 determines that the first and second conditions are satisfied, the determination unit 245 may instruct the response control unit 325 of the RAID device 3 to perform response control on the host device 2. The instruction from the determination unit 245 to the response control unit 325 may be transmitted from the communication unit 246 to the RAID device 3 via the management line 42, for example.

判定部245の判定は、一定時間ごと、例えばRAID装置3の通信部326からRAID装置3での測定結果323bを受信するごとに、受信した測定結果323bと測定結果243aとを用いて実施されてよい。   The determination by the determination unit 245 is performed using the received measurement result 323b and the measurement result 243a every fixed time, for example, every time the measurement result 323b is received by the RAID device 3 from the communication unit 326 of the RAID device 3. Good.

なお、判定部245及び応答制御部325による制御によって、例えば、第2条件が(B)−(E)=(A)−(D)の状態になった場合、判定部245は、応答制御部325に対して、応答の遅延制御の停止を指示してよい。この指示には、例えば遅延制御をキャンセルすることの指示が含まれてよい。   For example, when the second condition is in a state of (B) − (E) = (A) − (D) by the control by the determination unit 245 and the response control unit 325, the determination unit 245 325 may be instructed to stop response delay control. This instruction may include, for example, an instruction to cancel the delay control.

以上のように、判定部245は、送信処理に起因したアクセス要求の送信遅延に関する指標に基づいて、RAID装置3からホスト装置2への応答の送信タイミングの制御を実施するか否かを判定するといえる。また、判定部245は、測定結果243a及びストレージ側測定結果243bを用いた判定に基づいて、RAID装置3に対して応答の送信タイミングの制御を要求する制御要求部の一例である。   As described above, when the determination unit 245 determines whether to control the transmission timing of the response from the RAID device 3 to the host device 2 based on the index related to the transmission delay of the access request caused by the transmission process. I can say that. The determination unit 245 is an example of a control request unit that requests the RAID device 3 to control response transmission timing based on the determination using the measurement result 243a and the storage-side measurement result 243b.

ストレージ側制御部32Bは、図3に示すストレージ側制御部32の一例である。図20に示すように、ストレージ側制御部32Bは、図5に示すストレージ側制御部32Aと比較して、通信部321及び判定部324に代えて、通信部326をそなえてよい。また、メモリ部323は、ホスト側測定結果323aを格納しなくてよい。   The storage side control unit 32B is an example of the storage side control unit 32 shown in FIG. As illustrated in FIG. 20, the storage-side control unit 32B may include a communication unit 326 instead of the communication unit 321 and the determination unit 324, as compared with the storage-side control unit 32A illustrated in FIG. In addition, the memory unit 323 does not have to store the host-side measurement result 323a.

通信部326は、ホスト装置2との間で管理情報の通信を行なう。例えば、通信部326は、ホスト装置2に対して、メモリ部323に格納された測定結果323bの少なくとも一部の情報を送信してよい。   The communication unit 326 communicates management information with the host device 2. For example, the communication unit 326 may transmit at least part of the information of the measurement result 323 b stored in the memory unit 323 to the host device 2.

例えば、通信部326は、図21に例示するように、測定結果323bのうちの「サンプリング応答時間(D)」を、システム(例えばOS22)起動後、換言すればIO性能測定部322による測定後に、ホスト装置2に送信してよい。また、通信部326は、「現在の応答時間(E)」を、一定時間ごと、換言すれば、IO性能測定部322による測定の後、ホスト装置2に送信してよい。一定時間は、ユーザが任意で設定してよい。   For example, as illustrated in FIG. 21, the communication unit 326 sets the “sampling response time (D)” in the measurement result 323 b after starting the system (for example, OS 22), in other words, after measurement by the IO performance measurement unit 322. May be transmitted to the host device 2. Further, the communication unit 326 may transmit the “current response time (E)” to the host device 2 after measurement by the IO performance measurement unit 322 at regular intervals, in other words, after measurement. The fixed time may be arbitrarily set by the user.

換言すれば、通信部326は、測定した第2の時間をホスト装置2に通知する通知部の一例である。   In other words, the communication unit 326 is an example of a notification unit that notifies the host device 2 of the measured second time.

第2実施形態に係る情報処理システム1Bにおいて、RAID装置3の応答制御部325は、ホスト装置2の判定部245からの制御指示に応じて、第1実施形態と同様の応答遅延処理を行なってよい。   In the information processing system 1B according to the second embodiment, the response control unit 325 of the RAID device 3 performs a response delay process similar to that of the first embodiment in response to a control instruction from the determination unit 245 of the host device 2. Good.

第2実施形態に係る情報処理システム1Bによっても、第1実施形態と同様の効果を奏することができる。   The information processing system 1B according to the second embodiment can achieve the same effects as those of the first embodiment.

また、情報処理システム1Bでは、ホスト装置2の判定部245が判定を行なう。従って、システム全体の処理性能が飽和した状態であることをホスト装置2で認識できるため、例えば、処理性能が飽和した状態であることをアプリケーション21又はアプリケーション21のユーザに通知したり、ログとして記録する等の対応が可能となる。これにより、判定部245による判定結果をホスト装置2における運用形態の改善等に容易に用いることができ、処理性能の改善を図ることができる。   In the information processing system 1B, the determination unit 245 of the host device 2 performs the determination. Accordingly, since the host device 2 can recognize that the processing performance of the entire system is saturated, for example, the application 21 or the user of the application 21 is notified that the processing performance is saturated or is recorded as a log. It is possible to cope with this. As a result, the determination result by the determination unit 245 can be easily used for improving the operation mode in the host apparatus 2 and the processing performance can be improved.

〔4−2〕動作例
次に、図22〜図26を参照して、第2実施形態に係る情報処理システム1Bの動作例を説明する。図22はホスト装置2の動作例を説明するフローチャートであり、図23及び図24はRAID装置3の動作例を説明するフローチャートである。図25及び図26は、それぞれ、ホスト装置2又はRAID装置3における各処理の動作例を説明する図である。
[4-2] Operation Example Next, an operation example of the information processing system 1B according to the second embodiment will be described with reference to FIGS. FIG. 22 is a flowchart for explaining an operation example of the host device 2, and FIGS. 23 and 24 are flowcharts for explaining an operation example of the RAID device 3. 25 and 26 are diagrams for explaining an operation example of each process in the host device 2 or the RAID device 3, respectively.

〔4−2−1〕ホスト装置及びRAID装置の動作例
はじめに、第2実施形態に係るホスト装置2及びRAID装置3の各々の動作例について説明する。
[4-2-1] Operation Examples of Host Device and RAID Device First, operation examples of the host device 2 and the RAID device 3 according to the second embodiment will be described.

(ホスト装置2の動作例)
図22に示すように、ホスト装置2のOS22が起動すると(ステップS21)、ホスト側制御部24BのIO性能測定部241は、「サンプリング応答時間(A)」の測定を行ない(ステップS22)、測定した結果をメモリ部243に格納する。
(Operation example of host device 2)
As shown in FIG. 22, when the OS 22 of the host device 2 is activated (step S21), the IO performance measurement unit 241 of the host-side control unit 24B measures “sampling response time (A)” (step S22). The measured result is stored in the memory unit 243.

次いで、IO性能測定部241は、「現在の応答時間(B)」の測定を行ない(ステップS23)、測定した結果をメモリ部243に格納する。   Next, the IO performance measurement unit 241 measures “current response time (B)” (step S <b> 23), and stores the measurement result in the memory unit 243.

また、システム性能測定部242は、「CPU使用率(C)」の測定を行ない(ステップS24)、測定した結果をメモリ部243に格納する。   Further, the system performance measurement unit 242 measures “CPU usage rate (C)” (step S <b> 24), and stores the measurement result in the memory unit 243.

通信部246は、RAID装置3から測定結果323bを受信し(ステップS25)、測定結果323bをストレージ側測定結果243bとしてメモリ部243に格納する。   The communication unit 246 receives the measurement result 323b from the RAID device 3 (step S25), and stores the measurement result 323b in the memory unit 243 as the storage-side measurement result 243b.

判定部245は、測定結果243aに含まれる「CPU使用率(C)」を参照し、ホスト装置2のCPU2aの「アイドル時間」が0%か否かを判定する(ステップS26)。「アイドル時間」が0%ではない場合(ステップS26でNo)、処理がステップS29に移行する。   The determination unit 245 refers to the “CPU usage rate (C)” included in the measurement result 243a and determines whether or not the “idle time” of the CPU 2a of the host device 2 is 0% (step S26). If the “idle time” is not 0% (No in step S26), the process proceeds to step S29.

一方、「アイドル時間」が0%の場合(ステップS26でYes)、判定部245は、測定結果243a及びストレージ側測定結果243bに含まれる各応答時間(A)、(B)、(D)、及び(E)に基づいて、以下の判定を行なう(ステップS27)。すなわち、判定部245は、(B)−(E)>(A)−(D)であるか否かを判定する。   On the other hand, when the “idle time” is 0% (Yes in step S26), the determination unit 245 determines the response times (A), (B), (D), and the response times included in the measurement result 243a and the storage-side measurement result 243b. And based on (E), the following determination is performed (step S27). That is, the determination unit 245 determines whether or not (B) − (E)> (A) − (D).

(B)−(E)>(A)−(D)である場合(ステップS27でYes)、判定部245は、RAID装置3の応答制御部325に対して、応答遅延処理の開始指示を送信し(ステップS28)、処理がステップS23に移行する。   When (B)-(E)> (A)-(D) (Yes in step S27), the determination unit 245 transmits a response delay processing start instruction to the response control unit 325 of the RAID device 3. (Step S28), and the process proceeds to Step S23.

一方、(B)−(E)>(A)−(D)ではない場合(ステップS27でNo)、判定部245は、RAID装置3の応答制御部325に対して、応答遅延処理の停止指示を送信し(ステップS29)、処理がステップS23に移行する。   On the other hand, when (B)-(E)> (A)-(D) is not satisfied (No in step S27), the determination unit 245 instructs the response control unit 325 of the RAID device 3 to stop the response delay process. Is transmitted (step S29), and the process proceeds to step S23.

(RAID装置3の動作例)
図23に示すように、RAID装置3のIO性能測定部322は、ホスト装置2からテストIOを受信すると(ステップS31)、受信したテストIOに基づき「サンプリング応答時間(D)」の測定を行なう(ステップS32)。なお、IO性能測定部322は、測定した結果をメモリ部323に格納する。
(Operation example of RAID device 3)
As shown in FIG. 23, when the IO performance measurement unit 322 of the RAID device 3 receives a test IO from the host device 2 (step S31), it measures “sampling response time (D)” based on the received test IO. (Step S32). The IO performance measurement unit 322 stores the measurement result in the memory unit 323.

次いで、IO性能測定部322は、「現在の応答時間(E)」の測定を行ない(ステップS33)、測定した結果をメモリ部323に格納する。   Next, the IO performance measurement unit 322 measures “current response time (E)” (step S <b> 33), and stores the measurement result in the memory unit 323.

通信部326は、メモリ部323に格納された測定結果323bを、管理回線42を介してホスト装置2に送信する(ステップS34)。なお、通信部326は、測定結果323bのうちの少なくとも最新の情報(例えば未送信の情報)をホスト装置2に送信すればよい。また、「サンプリング応答時間(D)」については、ステップS32の後に送信されてもよい。   The communication unit 326 transmits the measurement result 323b stored in the memory unit 323 to the host device 2 via the management line 42 (step S34). The communication unit 326 may transmit at least the latest information (for example, untransmitted information) in the measurement result 323b to the host device 2. The “sampling response time (D)” may be transmitted after step S32.

次いで、ストレージ側制御部32Bは、一定時間が経過したか否かを判定し(ステップS35)、一定時間が経過していない場合(ステップS35でNo)、一定時間が経過するまで待機する。一定時間が経過した場合(ステップS35でYes)、処理がステップS33に移行する。   Next, the storage-side control unit 32B determines whether or not a certain time has elapsed (step S35). If the certain time has not elapsed (No in step S35), the storage-side control unit 32B waits until the certain time has elapsed. If the predetermined time has elapsed (Yes in step S35), the process proceeds to step S33.

また、ストレージ側制御部32Bでは、例えばRAID装置3の起動後、応答遅延処理を行なう応答制御が開始されてよい。応答制御では、図24に例示する処理が行なわれてよい。   In the storage-side control unit 32B, for example, response control for performing response delay processing may be started after the RAID device 3 is activated. In the response control, the process illustrated in FIG. 24 may be performed.

応答制御部325は、ホスト装置2から応答制御の指示を待ち受ける(ステップS41)。応答遅延処理の開始指示又は停止指示を受信すると(ステップS42)、応答制御部325は、受信した指示が開始指示であるか否かを判定する(ステップS43)。なお、開始指示又は停止指示は、管理回線42を介して通信部326が受信してよい。   The response control unit 325 waits for a response control instruction from the host device 2 (step S41). When a response delay process start instruction or stop instruction is received (step S42), the response control unit 325 determines whether or not the received instruction is a start instruction (step S43). The start instruction or the stop instruction may be received by the communication unit 326 via the management line 42.

開始指示を受信した場合(ステップS43でYes)、応答制御部325は、判定部245からの開始指示に応じて、ホスト装置2からのIOについて、所定時間(xx[ms])の応答遅延処理を実行し(ステップS44)、処理がステップS41に移行する。応答遅延処理では、例えば、IO処理・応答部33の処理を所定時間遅延させる制御が行なわれてよい。   When the start instruction is received (Yes in step S43), the response control unit 325 performs response delay processing for a predetermined time (xx [ms]) for the IO from the host device 2 in response to the start instruction from the determination unit 245. Is executed (step S44), and the process proceeds to step S41. In the response delay processing, for example, control for delaying the processing of the IO processing / response unit 33 for a predetermined time may be performed.

一方、停止指示を受信した場合(ステップS43でNo)、応答制御部325は、判定部245からの指示に応じて応答遅延処理を停止(例えば解除)し(ステップS45)、処理がステップS41に移行する。   On the other hand, when the stop instruction is received (No in step S43), the response control unit 325 stops (for example, cancels) the response delay process according to the instruction from the determination unit 245 (step S45), and the process proceeds to step S41. Transition.

以上のように、図22のステップS26及びS27でNoとならない場合、ステップS23〜S28の処理が一定時間ごとに繰り返し実施される。これにより、(C)の「アイドル時間」=0%、且つ、(B)−(E)>(A)−(D)が成立しなくなるまでの間、判定部245は、応答制御部325に対して、応答遅延処理の開始指示を送信する。   As mentioned above, when it is not No in steps S26 and S27 of FIG. 22, the processes of steps S23 to S28 are repeatedly performed at regular intervals. As a result, until the “idle time” of (C) = 0% and (B) − (E)> (A) − (D) does not hold, the determination unit 245 causes the response control unit 325 to In response, a response delay processing start instruction is transmitted.

応答制御部325は、図24のステップS42で開始指示を受信する都度、ステップS44でホスト装置2からのIOについて遅延時間を累積させることで、(B)−(E)=(A)−(D)の状態に制御できる。   Each time the response control unit 325 receives a start instruction in step S42 of FIG. 24, the response control unit 325 accumulates the delay time for the IO from the host device 2 in step S44, thereby (B) − (E) = (A) − ( D) can be controlled.

〔4−2−2〕各処理の説明
次に、ホスト装置2及びRAID装置3の各々における各処理の動作例について説明する。なお、ホスト装置2での測定結果243aの取得、及び、RAID装置3での測定結果323bの取得に係る動作例は、第1実施形態と同様である。すなわち、「サンプリング応答時間(A)及び(D)」、「現在の応答時間(B)及び(E)」、並びに、「CPU使用率(C)」の測定の動作例は、図13〜図17に例示する動作に従って実施されてよい。
[4-2-2] Description of Each Process Next, an operation example of each process in the host apparatus 2 and the RAID apparatus 3 will be described. Note that the operation example relating to the acquisition of the measurement result 243a in the host device 2 and the acquisition of the measurement result 323b in the RAID device 3 is the same as in the first embodiment. That is, an operation example of measurement of “sampling response time (A) and (D)”, “current response time (B) and (E)”, and “CPU usage rate (C)” is shown in FIGS. The operation illustrated in FIG. 17 may be performed.

(測定結果323bの通知の動作例)
図22のステップS25及び図23のステップS34における、RAID装置3からホスト装置2への測定結果323bの通知の動作例を図25に示す。RAID装置3の通信部326は、管理回線42を介して、ホスト装置2のホスト側制御部24Bに対して、測定結果323bを通知する(符号(71)参照)。
(Operation example of notification of measurement result 323b)
FIG. 25 shows an operation example of notification of the measurement result 323b from the RAID device 3 to the host device 2 in step S25 of FIG. 22 and step S34 of FIG. The communication unit 326 of the RAID device 3 notifies the measurement result 323b to the host-side control unit 24B of the host device 2 via the management line 42 (see reference numeral (71)).

測定結果323bにおける「サンプリング応答時間(D)」の通知は、ホスト装置2のOS22の起動後に、例えば1度だけ行なわれてよい。測定結果323bにおける「現在の応答時間(E)」の通知は、一定時間ごとに行なわれてよい。なお、ホスト装置2の通信部246は、受信した測定結果323bをストレージ側測定結果243bとしてメモリ部243に格納する。   The notification of the “sampling response time (D)” in the measurement result 323b may be performed only once, for example, after the OS 22 of the host apparatus 2 is activated. The notification of “current response time (E)” in the measurement result 323b may be performed at regular intervals. Note that the communication unit 246 of the host device 2 stores the received measurement result 323b in the memory unit 243 as the storage-side measurement result 243b.

(応答遅延処理の動作例)
図22のステップS26〜S29及び図24のステップS41〜S45における応答遅延処理の動作例を図26に示す。ホスト装置2の判定部245は、測定結果243a及びストレージ側測定結果243bに基づきシステム全体のIO性能が飽和した状態に陥ったと判断すると、RAID装置3の応答制御部325に対して応答遅延処理の開始指示を送信する(符号(81)参照)。また、判定部245は、システム全体のIO性能の飽和が解消したと判断すると、応答制御部325に対して応答遅延処理の停止を指示する(符号(81)参照)。
(Example of response delay processing)
FIG. 26 shows an example of response delay processing in steps S26 to S29 in FIG. 22 and steps S41 to S45 in FIG. If the determination unit 245 of the host apparatus 2 determines that the IO performance of the entire system has been saturated based on the measurement result 243a and the storage-side measurement result 243b, the response delay process is performed on the response control unit 325 of the RAID apparatus 3. A start instruction is transmitted (see code (81)). If the determination unit 245 determines that the saturation of the IO performance of the entire system has been resolved, the determination unit 245 instructs the response control unit 325 to stop the response delay processing (see reference numeral (81)).

なお、図26に示す符号(91)〜(100)の経路は、図15に示す符号(21)〜(30)の経路と同様である。   26 are the same as the routes (21) to (30) shown in FIG.

応答制御部325は、判定部245からの指示に応じて、IO処理・応答部33に対して、ホスト装置2のOS22が発行した読み書きのコマンドの応答を一定時間遅延させる、又は、遅延を停止(例えば解除)させてよい。なお、応答遅延処理の対象となる、IO処理・応答部33の処理は、例えば、符号(97)でのIO要求の処理から、符号(99)でのCA3c−1からのIO応答の送信までにおける少なくとも1つの処理であってよい。   In response to an instruction from the determination unit 245, the response control unit 325 delays the response of the read / write command issued by the OS 22 of the host device 2 to the IO processing / response unit 33 for a predetermined time or stops the delay. (For example, release). The processing of the IO processing / response unit 33 that is the target of the response delay processing is, for example, from the processing of the IO request at the code (97) to the transmission of the IO response from the CA3c-1 at the code (99). May be at least one process.

〔5〕その他
上述した各実施形態に係る技術は、以下のように変形、変更して実施することができる。
[5] Others The technology according to each of the above-described embodiments can be implemented with modifications and changes as follows.

例えば、図5又は図20に示す情報処理システム1A又は1Bの各機能ブロックは、それぞれ任意の組み合わせで併合してもよく、分割してもよい。   For example, the functional blocks of the information processing system 1A or 1B shown in FIG. 5 or 20 may be merged in any combination or divided.

また、各実施形態においては、1つのアプリケーション21からRAID装置3に対するIO要求がOS22に出力されるものとして説明したが、これに限定されるものではない。例えば、複数のアプリケーション21が、RAID装置3に対するIO要求をOS22に出力してもよい。   In each embodiment, the IO request for the RAID device 3 from one application 21 is output to the OS 22. However, the present invention is not limited to this. For example, a plurality of applications 21 may output an IO request for the RAID device 3 to the OS 22.

この場合、複数のアプリケーション21の各々が用いる「ユーザCPU時間」の合計が、図2に例示する「ユーザCPU時間」となる。従って、ホスト側制御部24は、IO要求を出力するアプリケーション21の数に関わらず、同様の制御を行なってよい。   In this case, the total of “user CPU time” used by each of the plurality of applications 21 becomes “user CPU time” illustrated in FIG. Therefore, the host-side control unit 24 may perform the same control regardless of the number of applications 21 that output IO requests.

なお、各々のアプリケーション21からのIO要求は、アプリケーション21ごとにOS22が管理するOSキュー(図示省略)に一度格納され、OSキューから順にIOキュー23に格納されて、IOキュー23からRAID装置3に発行される。従って、ストレージ側制御部32についても、IO要求を出力するアプリケーション21の数に関わらず、同様の制御を行なってよい。   The IO request from each application 21 is once stored in an OS queue (not shown) managed by the OS 22 for each application 21, stored in the IO queue 23 in order from the OS queue, and from the IO queue 23 to the RAID device 3. Issued to. Accordingly, the storage-side control unit 32 may perform the same control regardless of the number of applications 21 that output IO requests.

さらに、各実施形態においては、情報処理システム1、1A、又は1Bに、ホスト装置2が1つ存在する場合について説明したが、これに限定されるものではなく、複数のホスト装置2が情報処理システム1、1A、又は1Bに存在してもよい。   Furthermore, in each embodiment, the case where one host device 2 exists in the information processing system 1, 1A, or 1B has been described. However, the present invention is not limited to this, and a plurality of host devices 2 perform information processing. It may be present in system 1, 1A, or 1B.

この場合、複数のホスト装置2の各々が、ホスト側制御部24A又は24Bをそなえてよい。また、ホスト装置2は、互いに、異なるホスト側制御部24A又は24Bをそなえてもよく、RAID装置3は、ホスト装置2ごとに(或いはホスト側制御部24A又は24Bごとに)、ストレージ側制御部32A又は32Bをそなえてもよい。   In this case, each of the plurality of host devices 2 may include a host-side control unit 24A or 24B. The host device 2 may include different host-side control units 24A or 24B, and the RAID device 3 may have a storage-side control unit for each host device 2 (or for each host-side control unit 24A or 24B). 32A or 32B may be provided.

複数のホスト装置2が存在する場合、RAID装置3の応答制御部325による応答遅延処理は、ホスト装置2ごとに実施されることが好ましい。従って、ストレージ側制御部32Bは、ホスト装置2ごとに、ホスト側測定結果323a及び/又は測定結果323bを取得及び管理し、ホスト装置2ごとに、当該ホスト装置2からのIOに対する応答制御を行なってよい。   When there are a plurality of host devices 2, the response delay processing by the response control unit 325 of the RAID device 3 is preferably performed for each host device 2. Therefore, the storage-side control unit 32B acquires and manages the host-side measurement results 323a and / or measurement results 323b for each host device 2, and performs response control on the IO from the host device 2 for each host device 2. It's okay.

なお、RAID装置3には、ホスト装置2がそれぞれ異なるポートに接続される。従って、RAID装置3は、例えばFC層の固有名等によって、IO要求の送信元のホスト装置2を特定できる。   In the RAID device 3, the host device 2 is connected to a different port. Therefore, the RAID device 3 can specify the host device 2 that is the transmission source of the IO request, for example, by the unique name of the FC layer.

また、各実施形態においては、情報処理システム1、1A、又は1Bに、RAID装置3が1つ存在する場合について説明したが、これに限定されるものではなく、複数のRAID装置3が情報処理システム1、1A、又は1Bに存在してもよい。   In each embodiment, the case where one RAID device 3 exists in the information processing system 1, 1A, or 1B has been described. However, the present invention is not limited to this, and a plurality of RAID devices 3 can process information. It may be present in system 1, 1A, or 1B.

〔6〕付記
以上の各実施形態に関し、更に以下の付記を開示する。
[6] Supplementary Notes Regarding the above embodiments, the following supplementary notes are further disclosed.

(付記1)
ストレージ装置へのアクセス要求を送信するための送信処理を実行する情報処理装置と、
前記送信処理により送信されたアクセス要求に応じた処理を行ない、前記情報処理装置に応答を送信する前記ストレージ装置と、をそなえ、
前記情報処理装置又は前記ストレージ装置は、
前記送信処理に起因したアクセス要求の送信遅延に関する指標に基づいて、前記情報処理装置への応答の送信タイミングの制御を実施するか否かを判定する判定部、をそなえ、
前記ストレージ装置は、
前記判定部による判定結果に基づいて、前記情報処理装置への応答の送信タイミングを制御する制御部、をそなえる、
ことを特徴とする、情報処理システム。
(Appendix 1)
An information processing apparatus that executes transmission processing for transmitting an access request to the storage apparatus;
The storage device that performs processing according to the access request transmitted by the transmission processing and transmits a response to the information processing device, and
The information processing apparatus or the storage apparatus is
A determination unit that determines whether to control transmission timing of a response to the information processing apparatus based on an index related to a transmission delay of an access request caused by the transmission process;
The storage device
A control unit that controls transmission timing of a response to the information processing device based on a determination result by the determination unit;
An information processing system characterized by that.

(付記2)
前記送信処理は、前記アクセス要求を送信キューに入力し、前記送信キューから所定の順序で前記アクセス要求を前記ストレージ装置に送信する処理を含み、
前記送信遅延に関する指標は、前記アクセス要求が前記送信キューに滞在する時間に関する第1の情報を含む、
ことを特徴とする、付記1記載の情報処理システム。
(Appendix 2)
The transmission process includes a process of inputting the access request to a transmission queue and transmitting the access request from the transmission queue to the storage apparatus in a predetermined order;
The indication related to the transmission delay includes first information related to a time during which the access request stays in the transmission queue.
The information processing system according to supplementary note 1, wherein

(付記3)
前記第1の情報は、
前記情報処理装置で測定された、前記送信処理を開始してから、前記ストレージ装置から応答を受信するまでの第1の時間と、
前記ストレージ装置で測定された、前記情報処理装置からアクセス要求を受信してから、前記情報処理装置に応答を送信するまでの第2の時間と、を含む、
ことを特徴とする、付記2記載の情報処理システム。
(Appendix 3)
The first information is:
A first time measured by the information processing apparatus from when the transmission process is started until a response is received from the storage apparatus;
A second time from when an access request is received from the information processing device measured by the storage device to when a response is transmitted to the information processing device.
The information processing system according to supplementary note 2, wherein

(付記4)
前記判定部は、前記第1の時間と前記第2の時間との時間差と、前記時間差の基準値との比較を行ない、比較結果に基づいて、前記送信タイミングの制御を実施するか否かを判定する、
ことを特徴とする、付記3記載の情報処理システム。
(Appendix 4)
The determination unit compares the time difference between the first time and the second time with a reference value of the time difference, and determines whether to control the transmission timing based on the comparison result. judge,
The information processing system according to supplementary note 3, wherein

(付記5)
前記送信遅延に関する指標は、前記情報処理装置で測定された、前記情報処理装置のプロセッサが前記送信処理に割当可能な処理能力に関する第2の情報を含む、
ことを特徴とする、付記2〜4のいずれか1項記載の情報処理システム。
(Appendix 5)
The indicator related to the transmission delay includes second information related to a processing capability that is measured by the information processing device and that can be allocated to the transmission processing by a processor of the information processing device.
The information processing system according to any one of appendices 2 to 4, characterized in that:

(付記6)
前記判定部は、前記第2の情報を用いて、前記プロセッサが前記送信処理に割当可能な処理能力を有しているか否かを判定する、
ことを特徴とする、付記5記載の情報処理システム。
(Appendix 6)
The determination unit determines whether or not the processor has a processing capability that can be allocated to the transmission process, using the second information.
The information processing system according to appendix 5, wherein

(付記7)
前記送信タイミングの制御は、前記ストレージ装置における、前記アクセス要求に応じた処理、応答の生成処理、及び、生成した応答を前記情報処理装置に送信する処理、のうちの少なくとも1つの処理を遅延させる制御を含む、
ことを特徴とする、付記1〜6のいずれか1項記載の情報処理システム。
(Appendix 7)
The control of the transmission timing delays at least one of the processing according to the access request, the response generation processing, and the processing of transmitting the generated response to the information processing device in the storage device. Including control,
The information processing system according to any one of appendices 1 to 6, characterized in that:

(付記8)
ストレージ装置に対してアクセス要求を送信するための送信処理を実行する送信処理部と、
前記送信処理に起因したアクセス要求の送信遅延に関する指標に基づいて、前記ストレージ装置から前記情報処理装置への応答の送信タイミングの制御を実施するか否かを判定する判定部と、をそなえる、
ことを特徴とする、情報処理装置。
(Appendix 8)
A transmission processing unit that executes transmission processing for transmitting an access request to the storage device;
A determination unit that determines whether to control transmission timing of a response from the storage apparatus to the information processing apparatus based on an index related to a transmission delay of an access request caused by the transmission process;
An information processing apparatus.

(付記9)
送信キューをそなえ、
前記送信処理部は、前記送信処理において、前記アクセス要求を前記送信キューに入力し、前記送信キューから所定の順序で前記アクセス要求を前記ストレージ装置に送信し、
前記送信遅延に関する指標は、前記アクセス要求が前記送信キューに滞在する時間に関する第1の情報を含む、
ことを特徴とする、付記8記載の情報処理装置。
(Appendix 9)
Have a send queue,
In the transmission process, the transmission processing unit inputs the access request to the transmission queue, and transmits the access request from the transmission queue to the storage device in a predetermined order.
The indication related to the transmission delay includes first information related to a time during which the access request stays in the transmission queue.
The information processing apparatus according to appendix 8, wherein

(付記10)
前記第1の情報は、
前記情報処理装置で測定された、前記送信処理を開始してから、前記ストレージ装置から応答を受信するまでの第1の時間と、
前記ストレージ装置で測定された、前記情報処理装置からアクセス要求を受信してから、前記情報処理装置に応答を送信するまでの第2の時間と、を含む、
ことを特徴とする、付記9記載の情報処理装置。
(Appendix 10)
The first information is:
A first time measured by the information processing apparatus from when the transmission process is started until a response is received from the storage apparatus;
A second time from when an access request is received from the information processing device measured by the storage device to when a response is transmitted to the information processing device.
The information processing apparatus according to appendix 9, wherein:

(付記11)
前記判定部は、測定した前記第1の時間と前記ストレージ装置から取得した前記第2の時間との時間差と、前記時間差の基準値との比較を行ない、比較結果に基づいて、前記送信タイミングの制御を実施するか否かを判定する、
ことを特徴とする、付記10記載の情報処理装置。
(Appendix 11)
The determination unit compares the time difference between the measured first time and the second time acquired from the storage device with a reference value of the time difference, and determines the transmission timing based on the comparison result. Determine whether to implement control,
The information processing apparatus according to supplementary note 10, wherein

(付記12)
前記送信遅延に関する指標は、前記情報処理装置で測定された、前記情報処理装置のプロセッサが前記送信処理に割当可能な処理能力に関する第2の情報を含む、
ことを特徴とする、付記9〜11のいずれか1項記載の情報処理装置。
(Appendix 12)
The indicator related to the transmission delay includes second information related to a processing capability that is measured by the information processing device and that can be allocated to the transmission processing by a processor of the information processing device.
The information processing apparatus according to any one of appendices 9 to 11, characterized in that:

(付記13)
前記判定部は、測定した前記第2の情報を用いて、前記プロセッサが前記送信処理に割当可能な処理能力を有しているか否かを判定し、
前記判定部の判定結果に基づいて、前記ストレージ装置に対して応答の送信タイミングの制御を要求する制御要求部、をそなえる、
ことを特徴とする、付記12記載の情報処理装置。
(Appendix 13)
The determination unit determines whether or not the processor has a processing capability that can be allocated to the transmission process, using the measured second information.
A control request unit that requests the storage device to control response transmission timing based on the determination result of the determination unit;
The information processing apparatus according to appendix 12, wherein

(付記14)
情報処理装置から送信処理により送信されたアクセス要求に応じて処理を行ない、前記情報処理装置に応答を送信する応答処理部と、
前記送信処理に起因したアクセス要求の送信遅延に関する指標に基づいて、前記情報処理装置への応答の送信タイミングを制御する応答制御部と、をそなえる、
ことを特徴とする、ストレージ装置。
(Appendix 14)
A response processing unit that performs processing in response to an access request transmitted by a transmission process from the information processing device, and transmits a response to the information processing device;
A response control unit that controls a transmission timing of a response to the information processing device based on an index related to a transmission delay of an access request caused by the transmission process;
A storage apparatus characterized by the above.

(付記15)
前記送信処理は、前記アクセス要求を送信キューに入力し、前記送信キューから所定の順序で前記アクセス要求を前記ストレージ装置に送信する処理を含み、
前記送信遅延に関する指標は、前記アクセス要求が前記送信キューに滞在する時間に関する第1の情報を含む、
ことを特徴とする、付記14記載のストレージ装置。
(Appendix 15)
The transmission process includes a process of inputting the access request to a transmission queue and transmitting the access request from the transmission queue to the storage apparatus in a predetermined order;
The indication related to the transmission delay includes first information related to a time during which the access request stays in the transmission queue.
15. The storage device according to appendix 14, wherein

(付記16)
前記第1の情報は、
前記情報処理装置で測定された、前記送信処理を開始してから、前記ストレージ装置から応答を受信するまでの第1の時間と、
前記ストレージ装置で測定された、前記情報処理装置からアクセス要求を受信してから、前記情報処理装置に応答を送信するまでの第2の時間と、を含む、
ことを特徴とする、付記15記載のストレージ装置。
(Appendix 16)
The first information is:
A first time measured by the information processing apparatus from when the transmission process is started until a response is received from the storage apparatus;
A second time from when an access request is received from the information processing device measured by the storage device to when a response is transmitted to the information processing device.
The storage device according to appendix 15, wherein

(付記17)
前記応答制御部は、前記情報処理装置から取得した前記第1の時間と測定した前記第2の時間との時間差と、前記時間差の基準値との比較を行ない、比較結果に基づいて、前記送信タイミングを制御する、
ことを特徴とする、付記16記載のストレージ装置。
(Appendix 17)
The response control unit compares a time difference between the first time acquired from the information processing device and the measured second time with a reference value of the time difference, and based on a comparison result, the transmission Control the timing,
The storage apparatus according to supplementary note 16, wherein

(付記18)
前記送信遅延に関する指標は、前記情報処理装置で測定された、前記情報処理装置のプロセッサが前記送信処理に割当可能な処理能力に関する第2の情報を含む、
ことを特徴とする、付記15〜17のいずれか1項記載のストレージ装置。
(Appendix 18)
The indicator related to the transmission delay includes second information related to a processing capability that is measured by the information processing device and that can be allocated to the transmission processing by a processor of the information processing device.
18. The storage device according to any one of appendices 15 to 17, characterized in that:

(付記19)
前記応答制御部は、前記情報処理装置から取得した前記第2の情報を用いて、前記プロセッサが前記送信処理に割当可能な処理能力を有しているか否かを判定し、判定結果に基づいて、前記送信タイミングを制御する、
ことを特徴とする、付記18記載のストレージ装置。
(Appendix 19)
The response control unit uses the second information acquired from the information processing apparatus to determine whether the processor has a processing capability that can be allocated to the transmission process, and based on the determination result Controlling the transmission timing,
Item 19. The storage device according to appendix 18.

(付記20)
前記送信タイミングの制御は、前記応答処理部における、前記アクセス要求に応じた処理、応答の生成処理、及び、生成した応答を前記情報処理装置に送信する処理、のうちの少なくとも1つの処理を遅延させる制御を含む、
ことを特徴とする、付記14〜19のいずれか1項記載のストレージ装置。
(Appendix 20)
The control of the transmission timing delays at least one of the process according to the access request, the response generation process, and the process of transmitting the generated response to the information processing apparatus in the response processing unit. Including control to
20. The storage device according to any one of appendices 14 to 19, wherein

1、1A、1B 情報処理システム
2 ホスト装置
21 アプリケーション
22 OS
23 IOキュー
24、24A、24B ホスト側制御部
241、322 IO性能測定部
242 システム性能測定部
243、323 メモリ部
243a、323b 測定結果
243b ストレージ側測定結果
244、246、321、326 通信部
245、324 判定部
25 IO処理部
3 RAID装置
31 ファームウェア
32、32A、32B ストレージ側制御部
323a ホスト側測定結果
325 応答制御部
33 IO処理・応答部
41 通信回線
42 管理回線
1, 1A, 1B Information processing system 2 Host device 21 Application 22 OS
23 IO queue 24, 24A, 24B Host side control unit 241, 322 IO performance measurement unit 242 System performance measurement unit 243, 323 Memory unit 243a, 323b Measurement result 243b Storage side measurement result 244, 246, 321, 326 Communication unit 245, 324 determination unit 25 IO processing unit 3 RAID device 31 firmware 32, 32A, 32B storage side control unit 323a host side measurement result 325 response control unit 33 IO processing / response unit 41 communication line 42 management line

Claims (9)

ストレージ装置へのアクセス要求を送信するための送信処理を実行する情報処理装置と、
前記送信処理により送信されたアクセス要求に応じた処理を行ない、前記情報処理装置に応答を送信する前記ストレージ装置と、をそなえ、
前記情報処理装置又は前記ストレージ装置は、
前記情報処理装置の送信処理に起因したアクセス要求の送信遅延に関する指標に基づいて、前記情報処理装置への応答の送信タイミングの制御を実施するか否かを判定する判定部、をそなえ、
前記ストレージ装置は、
前記判定部による判定結果に基づいて、前記情報処理装置への応答の送信タイミングを制御する応答制御部、をそなえる、
ことを特徴とする、情報処理システム。
An information processing apparatus that executes transmission processing for transmitting an access request to the storage apparatus;
The storage device that performs processing according to the access request transmitted by the transmission processing and transmits a response to the information processing device, and
The information processing apparatus or the storage apparatus is
A determination unit that determines whether to control transmission timing of a response to the information processing device based on an index related to a transmission delay of the access request caused by the transmission processing of the information processing device;
The storage device
A response control unit that controls a transmission timing of a response to the information processing device based on a determination result by the determination unit;
An information processing system characterized by that.
前記送信処理は、前記アクセス要求を送信キューに入力し、前記送信キューから所定の順序で前記アクセス要求を前記ストレージ装置に送信する処理を含み、
前記送信遅延に関する指標は、前記アクセス要求が前記送信キューに滞在する時間に関する第1の情報を含む、
ことを特徴とする、請求項1記載の情報処理システム。
The transmission process includes a process of inputting the access request to a transmission queue and transmitting the access request from the transmission queue to the storage apparatus in a predetermined order;
The indication related to the transmission delay includes first information related to a time during which the access request stays in the transmission queue.
The information processing system according to claim 1, wherein:
前記第1の情報は、
前記情報処理装置で測定された、前記送信処理を開始してから、前記ストレージ装置から応答を受信するまでの第1の時間と、
前記ストレージ装置で測定された、前記情報処理装置からアクセス要求を受信してから、前記情報処理装置に応答を送信するまでの第2の時間と、を含む、
ことを特徴とする、請求項2記載の情報処理システム。
The first information is:
A first time measured by the information processing apparatus from when the transmission process is started until a response is received from the storage apparatus;
A second time from when an access request is received from the information processing device measured by the storage device to when a response is transmitted to the information processing device.
The information processing system according to claim 2, wherein:
前記判定部は、前記第1の時間と前記第2の時間との時間差と、前記時間差の基準値との比較を行ない、比較結果に基づいて、前記送信タイミングの制御を実施するか否かを判定する、
ことを特徴とする、請求項3記載の情報処理システム。
The determination unit compares the time difference between the first time and the second time with a reference value of the time difference, and determines whether to control the transmission timing based on the comparison result. judge,
The information processing system according to claim 3, wherein:
前記送信遅延に関する指標は、前記情報処理装置で測定された、前記情報処理装置のプロセッサが前記送信処理に割当可能な処理能力に関する第2の情報を含む、
ことを特徴とする、請求項2〜4のいずれか1項記載の情報処理システム。
The indicator related to the transmission delay includes second information related to a processing capability that is measured by the information processing device and that can be allocated to the transmission processing by a processor of the information processing device.
The information processing system according to any one of claims 2 to 4, wherein
前記判定部は、前記第2の情報を用いて、前記プロセッサが前記送信処理に割当可能な処理能力を有しているか否かを判定する、
ことを特徴とする、請求項5記載の情報処理システム。
The determination unit determines whether or not the processor has a processing capability that can be allocated to the transmission process, using the second information.
The information processing system according to claim 5, wherein:
前記送信タイミングの制御は、前記ストレージ装置における、前記アクセス要求に応じた処理、応答の生成処理、及び、生成した応答を前記情報処理装置に送信する処理、のうちの少なくとも1つの処理を遅延させる制御を含む、
ことを特徴とする、請求項1〜6のいずれか1項記載の情報処理システム。
The control of the transmission timing delays at least one of the processing according to the access request, the response generation processing, and the processing of transmitting the generated response to the information processing device in the storage device. Including control,
The information processing system according to claim 1, wherein:
ストレージ装置に対してアクセス要求を送信するための送信処理を実行する送信処理部と、
前記送信処理に起因したアクセス要求の送信遅延に関する指標に基づいて、前記ストレージ装置から前記情報処理装置への応答の送信タイミングの制御を実施するか否かを判定する判定部と、をそなえる、
ことを特徴とする、情報処理装置。
A transmission processing unit that executes transmission processing for transmitting an access request to the storage device;
A determination unit that determines whether to control transmission timing of a response from the storage apparatus to the information processing apparatus based on an index related to a transmission delay of an access request caused by the transmission process;
An information processing apparatus.
情報処理装置から送信処理により送信されたアクセス要求に応じて処理を行ない、前記情報処理装置に応答を送信する応答処理部と、
前記送信処理に起因したアクセス要求の送信遅延に関する指標に基づいて、前記情報処理装置への応答の送信タイミングを制御する応答制御部と、をそなえる、
ことを特徴とする、ストレージ装置。
A response processing unit that performs processing in response to an access request transmitted by a transmission process from the information processing device, and transmits a response to the information processing device;
A response control unit that controls a transmission timing of a response to the information processing device based on an index related to a transmission delay of an access request caused by the transmission process;
A storage apparatus characterized by the above.
JP2016125122A 2016-06-24 2016-06-24 Information processing system, information processing device, and storage device Pending JP2017228180A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016125122A JP2017228180A (en) 2016-06-24 2016-06-24 Information processing system, information processing device, and storage device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016125122A JP2017228180A (en) 2016-06-24 2016-06-24 Information processing system, information processing device, and storage device

Publications (1)

Publication Number Publication Date
JP2017228180A true JP2017228180A (en) 2017-12-28

Family

ID=60891965

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016125122A Pending JP2017228180A (en) 2016-06-24 2016-06-24 Information processing system, information processing device, and storage device

Country Status (1)

Country Link
JP (1) JP2017228180A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020119243A (en) * 2019-01-23 2020-08-06 Necプラットフォームズ株式会社 Electronic apparatus, means for detecting fitting of cooling means, and program for detecting fitting of cooling means

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020119243A (en) * 2019-01-23 2020-08-06 Necプラットフォームズ株式会社 Electronic apparatus, means for detecting fitting of cooling means, and program for detecting fitting of cooling means

Similar Documents

Publication Publication Date Title
JP5057792B2 (en) Storage system with a function to alleviate performance bottlenecks
US20100082900A1 (en) Management device for storage device
JP6409613B2 (en) Information processing apparatus, multipath control method, and multipath control program
US20090300283A1 (en) Method and apparatus for dissolving hot spots in storage systems
JP5748932B2 (en) Computer system and method for supporting analysis of asynchronous remote replication
WO2014167716A1 (en) Computer system management system and management method
US9471306B2 (en) Information processing apparatus and copy control method
US9229660B2 (en) Storage system and method for controlling storage system
JP2010044635A (en) File server system and file server system boot method
US20160196085A1 (en) Storage control apparatus and storage apparatus
JP2017091456A (en) Control device, control program, and control method
WO2014165456A1 (en) Detection of user behavior using time series modeling
JP2018106462A (en) Information processing apparatus, storage control program and storage control method
US20140006816A1 (en) Control apparatus, control method, and computer product
JP6088837B2 (en) Storage control device, storage control method, storage system, and program
JP2019191886A (en) Information processing apparatus, information processing method, and program
JP2017228180A (en) Information processing system, information processing device, and storage device
JP4616899B2 (en) Management server, pool expansion method and computer system
JP5821445B2 (en) Disk array device and disk array device control method
US10599508B2 (en) I/O error diagnostics
US9032150B2 (en) Storage apparatus and control method of storage apparatus
US10409663B2 (en) Storage system and control apparatus
JP6497233B2 (en) Storage control device, storage control program, and storage control method
US20200073569A1 (en) Storage control system and storage control method
US9639417B2 (en) Storage control apparatus and control method