(57)【要約】  本発明は、リソースを共有する幾つかのファイルシステムを含む記憶システムにおいてサービス品質を管理するためのシステム及び方法を提供する。このシステムは、サービス品質（ＱｏＳ）マネージャと、測定された動作データに基づいてファイルシステムに対する要求を制限する要求制限プロセスすなわち「抑制」を含むことができる。ＱｏＳマネージャは、クリーンページ及び他のリソースのメモリ使用量の制御、及び修正済みバッファがディスクに書き込まれる割合の制御を含む、サービス品質を管理するための様々な方法を用いる。【選択図】図１
2008522281.tif 000002
【特許請求の範囲】
【請求項１】
リソースを共有する複数のファイルシステムを含む記憶システムにおいてサービス品質を管理するためのシステムであって、
前記システムが、
ファイルシステムが割り当てメモリ使用量を超える場合を判断し、これに応答して前記ファイルシステムのクリーンページが再利用される割合を高めるサービス品質マネージャを備える、
ことを特徴とするシステム。
【請求項２】
最長時間未使用の順序で編成され、前記記憶システムにおいて利用可能なクリーンページのリストを更に備え、
前記サービス品質マネージャは、前記ファイルシステムのクリーンページを前記リストの最前部に予め設定された時間間隔で増分的に移動させることによって、前記クリーンページが再利用される割合を高める、
ことを特徴とする請求項１に記載のシステム。
【請求項３】
前記サービス品質マネージャは、ページが比較的高い割合で再利用されている場合を判断し、これに応答して前記予め設定された時間間隔を短くする、
ことを特徴とする請求項２に記載のシステム。
【請求項４】
前記サービス品質マネージャは、ページが比較的低い割合で再利用されている場合を判断し、これに応答して前記予め設定された時間間隔を長くする、
ことを特徴とする請求項３に記載のシステム。
【請求項５】
前記サービス品質マネージャは、前記予め設定された時間間隔で前記リストの最前部に移動するクリーンページの量を求め、該クリーンページの量は、前記再利用されるページが他のファイルシステムからよりも前記ファイルシステムから取得される可能性がより高くなるような十分な量である、
ことを特徴とする請求項２に記載のシステム。
【請求項６】
ファイルシステムに対する要求を制限するための要求制限プロセスを更に備え、
前記サービス品質マネージャは更に、第１のファイルシステムが第２のファイルシステムと共有しているリソースの割り当て分よりも多く使用しており、且つ前記第２のファイルシステムが前記リソースの割り当て分を受け取っていない場合を判断し、これに応答して、前記第１のファイルシステムに対する要求を制限するため前記要求制限プロセスに信号を送信する、
ことを特徴とする請求項１に記載のシステム。
【請求項７】
前記要求制限プロセスは、割り当てリソース使用量を超える過度のリソース使用量の比率に基づいて前記第１のファイルシステムに対する要求を制限する、
ことを特徴とする請求項６に記載のシステム。
【請求項８】
前記サービス品質マネージャは更に、ファイルシステムがメモリの割り当て量よりも多く使用している場合を判断し、これに応答して修正済みバッファが前記ファイルシステムにおけるディスクに書き込まれる割合を高める、
ことを特徴とする請求項６に記載のシステム。
【請求項９】
前記サービス品質マネージャは更に、ファイルシステムにおいてクリーンバッファに対する修正済みバッファの比率が高過ぎる場合を判断し、これに応答して前記ファイルシステムに対する入ってくる書き込み要求を制限する、
ことを特徴とする請求項８に記載のシステム。
【請求項１０】
リソースを共有する複数のファイルシステムを含む記憶システムにおいてサービス品質を管理する方法であって、
前記方法が、
ファイルシステムが割り当てメモリ使用量を超える場合を判断し、これに応答して前記ファイルシステムのクリーンページが再利用される割合を高める段階を含む方法。
【請求項１１】
最長時間未使用の順序で編成され、前記記憶システムにおいて利用可能なクリーンページのリストを維持する段階と、
前記ファイルシステムのクリーンページを前記リストの最前部に予め設定された時間間隔で増分的に移動させることによって、前記クリーンページが再利用される割合を高める段階と、
を更に含む請求項１０に記載の方法。
【請求項１２】
ページが比較的高い割合で再利用されている場合を判断し、これに応答して前記予め設定された時間間隔を短くする段階を更に含む請求項１１に記載の方法。
【請求項１３】
ページが比較的低い割合で再利用されている場合を判断し、これに応答して前記予め設定された時間間隔を長くする段階を更に含む請求項１２に記載の方法。
【請求項１４】
前記予め設定された時間間隔で前記リストの最前部に移動するクリーンページの量を求める段階を更に含み、
前記クリーンページの量は、再利用されるページが他のファイルシステムからよりも前記ファイルシステムから取得される可能性がより高くなるような十分な量である、
ことを特徴とする請求項１３に記載の方法。
【請求項１５】
第１のファイルシステムが第２のファイルシステムと共有しているリソースの割り当て分よりも多く使用しており、且つ前記第２のファイルシステムが前記リソースの割り当て分を受け取っていない場合を判断し、これに応答して前記第１のファイルシステムに対する要求を制限する段階を更に含む、
請求項１０に記載の方法。
【請求項１６】
前記第１のファイルシステムに対する要求は、割り当てリソース使用量を超える過度のリソース使用量の比率に基づいて制限されることを特徴とする請求項１５に記載の方法。
【請求項１７】
ファイルシステムがメモリの割り当て量よりも多く使用している場合を判断し、これに応答して修正済みバッファが前記ファイルシステムにおけるディスクに書き込まれる割合を高める段階を更に含む請求項１５に記載の方法。
【請求項１８】
ファイルシステムにおいてクリーンバッファに対する修正済みバッファの比率が高過ぎる場合を判断し、これに応答して前記ファイルシステムに対する入ってくる書き込み要求を制限する段階を更に含む請求項１７に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、記憶システムに関し、より詳細には記憶システムのサービス品質を管理するためのシステム及び方法に関する。
【背景技術】
【０００２】
ファイル用又は論理デバイス内の単純なブロック用の典型的な記憶システムは、様々な内部リソースを利用し、そのいずれもがある時点で過負荷となる可能性がある。例えば、記憶システム内で重要な共通リソースは、ディスクシーク（異なるディスク領域へのディスクヘッドの移動、通常はシーク数／秒で測定される）、ディスクシーケンシャルスループット（隣接位置に対する読出し又は書き込み、通常はメガバイト／秒で測定）、主メモリスペース（読出しにおけるデータキャッシング用、ディスクへの転送待機している書き込みのバッファリング用、及びディスク上のファイルデータの記憶位置等のメタデータのキャッシング用）、主メモリ帯域幅（ディスク及びネットワークとの間の転送用、及びＣＰＵアクセス用、一般的にはメガバイト／秒で測定）、不揮発性メモリ（ＮＶＲＡＭ）スペース（ペンディング中の書き込みデータがディスクに書き込まれるまで書き込みデータを確実に保持するのに用いる）、ＮＶＲＡＭ帯域幅、ＣＰＵ時間（アクセスプロトコル処理、データ移動のスケジュール化、及びファイルシステム操作の実行用）、及びネットワーク帯域幅（システムの内外へのデータ移動用）がある。ディスクが１つ又はそれ以上のネットワークポートに接続され複数のディスクが１つのポートを共有するシステムも同様に、ディスクアクセスポート帯域幅及びキューイング遅延に関連する可能性がある。
【０００３】
典型的な記憶システムでは、負荷が増大するにつれて、スループットは最大で記憶システムのサービス容量まで増加する。その結果、記憶システムが処理できるものを超えて負荷が増大すると、輻輳によりスループットが低下する。これは通常、内部キュー長の増大により生じ、高レベルのリソースに対するロックが長時間保持されることにつながり、結果としてこれらの高レベルのリソースへのアクセスのキューが長くなる。キュー長の増大は、幾つかの要求が他の要求よりも処理に長い時間を要する場合に特に顕著であり、「護送船団効果（ｃｏｎｖｏｙ  ｅｆｆｅｃｔ）」として知られているものにつながる。
【０００４】
高速道路の交通輻輳は、この問題の一般的な実施例である。かかる問題に対する１つの公知の解決策は許可制御である。すなわち、入口ランプ測定器等の方法により、新規の車両の高速道路への進入は、高速道路がピーク輸送容量を維持することができる割合に制限される。ランプ測定器において遅延を考慮したとしても、輻輳に起因する遅延は非線形性であるので、この手法は長い行程での全体の移動時間を最小にすることができる。（車両数が１０パーセント増加すると、スループットの限界では平均速度が１０パーセントではなく５０パーセント低下する可能性がある）
【０００５】
一部のリソースはすぐにプリエンプトされる（これらのリソースを別の目的に用いることができることを意味する）。例えば、ディスク上に既に存在するデータを含むメモリページは、これらのデータが後で必要とされる場合にメモリ内に当該データを有さない機会費用を除いて、僅かなオーバーヘッドしか伴わずに他のいずれかの利用に再割り当てすることができる。同様に、ＣＰＵは、比較的小さなコストであるアクティビティから別のアクティビティに切り替えることができる。しかしながら、リソースによっては、再利用に要する時間及び労力がより多くかかる。例えば、ディスクに書き込む必要があるデータを有する主メモリページは、このデータがＮＶＲＡＭ又はディスクに書き込まれるまでは再利用することができない。更に、ディスクにページを書き込むと、ディスクに対する負荷（シーク及び帯域幅における）が増大する可能性がある。従って、書き込まれることになるデータを保持するページを再利用することによってメモリを利用可能にするように決めたとしても、これを行うには不足している他のリソースが必要となる可能性がある。従って、ページの書き込みにはディスクシーク又はディスク帯域幅を待機する必要があることに起因して、メモリを待機するアクティビティのキューが更に増える可能性がある。メモリを待機する要求がより多くの書き込みである場合、これらはキャッシュされた読出しページを再利用する結果となり、これは読出し性能が低下し、ディスクシーク及びディスク帯域幅に対する要求が更に増大することになる。
【０００６】
この最後のポイントは、重要課題の実施例である。過剰な書き込みを認めることは、対応する書き込みバッファリングの有効性が高まることなく読出しキャッシングの有効性が低下することにより、読出し及び書き込みの両方が遅くなる。書き込みバッファリングは、ディスクアドレスによって書き込みのキューをソートすることができる点において、ある程度の助けとなり、これによって１シーク当たりにより多くのデータを書き込むことで有効ディスクスループットが増大する。しかしながら、作業負荷が混在し、特に書き込みの大部分が順次行われる場合には、更に増大してもこれを超えて得られるものがほとんどない書き込みバッファリングのあるレベルが存在する。
【０００７】
一例として、現行のディスクドライブは、約１００シーク／秒を行うことができ、連続して約６０ＭＢ（メガバイト）／秒を転送することができる。典型的なドライブは、１シーク当たり５１２ＫＢ（キロバイト）程度の転送で、その最大持続帯域幅の８５パーセント以上を配信することができる。所与のレベルの書き込みバッファリングによって、書き込みをソートし、上記レベルの１シーク当たりの転送サイズを達成できる場合には、書き込みバッファリングが増大することにより、読出しキャッシュの有効性の低下（読出しによるディスクシークの利用増大につながる）による全体の性能が低下するだけとなる。従って、書き込みバッファリングの最適量が使用される場合には、書き込み許可を制限するフィードバックスキームを実装することが望ましい。読出しがない場合には、この制限はより高くすることができる。
【０００８】
読出しでは、書き込みを伴わない場合でも同様の問題が生じる可能性がある。システムがディスクの効率的使用を得ることができるポイントを上回って過剰の読出しをキューに入れた場合、読出しバッファ用に過大なスペースが確保される結果となる可能性があるので、システムは大量のキャッシュメタデータを破棄し、これによりメタデータの再読み込みが余儀なくされ、読出し当たりの平均シーク数が増大する。従って、ディスクが高い性能で既に動作している場合には、読出しの許可を制限することが望ましい場合もある。
【０００９】
メモリのコンテンションの別の発生源は、ネットワークバッファリングである。書き込みと同様に、より多くの要求によりサービスされる時間がより長くなる結果となっても、追加のネットワークバッファが単により多くの要求がネットワークレベルでバッファされることを意味する場合には、入ってくるネットワークバッファは制限なく増大することができることにより、有用なキャッシュデータの破棄が生じることになる。従って、クライアントに対するネットワークの往復遅延（これは、追加の要求を更に処理することができることをシステムが認識した場合、クライアントから追加の要求を得るのに必要となる時間）の範囲内でシステムがサービスできる以上に追加要求をキューに入れることを回避するために、ネットワークバッファのサイズに動的な制限を設けることが望ましいとすることができる。
【００１０】
従って、既存の記憶システムでの実装が比較的簡単な方法で、輻輳制御の原理及び他の技術を適用する記憶システムのサービス品質を管理するためのシステム及び方法が提供されるのが望ましいことになる。
【００１１】
【特許文献１】米国特許出願第１０／１７０，８８０号公報
【特許文献２】米国特許出願第１０／８６６，２２９号公報
【発明の開示】
【課題を解決するための手段】
【００１２】
本発明は、記憶システムにおいてサービス品質を管理するためのシステム及び方法を提供する。一実施形態では、システムは、既存の記憶システムにおける実施が容易な方式で輻輳制御の原理及び他の技術を適用し、予測可能なサービス品質を提供する。本システムは、サービス品質（ＱｏＳ）マネージャと、測定された動作データに基づいてファイルシステムに対する要求を制限する要求制限プロセスすなわち「抑制（ｔｈｒｏｔｔｌｅ）」とを含むことができる。ＱｏＳマネージャは、クリーンページ及び他のリソースのメモリ使用量の制御、許可制御、及び修正済みバッファがディスクに書き込まれる割合の制御を含む、サービス品質を管理するための様々な方法を用いることができる。
【００１３】
本発明の非制限的な１つの利点は、記憶システムの全く新規の構築法を必要としない点である。より正確に言えば、一実施形態において、本発明を用いて、新しい異なる記憶システムの設計を必要とせずに、輻輳制御の既存の記憶システムを「改造する」ことができる。
【００１４】
本発明は、米国特許出願第１０／１７０，８８０号である「Ｓｙｓｔｅｍ  ａｎｄ  Ｍｅｔｈｏｄ  ｆｏｒ  Ｍａｎａｇｉｎｇ  ａ  Ｄｉｓｔｒｉｂｕｔｅｄ  Ｃｏｍｐｕｔｉｎｇ  Ｓｙｓｔｅｍ（分散コンピューティングシステムを管理するためのシステム及び方法）」（「‘８８０出願」）に記載されているような、システム管理機構を用いて構築することができ、当該出願は引用により本明細書に組み込まれる。詳細には、本発明は、‘８８０出願で説明されているシステム管理サービス（ＳＭＳ）モニタの一部を実装又は形成することができる。或いは、本発明は、別個の構成要素又はプロセス（例えば、ＳＭＳモニタとは独立して動作するＱｏＳマネージャ）を形成することができる。
【００１５】
本発明の一態様によれば、リソースを共有する複数のファイルシステムを含む記憶システムにおいてサービス品質を管理するためのシステムが提供される。本システムは、ファイルシステムが割り当てメモリ使用量を超える場合を判断し、これに応答してファイルシステムのクリーンページが再利用される割合を高めるサービス品質マネージャを備える。本システムはまた、ファイルシステムに対する要求を制限するための要求制限プロセスを含むことができる。かかる実施形態では、サービス品質マネージャは更に、第１のファイルシステムが第２のファイルシステムと共有しているリソースの割り当て分よりも多く使用しており、且つ第２のファイルシステムがリソースの割り当て分を受け取っていない場合を判断し、これに応答して第１のファイルシステムに対する要求を制限するため要求制限プロセスに信号を送信する。別の実施形態では、サービス品質マネージャは更に、ファイルシステムがメモリの割り当て量よりも多く使用している場合を判断し、これに応答して修正済みバッファがファイルシステムにおけるディスクに書き込まれる割合を高めることができる。
【００１６】
本発明の第２の態様によれば、リソースを共有する複数のファイルシステムを含む記憶システムにおいてサービス品質を管理する方法が提供される。本方法は、ファイルシステムが割り当てメモリ使用量を超える場合を判断し、これに応答してファイルシステムのクリーンページが再利用される割合を高める段階を含む。本方法は、第１のファイルシステムが第２のファイルシステムと共有しているリソースの割り当て分よりも多く使用しており、且つ第２のファイルシステムがリソースの割り当て分を受け取っていない場合を判断し、これに応答して第１のファイルシステムに対する要求を制限する段階を更に含む。
【００１７】
本発明のこれら及び他の特徴並びに利点は、以下の明細書及び図面を参照することによって明らかになるであろう。
【発明を実施するための最良の形態】
【００１８】
ここで図面を参照しながら本発明を詳細に説明するが、これらの図面は当業者が本発明を実施できるように本発明の例示的な実施例として提供される。当業者には明らかであるように、本発明は、ソフトウェア、ハードウェア、及び／又はファームウェア、或いはこれらの組み合せを用いて実施することができる。１つ又はそれ以上のファイルシステムを提供する分散記憶システムの例示的な実装を参照しながら、本明細書において本発明の好ましい実施形態を説明する。しかしながら、本発明は、これらの例示的実装には限定されず、特定の機能、性能属性、及び／又は結果をもたらすように規定し構成することができる複数のリソースを含む、いかなるコンピューティングシステムにおいても実施することができる。
【００１９】
ここで図１を参照すると、本発明によるサービス品質を管理するためのシステム及び方法を組み込む例示的な分散記憶システム１００が示されている。一実施形態では、システム１００は、分散ファイルシステム１０２、オブジェクト記憶リソース１０４、プロトコルサーバ又はアプリケーション１０６、サービス品質（ＱｏＳ）マネージャ１１２、測定プロセス１１４〜１１８、及び許可制御機構又は「ＱｏＳ抑制」１２０を含む。
【００２０】
分散ファイルシステム１０２は、１つ又はそれ以上の従来の分散ファイルシステム、並びに読出し及び書き込み要求等の要求をファイルシステム１０２に記憶するための１つ又はそれ以上のキュー又はキャッシュ１０８を含むことができる。一実施形態では、分散ファイルシステム１０２は、同時係属の米国特許出願第１０／８６６，２２９号で記載されている分散仮想ファイルシステムと実質的に同様のものとすることができ、該出願は本譲受人に譲渡され、引用により本明細書に組み込まれる。他の実施形態では、ファイルシステム１０２は、単一ボリューム上（すなわち分散ではない）、又は複数ボリューム上（すなわち分散）の従来のファイルシステムとすることができる。記憶リソース１０４は、電子データを記憶するための複数の従来の記憶リソース又はモジュール１２２と、記憶リソース１２２に対する要求を記憶するための１つ又はそれ以上のキャッシュ１１０とを含む。
【００２１】
一実施形態では、プロトコルサーバ１０６は、ネットワークデータ管理プロトコル（ＮＤＭＰ）、ネットワークファイルシステム（ＮＦＳ）、及び共通インターネットファイルシステム（ＣＩＦＳ）用のアプリケーションを含むことができる。ＮＤＭＰは、一次記憶装置と二次記憶装置との間のデータバックアップ及びデータ復旧通信を制御するのに用いることができる。ＣＩＦＳ及びＮＦＳを用いて、ユーザがリモートコンピュータ上のファイルをユーザのコンピュータ上に存在するかのように閲覧し、任意選択的に記憶し、更新することを可能にすることができる。他の実施形態では、システム１００は、追加の及び／又は異なる通信プロトコルを提供するアプリケーションを含むことができる。
【００２２】
ＱｏＳマネージャ１１２は、従来のサーバ、アプリケーション、コンピューティングシステム、又はこうしたデバイスの組み合せを備えることができる。一実施形態では、ＱｏＳマネージャ１１２は、１つ又はそれ以上のシステム管理サービス（ＳＭＳ）サーバの一部を形成する。各ＳＭＳサーバは、システム１００に関する状態及び構成情報を記憶する構成データベース（ＣＤＢ）を含むことができる。ＳＭＳサーバは、様々なシステム管理サービスを実行するように適合されたハードウェア、ソフトウェア、及び／又はファームウェアを含むことができる。例えば、ＳＭＳサーバは、米国特許出願第１０／１７０，８８０号である「Ｓｙｓｔｅｍ  ａｎｄ  Ｍｅｔｈｏｄ  ｆｏｒ  Ｍａｎａｇｉｎｇ  ａ  Ｄｉｓｔｒｉｂｕｔｅｄ  Ｃｏｍｐｕｔｉｎｇ  Ｓｙｓｔｅｍ（分散コンピューティングシステムを管理するためのシステム及び方法）」（「‘８８０出願」）に記載されているＳＭＳサーバと構造及び機能において実質的に同様とすることができ、この出願は引用により本明細書に組み込まれる。ＳＭＳサーバは、システムリソースを自律的且つ動的に規定し修正して、ユーザにより選択されたある性能属性及び機能をシステムが確実に提供する段階を含む様々な管理機能を提供する。ＳＭＳサーバは更に、サービスノードの開始、停止、及び再起動等の他の管理サービス、並びに新規に作動させたノード上へのソフトウェアのロードを更に担うことができる。ＳＭＳサーバは、集合的に「ＳＭＳモニタ」と呼ぶことにする。
【００２３】
ＱｏＳ抑制１２０は、記憶システム１００においてファイルシステム要求を制限するように適合されたプロセスとすることができる。ＱｏＳマネージャ１１２は、ネットワーク測定プロセス１１４、ＣＰＵ測定プロセス１１６、及びＩ／Ｏ測定プロセス１１８等の様々な測定プロセスを利用することにより、システムリソースの使用に関する測定及びデータを受け取る。測定プロセス１１４〜１１８は、システム１００全体を通じてそれぞれのアクティビティを監視するための従来のプロセスとすることができ、従来の計数器又は他のデバイスを用いて、実用上の読み取り値を取得することができる。これらの測定プロセスから受け取ったデータに基づいて、以下で説明するようにＱｏＳマネージャ１１２は、要求抑制１２０及びキュー又はキャッシュ１０８，１１０の動作を制御する。
【００２４】
動作時には、システム１００は、リソースを割り当てて各ファイルシステム１０４を定義して構成し、ＱｏＳマネージャ１１２は、要望に応じて１つ又はそれ以上のファイルシステムが他の場合に不確定のリソースを使用することを許可することができることを除いては、各ファイルシステムが割り当てられたリソースの範囲内で動作されるように制限する。（非拘束リソースの使用が許可されることにより、ユーザは常に固定された性能に限定されるのではなく、幾つかのリソースがアイドル状態である時には、追加性能を達成することが可能となる。）一実施形態では、ＱｏＳマネージャ１１２はサービス品質を制御するために幾つかの方法を利用することができる。ＱｏＳマネージャ１１２は、クリーンページの使用量を制限し制御する１つの方法を実施することができる。ＱｏＳマネージャ１１２は、全ての他のリソース使用量を制限する別の方法を実施することができる。これに加えて、ＱｏＳマネージャ１１２は、メモリ内の修正バッファを処理するときに特別に考慮する別の方法を用いることができる。
【００２５】
サービス品質を高めるために、このシステムは、性能及び信頼性等の望ましいサービス品質特性を含む、ファイルシステムについての１つ又はそれ以上の定義を許容し、これに従ってリソースを割り当てる機構を最初に備えることができる。ＳＭＳサーバ又は「ＳＭＳモニタ」は、この機構を提要することができる。図２は、リソースプール２２０と、システムがこのリソースプール２２０を用いて作成できる１つ又はそれ以上のファイルシステム２３０とに関連するＳＭＳモニタ２１０の一般的な動作を示している概略図２００である。各ファイルシステム２３０は、リソース２２０の一部を用いて実施される。例えば、ファイルシステムは、ゲートウェイ、メタデータ、及び記憶サービスを提供するためのリソースを含むことができる。ＳＭＳモニタ２１０は、最初に、１つ又はそれ以上のマシン、サーバ、及びディスクドライブ（又はこうしたデバイスの一部）に十分な処理パワー、主メモリ、及びディスクスペースを割り当てて、ファイルシステムの予測要件に対応するようにする。
【００２６】
ＳＭＳモニタ２１０は、各ファイルシステム記述を必要なリソースのセットにコンパイルし、利用可能なリソース２２０からこれらのリソースを割り当て、これらのファイルシステムを初期化して構成し動作させる。これらの要件が後で変更された場合には、ＳＭＳモニタ２１０はリソースの必要なリストを再計算し、実行中のファイルシステムに対するリソース割り当てを調節する。‘８８０出願において説明されているように、ＳＭＳモニタ２１０は、テスト構成の測定結果に基づいて経験的に導出された式を用いて、これらの要件からリソースリストを計算することができる。
【００２７】
リソースプール２２０は、異なるサイズ、性能、容量、及びパワーの物理的コンピューティングデバイス（例えはディスクドライブ、プロセッサ、サーバ、及び同様のもの）から配分することができる。これらのリソースは、実行能力に関して考察することができる。例えばＳＭＳモニタ２１０は、以下のリソースを制御し割り当てることができ、すなわち、ディスクシーク（異なるディスク領域へのディスクヘッドの移動、通常はシーク数／秒で測定）、ディスクシーケンススループット（隣接位置に対する読出し又は書き込み、通常はメガバイト／秒で測定）、主メモリスペース（読出しにおけるデータキャッシング用、ディスクへの転送待機している書き込みのバッファリング用、及びディスク上のファイルデータの記憶位置等のメタデータのキャッシング用）、主メモリ帯域幅（ディスク及びネットワークとの間の転送用、及びＣＰＵアクセス用、一般的にはメガバイト／秒で測定）、不揮発性メモリ（ＮＶＲＡＭ）スペース（ペンディング中の書き込みデータがディスクに書き込まれるまで書き込みデータを確実に保持するのに用いる）、ＮＶＲＡＭ帯域幅、ＣＰＵ時間（アクセスプロトコル処理、データ移動のスケジュール化、及びファイルシステム操作の実行用）、及びネットワーク帯域幅（システムの内外へのデータ移動用）である。ディスクが１つ又はそれ以上のネットワークポートに接続され、複数のディスクがポートを共有するシステムでは、本発明は同様にディスクアクセスポート帯域幅及びキューイング遅延を制御することができる。本明細書で検討される機能に加えて、ＳＭＳモニタ２１０は、ファイルシステム２３０に対するリソース２２０の管理及び再割り当て等の‘８８０出願において検討されているＳＭＳモニタの機能を実行するように適合させることができる。
【００２８】
ＳＭＳモニタ２１０がファイルシステム２３０にリソースを割り当てると、ＳＭＳモニタ２１０は、サービス品質マネージャにリソース割り当てを通知する。ＱｏＳマネージャ１１２は、以下で説明するようにこの情報を用いてサービス品質を強化する。
【００２９】
サービス品質の強化方法
Ａ．クリーンページについてのメモリ使用量の制御
サービス品質を強化する第１の方法は、クリーンページに関するメモリ使用量を制御することである。詳細には、サービス品質マネージャ１１２は、各ファイルシステムによって用いられるメモリを制限するために、クリーンページについてのメモリ使用量を制御する。各ファイルシステムによって用いられるメモリを制限するために、明示的なメモリ確保スキームを構築することは可能であろう。しかしながら、Ｌｉｎｕｘ等の最新のオペレーティングシステムでは、主メモリは単一の大きなプールとして取り扱われ、メモリ使用量の制約条件はユーザプロセスに対してのみ設定され、ファイルシステムによるオペレーティングシステムカーネル内のメモリ使用には設定されないのが一般的である。従って、既存のオペレーティングシステムに対する変更を最小にしてサービス品質強化を実施するために、本発明は、新規の使用においてページが再利用される順序を変更することにより動作する。具体的には、サービス品質マネージャ１１２は、クリーンページ（ディスクに書き込みせずに再利用することができるもの）及びダーティページ（再利用する前に書き込む必要があるもの）の両方が所与のファイルシステムにより用いられる実行中の合計ページを維持する。
【００３０】
クリーンページは通常、オペレーティングシステムによってほぼ最長時間未使用（ＬＲＵ）の順序でリスト又はキュー上で維持される。新規使用のためにページが必要とされる場合には、リスト上の最初のページが最長時間未使用であるので、このページが取得される。ＱｏＳマネージャ１１２は、ファイルシステムのクリーンページを割り当てメモリ使用量を超過していないファイルシステムのページの前方のＬＲＵリスト最前部に移動させることによって、割り当てメモリ使用量を超えるファイルシステムによるページ使用を制限する。これにより、目標メモリ使用量を超えるファイルシステムが、他のファイルシステムからページ取得するのではなく、当該ファイルシステムに属するページを優先的に再利用し、その結果、これらのファイルシステムから見たキャッシュ効率が低減されるようにする。
【００３１】
図３は、クリーンページの使用を制御するためにＱｏＳマネージャ１１２によって実施することができる方法３００の一例を示している。ブロック３１０では、ＱｏＳマネージャ１１２は、所与のファイルシステムが予め設定された閾値又はパーセンテージだけその割り当てメモリ使用量を超過しているかどうかを判断する。ファイルシステムが割り当てメモリ使用量を超過している場合には、本方法はブロック３２０に進み、ここでＱｏＳマネージャ１１２は、このファイルシステムのクリーンページをＬＲＵリストの最前部に予め設定された時間間隔で増分的に移動させるのを開始する。段階３３０では、ＱｏＳマネージャ１１２はページが再利用される割合を監視する。ページが比較的高い割合（例えばある特定の閾値を上回る）で再利用されている場合には、本方法は段階３４０に進む。段階３４０では、ＱｏＳマネージャ１１２が時間間隔をより短くなるように調節する。時間間隔の短縮量は、再利用の測定割合に基づくことができる。ページ再利用割合があまり高くない場合には、本方法は段階３５０に進み、割合が比較的低いか否かを判断する。ページが比較的低い割合（例えばある特定の閾値を下回る）で再利用されている場合には、本方法は段階３６０に進み、ここでＱｏＳマネージャ１１２は、時間間隔をより長くなるように調節する。本方法３００は、特定の用途に基づいて追加の段階及び／又は異なる段階を含むことができることを理解されたい。例えば、一実施形態では、ＱｏＳマネージャ１１２は、割り当てリソースを超える１つ又は複数のファイルシステムから再利用されるページを取得することを可能にするのに十分なページだけを前方に移動させる。前方に移動されるページの数は、フィードバック又はテストデータに基づいて従来の方法で求めることができる。一実施形態では、キューの過剰な再順序付けを回避するために、ファイルシステムが割り当てリソース使用量を超過しているか否かを判断するのに用いられる閾値又はパーセンテージにおいて、ある程度のヒステリシスを適用することができる。
【００３２】
説明されたように、本方法は、目標メモリ使用量を超えるファイルシステムに、他のファイルシステムからページを取得させるのではなく、当該ファイルシステムに属するページを優先的に再利用させることで、これらのファイルシステムから見たキャッシュ効率を低減する。
【００３３】
Ｂ．要求の抑制
ＱｏＳマネージャ１１２がリソース使用量を制御するために実施することができる別の方法は、許可制御、すなわち「要求の抑制」である。本方法は、目標値に対して所与のファイルシステムにおける全リソース使用量（例えばディスクＩ／Ｏ、ＣＰＵ時間、ダーティメモリ使用量、ネットワーク帯域幅、及び同様のもの）を定期的に比較する段階を含む。ＱｏＳマネージャ１１２は、測定プロセス１１４〜１１８からこれらの測定された使用量値を受け取り、受け取った値を望ましいファイルシステム性能に基づいてユーザ又はシステム管理者が設定することができる予め設定された値と比較する。このリソース使用量の比較に基づいて、ＱｏＳマネージャ１１２は、ＱｏＳ抑制プロセス１２０に信号を送信し、割り当てリソース量を超えて使用しているファイルシステムに対する要求を制限することができる。
【００３４】
関連のリソース使用量を計数する必要があり、このことは、例えばオペレーティングシステム及び／又は記憶システムが未だ計数器及び／又は測定プロセスを備えていない場合には、幾つかの実施形態においてこれらを備えることを提言することができることは理解すべきである。計数器のファイルシステムへの関連付けの一部は、直接的ではなく間接的なものとすることができることは理解されたい。例えば、システムが各ディスクにおいて計数器を実装してその動作を記録し、更にディスクＡがファイルシステムＢによって使用されることが既知である場合には、ディスクＡの使用量はファイルシステムＢの使用量の一部として扱うことができる。
【００３５】
図４は、本発明によるリソース使用量を制御するための方法４００の一実施例を示している。ブロック４１０では、ＱｏＳマネージャ１１２は、ファイルシステムによって共有されるシステムリソースの使用量を監視する。ブロック４２０では、ＱｏＳマネージャ１１２は、第１のファイルシステムが第２のファイルシステムと共有される所与のリソースのうちの割り当て分を有意に上回って使用している（例えば予め設定されたパーセンテージを超えている）かどうか、並びに第２のファイルシステムがこのリソースの割り当て分を受け取っていないかどうかを判断する。この判断が真である場合には、ブロック４３０に示すように、ＱｏＳマネージャ１１２は許可制御に対して第１のファイルシステムを選択する。ブロック４４０では、ＱｏＳマネージャ１１２は、許可制限の程度又はレベルを算出する。本明細書で用いる用語「許可制限」とは、例えばファイルシステム要求を制限することによって、ファイルシステムによるあらゆるリソースの使用の制限を含む点は理解すべきである。許可制限の程度は、割り当て使用量に対する超過使用量の比率（例えば許可された要求の比率＝１／割り当て使用量に対する現在の使用量の比率／割り当て使用量、又は許可された要求の比率＝割り当て使用量／現在の使用量）から見積ることができる。例えば、使用量が割り当てレベルの１１０％である場合、ＱｏＳマネージャ１１２は、現在処理されている割合の約９１％に要求を制限することによって開始することになる。後続の測定結果では、制限のパーセンテージは、フィードバックスキームで調節することができる。すなわち、ある程度の制限の後でリソース使用量が依然として高過ぎる場合には、この制御方法は目標とする要求割合を更に下げることができ、リソース使用量が目標を下回った場合には、ＱｏＳマネージャ１１２は、目標とする要求割合を上げることができる。段階４５０では、ＱｏＳマネージャ１１２は、例えば第１のファイルシステムに来る要求を算出された方式で制限するようにＱｏＳ抑制１２０に信号を送信することによって要求制限を実施する。
【００３６】
ＱｏＳ抑制１２０は、目標割合を新規要求の全てのリソースに通信する。ネットワークに接続された記憶システムでは、これは、ＮＦＳサーバ、ＣＩＦＳサーバ、ＮＤＭＰサーバ、及び同様のもの等の記憶アクセスプロトコル処理要素１０６の各々を含むことになる。次いで、このような各サーバは、信頼性の高い伝送手段（ＴＣＰ等）を介して到達する要求においては、あるパーセンテージの要求をランダムに遅延させ、信頼性のない伝送手段（ＵＤＰ上のＮＦＳ等）を介して到達する要求においては、あるパーセンテージの要求をランダムに却下することによって要求の有効割合を低下させる。オペレーティングシステムカーネルにおいて実施されるサービスでは、この目標割合は、制御パラメータを配信するオペレーティングシステムの通常の方法を介して伝達することができる。ユーザスペースにおいて実施されるサービスでは、この目標割合は、サービスが後で定期的に読み出す制御ファイルの更新等、ランタイムパラメータの変化を許容するためにサービスが有するどのような方法によっても伝達することができ、或いは制御インターフェースに接続することによって伝達することができる。
【００３７】
Ｃ．メモリ内の修正済みバッファを扱うための特別な考慮事項
一実施形態では、記憶システムはまた、メモリ内の修正済みバッファ（例えばキャッシュ１０８、１１０）が所与のファイルシステムにおけるディスクに書き込まれる割合を調節する方法を提供することができる。かかる実施形態では、ＱｏＳマネージャ１１２は、所与のファイルシステムが過剰なメモリを使用している場合、又は割り当て量よりも有意に多いメモリを使用している場合、このファイルシステムに対する割合を高めることによってシステム効率を上げることができる。このようにして、ファイルシステムは、そのキャッシュページの過度の置き換えが見られなくなる。要求の抑制は、ダーティバッファが生成される割合を更に低くすることになるが、クリーンバッファに対するダーティバッファの割合を下げることができる場合には、要求の抑制が必要ではなく、これによって、ディスク書き込みの増大を代償にして、ディスク読出しを低減（破棄されたキャッシュページを置き換える）することができる。
【００３８】
クリーンバッファに対するファイルシステムの修正済みバッファの比率が依然として過度に「高い」（例えば、書き込みを退けることができる時間よりも早く書き込みが到達することに起因する）場合には、プロトコルがサポートするのであれば、ＱｏＳマネージャ１１２は、入ってくる書き込み要求だけを抑制（又は読出しよりも書き込みをより抑制）することができる。このことは特に、書き込みレイテンシーの増大の点である程度代償にして、アプリケーションが最も敏感な読出しレイテンシーに対する影響を制限する助けとなる。（多くのファイルプロトコルでは、クライアントシステムは書き込みをバッファすることができ、これによって書き込みレイテンシーをある程度の範囲までマスクすることができる。）
【００３９】
上記の方法を用いて、本発明は記憶システムのためのサービス品質の改善を提供する。本発明によって利用される方法は、記憶システムを構築する全く新規の方法を必要としない。新たな異なる記憶システムの設計を必要とせずに、本発明は、輻輳制御用に既存の記憶システムを「改造する」ことによってこれらの方法を実施することができる。
【００４０】
本発明の好ましい実施形態を参照しながら本発明を具体的に説明してきたが、本発明の精神及び範囲から逸脱することなく、形態及び詳細において変更及び修正を加えることができることは当業者には容易に理解されるはずである。添付の請求項は、かかる変更及び修正を含むものとする。また、様々な実施形態は必ずしも排他的なものではなく、本発明の精神及び範囲を超えることなくある実施形態の特徴を他の実施形態の特徴と組み合せることができることは当業者には理解されるはずである。
【図面の簡単な説明】
【００４１】
【図１】本発明によるサービス品質を管理するためのシステム及び方法を組み込んだ例示的な記憶システムの概略図である。
【図２】本発明によるリソースの分配におけるシステム管理サービス（ＳＭＳ）モニタの一般的な動作を例示するブロック図である。
【図３】本発明によって用いることができるクリーンページ使用量を制御するための方法を例示するフロー図である。
【図４】本発明によって用いることができる許可制御のための方法を例示するフロー図である。
【符号の説明】
【００４２】
１１２  ＱｏＳマネージャ
１１４  ＱｏＳネットワーク測定
１１６  ＱｏＳＣＰＵ測定
１１８  ＱｏＳ  Ｉ／Ｏ測定
１２０  ＱｏＳ抑制
【図１】
2008522281.tif 000003
【図２】
2008522281.tif 000004
【図３】
2008522281.tif 000005
【図４】
2008522281.tif 000006
【国際調査報告】
2008522281.tif 000007
2008522281.tif 000008