JP3623697B2 - ディスク・タイムシェアリング装置及び方法 - Google Patents
ディスク・タイムシェアリング装置及び方法 Download PDFInfo
- Publication number
- JP3623697B2 JP3623697B2 JP21549299A JP21549299A JP3623697B2 JP 3623697 B2 JP3623697 B2 JP 3623697B2 JP 21549299 A JP21549299 A JP 21549299A JP 21549299 A JP21549299 A JP 21549299A JP 3623697 B2 JP3623697 B2 JP 3623697B2
- Authority
- JP
- Japan
- Prior art keywords
- time
- input
- output
- group
- disk
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 72
- 238000012545 processing Methods 0.000 claims description 94
- 230000007246 mechanism Effects 0.000 claims description 30
- 230000002159 abnormal effect Effects 0.000 description 41
- 230000008569 process Effects 0.000 description 37
- 230000004044 response Effects 0.000 description 37
- 238000010586 diagram Methods 0.000 description 19
- 238000004088 simulation Methods 0.000 description 6
- 238000013468 resource allocation Methods 0.000 description 5
- 238000012546 transfer Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 230000007423 decrease Effects 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 239000012141 concentrate Substances 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000001771 impaired effect Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0613—Improving I/O performance in relation to throughput
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
【発明の属する技術分野】
本発明は、複数の入出力に基づいてディスク装置の使用をスケジューリングするディスク・タイムシェアリング装置及び方法に関し、特に、競合する入出力に対し割当て時間を順番に切替えるようにディスク装置の使用をスケジューリングするディスク・タイムシェアリング装置及び方法に関する。
【0002】
【従来の技術】
従来、ハードディスクドライブ等のディスク装置を使用してデータを管理するストレージシステムにあっては、例えばディクス装置をRAID構成の装置とし、このRAID装置をディスク制御装置の配下に接続して上位のホストからの入出力を処理したり、直接、サーバにRAID装置を接続し、サーバOSからの入出力を処理するようにしている。
【0003】
このようなストレージシステムにあっては、同一のディスク装置に対して、応答時間の保証が要求されるランダムアクセスと、単位時間当たりの処理量が重視されるシーケンシャルアクセスを行う必要がある場合、ランダムアクセスとシーケンシャルアクセスが競合しないように、時間帯を分けた運用を行っている。例えば、昼間は、ディスク装置のデータベースに対してランダムアクセス中心のOLTP業務(On Line transaction Processing)を行い、業務終了後の夜間にデータベースのバックアップを行っている。
【0004】
【発明が解決しようとする課題】
1.ランダムアクセスとシーケンシャルアクセスの資源配分
しかしながら、このようなストレージシステムにあっては、業務の無停止化(フォルトトレーラント)に伴い、夜間といえどもランダムアクセス系のOLTP業務を継続する必要が出てきたため、ランダムアクセス系のOLTP業務中にシーケンシャルアクセスであるバックアップの実行が必要となってきている。
【0005】
ランダムアクセスのみの場合は、ある平均応答時間、例えば30msを満たせる単位時間当りの入出力回数であるIOPS(Input Output Per Second )、例えば100IOPSを見積もることができる。シーケンシャルアクセスのみの場合は、例えば20MB/sといったスループットを見積もることができる。
【0006】
ところが、ランダムアクセスとシーケンシャルアクセスを同時に行った場合は、受け付けた入出力要求をFIFOを用いたキューで処理するため、ランダムアクセスがディスク装置を使用できる時間およびシーケンシャルアクセスがディスク装置を使用できる時間を保証する仕組みがない。
【0007】
例えば、平均応答時間30msで50IOPSのランダムアクセスと、5MB/sのシーケンシャルアクセスが欲しい場合でも、シーケンシャルアクセスが頻繁に発生するとシーケンシャルアクセスのスループットは、上がる必要はないのであるが、5MB/sから10MB/sに上がる。逆にランダムアクセスで平均応答時間30msを満たすIOPSは、低下させたくはないにもかかわらず、50IOPSから25IOPSに低下する。
2.論理ボリューム間の資源配分
また従来のストレージシステムは、性能要件の異なるデータは異なるディスク装置に配置することで、それぞれの性能特性を引き出している。例えば、小量データのランダムアクセスで応答時間の保証が要求されるデータと、大量データのシーケンシャルアクセスで単位時間当たりの処理量が重視されるデータは、異なるディスク装置に配置している。
【0008】
ところが、ディスク装置の大容量化に伴い、異なる性能要件のデータを同一ディスク装置に配置するケースが増えてきている。このように異なる性能要件の論理ボリュームを同一ディスクに配置した場合も同様の問題が生じる。従来は、受け付けた入出力をFIFOでスケジュールして論理ボリューム間のディスク資源分配を制御する仕組みがない。このため、ある論理ボリュームへの入出力が頻繁に発生すると、他の論理ボリュームへの入出力性能が低下する。
【0009】
例えば、10IOPSを保証して欲しいボリュームAと、50IOPSを保証して欲しいボリュームBを同一ディスクに配置した場合、ボリュームAへのアクセスが頻繁に発生するとボリュームAのIOPSは、上がる必要はないにもかかわらず、10IOPSから20IOPSに上がる。逆にボリュームBのIOPSは、低下させたくはないにもかかわらず、50IOPSから40IOPSへと低下する。
3.通常処理とバックアップ/コピー処理間の資源配分
従来のストレージシステムで、同一ディスク装置上に複数の論理ボリュームが存在し、個々の論理ボリューム単位でバックアップやコピーを行う場合を考える。従来は、バックアップ/コピー処理による通常の入出力への影響を抑えるため、バックアップ/コピー処理のペース(インターバル)を、バックアップ/コピー処理の実行時に設定する手法を採っている。
【0010】
ところが、ボリュームAをコピー中に、ボリュームAと同じディスク装置上のボリュームBに対してコピーを実行すると、同時に2多重のコピー処理が同一のディスク装置上で動作するため、通常の入出力への影響は2倍になる。
4.通常処理とリビルディング間の資源配分
RAID装置では、複数のディスクドライブでデータを冗長化させることにより、1つのディスクドライブに障害が発生しても残りのディスクドライブからデータを復旧することができる。このため、RAID装置では、ディスクドライブに障害が発生しても、通常の入出力を継続することができる。
【0011】
また、交換されたディスクドライブに対して、残りのディスクドライブからデータの復旧が行われる。この復旧処理のことをリビルディング(Rebuilding)と呼ぶ。リビルディングは、RAID装置を構成するディスクドライブに対する入出力処理を伴うため、同一のディスクドライブを通常の入出力と奪い合うことになる。
【0012】
このため、リビルディングにより通常の入出力の性能は低下する。例えば、ミラー構成をとるRAID1の場合、リビルディングは、ディスクドライブの障害により1台になったディスクドライブから交換された新しいディスクドライブへデータをコピースる処理であり、コピー元のディスクドライブに対しリード入出力が発生する。このリード入出力が通常の入出力を待たせることになり、通常の入出力の性能が低下する。
【0013】
この問題を解消するための従来のアプローチは2つある。第1のアプローチは、通常の入出力に影響を与えないように、十分長いインターバルで、十分小さいデータをコピーする。この場合、通常の入出力への影響は小さくすることができるが、リビルディング完了までの時間が長くなる。例えば9GBのディスクドライプで構成するRAID1の場合、10時間前後が必要となる。
【0014】
第2のアプローチは、ディスクドライブが空いていれば、即ち、通常の入出力でディスクドライブを使用していなければ、リビルディングの入出力をスケジュールする。この場合の問題は、リビルディング完了までの時間が保証できない点にある。これはディスクドライブがほとんど空いていないと、リビルディングに長時間必要になってしまう。
5.最大応答時間保証
ミッションクリティカルな業務では、入出力性能の要件として平均応答時間の他に最大応答時間が重要となる。近年のディスク装置は、実行待ち入出力を処理時間が最短になるように並び替えるリ・オーダリング機能(Re−ordering 機能)を持っている。
【0015】
リ・オーダリング機能は、ディスク装置が、実行待ち入出力の中からシーク時間と回転待ち時間の和で定義されるポジショニング時間を最小にする入出力を、次に実行する入出力として選ぶ機能である。ディスク装置に入出力を依頼する際に、リ・オーダリングの対象として良い旨のタスク指定となるシンプルタスク(Simple task)をディスク装置に通知する。
【0016】
ディスク装置はシンプルタスク指定の入出力の場合は、ポジショニング時間を最小にするような順番で入出力をスケジュールする。これにより、ランダムアクセス時の平均処理時間が短縮される。例えば、ランダムアクセスの平均処理時間は、リ・オーダリング機能を使用することにより、9msから5msに短縮する。
【0017】
リ・オーダリング機能は、このようにディスク装置のスループットを向上させるが、最大応答時間が大きくなる問題がある。これは、次の入出力にポジショニング時間が最小となる入出力を選択するため、ある入出力が長い間待ちのままでスケジュールされない現象が発生するためである。
【0018】
この現像を解決するため、ディスク装置は、リ・オーダリングの対象として良いことを指定するシンプルタスクの他に、オーダードタスク(Ordered task)を指定する機能を備えている。オーダードタスクの指定で入出力を依頼すると、ディスク装置は、それまでに受け付けていた未だ完了していない入出力を全て完了させた後、オーダードタスクの入出力をスケジューリングする。
【0019】
このようにシンプルタスクの間にオーダードタスクを混ぜることにより、入出力の最大応答時間の延長を抑えることが可能となる。しかし、ランダムアクスセとシーケンシャルアクセス間、論理ボリューム間、通常処理とバックアップ/コピー処理やリビルディング処理間の資源配分を考えた場合、スループット(IOPS)を向上させるためのシンプルタスクの利用に加え、シンプルタクスクを使った場合の最大応答時間の保証も考慮に入れる必要がある。
【0020】
本発明の目的は、ディクス装置に種類の異なる複数の入出力が競合した場合の性能の最低保証を可能とするディスク・タイムシェアリング装置及び方法を提供することを目的とする。
【0021】
【課題を解決するための手段】
図1は本発明の原理説明図である。本発明のディスク・タイムシェアリング装置は、図1(A)のように、1又は複数のディスクドライブ24を備えたディスク装置16、ディスク装置16に入出力要求を発行する入出力要求部18、入出力スケジュール機構22及び割当時間制御部35を備える。
【0022】
このうち入出力スケジュール機構22は、ディスク装置16への入出力をグループ化した入出力グループを形成すると共に各入出力グループがディスク装置16を使用する時間の比率を定義し、定義された時間比率に基づき各入出力グループが連続してディスク装置16を使用できるクォンタムτ1,τ2,τ3(割当時間)を決定し、複数の入出力グループからディスク装置16に入出力の依頼を受け付けている場合、図1(B)のように、競合した入出力グループ間でクォンタムτ1,τ2,τ3を順番に切り替えてディスク装置16を使用するタイムシェアリングを行う。
【0023】
更に、割当時間制御部35は、入出力グループの入出力処理要求の過密具合に応じて割当時間をダイナミックに変動させる。
【0024】
このような本発明のディスク・タイムシェアリング装置によれば、ランダムアクセス、シーケンシャルアクセス、コピー(シーケンシャル)等の複数の入出力グループに分けてクォンタムを割当てた場合、特定の入出力グループでの入出力要求が少なくなってクォンタムに余剰時間が生じた場合、他の入出力要求の多い入出力グループのクォンタムに余剰時間がダイナミックに配分され、そのためディスク装置に遊び時間を生ずることなく効率よくアクセスできる。
【0025】
割当時間制御部35は、処理要求の少ない入出力グループの余った割当時間を、処理要求が多い入出力グループの割当時間を延長させることで配分する。
【0026】
また割当時間制御部35は、処理要求の少ない入出力グループの余った割当時間を、処理要求が多い入出力グループの割当時間を変えることなく頻度を増やすことで配分する。
【0027】
ところで、本発明によって、複数の入出力グループでいずれかで生じたクォンタムの余剰時間を、入出力要求の多い別の入出力グループのクォンタムに配分する場合、初期設定した比率に従って固定的に配分される。
【0028】
しかし、入出力グループをランダムアクセス、シーケンシャルアクセス、コピーアクセス等に分けていた場合、シーケンシャルアクセスで余剰時間が生じ、このときコピーアクセスの入出力要求がたまたま多かったとすると、余剰時間はコピーアクセスに配分されてしまい、その結果、ランダムアクセスのレスポンス時間が大幅に伸びてしまうこと恐れがある。
【0029】
そこで、本発明にあっては、入出力スケジュール機構20で複数の入出力グループをまとめて2以上の上位グループを形成し、割当時間制御部35は、上位グループ内においてのみ各入出力グループ間で余剰時間の配分を行うことを特徴とする。
【0030】
例えばランダムアクセスとシーケンシャルアクセスを正常系グループに入れ、コピーアクセスを異常系グループに入れ、この上位グループ間での余剰時間の配分を禁止することで、例えばシーケンシャルアクセスの余剰時間を上位グループ内のランダムアクセスに配分でき、そのレスポンス時間を保証できる。
【0031】
割当時間制御部35は、上位グループの相互間で余剰時間の配分を行うようにしてもよい。この場合、割当時間制御部35は、ある上位グループに属する全ての入出力グループに余剰時間がある場合に、他の上位グループの処理要求の多い入出力グループに余剰時間を配分する。
【0032】
また割当時間制御部35は、ある上位グループに属する一部の入出力グループに余剰時間がある場合に、他の上位グループの処理要求の多い入出力グループに余剰時間を配分する。更に割当時間制御部35は、配分先の上位グループに余剰時間を使い切る入出力グループがない場合は、他の上位グループに配分しない。
【0033】
入出力スケジュール機構20は上位グループに優先度を設定し、割当時間制御部35は、優先度の高い上位グループから順番に入出力要求の過密具合を調べ、入出力処理要求の多い上位グループに他の上位グループの余剰時間を配分する。
【0034】
また割当時間制御部35は、逆に優先度の低い上位グループから順番に入出力要求の過密具合を調べ、入出力処理要求の多い上位グループに他の上位グループの余剰時間を配分してもよい。
【0035】
更に割当時間制御部は優先度の低い上位グループから優先度の高い上位グループに対してのみ余剰時間を配分することで、例えば異常系のコピーアクセスで生じた余剰時間を正常系のランダムアクセス又はーケンシャルアクセスに反映し、レスポンス時間又はスループットを保証することができる。
【0036】
また割当時間制御部35は、予め指定した任意の上位グループに他の上位グループの余剰時間を配分してもよい。割当時間制御部35は、ある上位グループに属する入出力処理要求の少ない入出力グループの余った割当時間を、他の上位グループに属する入出力処理要求が多い入出力グループの割当時間を延長させること、又は入出力グループの割当時間を変えることなく頻度を増やすことで配分する。
【0037】
本発明は、1又は複数のディスクドライブを備えたディスク装置16と、ディスク装置16に入出力要求を発行する入出力要求部18と、入出力要求に基づいてディスク装置16の使用をスケジューリングする入出力スケジュール機構20とを備えたディスク・タイムシェアリング方法を提供する。
【0038】
このディスク・タイムシェアリング方法は、
ディスク装置16への入出力を種別に応じてグループ化した入出力グループを形成すると共に各入出力グループが連続してディスク装置を使用できる割当時間(クォンタム)を定義し、
複数の入出力グループからディスク装置16に入出力の依頼を受け付けている場合、競合した入出力グループ間で割当時間を順番に切り替えてディスク装置を使用し、
入出力グループの入出力処理要求の過密具合に応じて割当時間を変動させる。
【0039】
この場合も、処理要求の少ない入出力グループの余った割当時間を、処理要求が多い入出力グループの割当時間を延長させるか、或いは、処理要求が多い入出力グループの割当時間を変えることなく頻度を増やすことで配分する。
【0040】
更に、複数の入出力グループをまとめて2以上の上位グループを形成し、上位グループ内においてのみ各入出力グループ間で余剰時間を配分するか、或いは、上位グループの相互間で余剰時間を配分する。これ以外の詳細は装置の場合と同じになる。
【0041】
【発明の実施の形態】
図2は、本発明が適用されるストレージシステムのブロック図である。図2において、ストレージシステムは、デバイス制御装置12、アレイディスク装置14、及びディスク装置16で構成される。デバイス制御装置12に対しては、ホスト10−1〜10−mが接続されており、ホスト10−1〜10−nのアプリケーションにより入出力要求をデバイス制御装置12に対し行っている。
【0042】
アレイディスク装置14は、デバイス制御装置12からの入出力要求を受けつけ、ディスク装置16に対し受けつけた入出力要求を発行する。本発明のディスク・タイムシェアリング装置は、アレイディスク装置14に設けた入出力要求依頼部18及びディスク入出力スケジュール機構20と、ディスク装置16に設けたディスク入出力処理部22及びディスクドライブ24−1〜24−nで構成される。
【0043】
またディスク装置16に設けている複数のディスクドライブ24−1〜24−nがRAID構成をとる場合には、アレイディスク装置14にはRAID制御機構がさらに設けられることになる。
【0044】
図3は、図2のストレージシステムに適用された本発明のタイムシェアリング装置の基本的な実施形態のブロック図であり、RAID構成のディスク装置を例にとっている。
【0045】
図3において、アレイディスク装置14は、入出力要求部18、RAID制御部26、ディスク入出力スケジュール機構20を備える。またディスク装置16にはディスク入出力処理部22が設けられ、このディスク入出力処理22に対し、例えばRAID1の構成(ミラーディスク構成)をとる2台のディスクドライブ24−1,24−2が接続されている。
【0046】
このような本発明のディスク・タイムシェアリング装置は、入出力要求部18からのディスク装置16への入出力要求をグループ化して入出力グループを形成すると共に、各入出力グループがディスク装置16を使用する時間の比率を定義し、定義された時間比率に基づき各入出力グループが連続してディスク装置を使用できるクォンタム(割当時間)を決定し、複数の入出力グループから依頼を受けつけている場合に競合した入出力グループ間でクォンタムを順番に切り替えてディスク装置16を使用するようにスケジューリングする処理を行う。
【0047】
また、入出力グループにおける入出力要求の過密具合に応じてクォンタムをダイナミックに変動させ、ディスク装置16の効率的な使用を実現する。
【0048】
このような本発明のディスク・タイムシェアリング処理を実現する図3の各部の構成及び機能を更に詳細に説明すると次のようになる。入出力要求部18は、例えば図2に示した上位のデバイス制御装置12からのコマンドに基づきディスク装置16に対する入出力要求をRAID制御部26を介してディスク入出力スケジュール機構20に発行する。RAID制御部は、依頼された論理入出力要求を物理入出力要求に変換する処理を主に行う。
【0049】
ディスク入出力スケジュール機構20には、ディスク・タイムシェアリング制御情報30−1,30−2、入出力スケジュール部32、入出力要求受付部34、及び入出力完了処理部36が設けられる。ディスク・タイムシェアリング制御情報30−1,30−2は、ディスク装置16に設けているディスクドライブ24−1,24−2単位に設けられる。
【0050】
入出力スケジュール部32は、ディスクドライブ24−1,24−2単位に設けられたディスク・タイムシェアリング制御情報30−1,30−2を参照及び更新してディスク・タイムシェアリングを行う。
【0051】
また入出力スケジュール部32には、割当時間制御部35の機能も含まれ、各入出力グループにおける入出力要求の過密具合に応じてクォンタムをダイナミックに変動させる。
【0052】
この割当時間制御部35による余剰時間の配分には、
(1)余剰時間によるクォンタムの延長
(2)余剰時間によるクォンタムの頻度増加
の2つがある。
【0053】
即ち、割当時間制御部35は処理要求の少ない入出力グループの余った時間を、処理要求の多い別の入出力グループのクォンタムを延長することで配分するか、或いは、クォンタムを変えることなく頻度を殖やすことで配分する。
【0054】
ここでディスク・タイムシェアリング制御情報30−1について説明すると、この実施形態にあっては入出力グループをG1,G2,G3の3つに分けて定義した場合を例にとっており、入出力グループG1〜G3に対応してスケジュール待ちグループキュー38−1〜38−2が設けられる。このスケジュール待ちグループキュー38−1〜38−3には、入出力要求受付部34で受けつけた入出力要求がキューを構成するFIFOに格納することで並ぶ。
【0055】
また入出力グループG1〜G4に対応して完了待ちグループキュー40−1,40−2,40−3が設けられる。完了待ちグループキュー40−1,40−3には、ディスク装置16への入出力依頼が完了し、ディスク装置16から入出力完了応答を受けていない入出力要求がキューを構成するFIFOに格納することで並んでいる。
【0056】
更に入出力グループG1〜G4に対応してグループ用クォンタム42−1,42−2,42−3が設けられる。このグループ用クォンタム42−1〜42−3には、入出力グループG1〜G3がディスク装置16を使用する時間の比率α1,α2,α3を予め定義し、この定義された比率α1,α2,α3に基づき、それぞれの入出力グループG1〜G3が連続してディスク装置を使用できる割当時間となるクォンタムτ1,τ2,τ3を決定して格納している。
【0057】
例えば1回のタイムシェアリングを行なうタイムシェアリング周期をTcとすると、入出力グループG1〜G3のクォンタムτ1〜τ3は次式で定義される。
【0058】
τ1=α1・Tc
τ2=α2・Tc
τ3=α3・Tc
このような入出力グループG1〜G3のディスク装置16の使用を決めるクォンタムτ1〜τ3の適正値は次のようにして決める。まずクォンタムは値を小さくしすぎるとディスク装置16の入出力処理時間に近くなり、ポジショニング時間を最小とするように入出力を選択するリ・オーダリングの効果が小さくなり、全体の入出力性能が低下する。
【0059】
逆にクォンタムの値が大きすぎると、他の入出力グループに切り替えるクォンタムの待ち時間が延びることにより、平均入出力処理時間及び最大入出力処理時間が延びることになる。例えばクォンタムτ1とクォンタムτ2をそれぞれ1時間に設定すると、クォンタムτ1の処理中はクォンタムτ2の入出力を実行できないため、クォンタムτ2の入出力はクォンタムτ1の終了を1時間待つことになる。
【0060】
本願発明者の実験によれば、入出力の平均処理時間が数ms〜20msのディスク装置16の場合、クォンタムの値としては数十ms〜数百msが望ましい。
【0061】
ここでディスク入出力スケジュール機構20でグループ化する入出力としては、例えば次のグループ化がある。
【0062】
(1)シーケンシャルアクセス
(2)ランダムアクセス
(3)コピー/バックアップ処理
(4)RAIDのリ・ビルディング処理
この内、ランダムアクセスとシーケンシャルアクセスは正常系処理に属し、コピー/バックアップ処理やリビルディング処理は異常系処理に属する。このためディスクタイムシェアリング制御情報30−1の入出力グループとしては、例えばランダムアクセスグループ、シーケンシャルアクセスグループ、及び異常系グループに分けることができる。
【0063】
更にディスク・タイムシェアリング制御情報30−1には、現クォンタム種別44、現クォンタム開始時刻46、更に次入出力タスク種別48が設けられる。この現クォンタム種別44はディスク装置16のディスクドライブ24−1,24−2毎に設けられ、現在、ディスクドライブ24−1,24−2を使用している入出力グループの識別子が設定される。
【0064】
現クォンタム開始時刻46は、ディスク装置16のディスクドライブ24−1,24−2毎に設けられ、クォンタム識別子に設定されている現在のクォンタムが開始した時刻T0 が設定される。更に次入出力タスク種別48は、ディスク装置16のディスクドライブ24−1,24−2毎に設けられ、次のディスクドライブに対する入出力依頼をシンプル・タスクとするかオーダード・タスクとするかが設定される。
【0065】
この次入出力タスク種別48に設定されるシンプル・タスク又はオーダード・タスクは、ディスク装置16におけるリ・オーダリング機能の効果を十分に生かすために行う。
【0066】
ここでディスク装置16のリ・オーダリング機能は、ディスクドライブ24−1又は24−2のそれぞれについて、実行待ちの入出力の中からシーク時間と回転時間の和で与えられるポジショニング時間を最小とする入出力を次に実行する入出力として選ぶ機能である。
【0067】
このようなリ・オーダリング機能を備えたディスク装置に入出力を依頼する場合、シンプル・タスクを指定するとリ・オーダリングの対象としてよいことをディスクドライブに通知することになる。このシンプル・タスクを指定した入出力を受けつけたディスクドライブは、ポジショニング時間を最小とするような順番で入出力をスケジュールする。
【0068】
しかしながらリ・オーダリング機能は常にポジショニング時間が最小となる入出力を選択するため、ある入出力が長い間待ちのままスケジュールされない現象が発生する。この現象を解消するためディスクドライブはシンプル・タスクの他にオーダード・タスクの機能を備えている。
【0069】
オーダー・タスクを指定して入出力を依頼すると、ディスクドライブはそれまで受け継いでいた未だ完了していない入出力を全て完了させた後に、オーダード・タスクの入出力をスケジュールする。このためシンプル・タスクの間にオーダード・タスクを混ぜることで、入出力の最大応答時間の延長を押さえることが可能となる。
【0070】
本発明のディスク・タイムシェアリング処理にあっては、クォンタムを切り替えた後の最初の入出力は、オーダード・タスクを指定してディスク装置16に依頼し、クォンタム切り替え前の未だ完了していない入出力を完了させた後に次のクォンタムの入出力を実行する。このためクォンタムに切り替えた後の2つ目以降の入出力についてはシンプル・タスクを指定する。
【0071】
またひとつの入出力グループからの入出力しかない場合には、その入出力グループのスケジュールを連続するためにクォンタムをリセットしながら繰り返すことになる。この場合にあってはクォンタムをリセットした直後の最初の入出力はオーダード・タスクで依頼し、前のクォンタムで完了してない入出力を総て完了した後にリセット後のクォンタムの入出力をスケジュールする。
【0072】
これによって複数の入出力グループの入出力が競合する場合、及びひとつの入出力グループのみの入出力のみを連続させる場合の最大応答時間の延長を防止することができる。
【0073】
図4は、図3のディスク入出力スケジュール機構20に設けている入出力スケジュール部32によるディスク・タイムシェアリングのスケジュールの一例であり、余剰時間のない場合である。
【0074】
図4において、入出力グループG1〜G3について、ディスク・タイムシェアリング制御情報30−1のスケジュール待ちグループキュー38−1〜38−3に入出力要求が格納されている競合状態にあっては、入出力グループG1〜G3毎に決定されたクォンタム割当時間τ1,τ2,τ3に従って、グループG1〜G3の順に各入出力をスケジューリングしてディスク装置16に入出力を依頼する。
【0075】
例えば時刻t0からのクォンタム持ち時間τ1の間は、入出力グループG1の2つの入出力がスケジュールされる。クォンタム切替えは、入出力完了時点の時刻が現クォンタム切替え時刻を越えた時点で、次の入出力グループのクォンタムに切替える。この切替えは次式で判断する。
(現在クォオンタムの入出力開始時刻)<(現クォンタム開始時刻+クォンタム) (1)
即ち、(1)式を満たせば、現クォンタム種別に対応する入出力グループの入出力をディスク装置に依頼し、満たさない場合は、次の入出力グループのクォンタムに切替える。
【0076】
次の入出力グループG2のクォンタム割当時間τ2の間には、例えば6つの入出力がスケジュールされている。更に時刻t2でクォンタム割当時間τ2が経過すると、入出力グループG3のクォンタム割当時間τ3への切り替えが行われ、例えば入出力グループG3の3つの入出力がスケジュールされる。以下同様にクォンタム割当時間τ1,τ2,τ3を切り替えて、それぞれの入出力グループの入出力をスケジュールする。
【0077】
図5は、特定の入出力グループの入出力のみが連続した場合のタイムシェアリング処理の一例である。図5において、時刻t0で入出力グループG1のみの入出力が図3のスケジュール待ちグループキュー38−1に並んでおり、残りの入出力グループG2,G3のスケジュール待ちグループキュー38−2,38−3は空であったとする。
【0078】
この場合には時刻t0からの入出力グループG1のクォンタム持ち時間τ1で入出力グループG1の2つの入出力をスケジュールした後、時刻t1でクォンタム割当時間τ1をリセットすることで次の同じ入出力グループG1のクォンタム持ち時間τ1をリ・スタートさせ、例えば3つの入出力をスケジュールする。
【0079】
このようにひとつの入出力グループの入出力のみ待ち状態にある時は、そのクォンタムをリセットすることで連続してひとつの入出力グループの入出力をスケジュールする。
【0080】
更に図5にあっては、時刻t2で3つの入出力グループG1〜G3の入出力が競合状態となることで、次のクォンタム割当時間τ2への切り替えが行われている。
【0081】
この図4及び図5に示したディスク・タイムシェアリングのスケジュールにおいて、ディスクドライブに対する入出力の依頼は、クォンタムを切り替えた直後の入出力はオーダード・タスクで依頼し、2回目以降の次のクォンタム切替えまでの入出力はシンプル・タスクで依頼する。
【0082】
このようにディスクドライブ24−1,24−2のリ・オーダリング機能を生かすためには、クォンタムを切り替えた際に現在ディスクトドライブ24−1,24−2に依頼している入出力要求が全て完了するまでの時間を予測し、この予測時間が切り替え後のクォンタム以内であれば、切り替え後にクォンタムの入出力を依頼し、予測時間が切り替え後のクォンタムを越えていた場合には、切り替え後の入出力を依頼せずに次のクォンタムへの切り替えを待つようにする。
【0083】
これはディスク装置16のリ・オーダリングの恩恵を受けるためにはディスク入出力スケジュール機構20において、できるだけ多くの入出力をディスク装置16に依頼する環境を作るためである。
【0084】
シンプルタスクを使う場合、ディスク装置に対して複数の入出力要求を依頼することになる。本発明のディスクタイムシェリングは、ディスク装置での入出力処理時間の時分割制御を目的としているので、ディスク装置へ入出力要求を依頼する際には、依頼された複数の要求をディスク装置で処理するのに必要な時間を予測し、次のクォンタムに切替えた後に切替え後のクォンタム種別の入出力をディスク装置に投入するか否か判断する必要がある。
【0085】
このため、クォンタム切替え時に現在ディスクドライブに依頼している要求が次のクォンタム内で完了して新たな入出力要求が投入できるか否かを判断するため残り時間τr を次式で算出する。
τr =T0 +τ−Tw −Tnow (2)
但し、T0 はクォンタム開始時刻(予測値)
τはクォンタム割当時間
Tw は未処理I/O処理時間(予測値)
Tnow は現在時刻
T0 =Ts +Tw (3)
但し、Ts は切替え前のクォンタム開始時刻
Tw =N×Ta (4)
但し、Nは未処理のI/O数
Ta はアクセス種別毎によるI/Oの平均処理時間
ここで未処理I/0とは、ディスク装置に入出力要求を投入して完了応答が返ってこないものをいう。この未処理I/Oには、本発明の実施形態の場合、前未処理I/O、前々未処理I/Oおよび全未処理I/Oがあり、それぞれ直前のクォンタムの未処理I/O、2つ前のクォンタムの未処理I/O、および全てのクォンタムを通じた未処理I/Oを意味する。
【0086】
またクォンタム開始時刻T0 も予測値であり、前クォンタムの残り時間予測により、現クォンタムへの切替えを判断した際に予測する。この時、ディスク装置上で前クォンタムの未処理I/Oの処理が全て完了するのに必要な時間Twを(4)式で予測し、ディスク装置上での前クォンタムの終了時刻、即ち、現クォンタムの開始時刻T0 を(3)式で予測する。
【0087】
(2)式の残り時間τrは、ディスク入出力スケジュール機構が新たな入出力を受け付けた場合、またはディスク装置から入出力の完了応答を受けた場合に算出され、残り時間τr が
τr >0
あれば、残り時間ありと判断し、現クォンタムの入出力をディスク装置に投入する。また
τr ≦0
であれば、残り時間なしと判断し、クォンタムを切替える。
【0088】
ここで前記(1)式のの残り時間τr の算出に使用するディスクドライブの平均入出力処理時間Ta の算出方法は、例えば直前のn個の入出力処理時間の平均値とする。この場合nは例えばn=10の有限値であってもよし、例えばn=∞つまりシステム始動時からの総ての入出力についてでもよい。
【0089】
更に入出力処理時間の平均値の算出については、入出力グループ毎に平均値を算出する方法と、全ての入出力グループの平均値を算出する方法のいずれかとすることができる。
【0090】
一方、大量データをアクセスする場合、ポジショニング時間がデータ転送時間に比較して短いため、アクセスするデータ量とディスクドライブの転送能力から平均入出力処理時間Ta を予測する。この場合、ポジショニング時間はリ・オーダリング機能の恩恵をどの程度受けられるか、即ちその時のディスクドライブでのリ・オーダリング対象の入出力の数、個々の入出力要求のアドレスの分散具合などによって違ってくるが、大量データアクセスの場合、処理時間に占めるポジショニング時間の割合が小さいため、この場合には処理時間を
(平均ポジショニング時間)+(データ転送時間)
と予測する。
【0091】
例えば転送速度が20MB/s、平均回転待ち時間が3ms、平均シーク時間が5msのディスクドライブで1MBのデータをアクセスする場合、平均ポジショニング時間が8msに対し、転送時間は52msなので、処理時間は両者を加えた60msとする。
【0092】
図6は、クォンタム切替え時の残り時間予測の例であり、シーケンシャル・クォンタムとランダム・クォンタムを交互に繰り返す場合について、図6(A)〜(J)と時間が経過する場合の例である。
【0093】
図6(A)(B)は、ランダム・クォンタムからシーケンシャル・クォンタムへの切替え時に、次のクォンタム開始時刻T0 を予測する例である。ランダム・クォンタムに切替っている現在時刻Tnow で、ランダム・クォンタムの残り時間不足になったとする。このとき、前クォンタムのシーケンシャルI/Oが1要求、現クォンタムのランダムI/Oが3要求の完了応答が返ってきておらず、ディスク装置で処理中である。
【0094】
この場合、図6(B)のように、ディスク装置に投入している処理中I/Oが全て完了するまでの時間Tw1を(4)式で予測し、(2)式より次のシーケンシャル・クォンタムの開始時刻T0 を決定する。またクォンタムをシーケンシャル・クォンタムに切替える。
【0095】
図6(C)〜(F)は、残り時間予測で、残り時間ありと判断する例である。図6(B)でシーケンシャル・クォンタムに切替わった後、ディスク入出力スケジュール機構がシーケンシャルI/Oを現在時刻Tnow で1要求受け付けたとする。この時、ディスク装置に依頼しているI/O要求で完了応答が返ってきていない未処理I/Oとして、ランダムI/Oの1要求がある。即、ディスク装置は、前クォンタムのランダムI/Oの1要求を処理中である。
【0096】
この場合、図6(E)のように、ランダムI/Oの1要求をディスク装置で完了するまでの時間Tw2を(4)式で予測し、図6(B)で求めたクォンタム開始時刻T0 を使用して(2)式より残り時間τr2を図6(F)のように求める。この場合、τr2>0であることから、シーケシンャルI/Oをディスク装置に投入することができる。
【0097】
図6(G)〜(J)は、残り時間予測で、残り時間なしと判断する例である。さらに時間が進み、図6(G)の現在時刻Tnow でディスク入出力スケジュール機構がシーケンシャルI/Oを1要求受け付けたとする。この時、ディスク装置に依頼しているI/O要求で完了応答が返ってきていない未処理I/Oとして、のシーケンシャルI/Oの1要求がある。即、ディスク装置は、現クォンタムのシーケンシャルI/Oの1要求を処理中である。
【0098】
この場合、図6(I)のように、シーケンシャルI/Oの1要求をディスク装置で完了するまでの時間Tw3を(4)式で予測し、図6(B)で求めたクォンタム開始時刻T0 を使用して(2)式より残り時間τr3を図6(J)のように求める。この場合、τr3<0であることから、残り時間なしと判断し、次のランダム・クォンタムに切替える。
【0099】
図7は、図3のディスク装置16に対する入出力要求の発行状態の説明図である。本発明にあっては、あるクォンタムでディスク装置16を接続しているデバイスアダプタDAに送信された入出力要求に対し、全ての応答が得られる前に、次のクォンタムの入出力要求を開始するというパイプライン的な処理ができる。
【0100】
このため、応答が得られる前に入出力要求を先行して送信しつづけると、入出力要求がデバイスアダプタDA側に溜りすぎて応答保証ができなくなる。逆に、前に送信したI/O要求の全ての応答を待ってから現クォンタムのI/O要求を送信するのでは、ディスク装置16のキューに入出力要求を並べる時間が無駄になる。そこで、この実施形態では、連続する2個クォンタムのみパイプライン処理できるようにしている。
【0101】
例えば図7(A)のように、連続するクォンタムτ1,τ2,τ3があった場合、図7(B)のように、前々回のシーケンシャルアクセス、前回の4つのランダムアクセスの応答が得られていない状態では、現在のクォンタムτ3の要求は禁止する。
【0102】
図8は、図3のディスク入出力スケジュール機構20に設けた入出力スケジュール部32による本発明のディスクタイム・シェアリング制御処理のフローチャートである。
【0103】
この入出力スケジュール部32によるディスクタイム・シェアリング制御処理は、入出力要求受付部34で入出力要求部18より、ある入出力要求を受付けた際の呼出し、或いは入出力完了処理部36でディスク装置16に依頼した入出力に対する完了報告があったときからの呼出しを受けて動作する。
【0104】
まず図3のディスク入出力スケジュール機構20において、ランダムアクセスとシーケンシャルアクセスに分けて入出力グループG1,G2を構成し、競合した2つの入出力グループ間でクォンタムτ1,τ2を順番に切替えてディスクドライブ24−1のタイムシェアリングを行なう場合を説明する。
【0105】
ステップS1で現クォンタム種別に設定されているクォンタム識別子i=1に対応するスケジュール待ちグループキュー38−1を調べ、待ちの入出力の有無を判定する。スケジュール待ちグループキュー38−1に待ちの入出力があれば、ステップS2に進み、現クォンタムはシーケンシャルか否かチェックする。
【0106】
現クォンタムがシーケンシャルであればステップS3に進み、デバイスアダプタDAのバッファに空きがあるか否かチェックし、空きがなければ処理を終了する。デバイスアダプタDAのバッファに空きがあれば、ステップS4に進む。またランダムアクセスの場合にはステップS2からステップS4に進む。
【0107】
ステップS4では、前々クォンタムに未完了の入出力があるか否かチェックする。いま、クォンタム識別子i=1が最初のスケジュールであるとすると、前クォンタムに未完了入出力はないことから、ステップS5に進み、残り時間τrを(1)(2)式から求め、τr>0でいあればステップS6で残り時間ありとしてステップS7に進む。
【0108】
ステップS7にあっては、現クォンタムのスケジュール待ちグループキュー38−1の先頭の入出力をディスク装置16のディスク入出力処理部22を介してディスクドライブ24−1に依頼し、次入出力タスク種別情報48のタスクをシンプルタクスに設定する。
【0109】
続いてステップS1に戻り、現クォンタムのスケジュール待ちグループキュー38−1に待ちの入出力があるか否かチェックし、待ちがあればステップS2からステップS7の処理を繰り返す。
【0110】
このような入出力グループG1のクォンタム持ち時間τ1における入出力のスケジュールでステップS6で残り時間無しが判別されるとステップS8に進み、シーケンシャル入出力グループG2のスケジュール待ちグループキュー38−2に待ちの入出力があるか否かチェックする。
【0111】
このとき次の入出力グループG2のスケジュール待ちグループキュー38−2に入出力の待ちがあるとステップS12に進み、次の入出力グループG2のクォンタム持ち時間τ2に切替え、次入出力タスク種別情報48について、次のタスクをオーダードに設定する。
【0112】
また次の入出力グループG2のスケジュール待ちグループキュー38−2に入出力の待ちがないとステップS9に進み、現在の入出力グループG1のクォンタム持ち時間τ1をリセットし、次入出力タスク種別情報48について、次のタスクをオーダードに設定する。同時に、クォンタム開始時刻To を予測し、現クォンタムの開始時刻に予測したT0 を設定する。この場合、現クォンタム開始時間はそのままである。
【0113】
一方、クォンタム持ち時間τ1の途中で入出力グループG1のスケジュール待ちグループキュー38−1が空になってステップS1で待ちキュー無しが判別されると、ステップS10に進み、他のクォンタムについてスケジュール待ちグループキュー38−2に待ちの入出力があるか否かチェックする。
【0114】
この時、他のクォンタムに待ちの入出力があればステップS11に進み、全てのクォンタムに未完了の入出力があるか否かチェックし、無ければステップS12に進む。
【0115】
ステップS12では、入出力グループG1のクォンタム持ち時間τ1に切替え、次タスクをオーダードに設定し、現クォンタム種別に次のクォンタム種別を設定し、更に、クォンタム開始時刻T0 を予測し、現クォンタム開始時刻に予測したT0 を設定する。
【0116】
そして、ステップS1に戻ることで切替え後の入出力グループG1の最初の入出力要求をオーダードでディスクドライブ24−1にステップS1〜S7の処理を通じて依頼することになる。
【0117】
ステップS12で次のクォンタムに切替えた場合、又はステップS9で現在のクォンタムを継続するためのリセットを行った場合には、ステップS13において、現在のクォンタム余剰時間を他のクォンタムに配分するクォンタムの割当制御を行う。
【0118】
図9は、図8のステップS13のクォンタム割当時間制御をサブルーチンとして示したフローチャートである。
【0119】
図9において、クォンタム割当時間制御にあっては、まずステップS1で現在のクォンタム割当時間を使い切ることを「達成」と定義し、割当時間を使い切った達成か否かチェックする。割当時間の達成であればステップS2に進み、現クォンタム自身のリセットで初期配分に設定した後、割当時間の達成の有無を示す達成フラグを、達成に対応してオンする。
【0120】
一方、ステップS1で割当時間が未達成であった場合には、余剰時間があることからステップS3に進み、他のクォンタムに割当時間の達成があるか否かチェックする。他のクォンタムに割当時間の達成があれば、ステップS4に進み、現クォンタムの余剰時間を他の達成クォンタムに配分する。そしてステップS5で現クォンタムのリセットで初期配分を設定し、未達成であることから達成フラグをオフとする。
【0121】
またステップS3で割当時間を達成した他のクォンタムがなかった場合には、ステップS4の余剰分の配分は行わず、ステップS5に進んで現クォンタムのリセットで初期配分を設定した後、未達成であることから達成フラグをオフする。
【0122】
図10は、図9のステップS4で、あるクォンタムの余剰時間を他のクォンタムに配分する配分処理の説明図であり、この実施形態にあっては配分先のクォンタム持ち時間を余剰時間に応じて延長するようにしたことを特徴とする。
【0123】
いま図10(A)のように、3つのクォンタムQ1,Q2,Q3についてクォンタム割当時間の初期設定がτ1,τ2,τ3であったとする。このような初期設定に対し実際の入出力による結果が、図10(B)の実績のように、クォンタムQ1は初期設定の割当時間τ1を達成したが残り2つのクォンタムQ2,Q3は初期設定の割当時間τ2,τ3より短い実績となり、余剰時間Δτが生じたとする。
【0124】
この場合には図10(C)の次の割当時間野設定において、割当時間を達成したクォンタムQ1の割当時間τ1は、初期設定τ1に実績で生じた余剰時間Δτを加えた
τ1=τ1+Δτ
とし、余剰時間Δτ分だけ延長する。これに対し割当時間が達成できなかったクォンタムQ2,Q3については、図10(B)の実績の時間τ2,τ3を設定する。
【0125】
図11は、図10と同様な3つのクォンタムQ1〜Q3において、クォンタムQ1のみの入出力が続いた場合の割当時間の制御処理である。図11(A)は初期設定であり、クォンタムQ1,Q2,Q3について割当時間τ1,τ2,τ3が設定されている。これに対し図11(B)の実績のようにクォンタムQ1のみの入出力が行われたとすると、このとき余剰時間Δτが生ずる。
【0126】
このため図11(C)の次の設定にあっては、クォンタムQ1の初期設定の割当時間τ1に実績で生じた余剰時間Δτを加えた
τ1=τ1+Δτ
が設定され、余剰時間Δτが延長され、結果として全てクォンタムQ1の割当時間に配分される。
【0127】
次に図9のクォンタム割当時間制御のフローチャートに従って、図10,図11のように、余剰時間を他のクォンタムの割当時間を延長することにより配分する場合について、具体的な本発明のタイムシェアリング制御処理をタイムチャートで説明する。
【0128】
図12は、3つのクォンタムQ1,Q2,Q3について、それぞれの割当時間を達成する多量の入出力要求が流れた場合のタイムチャートである。
【0129】
図12(A)は処理サイクルT1,T2,T3,・・・で繰り返されるクォンタムQ1,Q2,Q3の切替順番であり、このクォンタムQ1〜Q3に対し図12(B)のように、クォンタム時間の初期割当τ1=30、τ2=20、τ3=20となっている。この初期割当は、例えばミリ秒を単位とするの時間割当となる。
【0130】
この初期割当に基づき、図12(C)のT1サイクルにおいては、再割当として初期割当と同じ割当時間「30,20,20」が行われ、これに対し図12(D)のように実績はクォンタムQ1の「30」のみであったとする。このため図12(E)のように、クォンタムQ1が達成であることから達成フラグがオンして「1」と変化している。
【0131】
ここで達成フラグ「1/1」は、達成フラグの変化を表わしている。この場合、クォンタムQ2,Q3の達成フラグは前と同じ「1」のままである。したがって図12(F)のように、クォンタムQ1の達成によって余剰時間による配分量はなく、したがって達成フラグが「1」となっているクォンタムQ2,Q3に対する配分量は共に「0」となっている。
【0132】
次のT2サイクルにあっては、クォンタムQ2に実績「20」があり、このため達成フラグは「1/1」と変化しているが、この場合にもクォンタムQ1,Q3に対する配分量は「0」である。更にT3サイクルにあってはクォンタムQ3に実績「20」があり、達成フラグは「1/1」と変化しているが、この場合にもクォンタムQ1,Q2に対する配分量は「0」である。
【0133】
このようにクォンタムQ1〜Q3の全てに初期割当を越える多量の入出力要求が流れ続ける場合には、3つのクォンタムQ1〜Q3間での時間配分は行われず、初期割当が繰り返し使用されることになる。
【0134】
図13は、図12と同じ3つのクォンタムQ1〜Q3について、同じ初期割当τ1=30、τ2=20、τ3=20であり、クォンタムQ1,Q3の入出力要求の流れは「10」であり、クォンタムQ2には初期割当τ2=20以上の多量の入出力要求が流れた場合である。
【0135】
まずクォンタムQ1へ切替えるT1サイクルにあっては、図13(C)の再割当としてクォンタムQ1,Q2,Q3について、再割当「30,20,20」が行われており、図13(D)の実績として「10」の入出力要求が流れたとすると、この場合図13(E)の達成フラグは実績が未達成であることから「1/0」とオフになる。
【0136】
また図13(F)の配分量としては、実績「10」による余剰分が「20」であることから、このとき達成フラグが1にオンしているクォンタムQ2,Q3に均等に「10」ずつ配分される。
【0137】
このため次のクォンタムQ2へ切替えるT2サイクルの再割当は、初期割当にT1サイクルでの配分量を加算した「30,30,30」となる。T2サイクルにあっては、クォンタムQ2の実績は「30」と割当時間を達成し、達成フラグは「1/1」と変化する。この場合、余剰分はないことから配分量は「0,0,0」となる。
【0138】
次のクォンタムQ3に切替えるT3サイクルにあっては、再割当としてクォンタムQ1,Q3については1つ前のT2サイクルでの再割当「30,30」に配分量「0,0」を加えた再割当「30,30」となるが、クォンタムQ2にあってはT2サイクルで実績が「30」となって、達成していることから、リセットにより初期割当「20」が再割当される。
【0139】
このT3サイクルではクォンタムQ3の実績が「10」であり、未達成であることから達成フラグはオフとなって「1/0」と変化する。この場合のクォンタムQ3の余りは「20」であり、達成フラグが「1」となっているクォンタムQ2に配分量「20」として割り当てられる。
【0140】
次のクォンタムQ1に切替えるT4サイクルでは、1つ前のT3サイクルの再割当「30,20,30」に配分量「0,20,0」を加算した再割当「30,40,20」が行われる。この場合のクォンタムQ1の実績は「0」であることから、未達成であり、達成フラグは0であるから「0/0」と変化する余り「20」を生ずる。
【0141】
このとき達成フラグが1にオンしているのはクォンタムQ2のみであることから、余り分は配分量「20」としてクォンタムQ2に配分される。
【0142】
次のT5サイクルにあっては、1つ前のT4サイクルの再割当と配分量の加算により「30,60,20」が再割当され、クォンタムQ2の実績は「60」であることから、達成フラグは「1/1」とオン状態にあり、この場合の配分量は全て0である。
【0143】
次のT6サイクルにあっては、1つ前のT5サイクルによるクォンタムQ2の割当時間「60」の達成で再割当は初期割当「20」にリセットされており、クォンタムQ3の実績「10」による余り10はクォンタムQ2に配分量「10」として割り当てられる。
【0144】
次のT7サイクルにあっては、T6サイクルの再割当と配分量を加算した「30,30,20」が再割当され、クォンタムQ1の実績は「10」であり、この場合の余り「20」は達成フラグが「1」にあるクォンタムQ2に配分量20として配分される。以下同様な処理を繰り返す。
【0145】
図14は、3つのクォンタムQ1,Q2,Q3に割当より少ない入出力として例えば「20,10,10」が繰り返し流れて全て未達成となった場合のタイムチャートである。
【0146】
図14(A)のT1サイクルにあっては、図14(A)のクォンタムQ1,Q2,Q3の初期割当は、図14(B)のように「30,20,20」であり、図14(C)の最初の再割当は同じく「30,20,20」となる。
【0147】
この場合、クォンタムQ1の実績は図14(D)のように「20」と未達成であり、図14(E)の達成フラグはオフとなって「1/0」と変化する。この場合の余り「10」は、達成フラグが「1」にオンしているクォンタムQ2,Q3にそれぞれ「5,5」と図14(F)のように配分される。
【0148】
次のクォンタムQ2に切替えるT2サイクルでは、前のT1サイクルの再割当「30,20,20」に配分量「0,5,5」をそれぞれ加算した「30,25,25」が再割当される。この場合、クォンタムQ2の実績は「10」であり、未達成であることから達成フラグがオフとなって「1/0」と変化し、この場合の余り「15」は達成フラグが「1」にオンしているクォンタムQ3に配分量「15」として割り当てられる。
【0149】
次のクォンタムQ3に切替えるT3サイクルでは、1つ前のT2サイクルの再割当に配分量をそれぞれ加算した「30,20,40」が再割当され、クォンタムQ3の実績は「10」で未達成であるため、達成フラグはオフとなって「1/0」と変化する。
【0150】
この場合、クォンタムQ3は未達成による余り「30」を持つが、達成フラグが「1」となる達成状態のクォンタムがないため、余り「30」の再配分は行われない。
【0151】
このため、次のT4サイクルでは初期割当と同じ「30,20,20」が再割当される。このように達成フラグが全て「0」にオフになった後は、いずれのクォンタムで実績が未達成となって余りを生じても、他のクォンタムに対する配分は行われない。
【0152】
図15は、図9のステップS9で、あるクォンタムの余剰時間を他の達成クォンタムに配分する場合の配分処理の他の実施形態であり、図10,図11にあっては余剰時間に対応して割当時間を達成した他のクォンタムの割当時間を延長させているが、この実施形態にあっては割当時間は固定したままで配分先のクォンタムの頻度を増加させるようにしたことを特徴とする。
【0153】
図15(A)は、3つのクォンタムQ1,Q2,Q3の割当時間の初期設定τ1,τ2,τ3であり、このとき図15(B)のように、実績がクォンタムQ1にあってはτ1を達成するが、クォンタムQ2,Q3にあっては初期設定より短い実績となり、その結果、余りΔτを発生している。
【0154】
この場合、図15(C)の再設定にあっては、クォンタムQ2,Q3の未達成で生じた余剰時間ΔτとクォンタムQ1の初期設定の割当時間τ1を比較し、余剰時間Δτが初期設定割当時間τ1以上であれば、そこに達成したクォンタムQ1の初期設定割当時間τ1を再設定する。
【0155】
そして2回目の再設定による実績が図15(D)のようになり、この場合の余りは初期設定割当時間τ1より短いことから、図15(E)で次の設定を初期設定割当時間を使用して行う。
【0156】
このため、時刻t1から設定した3つのクォンタムQ1,Q2,Q3の割当時間の間に、割当時間を達成したクォンタムQ1については2回初期設定割当時間τ1が設定されることとなり、これによってクォンタムQ2,Q3で生じた余りに対応して、割当時間を達成したクォンタムQ1の頻度を増加させることができる。
【0157】
図16は、余剰時間に対応して他のクォンタムの頻度を増加させる場合について、クォンタムQ1のみの入出力が行われた場合である。
【0158】
この場合、図16(A)の初期設定に対し、図16(B)の実績はクォンタムQ1の割当時間τ1のみとなり、余剰時間が初期設定割当時間τ1以上である限り、図16(C)(D)、図16(E)(F)のように、実績のあるクォンタムQ1の初期設定割当時間τ1の再設定が繰り返され、余剰時間に応じて頻度が増加される。そして図16(F)で余剰時間が不足した場合には、図16(G)のように時刻t4で初期設定割当時間τ1,τ2,τ3の再設定を行って同様な処理を繰り返す。
【0159】
図17は、図3の実施形態のディスク入出力スケジュール機構20に設けているディスク・タイムシェアリング制御機構の入出力グループについて、更に上位グループでまとめるようにした実施形態の説明図である。
【0160】
図17において、ディスク・タイムシェアリング制御情報において、この例では入出力グループとしてランダムキュー50、シーケンシャルキュー52,54、コピーリードキュー56、コピーライトキュー58、リビルドキュー60の6つを設けた場合を例にとっている。
【0161】
このような6つの入出力グループを構成するキューに対し、この実施形態にあっては、上位グループとして正常系グループ62、第1異常系グループ64及び第2異常系グループ66を設けている。正常系グループ62は日常的な入出力要求をまとめたもので、ここにはランダムキュー50、シーケンシャルキュー52、シーケンシャルキュー54が含まれる。
【0162】
第1異常系グループ64はバックアップ業務をまとめたもので、コピーリードキュー56とコピーライトキュー58が含まれる。更に第2異常系グループ66は故障時の復旧処理を対象としており、アレイディスクの内の故障ディスクを交換した際のリビルド処理の入出力要求に使用するリビルドキュー60が含まれる。
【0163】
更に本発明にあっては、上位グループとして分けた正常系グループ62、第1異常系グループ64及び第2異常系グループ66のそれぞれに、優先度P1,P2,P3を割り付けることができる。ここで優先度は正常系グループ62のP1が最も高く、続いて第1異常系グループ64のP2となり、第2異常系グループ66が最も低い優先度P3となる。
【0164】
このような上位グループの形成によって、ある入出力グループのクォンタムを実行して余剰時間を生じた場合、余剰時間の配分先を
(1)上位グループ内で配分して、他の上位グループへの配分を禁止
(2)他の上位グループへの配分を許可
と2つに分けた配分制御が基本的にできる。
【0165】
例えば正常系グループ62について、外部の上位グループとなる第1異常系グループ64及び第2異常系グループ66に対する余剰時間の配分を禁止しておけば、ランダムキュー50、シーケンシャルキュー52,54のいずれかのクォンタムで余剰時間が生じた場合、グループ内の他のクォンタムに余剰時間を配分でき、第1異常系グループ64や第2異常系グループ66に余剰時間が配分されてしまうことを禁止し、正常系グループ62におけるランダムキュー50のレスポンス時間とシーケンシャルキュー52,54のスループットIOPSをそれぞれ保証することができる。
【0166】
一方、第1異常系グループ64及び第2異常系グループ66については、外部の上位グループへの余剰時間の配分を許容しておく。この場合に上位グループに設定している優先度P1,P2,P3を利用し、優先度の高い上位グループへの余剰時間の配分は許可し、優先度の低い外部の上位グループへの配分は禁止するようにしておく。
【0167】
このため、第1異常系グループ64のコピーリードキュー56またはコピーライトキュー58のいずれかで余剰時間が生じた場合には、優先度の高い正常系グループ62に余剰時間を配分し、その中の入出力要求の多い現時点で割当時間を達成している入出力グループに割当時間の延長または頻度の増加によって余剰時間を配分する。
【0168】
また第2異常系グループ66のリビルドキュー60の入出力要求で余剰時間が生じた場合、まず最上位の正常系グループ62に配分し、もし正常系グループ62の入出力グループの中に割当時間達成がなければ、次に優先度の高い第1異常系グループ64に余剰時間を配分すればよい。
【0169】
このようにすれば、最も優先度の高い正常系グループ62に下位の第1異常系グループ64及び第2異常系グループ66で生じた余剰時間を吸い上げてランダムアクセスのレスポンス時間とシーケンシャルアクセスのスループットIOPSを保証させることができる。
【0170】
図18は、複数の入出力グループを2以上の上位グループに分けた場合の余剰時間の配分を決める配分モードの設定条件を階層構造で表わしている。
【0171】
図18において、配分モードの最上位階層は、上位グループに含まれる入出力グループの一部に余剰があるか、全てに余剰があるかに分けられる。
【0172】
上位グループに属する一部の入出力グループに余剰がある場合には、次の階層としてグループ内で配分するか、他のグループへ配分するか、配分なしとするかの3つの内のいずれか1つが指定できる。
【0173】
この内、他の上位グループへの配分を指定した場合には、更に下位の階層に示すように、優先度による配分、全グループによる配分、任意の指定グループに対する配分のいずれか1つを指定することができる。
【0174】
同様に、ある上位グループの全ての入出力グループに余剰がある場合についても、次の階層のグループ内での配分、他のグループへの配分、配分なしのいずれかが指定でき、他のグループへ配分する場合には、次の階層の優先度による配分、全グループによる配分、任意の指定グループに対する配分のいずれかを指定することができる。
【0175】
更に優先度による他の上位グループへの配分については、優先度の高い上位グループの順に、その上位グループに属している複数の入出力グループの中で割当時間を達成したグループを調べ、達成したグループがあればそのグループに余剰時間を配分する。
【0176】
逆に優先度の低い上位グループから順番に、その上位グループに含まれる複数の入出力グループについて割当時間の達成を調べ、達成した入出力グループに余剰時間を配分するようにしてもよい。
【0177】
図18のように上位グループでまとめた入出力グループで余剰時間が生じた場合の配分モードは、必要に応じて適宜の指定をとることができる。
【0178】
ここで本発明における上位グループの形成は、上位グループを形成していない場合に、必要のない入出力グループに余剰時間が配分され、必要とする入出力グループへの配分が損なわれることを基本的に防止するためである。
【0179】
より具体的には図17に示したような日常業務となる優先度がP1と最も高い正常系グループ62に余剰時間を集中させることを意図し、例えば正常系グループ62については他の外部グループへの配分を禁止し、第1異常系グループ64と第2異常系グループ66については優先度の高い順に従った上位グループへの配分を指定すればよい。
【0180】
図19は図17の正常系グループ62、第1異常系グループ64及び第2異常系グループ66について、正常系グループ62のグループ外への配分は禁止し、第1異常系グループ64及び第2異常系グループ66については優先度の高いグループから順番に配分先を調べて配分する配分モードを指定した場合のタイムチャートである。
【0181】
図19(A)は上位グループのクォンタム切替であり、正常系、第1異常系、第2異常系の順番に繰り返している。この場合の優先度は、図19(B)のように、正常系が最も高いP1、続いて第1異常系が次のP2、第2異常系が最も低いP3となっている。
【0182】
また実際の入出力グループは、図19(C)のクォンタムのように、ランダムアクセス、シーケンシャル1、シーケンシャル2、コピーリードアクセスOPCR、コピーライトアクセスOPCW、リビルドRebldを繰り返している。また、この場合の初期設定となる配分比は、正常系は「30,20,20」、第1異常系は「10,10」、第2異常系は「10」である。これに対し図19(E)のような実績と余剰時間の再配分が行われる。
【0183】
まず最初の正常系にあっては、ランダムアクセスRANとシーケンシャルSeq1が実績「10,10」で未達成であり、それぞれ余剰時間「20,10」を生じており、シーケンシャルSeq2の実績が「30」であったとすると、余剰分の合計が「30」「50」となる。
【0184】
次の第1異常系にあっては、コピーリードアクセスOPCRとコピーライトアクセスOPCWの初期割当は共に「10,10」であり、この場合、実績が「5,5」であることから、グループ全体としての余剰分は「10」となっている。また第2異常系のリビルドアクセスRebldは、初期割当が「10」で実績が「10」であることから余剰はない。
【0185】
次の正常系の切替時間ではランダムアクセスRANの実績が「30」、次のシーケンシャルアクセスSeq1の実績が「10」で、それぞれ余剰時間「20,10」を生じており、更に、既に処理の済んだ第1異常系で余剰時間「10」があることから、これらを加えた合計余剰時間「60」がシーケンシャルアクセスSeq2に割り当てられる。
【0186】
図20は、図17に示した複数の入出力グループを2以上の上位グループに分けた場合のクォンタム割当時間制御のフローチャートであり、図9のフローチャートと同様、図8のステップS13におけるクォンタムの割当時間制御のサブルーチンとして実行される。
【0187】
図20において、まずステップS1で現在の割当時間を使い切った達成か否かチェックし、割当時間を達成していればステップS2に進み、現クォンタムのリセットで初期配分を設定し、達成フラグをオンする。
【0188】
ステップS1で割当時間の未達成であった場合には、ステップS3に進み、上位グループ外に配分するか否かをチェックする。ここで現クォンタムについて上位グループ外への配分が設定されていた場合には、ステップS4に進み、配分先の上位グループの選択処理を行う。
【0189】
この配分先の上位グループの選択処理は例えば優先度の高い順番に調べていく。ステップS5で配分先として選択した上位グループに属する入出力グループの中に割当時間を達成したクォンタムがあるか否かチェックし、もし達成したクォンタムがあればステップS6に進み、現クォンタムの余剰時間をその達成クォンタムに配分する。
【0190】
そして、ステップS7で現クォンタムのリセットで初期配分設定を行った後、現クォンタムが割当時間未達成であることから達成フラグをオフする。
【0191】
図21は入出力グループをランダムアクセスグループ、シーケンシャルアクセスグループ、更に2つのコピーアクセスグループの4つに分け、それぞれの割当時間の比率を140ms,40ms,10ms,10msとしてシミュレーションした場合のスループットIOPS(回)とレスポンス時間(ms)のタイムチャートである。
【0192】
ここで横軸は時間を示し、ランダムアクセスは継続的に行っており、またランダムアクセスの時間的な変化を与えるため2.5秒間隔で入出力要求数を100IOPS,160IOPS,40IOPS,100IOPSと変化させ、これを10秒ごとに繰り返している。
【0193】
また、シーケンシャルアクセスは入出力要求がないものとしている。更に、最初のコピーアクセスは、シミュレーション開始から10秒後の時刻t1から流れ始める。また2つめのコピーアクセスはシミュレーション開始から20秒後の時刻t3で流れ始める。更に、このシミュレーションにあっては、図3のようにディスク装置16は2台のディスクドライブでRAID1のミラーディスクを構成している。
【0194】
図21のシミュレーション結果において、ランダムアクセスのスループットは特性100のようになり、また1つめのコピーアクセスのスループットは特性200となり、更に2つめのコピーアクセスのスループットは特性300となる。更にランダムアクセス要求特性100に対するそのレスポンス時間は、特性400のようになる。
【0195】
このようなシミュレーション結果から、10秒の間でランダムアクセスのスループット特性100は開始後5〜6秒で高くなり、160IOPS程度となる。このときの平均レスポンス時間は、特性400のように、ランダムアクセスの要求数であるスループットIOPSが高いときはやや長くなり、25ms程度まで上がっている。
【0196】
開始20秒後の時刻t1後には2つのコピーアクセスが特性200,300のように流れている。この2つのコピーアクセスは多量の入出力要求があることで流れ続けているが、それぞれの割当時間比は全体の5%ずつに制限されている。
【0197】
しかしながら、特性100のランダムアクセスの入出力要求数が少なくなると(負荷が軽くなると)、ランダムアクセスの余剰時間が2つのコピーアクセスに配分され、特性200,300のようにそれぞれのスループットIOPSが上昇している。このため、ランダムアクセスのスループット特性100とコピーアクセスのスループット特性200,300の間では波形が逆の形となっている。
【0198】
尚、上記の実施形態は、入出力グループとしてランダムアクセス、シーケンシャルアクセス、コピーアクセス、RAIDのリビルド処理を例にとるものであったが、これ以外に同一性能要件の論理ボリュームごとのグループ分け等、必要に応じて適宜の入出力のグループ分けを行うことができる。
【0199】
また上記の実施形態にあっては、ディスクドライブのオーダード機能を活用する際の入出力要求の依頼として、シンプルタスクとオーダードタスクを使い分ける場合を例にとるものであったが、本発明はこれに限定されず、リオーダード機能を持たないディスクドライブについても適用することができる。
【0200】
更に上記の実施形態にあっては、図2のようにアレイディスク装置14に入出力要求部18とディスク入出力スケジュール機構20を設けた場合を例にとっているが、サーバ側に入出力要求部18を設けたり、更にサーバ側に入出力要求部18とディスク入出力スケジュール機構20を設けるようにしてもよいことはもちろんである。
【0201】
更に本発明は、その目的と利点を損なわない適宜の変形を含み、更に実施形態に示した数値による限定は受けない。
【0202】
【発明の効果】
以上説明してきたように本発明のタイムシェアリング装置及びその方法によれば、ランダムアクセス、シーケンシャルアクセス、コピーアクセス等の複数の入出力グループに分けてディスク装置を占有する割当時間としてのクォンタムを割り当てた場合、特定の入出力グループで入出力要求が少なくなってクォンタムに余剰時間が生ずると、他の入出力要求の多い入出力グループに余剰時間がダイナミックに配分され、そのためディスク装置に遊び時間を生ずることなく効率良くアクセスでき、特にランダムアクセスについてはレスポンス時間を保証し、またシーケンシャルアクセスについてはスループットIOPSを保証することができる。
【0203】
また本発明にあっては、複数の入出力グループを更に2以上の上位グループでまとめることで、例えば特定の上位グループに他の上位グループの余剰時間を集中して配分することができ、配分先の上位グループに日常業務として行うランダムアクセスやシーケンシャルアクセスを含めておけば、これら必要性の高い入出力グループに余剰時間が生じても、他の非日常的な入出力グループへの配分は行われず、逆に非日常的な入出力グループで生じた余剰分を日常的なランダムアクセスやシーケンシャルアクセスに集中して配分でき、ランダムアクセスのレスポンス時間とシーケンシャルアクセスのスループットIOPSを確実に保証することができる。
【図面の簡単な説明】
【図1】本発明の原理説明図
【図2】本発明が適用されるストレージシステムのブロック図
【図3】複数の入出力グループを形成する本発明の実施形態の機能ブロック図
【図4】3つの入出力グループの入出力を対象とした図3のディスク・タイムシェアリング処理のスケジュール説明図
【図5】1つの入出力グループのみの入出力が連続する図3のディスク・タイムシェアリング処理のスケジュール説明図
【図6】次のクォンタム切替え後に入出力要求を送信するための残り時間の計算内容の説明図
【図7】図3の実施形態で2つまでのクォンタムの入出力要求をディスク装置に送信する説明図
【図8】図3のディスク・タイムシェアリング処理のフローチャート
【図9】図8のクォンタム割当時間制御のフローチャート
【図10】クォンタムの余剰時間に対応して他のクォンタム持ち時間を延長する割当時間制御の説明図
【図11】クォンタムの余剰時間に対応して自己の持ち時間のみを延長する割当時間制御の説明図
【図12】入出力要求が全てのクォンタムに多量に流れ続ける場合の図3による割当制御のタイムチャート
【図13】入出力要求が1つのクォンタムに多量に流れる場合の図3による割当時間制御のタイムチャート
【図14】初期割当てに満たない入出力要求が全てのクォンタムに流れる場合の図3による割当時間制御のタイムチャート
【図15】クォンタムの余剰時間に対応して他のクォンタムの頻度を増加させる割当時間制御の説明図
【図16】クォンタムの余剰時間に対応して自己の頻度のみを増加させる割当時間制御の説明図
【図17】図3のディスクタイムシェアリング制御情報で複数の入出力グループを上位グループに分けた本発明の他の実施形態の説明図
【図18】上位グループにおけるクォンタム余剰時間の配分モードを示した階層構造の説明図
【図19】上位グループを正常系1グループ、異常系2グループとし、優先度の高いグループに余剰時間を配分する場合の割当時間制御のタイムチャート
【図20】上位グループに分けた場合の本発明による割当時間制御のフローチャート
【図21】ランダムアクセス、シーケンシャルアクセス、2つのコピーアクセスを各々入出力グループとして本発明の割当時間制御を実行した場合のスループットIOPSとレスポンス時間の計測結果の説明図
【符号の説明】
10−1〜10−m:ホスト
12:デバイス制御装置
14:アレイディスク装置
16:ディスク装置
18:入出力要求部
20:ディスク入出力スケジュール機構
22:ディスク入出力処理部
24−1〜24−n:ディスクドライブ
26:RAID制御部
30−1〜30−4:ディスクタイムシェアリング制御情報
32:入出力スケジュール部
34:入出力受付部
35:割当時間制御部
36:入出力完了処理部
38−1〜38−3:スケジュール待ちグループキュー
40−1〜40−3:完了待ちグループキュー
42−1〜42−3:グループ用クォンタム
44:現クォンタム種別情報
46:現クォンタム開始時刻
48:次入出力タスク種別情報
50:ランダムキュー
52,54:シーケンシャルキュー
56:コピーリードキュー
58:コピーライトキュー
60:リビルドキュー
62:正常系グループ
64:第1異常系グループ
66:第2異常系グループ
Claims (26)
- 1又は複数のディスクドライブを備えたディスク装置と、
前記ディスク装置に入出力要求を発行する入出力要求部と、
ディスク装置への入出力を種別に応じてグループ化した入出力グループを形成すると共に各入出力グループが連続してディスク装置を使用できる割当時間(クォンタム)を定義し、複数の入出力グループからディスク装置に入出力の依頼を受け付けている場合、競合した入出力グループ間で前記割当時間を順番に切り替えてディスク装置を使用する入出力スケジュール機構と、
前記入出力グループの入出力処理要求の過密具合に応じて前記割当時間を変動させる割当時間制御部と、
を備えたことを特徴とするディスク・タイムシェアリング装置。 - 請求項1記載のディスク・タイムシェアリング装置に於いて、前記割当時間制御部は、処理要求の少ない入出力グループの余った割当時間を、処理要求が多い入出力グループの割当時間を延長させることで配分することを特徴とするディスク・タイムシェアリング装置。
- 請求項1記載のディスク・タイムシェアリング装置に於いて、前記割当時間制御部は、処理要求の少ない入出力グループの余った割当時間を、処理要求が多い入出力グループの割当時間を変えることなく頻度を増やすことで配分することを特徴とするディスク・タイムシェアリング装置。
- 請求項1記載のディスク・タイムシェアリング装置に於いて、
前記入出力スケジュール機構は、前記複数の入出力グループをまとめて2以上の上位グループを形成し、
前記割当時間制御部は、上位グループ内においてのみ各入出力グループ間で余剰時間の配分を行うことを特徴とするディスク・タイムシェアリング装置。 - 請求項4記載のディスク・タイムシェアリング装置に於いて、前記割当時間制御部は、上位グループの相互間で余剰時間の配分を行うことを特徴とするディスク・タイムシェアリング装置。
- 請求項5記載のディスク・タイムシェアリング装置に於いて、前記割当時間制御部は、ある上位グループに属する全ての入出力グループに余剰時間がある場合に、他の上位グループの処理要求の多い入出力グループに余剰時間を配分することを特徴とするディスク・タイムシェアリング装置。
- 請求項5記載のディスク・タイムシェアリング装置に於いて、前記割当時間制御部は、ある上位グループに属する一部の入出力グループに余剰時間がある場合に、他の上位グループの処理要求の多い入出力グループに余剰時間を配分することを特徴とするディスク・タイムシェアリング装置。
- 請求項6又は7記載のディスク・タイムシェアリング装置に於いて、前記割当時間制御部は、配分先の上位グループに余剰時間を使い切る入出力グループがない場合は、他の上位グループに配分しないことを特徴とするディスク・タイムシェアリング装置。
- 請求項6又は7記載のディスク・タイムシェアリング装置に於いて、前記入出力スケジュール機構は前記上位グループに優先度を設定し、前記割当時間制御部は優先度の高い上位グループから順番に入出力要求の過密具合を調べ、入出力処理要求の多い上位グループに他の上位グループの余剰時間を配分することを特徴とするディスク・タイムシェアリング装置。
- 請求項6又は7記載のディスク・タイムシェアリング装置に於いて、前記入出力スケジュール機構は前記上位グループに優先度を設定し、前記割当時間制御部は優先度の低い上位グループから順番に入出力要求の過密具合を調べ、入出力処理要求の多い上位グループに他の上位グループの余剰時間を配分することを特徴とするディスク・タイムシェアリング装置。
- 請求項6又は7記載のディスク・タイムシェアリング装置に於いて、前記割当時間制御部は、予め指定した上位グループに他の上位グループの余剰時間を配分することを特徴とするディスク・タイムシェアリング装置。
- 請求項5,6,7,9,10,11のいずれかに記載のディスク・タイムシェアリング装置に於いて、前記割当時間制御部は、ある上位グループに属する入出力処理要求の少ない入出力グループの余った割当時間を、他の上位グループに属する入出力処理要求が多い入出力グループの割当時間を延長させることで配分することを特徴とするディスク・タイムシェアリング装置。
- 請求項5,6,7,9,10,11のいずれかに記載のディスク・タイムシェアリング装置に於いて、前記割当時間制御部は、ある上位グループに属する入出力処理要求の少ない入出力グループの余った割当時間を、他の上位グループに属する入出力処理要求が多い入出力グループの割当時間を変えることなく頻度を増やすことで配分することを特徴とするディスク・タイムシェアリング装置。
- 1又は複数のディスクドライブを備えたディスク装置と、前記ディスク装置に入出力要求を発行する入出力要求部と、前記入出力要求に基づいて前記ディスク装置の使用をスケジューリングする入出力スケジュール機構とを備えたディスク・タイムシェアリング方法に於いて、
ディスク装置への入出力を種別に応じてグループ化した入出力グループを形成すると共に各入出力グループが連続してディスク装置を使用できる割当時間(クォンタム)を定義し、
複数の入出力グループからディスク装置に入出力の依頼を受け付けている場合、競合した入出力グループ間で前記割当時間を順番に切り替えてディスク装置を使用し、
前記入出力グループの入出力処理要求の過密具合に応じて前記割当時間を変動させることを特徴とするディスク・タイムシェアリング方法。 - 請求項14記載のディスク・タイムシェアリング方法に於いて、処理要求の少ない入出力グループの余った割当時間を、処理要求が多い入出力グループの割当時間を延長させることで配分することを特徴とするディスク・タイムシェアリング方法。
- 請求項14記載のディスク・タイムシェアリング方法に於いて、処理要求の少ない入出力グループの余った割当時間を、処理要求が多い入出力グループの割当時間を変えることなく頻度を増やすことで配分することを特徴とするディスク・タイムシェアリング方法。
- 請求項14記載のディスク・タイムシェアリング方法に於いて、
前記複数の入出力グループをまとめて2以上の上位グループを形成し、
上位グループ内においてのみ各入出力グループ間で余剰時間を配分することを特徴とするディスク・タイムシェアリング方法。 - 請求項17記載のディスク・タイムシェアリング方法に於いて、上位グループの相互間で余剰時間の配分を行うことを特徴とするディスク・タイムシェアリング方法。
- 請求項18記載のディスク・タイムシェアリング方法に於いて、ある上位グループに属する全ての入出力グループに余剰時間がある場合に、他の上位グループの処理要求の多い入出力グループに余剰時間を配分することを特徴とするディスク・タイムシェアリング方法。
- 請求項18記載のディスク・タイムシェアリング方法に於いて、ある上位グループに属する一部の入出力グループに余剰時間がある場合に、他の上位グループの処理要求の多い入出力グループに余剰時間を配分することを特徴とするディスク・タイムシェアリング方法。
- 請求項19又は20記載のディスク・タイムシェアリング方法に於いて、配分先の上位グループに余剰時間を使い切る入出力グループがない場合は、他の上位グループに配分しないことを特徴とするディスク・タイムシェアリング方法。
- 請求項19又は20記載のディスク・タイムシェアリング方法に於いて、前記上位グループに優先度を設定し、優先度の高い上位グループから順番に入出力要求の過密具合を調べ、入出力処理要求の多い上位グループに他の上位グループの余剰時間を配分することを特徴とするディスク・タイムシェアリング方法。
- 請求項19又は20記載のディスク・タイムシェアリング方法に於いて、前記上位グループに優先度を設定し、優先度の低い上位グループから順番に入出力要求の過密具合を調べ、入出力処理要求の多い上位グループに他の上位グループの余剰時間を配分することを特徴とするディスク・タイムシェアリング方法。
- 請求項20又は21記載のディスク・タイムシェアリング方法に於いて、予め指定した上位グループに他の上位グループの余剰時間を配分することを特徴とするディスク・タイムシェアリング方法。
- 請求項18,19,20,21,23,24のいずれかに記載のディスク・タイムシェアリング方法に於いて、ある上位グループに属する入出力処理要求の少ない入出力グループの余った割当時間を、他の上位グループに属する入出力処理要求が多い入出力グループの割当時間を延長させることで配分することを特徴とするディスク・タイムシェアリング方法。
- 請求項18,19,20,21,23,24のいずれかに記載のディスク・タイムシェアリング方法に於いて、ある上位グループに属する入出力処理要求の少ない入出力グループの余った割当時間を、他の上位グループに属する入出力処理要求が多い入出力グループの割当時間を変えることなく頻度を増やすことで配分することを特徴とするディスク・タイムシェアリング方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP21549299A JP3623697B2 (ja) | 1999-07-29 | 1999-07-29 | ディスク・タイムシェアリング装置及び方法 |
US09/562,965 US6715006B1 (en) | 1999-07-29 | 2000-05-03 | Disk time-sharing apparatus and method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP21549299A JP3623697B2 (ja) | 1999-07-29 | 1999-07-29 | ディスク・タイムシェアリング装置及び方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001043028A JP2001043028A (ja) | 2001-02-16 |
JP3623697B2 true JP3623697B2 (ja) | 2005-02-23 |
Family
ID=16673291
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP21549299A Expired - Fee Related JP3623697B2 (ja) | 1999-07-29 | 1999-07-29 | ディスク・タイムシェアリング装置及び方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US6715006B1 (ja) |
JP (1) | JP3623697B2 (ja) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005115600A (ja) * | 2003-10-07 | 2005-04-28 | Hitachi Ltd | 情報処理装置及び方法 |
US8892780B2 (en) * | 2007-03-08 | 2014-11-18 | Oracle International Corporation | Management of shared storage I/O resources |
US8099565B2 (en) * | 2007-03-27 | 2012-01-17 | The Board Of Regents Of The University Of Texas System | Methods and devices for determining quality of services of storage systems |
JP5046109B2 (ja) * | 2007-11-02 | 2012-10-10 | 日本電気株式会社 | ソースコード検証管理装置、方法、及びプログラム |
US8090903B2 (en) * | 2008-01-18 | 2012-01-03 | Microsoft Corporation | Fair and dynamic disk input/output bandwidth distribution |
US7979635B2 (en) * | 2008-02-14 | 2011-07-12 | International Business Machines Corporation | Apparatus and method to allocate resources in a data storage library |
US8234444B2 (en) * | 2008-03-11 | 2012-07-31 | International Business Machines Corporation | Apparatus and method to select a deduplication protocol for a data storage library |
US9772798B2 (en) * | 2008-09-19 | 2017-09-26 | Oracle International Corporation | Method and system for implementing workload management by monitoring disk utilizations |
EP2350875A1 (en) | 2008-09-19 | 2011-08-03 | Oracle International Corporation | Storage-side storage request management |
US8868831B2 (en) | 2009-09-14 | 2014-10-21 | Oracle International Corporation | Caching data between a database server and a storage system |
JP5958020B2 (ja) * | 2012-03-30 | 2016-07-27 | 富士通株式会社 | ストレージシステム |
US10534683B2 (en) * | 2013-08-29 | 2020-01-14 | International Business Machines Corporation | Communicating outstanding maintenance tasks to improve disk data integrity |
JP6733924B1 (ja) * | 2019-03-27 | 2020-08-05 | Necプラットフォームズ株式会社 | ストレージ制御装置、ストレージ制御方法及びストレージ制御プログラム |
US11768606B2 (en) * | 2021-12-27 | 2023-09-26 | Western Digital Technologies, Inc. | Maximizing performance through traffic balancing |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3593314A (en) * | 1969-06-30 | 1971-07-13 | Burroughs Corp | Multistage queuer system |
US5485455A (en) * | 1994-01-28 | 1996-01-16 | Cabletron Systems, Inc. | Network having secure fast packet switching and guaranteed quality of service |
JPH0981497A (ja) * | 1995-09-12 | 1997-03-28 | Toshiba Corp | 実時間ストリームサーバ並びに実時間ストリームデータの格納方法および転送方法 |
US6269403B1 (en) * | 1997-06-30 | 2001-07-31 | Microsoft Corporation | Browser and publisher for multimedia object storage, retrieval and transfer |
-
1999
- 1999-07-29 JP JP21549299A patent/JP3623697B2/ja not_active Expired - Fee Related
-
2000
- 2000-05-03 US US09/562,965 patent/US6715006B1/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
US6715006B1 (en) | 2004-03-30 |
JP2001043028A (ja) | 2001-02-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3440219B2 (ja) | 入出力装置及びディスク・タイムシェアリング方法 | |
JP3623697B2 (ja) | ディスク・タイムシェアリング装置及び方法 | |
JP4922496B2 (ja) | I/o要求に優先順位を与える方法 | |
US6957433B2 (en) | System and method for adaptive performance optimization of data processing systems | |
US5864712A (en) | Method and apparatus for controlling (N+I) I/O channels with (N) data managers in a homogenous software programmable environment | |
US5530897A (en) | System for dynamic association of a variable number of device addresses with input/output devices to allow increased concurrent requests for access to the input/output devices | |
JP4219602B2 (ja) | 記憶制御装置および記憶制御装置の制御方法 | |
EP0676699B1 (en) | Method of managing resources shared by multiple processing units | |
JP3200500B2 (ja) | ディスク装置及びディスク制御方法 | |
JPH09319528A (ja) | データ記憶システムにおけるデータの再配置方法、そのシステムに記憶されたデータのアクセス方法及びデータ記憶システム | |
JPS581813B2 (ja) | デ−タ処理システム | |
JP5762146B2 (ja) | コンピュータ・ベース・システムにおける資源割当てる方法および装置 | |
JP4091225B2 (ja) | ディスク・タイムシェアリング装置及び方法 | |
JP2005031929A (ja) | サーバに記憶領域を割り当てる管理サーバ、記憶装置システム、及びプログラム | |
JP2002023962A (ja) | ディスク装置及び制御方法 | |
JPH09258907A (ja) | 複数の記憶ディスク部を有した高可用性の外部記憶装置 | |
CN1728118B (zh) | 资源分配管理方法和设备 | |
US10331581B2 (en) | Virtual channel and resource assignment | |
JP4651671B2 (ja) | スケジュール制御プログラム及びスケジュール制御方法 | |
JP2007108981A (ja) | ストレージ装置及びボリューム間のデータ交換方法 | |
CN117806540A (zh) | 储存装置控制器及储存装置控制器的方法 | |
JP2006285808A (ja) | ストレージシステム | |
US6687905B1 (en) | Multiple port input/output job scheduling | |
JPH06161846A (ja) | ファイル管理装置 | |
AU662376B2 (en) | Computer memory array control |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20041020 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20041102 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20041125 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20071203 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081203 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091203 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091203 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101203 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111203 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111203 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121203 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121203 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131203 Year of fee payment: 9 |
|
LAPS | Cancellation because of no payment of annual fees |