[go: up one dir, main page]

JP2006521640A - データストレージシステムのサービス品質コントローラ及びサービス品質方法 - Google Patents

データストレージシステムのサービス品質コントローラ及びサービス品質方法 Download PDF

Info

Publication number
JP2006521640A
JP2006521640A JP2006509277A JP2006509277A JP2006521640A JP 2006521640 A JP2006521640 A JP 2006521640A JP 2006509277 A JP2006509277 A JP 2006509277A JP 2006509277 A JP2006509277 A JP 2006509277A JP 2006521640 A JP2006521640 A JP 2006521640A
Authority
JP
Japan
Prior art keywords
target
request
queue
workload
latency
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2006509277A
Other languages
English (en)
Other versions
JP2006521640A5 (ja
JP5041805B2 (ja
Inventor
マーチャント・アリフ
ラム・クリストファー
ギラーモ・アルバーツ
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.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co LP
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 Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of JP2006521640A publication Critical patent/JP2006521640A/ja
Publication of JP2006521640A5 publication Critical patent/JP2006521640A5/ja
Application granted granted Critical
Publication of JP5041805B2 publication Critical patent/JP5041805B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • G06F9/4887Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】データストレージシステムのサービス品質コントローラなどを提供する。
【解決手段】複数のストレージシステムの仕事負荷についての要求に優先順位が付けられて、ストレージデバイスキュー(118)へ選択的に転送され、優先順位に従って、その目標キュー深度が、要求の待ち時間値に応じて調整され、維持される。この待ち時間値は、各仕事負荷について要求の到着時刻と完了時刻との差に基づいて計算される。要求への優先順位の付与は、要求の監視された到着時刻とその仕事負荷の目標待ち時間とに基づいて、要求の目標デッドラインを計算することにより行われる。待ち時間を削減のために、仕事負荷の目標待ち時間がその計算値よりも小さい場合に、目標キュー深度を削減することができる。スループットを増加させるために、各仕事負荷の目標待ち時間が、その計算値よりも大きい場合に、目標キュー深度が増加される。

Description

本発明は、データストレージシステムに関する。
より詳細には、本発明は、サービス品質(QoS)についてのデータストレージシステムの制御に関する。
この出願は、2003年3月27日に出願された「Data Storage System Emulation」という発明の名称の米国出願第10/400,232号に関連したものである。
この米国出願の内容は、参照により本明細書に援用される。
[発明の背景]
技術の進歩といった要因により、コンピュータハードウェアのコストの削減、及び、デジタルデータの量を増加させるワールドワイドウェブの成長が、世界規模で起こっている。
例えば、企業、行政、及び家庭におけるコンピュータシステムは、テキスト形式及び他の文書形式のデータ、データベース、マルチメディアファイル、電子メール通信、ウェブページ、トランザクションレコード等を生成するのに使用される。
その結果、データストレージ要求は、非常に大きなものとなり、次第に増大している。
データストレージシステムは、この増加する要求により推進されて、より大きく、且つより複雑になっている。
例えば、現代のデータセンタは、数十個の大きなアレイならびに数千個の論理ボリューム及びファイルシステムを含む場合がある。
このようなデータセンタは、大きな組織、さらには複数の組織のストレージ要求に役立つことができる。
組織が、そのデータ記憶及び管理の要求をストレージサービスプロバイダ(SSP)に外部委託することがますます増加している。
SSPは、その顧客に利用可能とするストレージを自身のディスクアレイ上に割り当てる。
組織は、機器を購入し、適切な人材を雇うことによって内部で自身のストレージ要求を満たすことができると同時に、その別々の部門にストレージサービスを提供するためのSSPモデルに内部で従うこともできる。
各顧客が受け取るサービスレベルを、例えば容量、可用性、及び性能レベルの点で指定できることが望ましい。
しかしながら、これは、各顧客、キャッシュ空間、ディスク、バス、ネットワーク帯域幅等のストレージ資源、及び、ストレージコントローラのプロセスサイクルを得るために競争するSSPに独自の負荷を提供することから、SSPとの関連で困難になる可能性がある。
さらに、ストレージシステムは、通常、要求の発生元にかかわらず、すべての要求に対してベストエフォート型のサービスを提供するように設計される。
各仕事負荷が十分なサービスを受け取ることを確実にすることを試みる1つの手法は、過剰な容量及び帯域幅を有するストレージシステムを過剰供給することである。
しかしながら、この技法は、追加された資源がシステムのコストを増加させるので、一般にコスト効率が良くない。
別の手法は、各仕事負荷に別々の物理資源(例えば、1つ又は複数の専用ディスクアレイ)を割り当てることである。
この技法は、追加される容量又は帯域幅を一般に任意の増加量で追加できない代わりに、仕事負荷の要件が変化すると、広範囲の再構成が必要とされる場合がある点で、柔軟性に欠ける傾向がある。
米国特許第6170042号 米国特許第6434631号 米国特許第5680539号 米国特許第6157963号
したがって、特定の仕事負荷が、複数の仕事負荷をハンドリングするストレージシステムから受け取るサービスレベルを指定できる改善された機能が必要とされている。
本発明が対象とするのはこの目的である。
[発明の概要]
本発明は、データストレージシステムのサービス品質コントローラ及び関連した方法である。
1態様では、本発明は、データストレージのサービス品質方法及びサービス品質装置を提供する。
複数のストレージシステムの仕事負荷のそれぞれについての要求に優先順位が付けられる。
これらの要求は、ストレージデバイスキューを目標キュー深度に維持するために、その優先順位に従ってストレージデバイスキューへ選択的に転送される。
この目標キュー深度は、要求の待ち時間値に応じて調整される。この待ち時間値は、各仕事負荷について要求の到着時刻と完了時刻との差に基づいて計算される。
要求に優先順位を付けることは、要求の監視された到着時刻と仕事負荷の目標待ち時間とに基づいて要求の目標デッドラインを計算することにより行うことができる。
仕事負荷の目標待ち時間は、その仕事負荷の要求レートに基づくことができる。
待ち時間を削減するために、仕事負荷の目標待ち時間がその計算された待ち時間値よりも小さい場合に、目標キュー深度を削減することができる。
スループットを増加させるために、各仕事負荷の目標待ち時間が、計算された各待ち時間値よりも大きい場合に、目標キュー深度を増加させることができる。
要求をデバイスキューに上記転送した結果として、デバイスキューは到達キュー深度を有する。
したがって、目標キュー深度値を増加させることは、到達キュー深度が目標キュー深度によって制限される場合に実行することができる。
別の態様では、各仕事負荷が複数の要求を含んでいた場合に、関数が、複数の仕事負荷のそれぞれについて許容可能な待ち時間の統計値を指定する。
要求は、スケジューリングされて、データストレージデバイスへ転送され、監視された待ち時間統計値は、各仕事負荷の許容可能な待ち時間統計値の範囲内に概ね維持される。
各要求の目標デッドラインに従って要求に優先順位を付けることによって、それら要求をスケジューリングすることができる。
データストレージデバイスにおいて目標キュー深度を維持するために、要求を転送することができる。
仕事負荷の許容可能な待ち時間統計値が、監視された待ち時間統計値よりも小さい場合に、目標キュー深度を削減することができる。
さらに、許容可能な各待ち時間統計値が、監視された各待ち時間統計値よりも大きい場合に、目標キュー深度を増加させることができる。
本発明のこれらの態様及び他の態様は、本明細書でより詳細に説明される。
[好ましい実施の形態の詳細な説明]
本発明は、データストレージシステムのサービス品質コントローラ及び関連した方法を提供する。
本発明は、ホストからの入出力(I/O)要求を途中で捕捉して、それらI/O要求をストレージデバイスへ転送すると同時に、それらI/O要求が転送されるレートを選択的に調節することによって、1つ又は複数のホストと1つ又は複数のストレージデバイスとの間の仮想化レベルを追加する。
各要求は、ストレージデバイスへの配信についてスケジューリングされると同時に、その完了が監視される。
完了した要求から得られた統計的な情報に基づいて、その後、各仕事負荷の所望の性能を維持しようとして、スケジューリングを変更することができる。
本発明は、一定の性能分離(performance isolation)を提供して、或る仕事負荷が経験する性能が他の仕事負荷の変動による影響をあまり受けず、性能目標が満たされることをより確実にする。
ストレージ資源間で複数の仕事負荷をバランスさせることによって、資源が効率的に利用される。
図1は、本発明の1態様によるデータストレージ管理システム100を示している。
このシステム100は、容量計画器(capacity planner)102、サービス品質コントローラ104、及び1つ又は複数のハードディスクアレイ等のストレージデバイス(複数可)106を含む。
容量計画器102は、1つ又は複数の仕事負荷の仕様を入力として受け取る。
例えば、システムアドミニストレータがこの入力を提供することができる。
仕事負荷の仕様は、例えば、各仕事負荷によって必要とされる複数のストア(すなわち、仮想化されたストレージ空間)、及び、各仕事負荷によって必要とされる容量(すなわち、ストレージ空間の量)を含むことができる。
これに加えて、要求生成速度に基づく許容可能なI/O要求待ち時間等の仕事負荷の性能目標もシステム100に入力することができる。
容量計画器102は、デバイス106にストアを割り当てることによって、各仕事負荷のストレージをストレージデバイス106に割り当て、また、デバイス106が仕事負荷の集約した要求を満たすのに十分な容量及び帯域幅を確実に有するようにする。
この割り当ては、仕事負荷の変化する要件及びデバイス106の構成の変更を満たすように定期的に変更することができる。
容量計画器102は、容量計画ステップを実行するようにプログラミングされた汎用コンピュータシステムとして実施することができる。
容量計画器によって示されたデバイス106の物理構成は、例えば、システムアドミニストレータが実行することができる。
1態様では、容量計画器102は、2001年10月23日に出願された「Automated System Adaptation Technique Particularly for Data Storage Systems」という発明の名称の米国特許出願第10/046,463号に従って動作する。
この米国特許出願の内容は、参照により本明細書に援用される。
この計画器102では、仕事負荷の下でのストレージデバイス106のオペレーションを解析すること、その解析に基づいて新たな設計を生成すること、及び、その新たな設計に既存のシステムを移行させることを含む一連のステップが、繰り返しループで実行される。
これらのタスクをプログラムとして繰り返すことによって、容量計画は、過剰供給されることなく、仕事負荷をサポートする容量計画に収束する。
別の態様では、容量計画器102は、2001年8月7日に出願された「Simultaneous Array Configuration and Store Assignment for a Data Storage System」という発明の名称の米国特許出願第09/924,735号に従って動作する。
この米国特許出願の内容は、参照により本明細書に援用される。
この計画器102では、複数のノードを有するデータ構造体が、コンピュータ可読メモリに記憶される。
それらのノードの少なくともいくつかは、各属性を有する物理的なデータストレージデバイス106に対応する。
仕事負荷によって使用される複数のデータストアは、それぞれ、入力として提供される容量要件や帯域幅要件等のデータストレージ要件を有する。
これらのデータストアは、再帰的に階層に割り当てられ、各ノードにおいて、ストアの要件が属性のいずれも上回らないことがチェックされる。
ストアが割り当てられている間、ストアによりよく適合するように階層を変更することができる。
どの属性にも違反しない可能な割り当てを、システムの目標に従って互いに比較することができる。
図1のシステム100に使用される上述した容量計画器102は例示である。
したがって、別の計画器を選択できることは明らかである。
さらに、この容量計画は、従来の手動による技法に従って実行することもできる。
ホストシステム108は、例えば、1つ又は複数のアプリケーションが実行されて、それらのアプリケーションがストレージデバイス106に対するI/O要求(すなわち、読み出しオペレーション及び書き込みオペレーション)を生成するコンピュータシステムを含むことができる。
各仕事負荷は、1つ又は複数のホスト108、及び/又は、1つ又は複数のホスト108で実行されているアプリケーションによって生成された一続きのI/O要求を含む。
例えば、特定の仕事負荷は、ホスト108のうちの単一のホストによって、又は、ホスト108のうちのいくつかで実行されている特定のアプリケーションによって生成された要求のすべてから成ることがある。
別の例として、ホスト又はアプリケーションによって生成された要求は、読み出し要求及び書き込み要求に分割することができる。
この場合、読み出し要求が或る仕事負荷を表し、書き込み要求が別の仕事負荷を表す。
サービス品質コントローラ104は、1つ又は複数のホストシステム108によって生成されたI/O要求を受け取る。
これに応答して、コントローラ104は、ストレージデバイス106と通信して、それらの要求を完了する。
これに加えて、コントローラ104は、容量計画器102からストレージ割り当て情報を受け取ることもできる。
コントローラ104は、このストレージ割り当て情報を使用して、各要求が属する特定の仕事負荷を特定することができる。
コントローラ104が仕事負荷の性能目標を満たすのに使用可能でない場合、コントローラ104は、過負荷アラームを通信すること等によって、容量計画器102に信号で伝えることができる。
これが行われると、容量計画器102は、デバイス106にストアを再割り当てすること、デバイス106を、より多くの容量及び/又は帯域幅を有する他のデバイスと交換すること、又はデバイス106の個数又はデバイス106のコンポーネントの個数を増加させてデバイス106の全体の容量及び/又は帯域幅を増加させること等によって、適切な動作を取ることができる。
各仕事負荷の性能目標は、1対の曲線によって指定することができる。
この1対の曲線の各曲線は、時間ウィンドウwの期間で平均化されて提供された要求レートの関数としての読み出し待ち時間及び書き込み待ち時間を指定する。
図2A及び図2Bは、仕事負荷の例示の性能要件を示している。
より具体的には、図2Aは、横軸に、毎秒のI/Oの個数による読み出し要求の発行レートを有し、縦軸に、ミリ秒による上限の最大待ち時間(期間wで平均されたもの)を有するグラフを示している。
待ち時間は、所与の要求を処理するのに必要とされる時間である。
この待ち時間は、コントローラ104がホスト108から要求を受信した時と、ストレージデバイス106がその要求を完了した時との間に経過した時間として計測することができる。
図2Aに示すように、読み出し要求レートが毎秒10個のI/O未満である場合、10msの最大待ち時間が認められる。
読み出し要求レートが毎秒10個のI/Oと20個のI/Oとの間である場合、15msの最大待ち時間が認められ、読み出し要求レートが毎秒20個のI/Oと30個のI/Oとの間である場合、20msの最大待ち時間が認められる。
これに加えて、読み出し要求レートが毎秒30個のI/Oと40個のI/Oとの間である場合、25msの最大待ち時間が認められる。
必要ではないが、I/O要求レートが毎秒40個のI/Oを超える場合、待ち時間に対して制限は与えられない。
図2Bは、書き込み要求の待ち時間の制限のグラフを示している。
図2Bに示すように、書き込み要求レートが毎秒10個のI/O未満である場合、20msの最大待ち時間が認められる。
書き込み要求レートが毎秒10個のI/Oと20個のI/Oとの間である場合、30msの最大遅延時間が認められ、書き込み要求レートが毎秒20個のI/Oと30個のI/Oとの間である場合、40msの最大待ち時間が認められる。
これに加えて、書き込み要求レートが毎秒30個のI/Oと40個のI/Oとの間である場合、50msの最大待ち時間が認められる。
図2Aと同様に、I/O要求レートが毎秒40個のI/Oを超える場合、待ち時間に対して制限は与えられない。
読み出し要求についての図2Aに示す性能要件と書き込み要求についての図2Bに示す性能要件とは異なるが、同じ要件が双方に適用される場合があることは明らかであろう。
さらに、待ち時間の制限をより少なく指定することもできるし、より多く指定することもできる。
例えば、図3は、毎秒40個のI/O未満のすべての要求レートに対して、20msの単一の待ち時間制限が適用されるグラフを示している。
一般に、これらの2つの曲線は、3要素のベクトル(vector of triples)((r,tr,tw),(r,tr,tw),…,(r,tr,tw))として表すことができる。
ここで、0<r<…<rであり、rは要求レートであり、trは読み出し要求の最大待ち時間であり、twは書き込み要求の最大待ち時間である。
を超える要求レートについての待ち時間には制限が与えられないので、これは、trn+1=twn+1=∞として表すことができる。
したがって、図2Aの曲線及び図2Bの曲線は、((10IO/s,10ms,20ms),(20IO/s,15ms,30ms),(30IO/s,20ms,40ms),(40IO/s,25ms,50ms))として表すことができる。
時間は、wのウィンドウ(エポック(epoch))に分割することができる。
各ウィンドウwは、約1秒程度の長さとすることができるが、別のウィンドウの長さを選択することもできる。
したがって、最大待ち時間を超えるかどうかを判断するために、計測された待ち時間は、wの期間にわたって平均化される。
したがって、全I/O要求のうち読み出し要求の割合がfrである仕事負荷が性能要件を満たすには、どの時間ウィンドウwの平均待ち時間も、前のウィンドウwにわたる平均要求レートがrよりも小さい場合に、fr*tr+(1−fr)twを超えるべきではない。
この公式は、仕事負荷が読み出しのみである場合には待ち時間の限度がtrであることを意味し、仕事負荷が書き込みのみである場合には待ち時間の限度がtwであることを意味し、仕事負荷が読み出し/書き込みの混合したものである場合には待ち時間の限度が2つの限度を線形補間したものであることを意味する。
しかしながら、計測された待ち時間をこのように組み合わせる必要はない。
特に、仕事負荷が、観測された読み出し待ち時間又は観測された書き込み待ち時間によって支配される場合には、例えば、要求の調節は、その一方又は他方のみに基づくことができる。
また、待ち時間の目標が読み出し要求及び書き込み要求について同じである場合、それぞれについて観測された待ち時間を区別する必要もない。
一般に、仕事負荷の性能目標は、その仕事負荷の計測可能な特性の任意の組に基づいた、必要とされる待ち時間を特定する任意の計算可能な関数とすることができる。
例えば、待ち時間は、I/Oサイズの関数又はI/Oサイズの組み合わせとして、且つ、要求が読み出しであるのか、それとも書き込みであるのかで指定することができる。
この関数は、数学関数とすることもできるし、この場合のように、テーブルによって指定することもできる。
読み出し及び書き込みの性能目標は、ここでは、単一の目的関数に組み合わされるが、それら性能目標は別々にしておくこともできる。
例えば、仕事負荷からの読み出し要求及び書き込み要求は、別々の入力キューに入れることができ、別々の待ち時間の限度を各キューに関連付けることができる。
同様に、他の基準に基づいて、要求を別々の入力キューに分離することもできる。
例えば、性能目標が、小さなI/O(例えば、64KB未満)及び大きなI/O(例えば、64KB以上)について別々の待ち時間関数を指定する場合、大きなI/O要求及び小さなI/O要求を別々の入力キューに分離することができ、対応する性能要件をそれらI/O要求に別々に適用することができ、それによって、それらI/O要求を別々の仕事負荷として扱うことができる。
図4は、図1のサービス品質ストレージコントローラ104の1実施の形態をより詳細に示している。
コントローラ104は、入力キュー110、I/Oスケジューラ112、I/Oモニタ114、及びI/Oコントローラ116を含む。
キュー110は、バッファとして構成されたメモリデバイスによって実施することができる一方、スケジューラ112、モニタ114、及びコントローラ116は、汎用若しくは専用のハードウェア及び/又はソフトウェアによって実施することができる。
また、図4は、従来通りストレージシステムの一部であり、したがって、デバイス106に含まれるデバイスキュー118も示している。
QoSコントローラ104がない場合、要求は、ホスト108からデバイスキュー118へ直接非知的に配信される。
デバイスキュー118からの要求の削除及びデバイスキュー118内での要求のソートは、デバイス106の制御下で行うことができ、したがって、デバイスキュー118は、QoSコントローラ104から独立して動作する。
例えば、一般のストレージデバイス(デバイス106で使用できる)は、デバイスキュー118の要求の中でそれら要求をソートするための、デバイスの製造者に独自の方式を実施することができる。
したがって、本発明は、商用のストレージデバイスと互換性を有する。
一方、QoSコントローラ104は、デバイスキュー118への要求の流れを制御する。
(例えば、ホスト108から)QoSコントローラ104に到着した要求は、入力キュー110に入れられる。
入力キュー110では、各仕事負荷からの要求は、好ましくは、キュー100のうちの特定の1つに割り当てられる。
I/Oモニタ114及びI/Oコントローラ116からの繰り返される入力に基づいて、スケジューラ112は、デバイスキュー118の目標のキュー深度値、及び、スケジューラ112が維持しようと試みる仕事負荷ごとの待ち時間目標値を保持する。
スケジューラ112は、各仕事負荷についての要求に、その同じ仕事負荷における他の要求に対して優先順位を付ける。
これは、アーリストデッドラインファースト(EDF(earliest deadline first))スケジューリングを使用して行うことができる。
このEDFスケジューリングでは、仕事負荷Wからの要求のデッドラインは、その要求の到着時刻arrivalTime(W)に、その仕事負荷の待ち時間目標値latencyTarget(W)を加えたものとして計算される。
したがって、仕事負荷Wからの要求のデッドラインは、arrivalTime(W)+latencyTarget(W)として計算することができる。
この仕事負荷のデッドラインは、その仕事負荷における最も古い保留中の要求と同じであると考えられる。
スケジューラ112は、デバイスキュー118を定期的にポーリングして、その時点のキュー深度(すなわち、キュー118において保留中の要求の個数)を求める。
代替的に、例えば、デバイス106がデバイスキュー118の深度の報告をサポートしていない場合に、スケジューラ112は、モニタ114からのI/O要求の到着及び完了の情報に基づいて現在のデバイスキュー深度を計算することもできる。
好ましくは、キュー深度は、定期的に(例えば、1msごとに)ポーリングされ、また、I/O要求の完了時にもポーリングされる。
仕事負荷からの要求は、指定された状況下でデバイスキュー118へ転送される。
すなわち、デバイスキュー118の現在の深度がI/Oコントローラ116によって指定された目標値よりも小さい場合に、要求をデバイスキュー118へ転送することができる。
この場合、スケジューラ112は、最も早いデッドラインを有する仕事負荷を選択して、その対応するキュー110の最初の要求(すなわち、最も早いデッドラインを有する要求)をデバイスキュー118へ転送する。
スケジューラ112は、デバイスキュー118の現在の深度が目標深度に達するまで、次の最も早いデッドラインを有する仕事負荷を選択するステップ、及び、その仕事負荷の最初の要求をデバイスキュー118へ転送するステップを繰り返す。
このように、デバイスキュー118をその目標深度に維持するために、要求は、入力キュー110において優先順位付けされて、要求のうち最も高い優先順位の要求がデバイスキュー118へ転送される。
また、要求のデッドラインがすでに経過している時も、その要求をデバイスキュー118へ転送することができる。
期限が経過したすべての要求は、たとえ、この要求をデバイスキュー118へ転送することによって、デバイスキュー118の深度がその目標深度を超えさせることになっても、デバイスキュー118へ転送されることが好ましい。
これによって、新たに到着した、小さな待ち時間要件を有する仕事負荷の要求に直ちに対応することができる。
I/Oモニタ114は、I/O要求の到着及び完了を監視する。
より具体的には、モニタ114は、各仕事負荷についての新たな読み出し要求及び書き込み要求の、QoSコントローラ104への到着レートを監視することができ、また、この情報をI/Oコントローラ116へ報告することもできる。
性能目標が要求レートに基づいて最大待ち時間を指定できることを思い出されたい。
したがって、各仕事負荷の目標待ち時間は、その時点の要求レートに基づいて定期的に求めることができる。
より具体的には、性能目標が((r,tr,tw),(r,tr,tw),…,(r,tr,tw))として与えられる場合、読み出し要求及び書き込み要求を含む仕事負荷Wの待ち時間目標値は、次のように計算することができる。
latencyTarget(Wk) = fr*tri+(1−fr)twi,if ri−1?readRate(Wk)+writeRate(Wk)<ri
ここで、readRate(W)は仕事負荷Wの読み出し要求レートであり、writeRate(W)は仕事負荷Wの書き込み要求レートであり、r=0、rn+1=∞、trn+1=twn+1=∞である。
目標値は、好ましくは、P=0.05秒ごとに定期的に求められて報告される。
ただし、別の期間Pを選択できることは明らかである。
I/Oモニタ114は、要求到着レートを監視することに加えて、好ましくは、要求がQoSコントローラ104内に受信されると、各I/O要求の到着時刻も監視する。
これに加えて、モニタ114は、デバイス106によって報告された各要求の完了時刻も監視する。
モニタ114は、これから、各要求の待ち時間及び各仕事負荷の(wの期間にわたる)平均待ち時間を計算することができる。
この平均待ち時間は、次に、コントローラ116に報告される。
待ち時間の平均値は、好ましくは、P=0.05秒ごとに定期的に計算されて報告される。
ただし、別の期間を選択できることは明らかである。
コントローラ116は、平均待ち時間情報に応じて、デバイスキュー118の目標深度を調整することができる。
この制御は、デバイスキュー118の深度を削減すると、デバイス106における待ち時間が削減されることにつながるが、スループットも削減されることにつながるという仮定に基づいている。
逆に言えば、デバイスキュー118の深度を増加させると、待ち時間が増加することにつながり、スループットも増加することにつながる。
この仮定は、ほとんどのディスク及びディスクアレイに当てはまると予想される。
コントローラ116は、デバイスキュー118をフル(すなわち、その目標深度に)維持しようと試みる。
これは、デバイスキュー118に多くの要求を有すると、デバイス106の利用が改善され、したがって、スループットが最大になるからである。
しかしながら、デバイスキュー118にあまりにも多くの要求を有すると、待ち時間が許容できないものとなるおそれがある。
例えば、仕事負荷が小さな待ち時間を要求する場合、デバイスキュー118に多くの要求を有することは、仕事負荷からの次の要求が、キュー118の他の多くの未処理の要求と競合することを意味し、したがって、その要求は、キュー118が有する未処理の要求が少ない場合よりも遅く(大きな待ち時間で)完了することを意味する。
このように、デバイスキュー118をその目標深度に維持することは、待ち時間が過大になることなく、ストレージデバイス106の利用を最大にすることにつながる。
目標キュー深度は、このバランスを維持するように調整される。
特定のインプリメンテーションでは、コントローラ116は、各仕事負荷の現在の目標待ち時間を、前の期間中に計測されたその平均待ち時間と比較して、デバイスキュー118の目標深度を調整する。
いずれかの仕事負荷が、その前の計測された待ち時間よりも小さな新しい目標待ち時間を有すると、そのデバイスキュー118の目標深度は削減される。
目標深度の削減量は、好ましくは、各仕事負荷についての目標待ち時間と計測された待ち時間との差の中で最大の差に比例する。
例えば、2つの仕事負荷W及びWを有するシステムにおいて、仕事負荷Wの新たな目標待ち時間が、その計測された値よりも10%小さく、且つ、仕事負荷Wの新たな目標待ち時間が、その計測された目標値よりも5%小さい場合、デバイスキュー118の目標深度は、好ましくは、デバイスキュー118の前の目標深度から10%だけ削減される。
しかしながら、デバイスキュー118の目標値の削減は、別の方法で求めることもできることは明らかである。
例えば、削減量は、仕事負荷の2つ又は3つ以上についての目標値と計測された値との差から統計的に(例えば、平均化することによって)求めることができる。
逆に言えば、新たな目標待ち時間のすべてが、仕事負荷のすべてについて計測された待ち時間よりも長い場合、デバイスキュー118の目標深度は、より大きなスループットを可能にさせるために増加させることができる。
例えば、目標深度は、所定の乗数によって増加させることができる。
例えば、乗数が0.1である場合、目標深度は、その前の値の110%に増加される。
ただし、別の乗数を選択することもできる。
デバイスキュー118の目標深度を増加させると、実際の到達キュー深度がその目標深度によって制限された場合にのみ、スループットが増加すると予想される。
したがって、目標深度を増加させるかどうかは、到達キュー深度が目標深度によって制限されたかどうかに基づいて決定することができる。
これらの条件のいずれも当てはまらない場合には、デバイスキュー118の目標深度は変更しないでおくことができる。
このように、コントローラ116は、非線形フィードバックを実施して、デバイスの目標深度を調整することができる。
形式的に、上述したフィードバック方式は、以下によって表すことができる。
Figure 2006521640
ここで、Qnewは、デバイスキュー118の新たな目標深度であり、Qoldは、デバイスキュー118の前の目標深度であり、Qmaxは、前の期間に到達したデバイスキュー118の最大深度であり、L(W)は、仕事負荷Wの計測された平均待ち時間であり、εは、所定の小さな正の値(例えば、0.1)である。
最初に、目標キュー深度は、初期値(例えば、200エントリー)に設定される。
上記のように、データストレージのサービス品質システム及びサービス品質方法を説明してきた。
本発明は、一定の性能分離を提供して、或る仕事負荷が経験する性能が他の仕事負荷の変動による影響をあまり受けず、性能目標が満たされることをより確実にする。
ストレージ資源間で複数の仕事負荷をバランスさせることによって、資源が効率的に利用される。
上記は、本発明の特定の実施の形態に関するものであるが、本発明の原理及び精神から逸脱することなく、これらの実施の形態に変更を行えることが当業者には理解されよう。
本発明の範囲は、添付の特許請求の範囲によって画定される。
本発明の1態様によるデータストレージ管理システムを示す図である。 仕事負荷の例示の性能要件を示す図である。 仕事負荷の例示の性能要件を示す図である。 単一の待ち時間制限がしきい値未満のすべての要求レートに適用される代替的な例示の性能要件を示す図である。 本発明の1態様によるサービス品質ストレージコントローラを示す図である。
符号の説明
102・・・容量計画器,
104・・・QoSコントローラ,
106・・・ストレージ,
108・・・ホスト,
110・・・入力キュー,
112・・・I/Oスケジューラ,
114・・・I/Oモニタ,
116・・・I/Oコントローラ,

Claims (11)

  1. データストレージのサービス品質方法であって、
    複数の仕事負荷のそれぞれについての複数の要求に優先順位を付けることと、
    前記優先順位を付けることに従って前記要求をキュー(118)に選択的に転送することであって、前記キュー(118)を目標キュー深度に維持し、完了した要求は前記キュー(118)から削除される、前記要求をキューに選択的に転送することと、
    前記要求の待ち時間値に応じて前記目標キュー深度を調整することであって、前記待ち時間値は、複数の前記要求の到着時刻と完了時刻との差に基づいて計算されることと
    を含むサービス品質方法。
  2. 前記優先順位を付けることは、
    要求の目標デッドラインを計算すること
    を含む請求項1に記載のサービス品質方法。
  3. 期限が経過した目標デッドラインを有するあらゆる要求を、前記キュー(118)に転送すること
    をさらに含む請求項2に記載のサービス品質方法。
  4. 期限が経過した目標デッドラインを有するあらゆる要求を前記転送することは、
    到達キュー深度が、前記目標キュー深度を超える場合であっても実行される
    請求項3に記載のサービス品質方法。
  5. 前記要求の到着時刻を監視すること
    をさらに含む請求項2に記載のサービス品質方法。
  6. 前記要求の前記仕事負荷は、
    目標待ち時間
    を有し、
    前記要求の前記目標デッドラインを前記計算することは、
    前記仕事負荷の前記目標待ち時間を、前記要求の前記到着時刻と組み合わせること
    を含む
    請求項5に記載のサービス品質方法。
  7. ある時間間隔の間、前記仕事負荷の要求を開始することであって、前記仕事負荷の要求レートを求めること
    をさらに含む請求項6に記載のサービス品質方法。
  8. 前記要求レートに基づいて、前記目標待ち時間を調整すること
    をさらに含む請求項7に記載のサービス品質方法。
  9. 前記計算された待ち時間値は、目標待ち時間を有する仕事負荷用であり、
    前記目標キュー深度を前記調整することは、
    前記仕事負荷の前記目標待ち時間が前記計算された待ち時間値よりも小さいときに、前記目標キュー深度を削減すること
    を含む
    請求項1に記載のサービス品質方法。
  10. 前記計算された待ち時間値は、目標待ち時間を有する仕事負荷用であり、
    各仕事負荷は、
    目標待ち時間及び計算された待ち時間値
    を有し、
    前記目標キュー深度値を前記調整することは、
    各目標待ち時間が計算された各待ち時間値よりも大きいときに、前記目標キュー深度を増加させること
    を含む請求項1に記載のサービス品質方法。
  11. ストレージシステムのサービス品質装置(104)であって、
    複数の仕事負荷から要求を受け取る複数の入力キュー(110)であって、各仕事負荷は、対応する前記入力キュー(110)に割り当てられ、各入力キューの要求は優先順位が付けられる複数の入力キューと、
    各仕事負荷の要求の性能値を監視するモニタ(114)と、
    前記入力キュー(110)からストレージデバイスキュー(118)へ前記要求を選択的に転送するスケジューラ(112)であって、前記ストレージデバイスキュー(118)の目標深度に従い、最も高い優先順位の前記要求を選択して、前記ストレージデバイスキュー(118)へ転送するスケジューラと、
    各仕事負荷の前記要求の前記性能値に従って、前記ストレージデバイスキュー(118)の前記目標深度を調整するコントローラ(116)と
    を有するサービス品質装置。
JP2006509277A 2003-03-27 2004-03-25 データストレージシステムのサービス品質コントローラ及びサービス品質方法 Expired - Fee Related JP5041805B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/400,556 US7917903B2 (en) 2003-03-27 2003-03-27 Quality of service controller and method for a data storage system
US10/400,556 2003-03-27
PCT/US2004/009119 WO2004088547A2 (en) 2003-03-27 2004-03-25 Quality of service controller and method for a data storage system

Publications (3)

Publication Number Publication Date
JP2006521640A true JP2006521640A (ja) 2006-09-21
JP2006521640A5 JP2006521640A5 (ja) 2007-01-11
JP5041805B2 JP5041805B2 (ja) 2012-10-03

Family

ID=32989240

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006509277A Expired - Fee Related JP5041805B2 (ja) 2003-03-27 2004-03-25 データストレージシステムのサービス品質コントローラ及びサービス品質方法

Country Status (3)

Country Link
US (1) US7917903B2 (ja)
JP (1) JP5041805B2 (ja)
WO (1) WO2004088547A2 (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009009572A (ja) * 2007-06-26 2009-01-15 Seagate Technology Llc ホスト適応シーク技術環境
JP2009009573A (ja) * 2007-06-26 2009-01-15 Seagate Technology Llc コマンド・キュー・ローディング
KR101126215B1 (ko) * 2009-05-13 2012-03-26 후지쯔 가부시끼가이샤 컴퓨터 판독 가능한 기록 매체, 잡 스케줄링 장치 및 잡 스케줄링 방법
WO2012063434A1 (ja) 2010-11-08 2012-05-18 日本電気株式会社 情報処理装置
US9811283B2 (en) 2015-03-26 2017-11-07 Fujitsu Limited System, control device, and method
JP2019030260A (ja) * 2017-08-08 2019-02-28 学校法人慶應義塾 細胞生産方法及び細胞生産装置
JP2021506026A (ja) * 2017-12-12 2021-02-18 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッドAdvanced Micro Devices Incorporated メモリ帯域幅利用を抑制するメモリ要求スロットル

Families Citing this family (79)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7643983B2 (en) * 2003-03-28 2010-01-05 Hewlett-Packard Development Company, L.P. Data storage system emulation
US7058764B2 (en) * 2003-04-14 2006-06-06 Hewlett-Packard Development Company, L.P. Method of adaptive cache partitioning to increase host I/O performance
US8423662B1 (en) * 2003-04-28 2013-04-16 Akamai Technologies, Inc. Forward request queuing in a distributed edge processing environment
US20060161753A1 (en) * 2005-01-18 2006-07-20 Aschoff John G Method, apparatus and program storage device for providing automatic performance optimization of virtualized storage allocation within a virtualized storage subsystem
US7363399B2 (en) * 2005-08-17 2008-04-22 International Business Machines Corporation Method, apparatus and computer program product providing storage network dynamic tuning of I/O flow with Queue Depth
US20070156955A1 (en) * 2005-12-30 2007-07-05 Royer Robert J Jr Method and apparatus for queuing disk drive access requests
US20070189509A1 (en) * 2006-02-13 2007-08-16 Foody Daniel M Data path identification and analysis for distributed applications
US8073671B2 (en) * 2006-03-31 2011-12-06 Microsoft Corporation Dynamic software performance models
US20070233449A1 (en) * 2006-03-31 2007-10-04 Microsoft Corporation Simulation of hierarchical storage systems
US7792129B2 (en) 2006-12-01 2010-09-07 International Business Machines Corporation Multi-queue packet processing using Patricia tree
US8250197B2 (en) * 2008-10-28 2012-08-21 Vmware, Inc. Quality of service management
US7912951B2 (en) * 2008-10-28 2011-03-22 Vmware, Inc. Quality of service management
US8024498B2 (en) 2008-12-15 2011-09-20 International Business Machines Corporation Transitions between ordered and ad hoc I/O request queueing
US9323473B2 (en) * 2009-01-09 2016-04-26 Hewlett Packard Enterprise Development Lp Virtual tape library
US8135924B2 (en) 2009-01-14 2012-03-13 International Business Machines Corporation Data storage device driver
US8341314B2 (en) * 2009-06-30 2012-12-25 Hewlett-Packard Development Company, L.P. Managing I/O request in storage system
GB2473505B (en) 2009-09-15 2016-09-14 Advanced Risc Mach Ltd A data processing apparatus and a method for setting priority levels for transactions
US8893146B2 (en) * 2009-11-13 2014-11-18 Hewlett-Packard Development Company, L.P. Method and system of an I/O stack for controlling flows of workload specific I/O requests
US9262346B2 (en) * 2010-06-21 2016-02-16 Hewlett Packard Enterprises Development LP Prioritizing input/outputs at a host bus adapter
US8417812B1 (en) * 2010-07-12 2013-04-09 Vmware, Inc. Methods and systems for detecting anomalies during IO accesses
US8719401B1 (en) * 2010-07-12 2014-05-06 Vmware, Inc. Decentralized input/output resource management
US8468524B2 (en) * 2010-10-13 2013-06-18 Lsi Corporation Inter-virtual machine time profiling of I/O transactions
CN102724103B (zh) * 2011-03-30 2015-04-01 国际商业机器公司 代理服务器、分层次网络系统及分布式工作负载管理方法
US20130326249A1 (en) * 2011-06-09 2013-12-05 Guillermo Navarro Regulating power consumption of a mass storage system
US10877669B1 (en) 2011-06-30 2020-12-29 Amazon Technologies, Inc. System and method for providing a committed throughput level in a data store
US8909764B2 (en) 2011-07-28 2014-12-09 Xyratex Technology Limited Data communication method and apparatus
US9176708B2 (en) 2011-11-07 2015-11-03 Nexgen Storage, Inc. Primary data storage system with quality of service
US8452901B1 (en) * 2011-12-30 2013-05-28 Emc Corporation Ordered kernel queue for multipathing events
US8788658B2 (en) 2012-02-03 2014-07-22 International Business Machines Corporation Allocation and balancing of storage resources
US9244742B2 (en) * 2012-05-31 2016-01-26 Vmware, Inc. Distributed demand-based storage quality of service management using resource pooling
US9292205B2 (en) * 2012-06-14 2016-03-22 Avago Technologies General Ip (Singapore) Pte. Ltd. Methods and systems for adaptive queue depth management
US9130969B2 (en) 2012-08-23 2015-09-08 Seagate Technology Llc Data storage I/O communication method and apparatus
US9647916B2 (en) * 2012-10-27 2017-05-09 Arris Enterprises, Inc. Computing and reporting latency in priority queues
US9684633B2 (en) 2013-01-24 2017-06-20 Samsung Electronics Co., Ltd. Adaptive service controller, system on chip and method of controlling the same
US9317382B2 (en) 2013-05-21 2016-04-19 International Business Machines Corporation Storage device with error recovery indication
US9081741B2 (en) 2013-05-21 2015-07-14 International Business Machines Corporation Minimizing delay periods when accessing mirrored disks
US10083465B2 (en) * 2013-09-06 2018-09-25 Facebook, Inc. Allocating information for content selection among computing resources of an online system
GB2519294A (en) 2013-10-15 2015-04-22 Ibm Storage controller quality of service
US9699032B2 (en) * 2013-10-29 2017-07-04 Virtual Instruments Corporation Storage area network queue depth profiler
US9465645B1 (en) * 2014-06-25 2016-10-11 Amazon Technologies, Inc. Managing backlogged tasks
US9298518B2 (en) * 2014-07-09 2016-03-29 International Business Machine Corporation Safe consolidation and migration
US10866742B1 (en) * 2014-08-04 2020-12-15 Nexgen Storage, Inc. Archiving storage volume snapshots
US9521089B2 (en) 2014-08-30 2016-12-13 International Business Machines Corporation Multi-layer QoS management in a distributed computing environment
US10366358B1 (en) 2014-12-19 2019-07-30 Amazon Technologies, Inc. Backlogged computing work exchange
WO2016132428A1 (ja) * 2015-02-16 2016-08-25 株式会社日立製作所 ストレージ装置
US9760281B2 (en) * 2015-03-27 2017-09-12 Intel Corporation Sequential write stream management
US9575664B2 (en) * 2015-04-08 2017-02-21 Prophetstor Data Services, Inc. Workload-aware I/O scheduler in software-defined hybrid storage system
US10235104B1 (en) * 2015-09-30 2019-03-19 EMC IP Holding Company LLC IO request system and method
DE202015105354U1 (de) 2015-10-09 2017-01-11 J.G. Hambrock Zahnbürste
US10785295B2 (en) * 2016-06-30 2020-09-22 Intel Corporation Fabric encapsulated resilient storage
US11886922B2 (en) 2016-09-07 2024-01-30 Pure Storage, Inc. Scheduling input/output operations for a storage system
US10735513B2 (en) 2016-09-08 2020-08-04 Toshiba Memory Corporation Remote NVMe activation
US10298442B2 (en) 2016-09-27 2019-05-21 International Business Machines Corporation Error recovery process
US10503544B2 (en) * 2016-10-17 2019-12-10 Toyota Jidosha Kabushiki Kaisha Efficient mapping from task graphs to dynamic system platforms
CN108009006B (zh) * 2016-11-02 2022-02-18 华为技术有限公司 I/o请求的调度方法及装置
WO2018119899A1 (zh) 2016-12-29 2018-07-05 华为技术有限公司 一种存储控制器及io请求处理方法
CN109799956B (zh) 2017-01-05 2023-11-17 华为技术有限公司 一种存储控制器及io请求处理方法
CN109154883A (zh) * 2017-03-22 2019-01-04 波利伍德有限责任公司 驱动级内部服务质量
US10719245B1 (en) 2017-07-13 2020-07-21 EMC IP Holding Company LLC Transactional IO scheduler for storage systems with multiple storage devices
US10509739B1 (en) * 2017-07-13 2019-12-17 EMC IP Holding Company LLC Optimized read IO for mix read/write scenario by chunking write IOs
US10346054B1 (en) * 2017-07-13 2019-07-09 EMC IP Holding Company LLC Policy driven IO scheduler resilient to storage subsystem performance
US10599340B1 (en) * 2017-07-13 2020-03-24 EMC IP Holding LLC Policy driven IO scheduler to improve read IO performance in hybrid storage systems
US10592123B1 (en) * 2017-07-13 2020-03-17 EMC IP Holding Company LLC Policy driven IO scheduler to improve write IO performance in hybrid storage systems
KR102429904B1 (ko) * 2017-09-08 2022-08-05 삼성전자주식회사 PCIe P2P 접속의 밴드위스를 최대화할 수 있는 방법 및 시스템
US10528506B2 (en) * 2017-10-18 2020-01-07 Western Digital Technologies, Inc. Uniform performance monitor for a data storage device and method of operation
US12026381B2 (en) 2018-10-26 2024-07-02 Pure Storage, Inc. Preserving identities and policies across replication
US10671302B1 (en) 2018-10-26 2020-06-02 Pure Storage, Inc. Applying a rate limit across a plurality of storage systems
US20200183838A1 (en) * 2018-12-10 2020-06-11 International Business Machines Corporation Dynamic cache resize taking into account underlying raid characteristics
US10802725B2 (en) * 2019-03-07 2020-10-13 Vmware, Inc. Management of unmap processing rates in distributed and shared data storage volumes
US11550631B2 (en) * 2019-06-17 2023-01-10 Hewlett Packard Enterprise Development Lp Distribution of quantities of an increased workload portion into buckets representing operations
CN111444012B (zh) * 2020-03-03 2023-05-30 中国科学院计算技术研究所 一种保证延迟敏感应用延迟slo的动态调控资源方法及系统
CN113377277B (zh) * 2020-03-09 2024-08-16 伊姆西Ip控股有限责任公司 管理存储器的方法、设备和计算机程序产品
US12449977B2 (en) * 2021-05-21 2025-10-21 Samsung Electronics Co., Ltd. Low latency multiple storage device system
US12067254B2 (en) 2021-05-21 2024-08-20 Samsung Electronics Co., Ltd. Low latency SSD read architecture with multi-level error correction codes (ECC)
US11782851B2 (en) * 2021-09-01 2023-10-10 Micron Technology, Inc. Dynamic queue depth adjustment
CN114489986B (zh) * 2022-01-25 2026-02-03 惠州Tcl移动通信有限公司 任务调度方法、装置、终端设备及存储介质
KR20240100083A (ko) 2022-12-22 2024-07-01 삼성전자주식회사 스토리지 장치, 스토리지 컨트롤러 및 스토리지 컨트롤러의 동작 방법
CN116560842B (zh) * 2023-05-12 2024-04-16 无锡众星微系统技术有限公司 一种sas存储业务中的i/o队列调度方法
CN118677913B (zh) * 2024-08-22 2025-01-21 济南浪潮数据技术有限公司 分布式存储业务请求处理方法、装置及分布式存储系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0855071A (ja) * 1994-08-08 1996-02-27 Matsushita Electric Ind Co Ltd サーバ装置
US6170042B1 (en) * 1998-02-24 2001-01-02 Seagate Technology Llc Disc drive data storage system and method for dynamically scheduling queued commands
JP2002132698A (ja) * 2000-10-27 2002-05-10 Matsushita Electric Ind Co Ltd データ転送制御方法およびその装置
US6434631B1 (en) * 1999-10-15 2002-08-13 Lucent Technologies Inc. Method and system for providing computer storage access with quality of service guarantees
JP2003015915A (ja) * 2001-07-05 2003-01-17 Hitachi Ltd 記憶装置の容量自動拡張方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5239659A (en) * 1991-06-19 1993-08-24 Storage Technology Corporation Phantom duplex copy group apparatus for a disk drive array data storge subsystem
US5459857A (en) * 1992-05-15 1995-10-17 Storage Technology Corporation Fault tolerant disk array data storage subsystem
US5426736A (en) * 1993-05-26 1995-06-20 Digital Equipment Corporation Method and apparatus for processing input/output commands in a storage system having a command queue
US5680539A (en) * 1995-07-11 1997-10-21 Dell Usa, L.P. Disk array system which performs data reconstruction with dynamic load balancing and user-specified disk array bandwidth for reconstruction operation to maintain predictable degradation
US6078998A (en) * 1997-02-11 2000-06-20 Matsushita Electric Industrial Co., Ltd. Real time scheduling of prioritized disk requests
US6157963A (en) * 1998-03-24 2000-12-05 Lsi Logic Corp. System controller with plurality of memory queues for prioritized scheduling of I/O requests from priority assigned clients
US6862623B1 (en) * 2000-04-14 2005-03-01 Microsoft Corporation Capacity planning for server resources
US6738386B1 (en) * 2000-05-11 2004-05-18 Agere Systems Inc. Controlled latency with dynamically limited queue depth based on history and latency estimation
US6970936B2 (en) * 2000-12-19 2005-11-29 International Business Machines Corporation Data processing system and method of communication that employ a request-and-forget protocol
DE60213016D1 (de) * 2001-03-09 2006-08-24 Vitesse Semiconductor Corp Zeitabhängige Planung für Datenpakete und Verfahren zur Sortierung
US7292580B2 (en) * 2002-06-10 2007-11-06 Lsi Corporation Method and system for guaranteeing quality of service in a multi-plane cell switch
US7783787B1 (en) * 2002-06-13 2010-08-24 Netapp, Inc. System and method for reprioritizing high-latency input/output operations
US7093256B2 (en) * 2002-12-13 2006-08-15 Equator Technologies, Inc. Method and apparatus for scheduling real-time and non-real-time access to a shared resource

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0855071A (ja) * 1994-08-08 1996-02-27 Matsushita Electric Ind Co Ltd サーバ装置
US6170042B1 (en) * 1998-02-24 2001-01-02 Seagate Technology Llc Disc drive data storage system and method for dynamically scheduling queued commands
US6434631B1 (en) * 1999-10-15 2002-08-13 Lucent Technologies Inc. Method and system for providing computer storage access with quality of service guarantees
JP2002132698A (ja) * 2000-10-27 2002-05-10 Matsushita Electric Ind Co Ltd データ転送制御方法およびその装置
JP2003015915A (ja) * 2001-07-05 2003-01-17 Hitachi Ltd 記憶装置の容量自動拡張方法

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009009572A (ja) * 2007-06-26 2009-01-15 Seagate Technology Llc ホスト適応シーク技術環境
JP2009009573A (ja) * 2007-06-26 2009-01-15 Seagate Technology Llc コマンド・キュー・ローディング
KR101126215B1 (ko) * 2009-05-13 2012-03-26 후지쯔 가부시끼가이샤 컴퓨터 판독 가능한 기록 매체, 잡 스케줄링 장치 및 잡 스케줄링 방법
US8429664B2 (en) 2009-05-13 2013-04-23 Fujitsu Limited Job scheduling apparatus and job scheduling method
WO2012063434A1 (ja) 2010-11-08 2012-05-18 日本電気株式会社 情報処理装置
US9230314B2 (en) 2010-11-08 2016-01-05 Nec Corporation Information processing device having a function to control QoS of media analysis system
US9811283B2 (en) 2015-03-26 2017-11-07 Fujitsu Limited System, control device, and method
JP2019030260A (ja) * 2017-08-08 2019-02-28 学校法人慶應義塾 細胞生産方法及び細胞生産装置
JP2021506026A (ja) * 2017-12-12 2021-02-18 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッドAdvanced Micro Devices Incorporated メモリ帯域幅利用を抑制するメモリ要求スロットル
US11675703B2 (en) 2017-12-12 2023-06-13 Advanced Micro Devices, Inc. Memory request throttling to constrain memory bandwidth utilization
JP7584298B2 (ja) 2017-12-12 2024-11-15 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド メモリ帯域幅利用を抑制するメモリ要求スロットル

Also Published As

Publication number Publication date
WO2004088547A3 (en) 2005-01-13
JP5041805B2 (ja) 2012-10-03
WO2004088547A2 (en) 2004-10-14
US20040194095A1 (en) 2004-09-30
US7917903B2 (en) 2011-03-29

Similar Documents

Publication Publication Date Title
JP5041805B2 (ja) データストレージシステムのサービス品質コントローラ及びサービス品質方法
US7643983B2 (en) Data storage system emulation
CN112955870B (zh) 承诺感知调度器
US6711607B1 (en) Dynamic scheduling of task streams in a multiple-resource system to ensure task stream quality of service
CA2942665C (en) Coordinated admission control for network-accessible block storage
JP5484471B2 (ja) 記憶側記憶要求管理
US9442763B2 (en) Resource allocation method and resource management platform
US9104482B2 (en) Differentiated storage QoS
US20050055694A1 (en) Dynamic load balancing resource allocation
US20080103861A1 (en) Fair share scheduling for mixed clusters with multiple resources
US20090282406A1 (en) Method and System for Transaction Resource Control
JP2004213624A (ja) 動的なスレッド・プール調整技法
US20120221730A1 (en) Resource control system and resource control method
US10394606B2 (en) Dynamic weight accumulation for fair allocation of resources in a scheduler hierarchy
JP2004213625A (ja) プログラムに基づいた応答時間ベースの作業負荷分配技法
US10037162B2 (en) Storage management device, storage management method, and computer-readable recording medium
US10250673B1 (en) Storage workload management using redirected messages
US20110119407A1 (en) Method and system for implementing workload management by monitoring disk utilizations
CN104298550A (zh) 一种面向Hadoop的动态调度方法
CN107430526B (zh) 用于调度数据处理的方法和节点
JPH10240548A (ja) タスクスケジューリング装置及び方法
US20200034203A1 (en) Distributed job framework and task queue
JP7688260B2 (ja) 情報処理装置およびジョブスケジューリング方法
US12468995B2 (en) Maintenance background task regulation using feedback from instrumented waiting points
US20220179687A1 (en) Information processing apparatus and job scheduling method

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061107

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061107

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090825

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091120

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100107

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100428

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20100513

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20100806

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120611

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120710

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

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees
S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371