JP4242155B2 - 永続的記憶装置へのダーティデータ項目の書込を調整するための方法、当該方法をコンピュータに行なわせるためのプログラムを格納したコンピュータ読出可能な媒体、および、永続的記憶装置へのダーティデータ項目の書込を調整するための装置 - Google Patents
永続的記憶装置へのダーティデータ項目の書込を調整するための方法、当該方法をコンピュータに行なわせるためのプログラムを格納したコンピュータ読出可能な媒体、および、永続的記憶装置へのダーティデータ項目の書込を調整するための装置 Download PDFInfo
- Publication number
- JP4242155B2 JP4242155B2 JP2002572008A JP2002572008A JP4242155B2 JP 4242155 B2 JP4242155 B2 JP 4242155B2 JP 2002572008 A JP2002572008 A JP 2002572008A JP 2002572008 A JP2002572008 A JP 2002572008A JP 4242155 B2 JP4242155 B2 JP 4242155B2
- Authority
- JP
- Japan
- Prior art keywords
- node
- data item
- persistent storage
- dirty data
- queue
- 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 - Lifetime
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0815—Cache consistency protocols
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0804—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
Description
この特許出願は、2001年3月7日に提出された米国仮特許出願第60/274,270号「故障間での一貫性を必要とする分散共有ディスクシステムにおいてディスク書込を行なう方法(“Methods to perform disk writes in a distributed shared disk system needing consistency across failures”)」に関し、当該仮特許出願から優先権を主張しており、その内容はすべてここに引用により援用される。
この発明は、ディスク書込を行なうことに関し、より具体的には、データ項目のダーティバージョンが多数のノードのキャッシュ内に存在することを可能にするシステム内におけるダーティデータ項目の書込調整に関する。
データベースシステム内のスケーラビリティを向上させる1つの手法は、多数のノードが共有記憶装置内のデータを並行して読出し、修正することを可能にすることである。各ノードは、揮発性メインメモリ内のデータを保持するキャッシュを有し、不揮発性共有ディスク記憶装置によってバックアップされる。グローバルロックマネージャ(GLM)または分散ロックマネージャ(DLM)を用いて、ノード間のキャッシュコヒーレンシを維持する。メインメモリの内容を消去するノードの故障からの回復を提供するために、一般的なライトアヘッドロギング(WAL)プロトコルが用いられる。性能上の理由から、各ノードは、変更が記録される専用のリドゥログを有する。ノード故障後に走査される必要のあるリドゥログ内の変更の量を減じるために、チェックポイント前のデータ項目内のすべての変更が不揮発性記憶装置内のデータ項目に再適用されなくてもよいことを保証するインクリメンタルまたは定期的なチェックポイントが通例とられる。
同じノード上または異なるノード上のいずれかで実行しているトランザクション間の並行処理は、グローバルトランザクションページレベルロックまたは行レベルロックによって実現される。トランザクションシステムは、トランザクションによって修正された(ページ/ブロック等の)データ項目が、トランザクションコミット中に安定した記憶装置に書込まれる強制方式、または、リドゥログ内のトランザクションの変更のみがトランザクションコミットにおいて強制される非強制方式のいずれかを用い得る。ページレベルロックを用いる強制方式を用いることは、ブロックが、1つのノードによってのみ(実際には、1つのトランザクションによってのみ)修正され、いずれかのポイントで1つのシステムのキャッシュのみの中でダーティ化され得ることを意味する。すべての他の組合せ(つまり、強制方式での行レベルロック、非強制方式でのページレベルロック、および非強制方式での行レベルロック)では、データ項目は多数のシステム内で修正され得、キャッシュコヒーレンシメカニズムが必要とされる。
トランザクションがコミットすると、トランザクションによって作られた変更を反映するデータは、永続的記憶装置に記憶されなければならない。いくつかのシステムでは、トランザクションによって作られた変更を表わすリドゥレコードは、コミット時に永続的に記憶されなければならないが、修正されるデータ項目自体の実際の書込は、遅延され得る。(1)変更を含み、および(2)永続的に記憶されていないデータ項目が、「ダーティデータ項目」と呼ばれる。一般に、あるノード内に存在するデータ項目がダーティであればあるほど、そのノードが故障した場合、回復時間はより長くなる。したがって、回復時間が許容できないほど長くならないことを確実にするために、ノードは、チェックポイント待ち行列を維持し得る。
データ項目が並行して多数のシステムによって修正され得る場合、安定した共有永続的記憶装置に対する、修正されたデータ項目の書込みを調整するメカニズムが必要とされる。いくつかのシステムでは、この問題は、修正されたデータ項目を1つのノードから別のノードへと転送するための媒体として安定した共有永続的記憶装置を用いることによって、簡素化される。あるノード内でダーティであるデータ項目が、異なるノード内での修正のために必要とされる場合、データ項目は、ダーティ化されたデータ項目を修正することを望むノードにページロックを与える前に、共有永続的記憶装置にまず書込まれる。異なるノードが、修正されたデータ項目の現在のバージョンを読出す必要がある場合、同じ、永続的記憶装置への書込および永続的記憶装置からの読出シーケンスが用いられる。
システムがノード間でデータ項目を転送する媒体として不揮発性記憶装置を用いるシステムでは、異なるノード間でダーティデータ項目の書込を調整する必要はない。各ノードは、ダーティデータ項目を書き出し、さらにはチェックポイントを行なうための従来のメカニズムを用い得る。
おいてのみダーティである。したがって、あるノードが故障した場合は、データベースを回復させるために、そのノードのリドゥログのみが、そのノード内のチェックポイントレコードからそのリドゥログの終わりまで走査されればよい。さらに、多数のノードが故障した場合は、各ノードのリドゥログが、走査され、データベースを回復するように順次適用され得る。つまり、多数のリドゥログからの変更を併合する必要はない。
同じデータ項目の異なるコピーを含み得る多数のキャッシュを備えたシステム内でキャッシュを管理するための技術が提供される。具体的には、このようなデータ項目上で行なわれるディスクへの書込動作を調整して、より古いバージョンのデータ項目がより新しいバージョン上に書込まれないことを確実にし、さらには、故障後の回復に必要とされる処理量を減じるための技術が提供される。多数のキャッシュと協調してデータ項目を永続的記憶装置に書込ませるためにマスタが用いられる、さまざまな方式が提供される。このような方式は、直接書込方式、間接書込方式、オーナーベース方式、および役割ベース方式を含むが、これらに限定されているわけではない。キャッシュに関連したチェックポイントを管理するための技術も提供されており、ここでは、チェックポイントを用いて、故障時に回復ログの処理を開始すべき位置が決定される。
ダーティデータ項目の書込を調整するための方法および装置を記載する。以下の記載においては、説明のため、この発明の完全な理解をもたらすための数々の特定の詳細を記載する。しかしながら、この発明はこれら特定の詳細なしに実施可能であることが明らかであろう。他の場合には、この発明を不必要に不明瞭にすることを避けるために、周知の構造および装置をブロック図の形で示す。
ノード間でデータ項目を転送するための媒体として永続的記憶装置を用いるシステムでは、1つのノードから別のノードへデータ項目を転送する待ち時間は、データベースキャッシュ書込サブシステムを修正して、他のノードが読出または書込しようと待っているデータ項目の書込に対してより高い優先度を与えることで減少され得る。これは、他のノードがダーティデータ項目を読出または修正しようと待っているので、書込まれる必要があるダーティデータ項目のために別個の待ち行列(「ping待ち行列」)を設けることで達成できる。ロックマネージャ(分散ロックマネージャDLMまたはグローバルロックマネージャGLMのいずれかであり得る)が保持ノードにメッセージを送り、保持ノードに対し、データ項目に対するロックをリリースするように頼むと、ダーティデータ項目はオンデマンドでping待ち行列に動かされ得る。
永続的記憶装置にまず記憶されずにキャッシュ間でダーティデータ項目を転送できるシステムでは、正当性およびスケーラビリティのために、異なるノードごとのキャッシュ内のダーティデータ項目の書込を調整する必要がある。正当性は、ノードがチェックポイントを完了(すなわち、故障後にリドゥログから変更が適用される必要があり得る出発点を記録)すると、チェックポイントに先立ちコミットされた変更が入っているあらゆるデータ項目のバージョンが不揮発性永続的記憶装置に書込まれていることを要件とする。さらに2つのノードが同時に永続的記憶装置にデータ項目を書込むことを許されてはならず(なぜならこれらが互いの変更を壊すおそれがあるからである)、ノードはより新しいバー
ジョンの上に、より古いバージョンのデータ項目を書込むことを許されてはならない。
同じデータ項目のダーティバージョンが多数のキャッシュに常駐できるシステム内で、永続的記憶装置へのダーティデータ項目の書込を調整するためのさまざまな技術を提供する。一技術に従うと、調整はデータ項目に割当てられたマスタを使用して実行される。一実施例に従うと、データ項目のダーティバージョンの書込を調整するのに用いられるマスタは、データ項目へのアクセスを支配するロックを管理するように割当てられるのと同じエンティティである。このような実施例では、マスタはロック管理システム、たとえば、分散またはグローバルロック管理システムのいずれかに属するロックマネージャなどの構成要素であるのが典型的であろう。
排他ロックの所有権とともに暗黙に付与されても、または排他ロックの付与とは別に、かつこれとは独立に付与されてもよい。
直接書込方式に従うと、ダーティデータ項目の永続的記憶装置への書込は、データ項目に割当てられたマスタを用いて調整される。具体的に、ダーティデータ項目を永続的記憶装置に書込みたいと望むノードは、データ項目に割当てられたマスタに書込要求メッセージを送る。マスタは(1)要求しているノードに、書込を実行する許可を与えるか、または(2)要求しているノードに記憶されたダーティバージョンと少なくとも同じだけ新しいバージョンを、別のノードが既に永続的記憶装置に書込んだことを、要求しているノードに知らせ得る。
れるか、またはキャッシュ内に留まって一貫したスナップショット読出を満足することができる。
て書込要求待ち行列が入っていることがあり得る。データ項目について受取った書込要求は、書込要求待ち行列に記憶されてマスタにより順次処理される。ここに示す例では、マスタ100はノード3からの書込要求を最初に処理し、一方でノード1からの書込要求は書込要求待ち行列に留まる。マスタ100は、ノード3の書込要求への応答として、V3を永続的記憶装置に書込む許可をノード3に与える書込実行メッセージをノード3に送る。
直接書込方式を用いると、各ノードはノードのチェックポイント待ち行列内の各エントリについて書込要求メッセージを送る。或る場合には、ノードは書込要求への応答として書込実行メッセージを受取ることになる。書込実行メッセージが受取られると、要求しているノードは書込動作を実行しなければならない。他の場合には、要求しているノードは書込要求への応答として書込通知を受取ることになる。書込通知メッセージが受取られる場合には、要求しているノードは書込動作を実行する必要はない。
ある。ロックは望ましくない。複製が可能であれば、現在のデータ項目(すなわちXロックまたはSロック)を有するノードに書込要求を向けることが好ましい。
間接書込方式および直説書込方式のいずれにおいても、データ項目が1つのノードのキ
ャッシュでダーティ化されたにすぎない場合でも、書込要求メッセージがデータ項目のマスタに送られる。多くのデータベースシステムでは、データベースワーキングセットのかなりの部分がノード間で区分化され得るが、これはノード間での内部永続的記憶装置構造の区分化(たとえば各ノードについての別個のデータ項目フリーリスト)、またはノードへのトランザクションのアプリケーションレベルの経路付けのいずれかによって行なわれる。このようなシステムでは、データ項目はただ1つのノードのキャッシュでのみダーティ化されていることが頻繁にある。オーナベースの書込方式では、これらの状況下で書込要求を送る必要性が回避される。
オーナベースの書込方式では、データ項目のオーナが、永続的記憶装置へのデータ項目の書込前にデータ項目のマスタから許可を得る必要性が回避される。しかしながら、2つのノードが同時に永続的記憶装置へのデータ項目の書込を試みる可能性を回避するために、データ項目の現在のオーナがデータ項目を永続的記憶装置に書込んでいる間、データ項目の所有権は変更を許されない。したがって、排他ロックのホルダがオーナと見なされるシステムでは、データ項目の現在のオーナがデータ項目を永続的記憶装置に書込む間、排他ロックは別のノードに転送され得ない。結果として、データ項目を修正したいと望む後続のノードへの修正許可の転送は、データ項目が永続的記憶装置に書込まれるまで遅延される。このような遅延はシステムの全体的な性能を低下させる。加えて、オーナがデータ項目をダーティ化していないかもしれないときでも、データ項目のオーナがそのダーティ待ち行列内にデータ項目をリンクしなければならないことは望ましくない。
つのノードのキャッシュ内でのみ潜在的にダーティであり得る場合、ロック役割は「ローカル」である。したがって、データ項目に対するロックがシステム全体で初めてノードに付与される場合、ロックにはローカルの役割が付与される。役割がローカルであるロックの下でのデータ項目は、マスタの介入なしにロックを保持するノードによって永続的記憶装置から読出され、かつ永続的記憶装置に書込まれ得る。
outされると、データ項目が保持ノードのキャッシュにおいてダーティであれば、ロックについての役割は「グローバル」に変換される。そうでなければ、データ項目とともに転送されるロックはローカルの役割に留まる。したがって、データ項目がグローバルの役割にある必要があるのは、マルチノードシステム内のデータ項目について少なくとも1つのPIがある場合のみである。
され得る。現在のバージョンを永続的記憶装置に書込むノードは、ノードがデータ項目に対する排他ロックを保持するという事実に基づき、ノードが現在のバージョンを書込んでいることを判断できる。この例ではV3が現在のバージョンであるため、V3を永続的記憶装置に書込んだ後、ノード3はモードをグローバルからローカルに変換する。
上述のシナリオでは、書込通知メッセージの送信は直ちに該当のノードすべてに対して行われ得る、または送信は該当のノードのうちいくつかまたはすべてに対して遅延され得ることに言及した。一実施例に従うと、永続的記憶装置への書込動作が実行されると、書込通知メッセージは直ちに、実行された書込でカバーされるPIについての書込を要求したノードに対してのみ送られる。たとえば図1でマスタ100はノード1に書込通知メッセージを直ちに送るが、ノード2には送らない。
る際におけるpingメッセージか、の一部として通信され得る。したがって他の該当のノードは、そのPIを書込または交換する必要がある場合、ローカルロックマネージャとのみ通信することでそのPIを破棄できる。
マスタと該当のノードとの間で通信されるメッセージの数を減らす別の技術は、マスタからおよびここへの書込要求メッセージおよび書込通知メッセージをバッチ処理して、より少ない、より大きなメッセージにすることでメッセージの数を減らすことを含む。たとえばノード1が3つのエントリでそのチェックポイント待ち行列を進めようと望む場合、ノード1は、永続的記憶装置に書込まれなければならないすべての3つのデータ項目(およびこれらのそれぞれのバージョン)を識別する単一の書込要求メッセージをマスタ100に送り得る。同様に、完了している永続的記憶装置への書込動作3つに対してノード1が関心を有する場合、マスタ100は、永続的記憶装置に書込まれた3つのデータ項目(およびこれらのそれぞれのバージョン)を識別する単一の書込確認メッセージをノード1に送り得る。
上述のシナリオでは、各ノードのキャッシュは各データ項目について多くとも1つのPIを有すると仮定された。現実には、データ項目についてのいくつかのバージョンが永続的記憶装置に書込まれる前に、データ項目は多数のノードを通じて何回か循環し得る。ダーティデータ項目が別のノードにping outされるたびごとにPIを作成すること、および、ノードのキャッシュ内のダーティまたはチェックポイント待ち行列において異なる位置でいくつかのPIについてエントリがあることは適切であろう。
ポイント待ち行列内の同じ位置に留まらなければならないが、それは、最初のPIが作成された際にデータ項目に対してなされた変更がデータ項目の永続的記憶装置バージョン上に反映されるまで、チェックポイントは完了したと見なされ得ないからである。さらに、ディスクへの書込動作によって併合の最後のバージョンがカバーされるまで、併合したエントリはチェックポイント待ち行列からなくされ得ない。
データ項目のPIが併合される場合、データ項目の或るバージョンが異なるノードで永続的記憶装置に書込まれる際、バージョンは、併合したPIに反映される変更のうちいくつかをカバーするが、すべてをカバーしないことがあり得る。たとえばノードBがデータ項目5のV7を永続的記憶装置に書込む場合、併合したエントリ702のV1およびV6と関連付けられた変更のみがカバーされる。V8と関連付けられた変更はカバーされない。
或るシステムでは、ダーティまたはチェックポイント待ち行列はリンクされたリストとして実現される。リンクされたリストを走査し、待ち行列内の正しい位置に併合エントリを挿入することは、CPU使用に関して不経済となるおそれがある。これを容易するためにメモリ内インデックスが実現可能であるが、これによってデータ項目をチェックポイント待ち行列にリンクする際に余分なオーバーヘッドが生じてしまうであろう。
されそうな場合には、併合動作は実行されない。
3のバージョンV7についてチェックポイント待ち行列エントリが存在すると仮定する。データ項目3の新たなバージョンについて新たなエントリを作成すべきか、または既存のエントリと新たなバージョンを併合すべきかを判断することが必要であり得る。併合すべきかどうかの決定はたとえば、(1)リドゥログにある最も新しい変更と、(2)ダーティまたはチェックポイント待ち行列のヘッドでのデータ項目になされた最も早い変更とに関して、既存のエントリになされた最初の変更がどれだけ古いかに基づき、発見的に決定され得る。この発見的手法では、既存のエントリと関連付けられたPIがかなりすぐに書込まれる(または書込によってカバーされる)であろう可能性が推定され、ノードはPI内の最初の変更を過ぎてチェックポイントを拡張できる。
チェックポイント待ち行列のヘッドにあるデータ項目がV7に近い時間と関連付けられていれば、既存のエントリと関連付けられたPIがもうすぐ書込まれる(または書込によりカバーされる)であろう可能性は高く、したがって新たなバージョンについて別個のエントリを設けるべきである。逆に、リドゥログにおける最も新しい変更がV7に近い時間に対応し、かつチェックポイント待ち行列のヘッドでのデータ項目がV7よりもずっと早い時間に対応するのであれば、既存のエントリと関連付けられたPIがもうすぐ書込まれる(または書込でカバーされる)可能性は低い。したがって新たなバージョンを既存のエントリに併合すべきである。
上述のように、チェックポイント待ち行列のヘッドにあるエントリは、故障後に回復処理が始まらなければならないリドゥログ内の位置を判断する。正確な回復のためには、クラスタ内のノードがいくつ故障に関与していたかに拘わらず、チェックポイント待ち行列のヘッドでのエントリに対応する場所からリドゥログの処理を始めることが安全である。
と望むノードは、単一ノード故障チェックポイント待ち行列のヘッドにあるエントリに対応するダーティデータ項目を、単に別のノードに転送できる。ダーティデータ項目を受取るノードがデータ項目を要求したことがなかったとしても、ダーティデータ項目の転送はこの目的のために実行され得る。
ビンベースのバッチ方式に従うと、2つの別個のチェックポイント待ち行列、すなわちグローバルにダーティなチェックポイント待ち行列と、ローカルにダーティなチェックポイント待ち行列とがノード内に維持される。ノードのローカルにダーティなチェックポイント待ち行列は、このノードにおいてのみダーティであるデータ項目についてのエントリを含む。ノードのグローバルにダーティなチェックポイント待ち行列は、他のノードでもダーティ化されたデータ項目についてのエントリを含む。
、この時間範囲内で最初にダーティ化されたデータ項目のバージョンについてのエントリが入っている。したがって、データ項目が時間T7,T9,T12でダーティ化された際に作成されたデータ項目のバージョンに、併合エントリが対応する場合、この併合エントリは、T7を含む時間範囲に対応するビンに属することになるが、それはT7が、このエントリでカバーされる「最初にダーティ化された時間」だからである。
マルチノードシステム内で実行されるディスクへの書込動作を追跡し続けることは重要
である。このような情報はたとえば、チェックポイント待ち行列からなくされ得るのはどのエントリかを判断、およびデータ項目の過去イメージがディスクに書込可能および/またはキャッシュから割当解除(「フラッシュ(flush)」)可能であるかどうかを判断す
るのに極めて重要である。具体的には、データ項目のより後のバージョンがディスクに既に書込まれていれば、データ項目のバージョンはディスクに書込まれてはならない。さらに、データ項目の最も新しいバージョンがディスクに書込まれた場合、データ項目のPIバージョンはキャッシュからフラッシュされ得る。
下で進行し得る。具体的に、データ項目の特定のバージョンがディスクに書込まれなかったという仮定の下でシステムが進行する。しかしながら、データ項目の疑わしいバージョンをディスクに書込むのに先立ち、システムはディスクに常駐するデータ項目のバージョンを読出す。データ項目のディスク上のバージョンがより新しければ、ディスクへの書込動作は実行されず、マスタには、どのバージョンがディスクにあるかが知らされる。任意に、マスタは次に書込通知メッセージを、ディスクにあるバージョンでカバーされるバージョンを保持するノードすべてに送る。一方、データ項目は回復される。
上述のシナリオの多くで、各ノードはPIがディスクへの書込動作でカバーされるまでPIを維持するように構成されると仮定した。しかしながら、この発明の一実施例に従うと、このようなPIは維持されない。
ルにダーティなチェックポイント待ち行列を維持する。ローカルにダーティなチェックポイント待ち行列内のエントリと関連付けられたダーティデータ項目は、ディスクへの書込動作でカバーされるまで保持される。しかしながら、グローバルにダーティなチェックポイント待ち行列内のエントリと関連付けられたPIはこの態様で維持される必要はない。
ト待ち行列内にデータ項目の過去イメージを維持する代わりに、データ項目自体を破棄でき、データ項目ヘッダまたは制御ブロックはグローバルにダーティな待ち行列内にリンクされる。
チェックポイントレコードは、このノードでなされた最初の変更のバージョン数と、このノードにおいて1回ダーティ化されたが、その後でping outされて、永続的記憶装置に書込まれていないデータ項目のリストとからなる。一旦pingされるとキャッシュはダーティデータ項目を追跡できなくなるが、一方でマスタにおいてロックをなおオープンのままにしておく(すなわちロックは書込通知があるまでクローズにされない)。
図9は、この発明の実施例が実現され得るコンピュータシステム900を例示したデータ項目の図である。コンピュータシステム900は、情報の通信を行なうためのバス902または他の通信メカニズム、および、情報を処理するための、バス902に結合されるプロセッサ904を含む。コンピュータシステム900はまた、プロセッサ904によって実行されるべき情報および命令の記憶のための、バス902に結合されるランダムアクセスメモリ(RAM)または他の動的記憶装置等のメインメモリ906を含む。メインメモリ906はまた、プロセッサ904によって実行されるべき命令の実行中に一時的数値変数または他の中間情報を記憶するために用いられ得る。コンピュータシステム900はさらに、プロセッサ904のための命令および静的情報を記憶するための、バス902に結合される読出専用メモリ(ROM)908または他の静的記憶装置を含む。磁気永続的記憶装置または光学永続的記憶装置等の記憶装置910が、設けられ、情報および命令を
記憶するためにバス902に結合される。
Claims (9)
- 永続的記憶装置へのダーティデータ項目の書込を前記永続的記憶装置に接続されたプロセッサによって調整するための方法であって、
第1のノードのキャッシュに存在するダーティデータ項目に対応するエントリであって待ち行列に入れられたエントリに対応するダーティデータ項目を前記第1のノードから他のノードに転送することを前記他のノードが要求した時に応じて、前記待ち行列に入れられたエントリを第1の待ち行列から第2の待ち行列へ動かすステップを含み、前記第1の待ち行列と前記第2の待ち行列とは、前記第1のノード内で保持されており、
どのダーティデータ項目を永続的記憶装置へ書込むかを選択するステップとを含み、前記選択するステップは、さらに、前記第2の待ち行列におけるエントリに対応するダーティデータ項目に優先度を与えるステップを含む、方法。 - エントリを動かすステップは、前記第1のノードによって受けられたメッセージに応答してエントリを前記第1の待ち行列から前記第2の待ち行列へ動かすステップを含み、前記メッセージは、別のノードが前記エントリに対応する前記ダーティデータ項目を要求したことを示す、請求項1に記載の方法。
- 永続的記憶装置へのダーティデータ項目の書込を前記永続的記憶装置に接続されたプロセッサによって調整するための方法であって、
前記ダーティデータ項目の各々について強制書込カウントをロードするステップと、
ダーティデータ項目が1つのノードによって、ダーティデータ項目を別のノードへ転送するために永続的記憶装置に書込まれるたびに、ダーティデータ項目の強制書込カウントを増分するステップと、
ダーティデータ項目に関連する書込カウントに基づいて、どのダーティデータ項目を永続的記憶装置に書込むかを選択するステップとを含む、方法。 - 或るしきい値を上回る強制書込カウントを有するダーティデータ項目を特定の待ち行列に記憶させるステップと、
永続的記憶装置に書込むダーティデータ項目を選択する場合に、前記特定の待ち行列に記憶されたダーティデータ項目に優先度を与えるステップとをさらに含む、請求項3に記載の方法。 - 請求項1から4のいずれかに記載の方法をコンピュータに行なわせるためのプログラムを格納した、コンピュータ読出可能な媒体。
- 永続的記憶装置へのダーティデータ項目の書込を調整するための装置であって、
第1のノードのキャッシュに存在するダーティデータ項目に対応するエントリであって待ち行列に入れられたエントリに対応するダーティデータ項目を前記第1のノードから他のノードに転送することを前記他のノードが要求した時に応じて、前記待ち行列に入れられたエントリを第1の待ち行列から第2の待ち行列へ動かす手段を含み、前記第1の待ち行列と前記第2の待ち行列とは、前記第1のノード内で保持されており、
どのダーティデータ項目を永続的記憶装置へ書込むかを選択する選択手段とを含み、前記選択手段は、前記第2の待ち行列におけるエントリに対応するデータ項目に優先度を与える手段を含む、装置。 - 前記移動手段は、前記第1のノードによって受けられたメッセージに応答してエントリを前記第1の待ち行列から前記第2の待ち行列へ動かし、前記メッセージは、別のノードが前記エントリに対応するデータ項目を要求したことを示す、請求項6に記載の装置。
- 永続的記憶装置へのダーティデータ項目の書込を調整するための装置であって、
前記ダーティデータ項目の各々について強制書込カウントを維持する手段と、
ダーティデータ項目が1つのノードによって、ダーティデータ項目を別のノードへ転送するために永続的記憶装置に書込まれるたびに、ダーティデータ項目の強制書込カウントを増分する手段と、
ダーティデータ項目に関連する書込カウントに基づいて、どのダーティデータ項目を永続的記憶装置に書込むかを選択する手段とを含む、装置。 - 或るしきい値を上回る強制書込カウントを有するダーティデータ項目を特定の待ち行列に格納する手段と、
永続的記憶装置に書込むダーティデータ項目を選択する場合に、前記特定の待ち行列に格納されたダーティデータ項目に優先度を与える手段とをさらに含む、請求項8に記載の装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US27427001P | 2001-03-07 | 2001-03-07 | |
US10/092,047 US7065540B2 (en) | 1998-11-24 | 2002-03-04 | Managing checkpoint queues in a multiple node system |
PCT/US2002/006981 WO2002073416A2 (en) | 2001-03-07 | 2002-03-07 | Managing checkpoint queues in a multiple node system |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008213995A Division JP4486689B2 (ja) | 2001-03-07 | 2008-08-22 | 故障後、どこで回復するかについての情報を管理する方法、故障後、回復するための方法、および、多数のキャッシュを含むシステムにおける故障の後、データ項目の現在のバージョンを回復させるための方法 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2005506598A JP2005506598A (ja) | 2005-03-03 |
JP2005506598A5 JP2005506598A5 (ja) | 2005-08-04 |
JP4242155B2 true JP4242155B2 (ja) | 2009-03-18 |
Family
ID=40564944
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002572008A Expired - Lifetime JP4242155B2 (ja) | 2001-03-07 | 2002-03-07 | 永続的記憶装置へのダーティデータ項目の書込を調整するための方法、当該方法をコンピュータに行なわせるためのプログラムを格納したコンピュータ読出可能な媒体、および、永続的記憶装置へのダーティデータ項目の書込を調整するための装置 |
JP2008213995A Expired - Lifetime JP4486689B2 (ja) | 2001-03-07 | 2008-08-22 | 故障後、どこで回復するかについての情報を管理する方法、故障後、回復するための方法、および、多数のキャッシュを含むシステムにおける故障の後、データ項目の現在のバージョンを回復させるための方法 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008213995A Expired - Lifetime JP4486689B2 (ja) | 2001-03-07 | 2008-08-22 | 故障後、どこで回復するかについての情報を管理する方法、故障後、回復するための方法、および、多数のキャッシュを含むシステムにおける故障の後、データ項目の現在のバージョンを回復させるための方法 |
Country Status (1)
Country | Link |
---|---|
JP (2) | JP4242155B2 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6199808B2 (ja) * | 2014-06-06 | 2017-09-20 | 株式会社東芝 | データベース装置およびデータアクセス方法 |
US10058661B2 (en) | 2014-12-04 | 2018-08-28 | Norton (Waterford) Limited | Inhalation monitoring system and method |
JP7106953B2 (ja) * | 2018-04-10 | 2022-07-27 | 富士通株式会社 | サーバ切り替えプログラム、サーバ切り替え方法、及びサーバ切り替えシステム |
CN110727652B (zh) * | 2018-07-17 | 2023-06-30 | 阿里巴巴集团控股有限公司 | 一种云存储处理系统及其实现数据处理的方法 |
CN113239059A (zh) * | 2021-05-28 | 2021-08-10 | 北京达佳互联信息技术有限公司 | 一种分布式锁的切换方法、装置、服务器和存储介质 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07168730A (ja) * | 1993-12-15 | 1995-07-04 | Toshiba Corp | チェックポイント採取方式 |
JPH096546A (ja) * | 1995-06-19 | 1997-01-10 | Toshiba Corp | ディスク制御システム |
JP3154942B2 (ja) * | 1995-09-11 | 2001-04-09 | 株式会社東芝 | 分散チェックポイント生成方法および同方法が適用される計算機システム |
JP3258228B2 (ja) * | 1996-03-15 | 2002-02-18 | 株式会社東芝 | チェックポイント生成方法 |
JP3120033B2 (ja) * | 1996-03-19 | 2000-12-25 | 株式会社東芝 | 分散メモリ型マルチプロセッサシステム及び故障回復方法 |
JPH09330237A (ja) * | 1996-06-07 | 1997-12-22 | Toshiba Corp | プロセス切り替え装置およびプロセス切り替え方法 |
JP3725318B2 (ja) * | 1997-01-24 | 2005-12-07 | 株式会社東芝 | プロセス状態の管理方法およびプロセス管理装置、並びにこれを行うプログラムを記録した記録媒体 |
-
2002
- 2002-03-07 JP JP2002572008A patent/JP4242155B2/ja not_active Expired - Lifetime
-
2008
- 2008-08-22 JP JP2008213995A patent/JP4486689B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2009009599A (ja) | 2009-01-15 |
JP4486689B2 (ja) | 2010-06-23 |
JP2005506598A (ja) | 2005-03-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4293790B2 (ja) | 分散共有ディスクシステムにおけるディスク書込 | |
US7065540B2 (en) | Managing checkpoint queues in a multiple node system | |
US7930278B2 (en) | Methods to perform disk writes in a distributed shared disk system needing consistency across failures | |
AU2002335503A1 (en) | Disk writes in a distributed shared disk system | |
US7266669B2 (en) | File system with file management function and file management method | |
EP1055173B1 (en) | Method and apparatus for transferring data from the cache of one node to the cache of another node | |
US20040039962A1 (en) | Method and apparatus for making available data that was locked by a dead transaction before rolling back the entire dead transaction | |
CA2440277C (en) | Managing checkpoint queues in a multiple node system | |
AU2002248570A1 (en) | Managing checkpoint queues in a multiple node system | |
JP4486689B2 (ja) | 故障後、どこで回復するかについての情報を管理する方法、故障後、回復するための方法、および、多数のキャッシュを含むシステムにおける故障の後、データ項目の現在のバージョンを回復させるための方法 | |
EP1366420B1 (en) | Disk writes in a distributed shared disk system | |
EP1176509B1 (en) | Managing recovery of data after failure of one or more caches | |
AU2003213536B2 (en) | Method and apparatus for transferring data from the cache of one node to the cache of another node | |
EP1408408B1 (en) | Managing a resource used by a plurality of nodes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050203 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080226 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20080523 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20080530 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20080625 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20080702 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20080725 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20080801 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080822 |
|
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: 20081209 |
|
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: 20081224 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120109 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 4242155 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130109 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130109 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |