JP2013514559A - ストレージシステム - Google Patents
ストレージシステム Download PDFInfo
- Publication number
- JP2013514559A JP2013514559A JP2012528163A JP2012528163A JP2013514559A JP 2013514559 A JP2013514559 A JP 2013514559A JP 2012528163 A JP2012528163 A JP 2012528163A JP 2012528163 A JP2012528163 A JP 2012528163A JP 2013514559 A JP2013514559 A JP 2013514559A
- Authority
- JP
- Japan
- Prior art keywords
- processing
- processing unit
- target value
- storage system
- unit
- 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
Links
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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0653—Monitoring storage devices or systems
-
- 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/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0605—Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
-
- 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
-
- 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/0629—Configuration or reconfiguration of storage systems
-
- 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/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- 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/0629—Configuration or reconfiguration of storage systems
- G06F3/0632—Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage systems
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2211/00—Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
- G06F2211/10—Indexing scheme relating to G06F11/10
- G06F2211/1002—Indexing scheme relating to G06F11/1076
- G06F2211/1088—Scrubbing in RAID systems with parity
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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Multi Processors (AREA)
Abstract
【選択図】図18
Description
所定のタスクをそれぞれ実行する各処理部が実装されたストレージシステム全体の処理量に対する、前記各処理部毎の処理量の割合をそれぞれ表す各進捗状況を検出する進捗状況検出部と、
検出した前記各処理部の前記進捗状況と、前記各処理部毎に予め設定された前記進捗状況の理想値と、に基づいて、前記各処理部の処理状態の目標値を設定する目標値設定部と、
前記各処理部の処理状態が設定した前記目標値となるよう当該各処理部の処理状態を制御する処理動作制御部と、
を備えた、
という構成をとる。
所定のタスクをそれぞれ実行する各処理部が実装された情報処理装置に、
前記各処理部による前記情報処理装置全体の処理量に対する、前記各処理部毎の処理量の割合をそれぞれ表す各進捗状況を検出する進捗状況検出部と、
検出した前記各処理部の前記進捗状況と、前記各処理部毎に予め設定された前記進捗状況の理想値と、に基づいて、前記各処理部の処理状態の目標値を設定する目標値設定部と、
前記各処理部の処理状態が設定した前記目標値となるよう当該各処理部の処理状態を制御する処理動作制御部と、
を実現させるためのプログラムである。
所定のタスクをそれぞれ実行する各処理部が実装されたストレージシステム全体の処理量に対する、前記各処理部毎の処理量の割合をそれぞれ表す各進捗状況を検出し、
検出した前記各処理部の前記進捗状況と、前記各処理部毎に予め設定された前記進捗状況の理想値と、に基づいて、前記各処理部の処理状態の目標値を設定し、
前記各処理部の処理状態が設定した前記目標値となるよう当該各処理部の処理状態を制御する、
という構成をとる。
本願では、システム内における高レベルなリソースの利用を確かなものにする一方、異種のロード間で動的にリソースを分配するメカニズムについて述べる。ここで述べるアプローチは、ロードの抽象的概念に基づくものであり、利用するリソースや特定のタイプのロードの処理を仮定することはない。特に、ロードは異なるタイプの複数のオブジェクトによって処理され、各々が同じリソースを得るために競い合うことがある。
ここでは、リソース管理メカニズムの構成と、異なるタイプのロードを制御して、進捗ポリシに定める比率でそれらのスループットを維持するコアアルゴリズムについて説明する。
リソース管理メカニズムは、以下の部分によって構成される(図2参照)。
「1.許可制御メカニズム(ACM)」:あらゆるロードタイプと関連付けられたソフトウェアユニットで、「制限値」を通じてソースの処理速度を制御する。「制限値」が大きいとは、上記で説明したように、対応するロードソースがより高速で動作できることを意味する。ロードに関して、ACMは、ソースのスループットを含む「情報」と、ソース内で実行を待っている「タスクの有無の指標」と、を集める。ACMの情報については後に詳細に説明する。
ロードソースの処理速度を上げるために、アルゴリズムはそのACMの「制限値」を引き上げる。しかし、タスクを処理するサーバのリソースは限られているため、ある一定のレベルを超えてロードタイプのパフォーマンスを高めることはできない。
各ACMからアルゴリズムへ送信される情報は、以下のフィールドで構成される。
throughput = limit
n = limit
アルゴリズムは、ACMから収集した情報を用いて、各ロードソース用の「制限値(limit)」の引き上げ、引き下げ、または現状維持をすべきかを推論する。この決定に基づき、コントローラが各「制限値」の新たな値を計算する。
ステップ10で、アルゴリズムは、待ち作業のないロードの割り当てを、待ち作業のあるロードに分配する。待ち作業のないロードにはそれらが利用する割り当てのみが残され、残りの部分は待ち作業のあるロードに分配される。このような割り当ての再計算は、リソースを最大限に利用し、進捗の分配を修正するために行われる。これについては、上述した例2で記載しており、またその詳細を以下に説明する。
targetShares[L] = currentShares[L]
上記以外の場合(currentShares ≧ policyShares、または、hasWaitingWork=真)
targetShares[L] = policyShares[L]
policyShareとcurrentShare ≧ policyShareとの2つの場合を別々に検討する)。これは以下の数2式を意味する。
ステップ12〜15で、アルゴリズムはいくつかのロードの「limit」の引き上げを試みる。アルゴリズムは、いくつかのロードの「limit」を引き上げることによって何らかの効果を得られ、その引き上げがポリシの観点から適切である場合にのみ引き上げを試みるため、(「limit」の引き上げに関して)欲張りだと考えられる。「limit」の引き上げのためには、ロードは次のすべてを満たす必要がある。(1)リソースが必要である(hasWaitingWork)、(2)より多くのリソースを受ける資格がある(currentShare ≦ targetShare)、(3)「limit」に達している(limitAchievedが真)。
(補助定理2)システム内に作業がある場合(少なくとも1つのロードタイプに待ち作業がある場合)、システムが既に飽和状態にあるか、または、あるロードタイプの「limit」が引き上げられる。
hasWaitingWork[l]=真
limitAchieved[l]=真
currentShares[l] ≦ targetShares[l]
したがって、アルゴリズムはlの「limit」を引き上げる。
いかなるソースについても制限が引き上げられなかったがタスクを作成できるロードがある場合は、システムが飽和状態にあることを意味する(補助定理2参照)。この場合、リソースの消費が過剰なロードについては、ステップ17〜20で引き下げられる。開放されたリソースは他のロードによって取得される。
・他のロードの「limit」を引き下げる−ロードタイプ2が既に所定の「limit」を満たすことができない場合はこの決定がなされる。ロードタイプ3がtargetShareにより与えられる速度よりも速く作業を行っているため、アルゴリズムはロードタイプ3の「limit」を引き下げる。
ステップ22と23では、「decision(決定)」、「currentShare」、「targetShare」、および「old limit(旧制限値)」をコントローラへ送信し、コントローラが「limit」の正確な値を計算する(以下参照)。
上記で説明したアルゴリズムは、各ソースに関して、制限の引き上げ、引き下げ、また現状維持を決定する。この決定は、コントローラによって特定の「limit」の値に変換される。このようなコントローラは様々な方法で実装が可能である。本願では、図5に示すアルゴリズム2に示す方法を用いる。
アルゴリズムは以下のプロパティを含む。
1.十分な作業がある場合は、システムを完全にロードされた状態に維持する。これは補助定理2から直接得られる結論である。システムが飽和状態にあるか、またはいくつかのロードタイプの「limit」が引き上げられる。
2.システムが飽和状態にある場合は、全体的な進捗の分配をtargetShareに向けて修正する。currentShare < targetShareのロードタイプについて検討する。各ステップにおいて、そのロードタイプの「limit」が引き上げられるか、または他のロードタイプの「limit」が引き下げられる。いずれの場合でもリソースが増える。類推により、currentShare > targetShareであるロードタイプのリソースが減少する。
3.システムが飽和状態でない場合は、すべてのロードがフルスピードで処理される。
上記では、望ましい進捗分配とリソースの最大活用を実現するための一般的な解決策を説明してきた。ここでは、リソース管理メカニズムの反応時間を改善するコントローラの更なるメカニズムについて説明する。
「limit」の引き下げが直ちに実行されない以下の例について検討する。
(例8)ソースの「limit」がスループットの上限であると定義する。以下のシーケンスについて検討する。
2.ソースがタスクを終了したため、作業がなくなった。制限値は50MB/秒のままである。
3.しばらくの後、ソースは作業が開始したが、もはやシステム内で唯一のロードではない。その結果、待ち作業がある。制限値は50MB/秒のままだが、作業のスループットは25MB/秒である(高速で作業を行うためのリソースがない)。
コントローラは、「limit」を常にソースの作業の現在速度近くに維持するよう目指すことができる。「limit」がスループットの制限値の場合(例3参照)、現在のスループットよりもあまり大きくならないよう「limit」の修正を試みる。例えば次の通り。
「limit」を値Lに引き下げたいと仮定する(例8では、L=45MB/秒)。Lが、ソースの処理の現在速度よりも大きい場合、「limit」を現在速度の値まで引き下げなければならない(例8では25MB/秒)。「limit」がスループットの制限値の場合は、次の通りである。
「limit」を小さな値(例えば1)から大きな値(例えば10000)に引き上げることを検討する。アルゴリズム2では、引き上げステップは「oldLimit」に比例することがわかる。したがって、このような変更には多大なサイクル数が必要であるため、反応時間に関して満足できるものではない。我々は、制限値が低い場合の収束速度を改善する最小制限(minLimit)を定めることを決定した。
HYDRAstor(非特許文献3)は、企業向け市場を対象とした拡張性のある高性能分散型コンテンツアドレスストレージシステムである。このシステムは、分散型ハッシュテーブルの周囲に構築されたストレージノードのグリッドであるバックエンドと、フロントエンドとで構成される。各ストレージノードは読出し/書込み要求の処理を担当する。このシステムは重複排除に対応しているため、書込み要求の中には、データブロックのディスク上への保存によるオーバーヘッドをもたらさないものもある。ユーザによる書込みおよび読出し要求とは別に、バックエンドでは、障害後のデータ再構築、デフラグ、早期のエラー検出のためのデータスクラビング、ノード間でのデータのバランス調整、またはガーベジコレクションとスペース再利用、といったバックグラウンドのタスクを実行する。バックグラウンドのタスクには各々差別化された特徴があり、また重要である。
HYDRAstorでの書込みと読出しは、様々なリソース(ディスク、CPU、メモリ、ネットワーク)を用いて、いくつかの構成要素によって処理される。書込みでは、データストリームをブロックに分割し、重複を排除し、ブロックを圧縮し、圧縮したブロックを冗長符号化してフラグメント群を作成し、そのフラグメントを適切なストレージノードに保存する必要がある。重複排除機能により、既に保存されているブロックについては、圧縮、冗長符号化、保存を行う必要がない。重複排除をより機能させるために様々なサイズのブロックがあるため、1つの要求の処理に関するオーバーヘッドは常に同じではなく、予測するのは難しい。このシステムは、いくつかのレベルのキャッシュを用いる。これも、書込みと読出しの要求の負荷の予測を困難にする原因である。また1つの要求に対する反応時間が所定値を下回ることが要求されるため、書込みと読出しの要求はこのシステム固有のものである。
HYDRAstorでは、ユーザによる書込みと読出しに加えて、一連のメンテナンスタスクがある。これらはユーザに対して透過的であり、バックグラウンドで実行され、パリティデータの再構築、スペース再利用(削除のマークが付けられたブロックの除去)、デフラグ等のタスクが含まれる。バックグラウンドタスクでのリソース消費は多様である。
HYDRAstorのアーキテクチャと重複排除機能により、データの削除は、かなりの計算能力を必要とする、別個の非常に複雑なプロセスとなっている。このシステムでは、他のバックグラウンドタスクやユーザの読出し/書込みと平行して削除を実行することができる。
HYDRAstorのポリシは、システムの状態の変化に伴って変わる。例えば、データの復元レベルが著しく損なわれる障害発生後は、重要な再構築ポリシが有効となり、バックグラウンドタスクに大きな割り当てが与えられる。システムの状態に依存する進捗割り当てを表す様々なポリシを図6に示す。リソース管理アルゴリズムは、常に現状に対応するポリシを使用する。
HYDRAstorは分散型のシステムである。各ノードは、ローカルで動作するリソース管理メカニズムのインスタンスを含む。しかし、タスクの中には複数のノードのリソースを使用するものもある。そのようなタスクは同期する必要があるため、関与するすべてのノード上で同じ速度で実行される。各々のノードは計算能力も利用できるリソースも異なることがあるため、複数のノードに関わるタスクは、あるノード上で他のノードでの計算を待たなければならない場合がある。その結果、かかるタスクはポリシで保証された速度よりも遅い速度で実行される場合がある。しかし、すべてのノードが同じポリシを持つ限り、すべてのタスクは、少なくとも1つのノード上でポリシにしたがって進捗割り当てを与えられる。
ここでは、HYDRAstorシステムを使用して行った2つの実験の結果を説明する。この実験により、リソース管理メカニズムに関して次の2つの主な特徴が判明した。
(1)このアルゴリズムは常にシステム能力を完全に利用する。(2)リソースが飽和状態の場合、進捗分配はポリシが定めるものに近くなる。
すべての実験でHYDRAstorの4サーバ構成を使用した。各サーバは、2つのクアドコア、64ビット、3.0GHzのIntel Xeonプロセッサ、24GBのメモリ、12のRPM Hitachi HUA72101AC3A SATAディスクを含み、すべてのサーバでLinuxカーネル2.6.18を使用した。各サーバは2つの論理的ストレージノードを含む。
最初の実験は、書込みタスクがシステム内のすべてのリソースを消費しない場合、バックグラウンドタスクを開始してリソースを完全に利用することを示している。
2つ目の実験は、現在のポリシを変更するものである。システムに書込みを行う外部のアプリケーションは、実験期間全体に渡ってフルスピードで動作するよう構成されていた。最初の1時間は、システムはデフラグのタスクを実行したので、図6の「データデフラグ」ポリシを使用した。次に、60分の時点で、1つのストレージノードで障害が発生してシステムがポリシを「通常の再構築」(Normal reconstruction)に変更してデータの再構築を始めるシミュレーションを行った。その25分後(85分の時点)、データの削除を開始した。これはポリシの変更を伴わないが、システム内に新たなロードタイプが出現した。
1.第1の期間(0〜60分):書込みに100%。
2.第2の期間(60〜85分):書込みに71.5%(50%+5/7×30%)、バックグラウンドタスクに28.5%(20%+2/7×30%)。つまり、削除のシェアの30%が5:2の比率で書込みとバックグラウンドのタスクに分配される。
3.第3の期間(85〜140分):書込みに50%、バックグラウンドタスクに20%、データ削除に30%。
制御理論の応用に関する新たなトレンドは、モデルベースの解決策の利用を促すものである。しかし、本願のシステムでは、タスクは、リソース消費だけでなく、レイテンシ制限、限られたメモリ、または分散型の実行といった他の要件についても、差別化された性質を持つ。本願のシステムの複雑なアーキテクチャと、それによって正確なモデリングが不可能であることを考え、本願では適応高レベルリソース分配の導入を決定した。
本願では、異なるロードタイプのタスク間でリソースを分配する新しいメカニズムを提示した。この新たなアプローチは、タスクの抽象的概念に基づくものであり、それらの特徴に関する推測を回避している。したがって、システムのアーキテクチャが複雑なためモデル定義の標準的な方法では失敗する、分散型システムに適する。このメカニズムは、商用システムであるHYDRAstorに実装され、制御されたシステムが高性能を達成することに焦点が当てられている。理論上の検討においても、また実験の評価においても、このアルゴリズムはシステムの飽和状態を維持すること、つまりリソースを最大限に利用することが確認されている。実験によれば、制御されたシステムは安定性があり(スループットにもオーバーシュートにも深刻な変動がない)、進捗の分配はポリシが定める所望のものに収束する。また、反応時間も条件を満たしている。実験では、新たな進捗分配およびワークロードの変更に適応するまでの時間が合理的であることがわかった。結論として、適応高レベルリソース管理は高性能な同時計算サーバに適している。
本発明の第2の実施形態を、図11ないし図17を参照して説明する。図11は、システム全体の構成を示すブロック図である。図12は、ストレージシステムの概略を示すブロック図であり、図13は、構成を示す機能ブロック図である。図14ないし図17は、ストレージシステムの動作を説明するための説明図である。
上記実施形態の一部又は全部は、以下の付記のようにも記載されうる。以下、本発明におけるストレージシステム(図18参照)、プログラムを記憶した記憶媒体、情報処理方法の構成の概略を説明する。但し、本発明は、以下の構成に限定されない。
所定のタスクをそれぞれ実行する各処理部110が実装されたストレージシステム全体の処理量に対する、前記各処理部毎の処理量の割合をそれぞれ表す各進捗状況を検出する進捗状況検出部121と、
検出した前記各処理部110の前記進捗状況と、前記各処理部毎に予め設定された前記進捗状況の理想値と、に基づいて、前記各処理部110の処理状態の目標値を設定する目標値設定部122と、
前記各処理部110の処理状態が設定した前記目標値となるよう当該各処理部110の処理状態を制御する処理動作制御部123と、
を備えたストレージシステム100。
付記1に記載のストレージシステムであって、
前記進捗状況検出部は、前記各処理部に処理待ちタスクが存在するが否かを検出し、
前記目標値設定部は、検出した前記進捗状況が前記理想値に満たない前記処理部に前記処理待ちタスクが存在しない場合に、前記処理待ちタスクが存在する他の前記処理部の前記目標値を引き上げるよう設定する、
ストレージシステム。
付記2に記載のストレージシステムであって、
ストレージシステム全体の処理量に対する前記処理部による処理量の割合を、前記目標値とし、
前記目標値設定部は、検出した前記進捗状況が前記理想値を満たさず前記処理待ちタスクが存在しない前記処理部の前記進捗状況を、その処理部の前記目標値として設定する、
ストレージシステム。
付記2に記載のストレージシステムであって、
ストレージシステム全体の処理量に対する前記処理部による処理量の割合を、前記目標値とし、
前記目標値設定部は、検出した前記進捗状況が前記目標値を超えている前記他の処理部の前記目標値を引き上げるよう設定する、
ストレージシステム。
付記2に記載のストレージシステムであって、
ストレージシステム全体の処理量に対する前記処理部による処理量の割合を、前記目標値とし、
前記目標値設定部は、前記目標値を引き上げる前記処理部において検出した前記進捗状況と、当該処理部の前記目標値と、の差の絶対値に基づく値だけ、前記目標値を引き上げるよう設定する、
ストレージシステム。
付記2に記載のストレージシステムであって、
ストレージシステム全体の処理量に対する前記処理部による処理量の割合を、前記目標値とし、
前記目標値設定部は、検出した前記進捗状況が前記目標値に満たない前記処理部に前記処理待ちタスクが存在している場合に、他の前記処理部の前記目標値を引き下げるよう設定する、
ストレージシステム。
付記6に記載のストレージシステムであって、
前記目標値設定部は、前記目標値を引き下げる前記処理部において検出した前記進捗状況と、当該処理部の前記目標値と、の差の絶対値に基づく値だけ、前記目標値を引き下げるよう設定する、
ストレージシステム。
所定のタスクをそれぞれ実行する各処理部が実装された情報処理装置に、
前記各処理部による前記情報処理装置全体の処理量に対する、前記各処理部毎の処理量の割合をそれぞれ表す各進捗状況を検出する進捗状況検出部と、
検出した前記各処理部の前記進捗状況と、前記各処理部毎に予め設定された前記進捗状況の理想値と、に基づいて、前記各処理部の処理状態の目標値を設定する目標値設定部と、
前記各処理部の処理状態が設定した前記目標値となるよう当該各処理部の処理状態を制御する処理動作制御部と、
を実現させるためのプログラム。
付記8に記載のプログラムであって、
前記進捗状況検出部は、前記各処理部に処理待ちタスクが存在するが否かを検出し、
前記目標値設定部は、検出した前記進捗状況が前記理想値に満たない前記処理部に前記処理待ちタスクが存在しない場合に、前記処理待ちタスクが存在する他の前記処理部の前記目標値を引き上げるよう設定する、
プログラム。
所定のタスクをそれぞれ実行する各処理部が実装されたストレージシステム全体の処理量に対する、前記各処理部毎の処理量の割合をそれぞれ表す各進捗状況を検出し、
検出した前記各処理部の前記進捗状況と、前記各処理部毎に予め設定された前記進捗状況の理想値と、に基づいて、前記各処理部の処理状態の目標値を設定し、
前記各処理部の処理状態が設定した前記目標値となるよう当該各処理部の処理状態を制御する、
情報処理方法。
付記10に記載の情報処理方法であって、
前記進捗状況の検出時に、前記各処理部に処理待ちタスクが存在するが否かを検出し、
検出した前記進捗状況が前記理想値に満たない前記処理部に前記処理待ちタスクが存在しない場合に、前記処理待ちタスクが存在する他の前記処理部の前記目標値を引き上げるよう設定する、
情報処理方法。
Claims (11)
- 所定のタスクをそれぞれ実行する各処理部が実装されたストレージシステム全体の処理量に対する、前記各処理部毎の処理量の割合をそれぞれ表す各進捗状況を検出する進捗状況検出部と、
検出した前記各処理部の前記進捗状況と、前記各処理部毎に予め設定された前記進捗状況の理想値と、に基づいて、前記各処理部の処理状態の目標値を設定する目標値設定部と、
前記各処理部の処理状態が設定した前記目標値となるよう当該各処理部の処理状態を制御する処理動作制御部と、
を備えたストレージシステム。 - 請求項1に記載のストレージシステムであって、
前記進捗状況検出部は、前記各処理部に処理待ちタスクが存在するが否かを検出し、
前記目標値設定部は、検出した前記進捗状況が前記理想値に満たない前記処理部に前記処理待ちタスクが存在しない場合に、前記処理待ちタスクが存在する他の前記処理部の前記目標値を引き上げるよう設定する、
ストレージシステム。 - 請求項2に記載のストレージシステムであって、
ストレージシステム全体の処理量に対する前記処理部による処理量の割合を、前記目標値とし、
前記目標値設定部は、検出した前記進捗状況が前記理想値を満たさず前記処理待ちタスクが存在しない前記処理部の前記進捗状況を、その処理部の前記目標値として設定する、
ストレージシステム。 - 請求項2に記載のストレージシステムであって、
ストレージシステム全体の処理量に対する前記処理部による処理量の割合を、前記目標値とし、
前記目標値設定部は、検出した前記進捗状況が前記目標値を超えている前記他の処理部の前記目標値を引き上げるよう設定する、
ストレージシステム。 - 請求項2に記載のストレージシステムであって、
ストレージシステム全体の処理量に対する前記処理部による処理量の割合を、前記目標値とし、
前記目標値設定部は、前記目標値を引き上げる前記処理部において検出した前記進捗状況と、当該処理部の前記目標値と、の差の絶対値に基づく値だけ、前記目標値を引き上げるよう設定する、
ストレージシステム。 - 請求項2に記載のストレージシステムであって、
ストレージシステム全体の処理量に対する前記処理部による処理量の割合を、前記目標値とし、
前記目標値設定部は、検出した前記進捗状況が前記目標値に満たない前記処理部に前記処理待ちタスクが存在している場合に、他の前記処理部の前記目標値を引き下げるよう設定する、
ストレージシステム。 - 請求項6に記載のストレージシステムであって、
前記目標値設定部は、前記目標値を引き下げる前記処理部において検出した前記進捗状況と、当該処理部の前記目標値と、の差の絶対値に基づく値だけ、前記目標値を引き下げるよう設定する、
ストレージシステム。 - 所定のタスクをそれぞれ実行する各処理部が実装された情報処理装置に、
前記各処理部による前記情報処理装置全体の処理量に対する、前記各処理部毎の処理量の割合をそれぞれ表す各進捗状況を検出する進捗状況検出部と、
検出した前記各処理部の前記進捗状況と、前記各処理部毎に予め設定された前記進捗状況の理想値と、に基づいて、前記各処理部の処理状態の目標値を設定する目標値設定部と、
前記各処理部の処理状態が設定した前記目標値となるよう当該各処理部の処理状態を制御する処理動作制御部と、
を実現させるためのプログラム。 - 請求項8に記載のプログラムであって、
前記進捗状況検出部は、前記各処理部に処理待ちタスクが存在するが否かを検出し、
前記目標値設定部は、検出した前記進捗状況が前記理想値に満たない前記処理部に前記処理待ちタスクが存在しない場合に、前記処理待ちタスクが存在する他の前記処理部の前記目標値を引き上げるよう設定する、
プログラム。 - 所定のタスクをそれぞれ実行する各処理部が実装されたストレージシステム全体の処理量に対する、前記各処理部毎の処理量の割合をそれぞれ表す各進捗状況を検出し、
検出した前記各処理部の前記進捗状況と、前記各処理部毎に予め設定された前記進捗状況の理想値と、に基づいて、前記各処理部の処理状態の目標値を設定し、
前記各処理部の処理状態が設定した前記目標値となるよう当該各処理部の処理状態を制御する、
情報処理方法。 - 請求項10に記載の情報処理方法であって、
前記進捗状況の検出時に、前記各処理部に処理待ちタスクが存在するが否かを検出し、
検出した前記進捗状況が前記理想値に満たない前記処理部に前記処理待ちタスクが存在しない場合に、前記処理待ちタスクが存在する他の前記処理部の前記目標値を引き上げるよう設定する、
情報処理方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US37873910P | 2010-08-31 | 2010-08-31 | |
US61/378,739 | 2010-08-31 | ||
PCT/JP2011/004719 WO2012029259A1 (en) | 2010-08-31 | 2011-08-25 | Storage system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013514559A true JP2013514559A (ja) | 2013-04-25 |
JP5500256B2 JP5500256B2 (ja) | 2014-05-21 |
Family
ID=45772386
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012528163A Expired - Fee Related JP5500256B2 (ja) | 2010-08-31 | 2011-08-25 | ストレージシステム |
Country Status (6)
Country | Link |
---|---|
US (1) | US9182923B2 (ja) |
EP (1) | EP2612231A4 (ja) |
JP (1) | JP5500256B2 (ja) |
CN (1) | CN103098014B (ja) |
CA (1) | CA2808367C (ja) |
WO (1) | WO2012029259A1 (ja) |
Families Citing this family (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5776436B2 (ja) * | 2011-08-22 | 2015-09-09 | 富士通株式会社 | ストレージシステム、ストレージ制御装置およびストレージ制御方法 |
US9176812B1 (en) | 2012-05-22 | 2015-11-03 | Pmc-Sierra, Inc. | Systems and methods for storing data in page stripes of a flash drive |
US9183085B1 (en) | 2012-05-22 | 2015-11-10 | Pmc-Sierra, Inc. | Systems and methods for adaptively selecting from among a plurality of error correction coding schemes in a flash drive for robustness and low latency |
US9372726B2 (en) | 2013-01-09 | 2016-06-21 | The Research Foundation For The State University Of New York | Gang migration of virtual machines using cluster-wide deduplication |
US9208018B1 (en) * | 2013-03-15 | 2015-12-08 | Pmc-Sierra, Inc. | Systems and methods for reclaiming memory for solid-state memory |
US8978037B1 (en) * | 2013-09-05 | 2015-03-10 | zIT Consulting GmbH | System and method for managing workload performance on billed computer systems |
US10459892B2 (en) | 2014-04-23 | 2019-10-29 | Qumulo, Inc. | Filesystem hierarchical aggregate metrics |
US10007556B2 (en) | 2015-12-07 | 2018-06-26 | International Business Machines Corporation | Reducing utilization speed of disk storage based on rate of resource provisioning |
US10338932B2 (en) * | 2016-11-15 | 2019-07-02 | Google Llc | Bootstrapping profile-guided compilation and verification |
US10095729B2 (en) | 2016-12-09 | 2018-10-09 | Qumulo, Inc. | Managing storage quotas in a shared storage system |
US10747729B2 (en) | 2017-09-01 | 2020-08-18 | Microsoft Technology Licensing, Llc | Device specific chunked hash size tuning |
US11360936B2 (en) | 2018-06-08 | 2022-06-14 | Qumulo, Inc. | Managing per object snapshot coverage in filesystems |
US10534758B1 (en) | 2018-12-20 | 2020-01-14 | Qumulo, Inc. | File system cache tiers |
US10860372B1 (en) | 2020-01-24 | 2020-12-08 | Qumulo, Inc. | Managing throughput fairness and quality of service in file systems |
US10795796B1 (en) | 2020-01-24 | 2020-10-06 | Qumulo, Inc. | Predictive performance analysis for file systems |
US11151001B2 (en) | 2020-01-28 | 2021-10-19 | Qumulo, Inc. | Recovery checkpoints for distributed file systems |
US11314547B1 (en) * | 2020-03-27 | 2022-04-26 | Amazon Technologies, Inc. | Background task scheduling based on shared background bandwidth |
US11775481B2 (en) | 2020-09-30 | 2023-10-03 | Qumulo, Inc. | User interfaces for managing distributed file systems |
US11157458B1 (en) | 2021-01-28 | 2021-10-26 | Qumulo, Inc. | Replicating files in distributed file systems using object-based data storage |
US11461241B2 (en) | 2021-03-03 | 2022-10-04 | Qumulo, Inc. | Storage tier management for file systems |
US11132126B1 (en) | 2021-03-16 | 2021-09-28 | Qumulo, Inc. | Backup services for distributed file systems in cloud computing environments |
US11567660B2 (en) | 2021-03-16 | 2023-01-31 | Qumulo, Inc. | Managing cloud storage for distributed file systems |
US11669255B2 (en) | 2021-06-30 | 2023-06-06 | Qumulo, Inc. | Distributed resource caching by reallocation of storage caching using tokens and agents with non-depleted cache allocations |
US11294604B1 (en) | 2021-10-22 | 2022-04-05 | Qumulo, Inc. | Serverless disk drives based on cloud storage |
US11354273B1 (en) | 2021-11-18 | 2022-06-07 | Qumulo, Inc. | Managing usable storage space in distributed file systems |
US11599508B1 (en) | 2022-01-31 | 2023-03-07 | Qumulo, Inc. | Integrating distributed file systems with object stores |
US11722150B1 (en) | 2022-09-28 | 2023-08-08 | Qumulo, Inc. | Error resistant write-ahead log |
US11729269B1 (en) | 2022-10-26 | 2023-08-15 | Qumulo, Inc. | Bandwidth management in distributed file systems |
US11921677B1 (en) | 2023-11-07 | 2024-03-05 | Qumulo, Inc. | Sharing namespaces across file system clusters |
US11934660B1 (en) | 2023-11-07 | 2024-03-19 | Qumulo, Inc. | Tiered data storage with ephemeral and persistent tiers |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005275829A (ja) * | 2004-03-25 | 2005-10-06 | Hitachi Ltd | ストレージシステム |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09160889A (ja) * | 1995-12-11 | 1997-06-20 | Hitachi 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 |
US6928459B1 (en) * | 2000-07-18 | 2005-08-09 | International Business Machines Corporation | Plurality of file systems using weighted allocation to allocate space on one or more storage devices |
JP4391265B2 (ja) * | 2004-02-26 | 2009-12-24 | 株式会社日立製作所 | ストレージサブシステムおよび性能チューニング方法 |
US7694305B2 (en) * | 2004-10-21 | 2010-04-06 | Hewlett-Packard Development Company, L.P. | Method of controlling access to computing resource within shared computing environment |
JP4634157B2 (ja) * | 2005-01-17 | 2011-02-16 | 株式会社日立製作所 | ストレージシステム |
JP2007249468A (ja) * | 2006-03-15 | 2007-09-27 | Hitachi Ltd | Cpu割当方法、cpu割当プログラム、cpu割当装置、および、データベース管理システム |
JP2009087175A (ja) * | 2007-10-02 | 2009-04-23 | Hitachi Ltd | ストレージ装置、処理制御装置、及び記憶システム |
US8122269B2 (en) | 2009-01-07 | 2012-02-21 | International Business Machines Corporation | Regulating power consumption in a multi-core processor by dynamically distributing power and processing requests by a managing core to a configuration of processing cores |
US7890675B2 (en) * | 2009-03-05 | 2011-02-15 | International Business Machines Corporation | Apparatus, system, and method for real time job-specific buffer allocation |
JP5411587B2 (ja) * | 2009-06-09 | 2014-02-12 | トヨタ自動車株式会社 | マルチスレッド実行装置、マルチスレッド実行方法 |
US8381004B2 (en) * | 2010-05-26 | 2013-02-19 | International Business Machines Corporation | Optimizing energy consumption and application performance in a multi-core multi-threaded processor system |
-
2011
- 2011-08-25 CN CN201180041775.8A patent/CN103098014B/zh not_active Expired - Fee Related
- 2011-08-25 EP EP11821283.6A patent/EP2612231A4/en not_active Withdrawn
- 2011-08-25 WO PCT/JP2011/004719 patent/WO2012029259A1/en active Application Filing
- 2011-08-25 US US13/639,344 patent/US9182923B2/en not_active Expired - Fee Related
- 2011-08-25 JP JP2012528163A patent/JP5500256B2/ja not_active Expired - Fee Related
- 2011-08-25 CA CA2808367A patent/CA2808367C/en not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005275829A (ja) * | 2004-03-25 | 2005-10-06 | Hitachi Ltd | ストレージシステム |
Also Published As
Publication number | Publication date |
---|---|
CN103098014B (zh) | 2015-08-26 |
CA2808367A1 (en) | 2012-03-08 |
JP5500256B2 (ja) | 2014-05-21 |
US20130031563A1 (en) | 2013-01-31 |
EP2612231A4 (en) | 2014-04-30 |
US9182923B2 (en) | 2015-11-10 |
CA2808367C (en) | 2016-08-30 |
EP2612231A1 (en) | 2013-07-10 |
WO2012029259A1 (en) | 2012-03-08 |
CN103098014A (zh) | 2013-05-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5500256B2 (ja) | ストレージシステム | |
US10387202B2 (en) | Quality of service implementation in a networked storage system with hierarchical schedulers | |
EP3161609B1 (en) | Storage device, program, and information processing method | |
US10534542B2 (en) | Dynamic core allocation for consistent performance in a non-preemptive scheduling environment | |
US9690487B2 (en) | Storage apparatus and method for controlling storage apparatus | |
US9361034B2 (en) | Transferring storage resources between snapshot storage pools and volume storage pools in a distributed network | |
Rao et al. | Performance issues of heterogeneous hadoop clusters in cloud computing | |
US9817606B1 (en) | System and methods for dynamically adjusting between asynchronous and synchronous data replication policies in a networked virtualization environment | |
JP2015517147A (ja) | 空間節約(spacesavings:空き容量節約)を達成するように処理をスケジューリングするためのシステム、方法及びコンピュータープログラム製品 | |
CN107077300A (zh) | 用于平衡分段清除与i/o工作负载的速率匹配技术 | |
JP6412244B2 (ja) | 負荷に基づく動的統合 | |
US20170060472A1 (en) | Transparent hybrid data storage | |
Douglis et al. | Content-aware load balancing for distributed backup | |
Xuan et al. | Accelerating big data analytics on HPC clusters using two-level storage | |
US11687245B2 (en) | Dynamic slice assignment in a distributed storage system | |
CN102576294B (zh) | 含有多个存储装置的存储系统和方法 | |
US10002173B1 (en) | System and methods for dynamically adjusting between asynchronous and synchronous data replication policies in a networked virtualization environment | |
Murugan et al. | flexStore: A software defined, energy adaptive distributed storage framework | |
Zhang et al. | Parity-only caching for robust straggler tolerance | |
Liu et al. | masfs: File system based on memory and ssd in compute nodes for high performance computers | |
WO2017122263A1 (ja) | 管理計算機及び管理方法 | |
JP7491545B2 (ja) | 情報処理方法 | |
Skowron et al. | Fuzzy adaptive control for heterogeneous tasks in high-performance storage systems | |
Murugan et al. | Software Defined Energy Adaptation in Scale-Out Storage Systems | |
Li | Efficient resource sharing for big data applications in shared clusters |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130827 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20131004 |
|
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: 20140212 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140225 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5500256 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |