JP2008502953A - 分散システムにおけるトランスペアレントなチェックポインティング及びプロセス移行 - Google Patents
分散システムにおけるトランスペアレントなチェックポインティング及びプロセス移行 Download PDFInfo
- Publication number
- JP2008502953A JP2008502953A JP2006541414A JP2006541414A JP2008502953A JP 2008502953 A JP2008502953 A JP 2008502953A JP 2006541414 A JP2006541414 A JP 2006541414A JP 2006541414 A JP2006541414 A JP 2006541414A JP 2008502953 A JP2008502953 A JP 2008502953A
- Authority
- JP
- Japan
- Prior art keywords
- checkpoint
- distributed
- computation
- list
- compute node
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1438—Restarting or rejuvenating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
- G06F11/1451—Management of the data involved in backup or backup restore by selection of backup contents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1464—Management of the backup or restore process for networked environments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1469—Backup restoration techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1471—Saving, restoring, recovering or retrying involving logging of persistent data for recovery
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2023—Failover techniques
- G06F11/203—Failover techniques using migration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/215—Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
-
- 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/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/065—Replication mechanisms
-
- 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
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1479—Generic software techniques for error detection or fault masking
- G06F11/1482—Generic software techniques for error detection or fault masking by means of middleware or OS functionality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2046—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant where the redundant components share persistent storage
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/82—Solving problems relating to consistency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/84—Using snapshots, i.e. a logical point-in-time copy of the data
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Data Mining & Analysis (AREA)
- Computer Security & Cryptography (AREA)
- Retry When Errors Occur (AREA)
- Multi Processors (AREA)
- Computer And Data Communications (AREA)
Abstract
【選択図】図3
Description
1.現在の実施方法は全て遮断的である。グローバル状態の検出の間、及びそのグローバル状態を二次記憶装置へ記録する間、計算は進行することができない。この結果として、計算時間の喪失を生じ、次にこれは分散システムの効率性を低減する。
2.現在の実施方法はトランスペアレントでない。実施方法は、ユーザ・レベルのアプリケーション自身、チェックポインティング以外の一次目的を有する幾つかのミドルウェア、又はオペレーティング・システム(OS)での知識を必要とする。現在の実施方法は、分散システムの全てのレベルへ完全にトランスペアレントな独立型エンティティとして機能しない。
3.現在の実施方法は移行を許さない。分散システムの個々のノードが故障すると、ミドルウェア層への修正なしに、そのノードが実行していたプロセスを、異なった非故障ノードへ移行することはできない。その結果、故障ノードが手作業で修復されるか、オペレータによって置換されるまで、分散システムは計算を再開することができない。
4.現在の実施方法は、チェックポイントの真の非同期的誘導を許さない。多くの実施方法は、或る動作の間、例えば、通信に関連する多くの動作の間、チェックポイントが取られることを許さない。これらの実施方法は、保護された動作が終了するまで、チェックポイント動作を遅延させる必要がある。
1.送信者のコミット及び受信者のアンコミットを利用して、チェックポイントが取られるとき通信チャンネルの状態が一貫して維持される状態を保証するウインドウ型メッセージ・ロギング・メカニズム。
2.個別の実行スレッドで実行することができ、チェックポイントが安定記憶装置へ保存されている間、計算が妨げらないで進行することを可能にする非遮断的、順序外、書き込み時コピー・プロトコル。これは、グローバル同期動作からローカル一時停止へチェックポイント動作を縮小し、二次記憶システムのアクセス・スピードではなくOSのメモリ保護メカニズムにコミット段階の下限を置く。
3.ローカル・チェックポイントを調整してグローバル一貫性を保証する新規なグローバル状態検出方法。これは、計算の遮断を必要とせず、分散システムの全てのレベルまでトランスペアレントであるような方法で達成される。
1.メッセージmは、Psによって取られたローカル・チェックポイントの前に送信されたが、Prによって取られたローカル・チェックポイントの後で受信された。
2.メッセージmは、ローカル・チェックポイントがPsによって取られた後に送信されたが、Prによって取られたローカル・チェックポイントの前に受信された。
3.実施形態は、更に、PrからPsへの二次肯定応答メッセージmaを付加するので、Prがmaを送信した後にチェックポイントし、Psが肯定応答を受信する前にチェックポイントするとき、第3の非一貫性の存在が考えられる。
ここで、SiはPiのローカル状態を表し、Cijは2つのプロセスPiとPjとの間の通信チャンネルの状態を表す。Cijは、更に、メッセージMijの集合へ縮小され得る。ここで、各々のメッセージmはPi又はPjによって送信されており、対応するプロセスによっては未だ受信されていない。ウインドウ型メッセージ・ロギング・メカニズムの使用によって、全てのメッセージmは送信者のログへコミットされてもよく、既に受信されていれば、受信者の状態へ記憶されてもよい。これは、通信チャンネルCijの状態がローカル状態Si及びSjの中に完全に含まれることを意味する。したがって、グローバル分散状態は、次式へ縮小される。
1.チェックポイントの間に、通信チャンネル及び両端おけるプロセスのグローバルな一貫性を保証するトランスペアレントで移行能力のある方法。
2.プロセスの状態を原子的に記憶する(即ち、状態の崩壊又は変化が生じない方法で記憶する)方法。この方法は、グローバルな同期動作からプロセスごとのローカル動作へ分散計算のチェックポイントを縮小する。
3.分散計算に参加する全てのプロセスのローカル・チェックポインティングを調整して、個々のチェックポイントの集団がグローバルに一貫した状態を表すようにし、該グローバル一貫状態を使用して、後の時点で計算を再開できるようにするトランスペアレントで非遮断的な方法。
4.チェックポイント状態を記憶する非遮断的方法であって、チェックポイント状態を不揮発性記憶装置へ記憶するプロセスの間にアプリケーションが計算を続行できるようにする方法。
Claims (46)
- 複数の計算ノードを備える分散システムで実行している分散計算の複数のプロセスのためにチェックポイントを作成する方法であって、
各々のプロセスのプロセス間通信を一時停止するステップと、
各々の計算ノードに存在するチェックポイント・ライブラリを使用してチェックポイントを作成するステップと、
複数の計算ノード各々のために、
チェックポイント区間で修正されたメモリ領域の第1のリストを記憶するステップと、
メモリ領域の第2のリストを記憶するステップと、
チェックポイントを作成するステップが、(i)第1のリストを第2のリストとして記録するステップを備え、(ii)チェックポイント区間で修正されたメモリ領域のリストへの書き込みを防止するステップと、(iii)チェックポイントが完了するまで、計算ノードの各々で計算と並列に続行するステップと、
を備える方法。 - 更に、各々のプロセスへチェックポイント・コマンドを送信することによって、チェックポイントの作成を開始するステップを備える、請求項1に記載の方法。
- 複数のプロセスが複数の計算ノードによって状態され、
各々のプロセスのプロセス間通信を一時停止するステップがフリーズ期間に行われる、
請求項1に記載の方法。 - 更に、フリーズ期間に全てのプロセスのローカル実行を一時停止するステップを備える、請求項3に記載の方法。
- 更に、分散システムで複数の分散アプリケーションを実行するステップを備え、チェックポイントを作成するステップが、分散アプリケーションの信頼性を向上する、請求項1に記載の方法。
- 更に、各々の計算ノードで分散アプリケーション及びチェックポイント・ライブラリを実行するステップを備え、チェックポイント・ライブラリが分散アプリケーションへリンクされ、チェックポイント・ライブラリが計算ノードのユーザ空間に存在する、請求項1に記載の方法。
- 第1のリストが現在のコミット・リスト・バッファの中に記憶され、第2のリストが前のコミット・リスト・バッファの中に記憶される、請求項1に記載の方法。
- 現在のコミット・リスト・バッファを記録するステップ及び複数のメモリ領域への書き込みを防止するステップの後で、各々の計算ノードのために、チェックポイントを作成するステップが計算ノードの各々で計算と並列に続行する、請求項7に記載の方法。
- 分散システムで実行している複数のプロセスのためにチェックポイントを作成する分散システムであって、
各々の計算ノードでオペレーティング・システムが実行する複数の計算ノードと、
各々の計算ノードのユーザ空間に存在するチェックポイント・ライブラリであって、複数の計算ノードの中の対応する計算ノードのオペレーティング・システムにトランスペアレントであるチェックポイント・ライブラリと、
分散アプリケーション及びミドルウェアが各々の計算ノードに存在し、チェックポイント・ライブラリが、更に、分散アプリケーション及びミドルウェアにトランスペアレントであり、複数のプロセスの任意の1つが、複数の計算ノードの中で1つのノードから他のノードへ移行されること
を備える分散システム。 - 全てのプロセス間メッセージ、ダイナミック・メモリ割り付け、二次記憶アクセス、及び各々の計算ノードの信号処理が、同じ計算ノードに存在するチェックポイント・ライブラリを介して処理される、請求項9に記載の分散システム。
- ウインドウ型ロギング・プロトコルがチェックポイント・ライブラリの中で実施される、請求項9に記載の分散システム。
- 相互接続ネットワークによって接続された複数の計算ノードを備え、複数の計算ノードが、送信プロセスを実行してローカル・メモリを備える送信ノード及び受信プロセスを実行してローカル・メモリを備える受信ノードを含む分散システムで実行している分散計算の複数のプロセスについてチェックポイントを作成するため、分散システムを動作させる方法であって、
各々のメッセージを相互接続ネットワークへ送信する前に、送信プロセスによって送信された複数のメッセージの各々を、送信ノードのローカル・メモリに記憶されたローカル・ログへコミットするステップと、
各々のメッセージを受信プロセスへ渡すように動作可能な受信ノードで実行しているチェックポイント・ライブラリによって各々のメッセージを受信するステップと、
各々のメッセージを受信プロセスへ渡す前に、送信ノードのローカル・ログから各々のメッセージをアンコミットするステップと
を備える方法。 - ローカル・ログから各々のメッセージをアンコミットするステップが、各々のメッセージの成功した引き渡しを確認するため受信プロセスからの肯定応答を受信した後に起こる、請求項12に記載の方法。
- 更に、分散システムのためにチェックポイントを作成するステップと、
最後の一貫したチェックポイントから分散計算をリスタートした後、チェックポイントを作成する前に、送信ノードのローカル・ログへコミットされたが続いてアンコミットされなかった各々のメッセージを再送信するステップと
を備える、請求項12に記載の方法。 - 更に、チェックポイントを作成する前に、受信プロセスによって既に受信されて再送信されたメッセージを廃棄するステップと、
受信ノードによって廃棄されたメッセージを送信プロセスのローカル・ログからアンコミットするステップと
を備える、請求項14に記載の方法。 - 複数のプロセスを含む第1の分散計算が分散システムで実行されるプリエンプティブ・スケジューリングの方法であって、
ウインドウ型メッセージング・ロギング・プロトコルを使用して第1の分散計算をチェックポイントするステップと、
分散システムによって受信されたプリエンプティブ要求信号に応答して第1の分散計算の実行を停止するステップと、
第1の分散計算の実行を停止した後、分散システムで第2の分散計算の実行を再開するか第2の分散計算を開始するステップと
を備える方法。 - 更に、第1の分散計算の実行を停止した後、分散システムの中で複数のプロセスの1つ以上を移行するステップを備える、請求項16に記載の方法。
- 次の1つ、即ち分散システムへ結合されたスケジューリング・エンティティからのプリエンプションの要求、又は分散システムの中の計算ノードのユーザからの要求に応答して、プリエンプティブ要求信号が生成される、請求項16に記載の方法。
- プリエンプティブ要求信号がソフトウェア・アプリケーションによる指定に応答して生成され、分散システムの計算ノードで実行するチェックポイント・ライブラリについて、及び保存される必要がある状態の量が事前に定義された量よりも少ない分散計算の実行点で起こるチェックポイントについて、前記ソフトウェア・アプリケーションが所定の知識を有する、請求項16に記載の方法。
- 第1の分散計算のチェックポインティングが複数のチェックポイント区間で周期的に行われ、
分散システムの中でリソースの故障が検出されたことに応答して、プリエンプティブ要求信号が生成され、
リソースの故障が検出されたチェックポイント区間の前の複数のチェックポイント区間の1つで、第1の分散計算のチェックポインティングが行われる、
請求項16に記載の方法。 - 更に、第2の分散計算の実行を停止し、次に第1の分散計算の実行を再開するステップを備える、請求項16に記載の方法。
- 第1の分散計算の実行を再開するステップが、スケジューリング・エンティティによる要求に応答する、請求項21に記載の方法。
- 第1の分散計算のチェックポインティングが、第1の分散計算と同期しないでスケジューリング・エンティティから信号を送信することによって開始され、
分散計算のチェックポインティングが完了した後に、第1の分散計算の実行の停止が行われる、
請求項16に記載の方法。 - スケジューリング・エンティティから送信された信号が、真のオペレーティング・システム信号又はバンド外メッセージである、請求項23に記載の方法。
- 複数の計算ノードを含む分散システムでチェックポイントを記憶する方法であって、複数の計算ノードの各々のために、
計算ノードにおける計算の間にチェックポイント区間で修正されたメモリ領域のリストを含む現在のコミット・リストを維持するステップと、
計算ノードにおける計算を一時停止するステップと、
計算ノードにおける計算を一時停止した後、計算ノードで現在のコミット・リストに含まれるメモリ領域のリストを前のコミット・リストへ移動するステップと、
現在のコミット・リストをクリアするステップと、
チェックポイント区間で修正されたメモリ領域のリストへの書き込みを防止するステップと、
メモリ領域のリストへの書き込みを防止した後、計算ノードで計算を再開してチェックポイントを記憶するステップと
を備える方法。 - 計算ノードで計算を一時停止するステップがプロセス間通信を一時停止するステップを備える、請求項25に記載の方法。
- チェックポイントを記憶するステップが、
前のコミット・リストにリストされたメモリ領域の各々をチェックポイント・ファイルへ記憶するステップと、
メモリ領域がチェックポイント・ファイルへ記憶された後、前のコミット・リストからメモリ領域を除去するステップと
を備える、請求項25に記載の方法。 - 前のコミット・リストにリストされたメモリ領域を記憶するステップが、前のコミット・リストにリストされたメモリ領域を順次に全探索するステップを備える、請求項27に記載の方法。
- 現在のコミット・リストに含まれるメモリ領域のリストを前のコミット・リストへ移動した後に、チェックポイント区間で修正されたメモリ領域のリストへの書き込み防止が行われる、請求項25に記載の方法。
- 現在のコミット・リストに含まれるメモリ領域のリストを前のコミット・リストへ移動する前に、チェックポイント区間で修正されたメモリ領域のリストへの書き込み防止が行われる、請求項25に記載の方法。
- 更に、計算を再開した後に不揮発性記憶装置へチェックポイントを記憶するステップを備える、請求項25に記載の方法。
- 不揮発性記憶装置が、複数の計算ノードの各々からアクセスできる共有記憶ファシリティである、請求項31に記載の方法。
- チェックポイントを記憶するステップが、情報をチェックポイント・ファイルへ記憶するステップを備え、
更に、書き込み防止メモリ領域が前のコミット・リストにあれば、計算ノードの計算が計算ノードの書き込み防止メモリ領域にアクセスしようとする試みに応答して、
書き込み防止メモリ領域をチェックポイント・ファイルへ書き込むステップと、
書き込み防止メモリ領域を前のコミット・リストから除去するステップと
を備える、請求項31に記載の方法。 - 更に、前のコミット・リストの書き込み防止メモリ領域にアクセスする試みの後で、書き込み防止メモリ領域を現在のコミット・リストへ付加するステップを備える、請求項33に記載の方法。
- チェックポイントを記憶するステップが、情報をチェックポイント・ファイルへ記憶するステップを備え、更に、計算ノードの計算が計算ノードの書き込み防止メモリ領域へアクセスしようとする試みに応答して、
チェックポイントの記憶及び計算ノードの計算を中断して、書き込み防止メモリ領域にアクセスする試みが、前のコミット・リストにリストされたメモリ領域を含むか否かを決定するステップと、
アクセスする試みが、前のコミット・リストにリストされたメモリ領域を含まない場合、現在のコミット・リストで修正されたものとして書き込み防止メモリ領域をマークするステップと、
アクセスする試みが、前のコミット・リストにリストされたメモリ領域を含む場合、リストされたメモリ領域をチェックポイント・ファイルへ書き込み、前のコミット・リストからメモリ領域を除去し、現在のコミット・リストで修正されたものとして書き込み防止メモリ領域をマークし、メモリ領域の書き込み防止を除去するステップと
を備える、請求項31に記載の方法。 - 更に、メモリ領域の書き込み防止を除去した後、チェックポイントの記憶及び計算ノードの計算を再開するステップを備える、請求項35に記載の方法。
- 書き込み防止メモリ領域が、計算ノードからアドレスできるメモリ領域である、請求項35に記載の方法。
- 分散システムで分散計算を実行している多くのプロセスの1つとして参加しているプロセスを、分散システムの第1の計算ノードから第2の計算ノードへ移行する方法であって、
ウインドウ型メッセージング・ロギング・プロトコルを使用して分散計算をチェックポイントするステップと、
第1の計算ノードから第2の計算ノードへプロセスを移行するステップと
を備える方法。 - チェックポインティングが、第1の計算ノードのユーザ・レベルでチェックポイント・ライブラリを実行し、ロギング・プロトコルを実施するためチェックポイント・ライブラリを介して第1の計算ノードで全てのプロセス間通信をリダイレクトするステップを備える、請求項38に記載の方法。
- 移行するステップが、プロセスを意図した全ての通信を第2の計算ノードへリダイレクトするステップを備える、請求項39に記載の方法。
- 全ての通信をリダイレクトするステップが、チェックポイント・ライブラリを使用して、第1の計算ノードの複数のハードウェア・アドレスを第2の計算ノードの対応するハードウェア・アドレスへマップするステップを備える、請求項40に記載の方法。
- プロセスを移行するステップが、第1の計算ノードでプロセスの実行を中断する第1の計算ノードの故障に応答して実行される、請求項38に記載の方法。
- プロセスを移行するステップが、分散計算を実質的に中断させることなく第1の計算ノードを含む1つ以上の計算ノードを分散システムから除去するため、システム管理者からの要求に応答して実行される、請求項38に記載の方法。
- 1つ以上の計算ノードを除去するステップが、1つ以上の計算ノードへのメンテナンス又はアップグレードを許容するために行われる、請求項43に記載の方法。
- 更に、分散システムで1つ以上の予備の計算ノードの集合をリザーブするステップを備え、第2の計算ノードが1つ以上の予備の計算ノードの集合の中に含まれる、請求項43に記載の方法。
- 更に、プリエンプティブ・スケジューリング・アルゴリズムを実行するスケジューリング・エンティティを使用して分散システムのリソースを管理するステップと、
プロセスを移行する前に、第1の計算ノードを異なった分散計算に使用するため、分散計算の実行を停止するステップと、
プロセスを移行するステップが、インテリジェント・スケジューリング・エンティティからの要求に応答して実行されるステップと、
を備える、請求項38に記載の方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US52025403P | 2003-11-17 | 2003-11-17 | |
PCT/US2004/038853 WO2005050404A2 (en) | 2003-11-17 | 2004-11-17 | Transparent checkpointing and process migration in a distributed system |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008502953A true JP2008502953A (ja) | 2008-01-31 |
Family
ID=34619451
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006541414A Pending JP2008502953A (ja) | 2003-11-17 | 2004-11-17 | 分散システムにおけるトランスペアレントなチェックポインティング及びプロセス移行 |
Country Status (4)
Country | Link |
---|---|
US (6) | US7536591B2 (ja) |
EP (1) | EP1690163A4 (ja) |
JP (1) | JP2008502953A (ja) |
WO (1) | WO2005050404A2 (ja) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011510381A (ja) * | 2008-01-11 | 2011-03-31 | インターナショナル・ビジネス・マシーンズ・コーポレーション | ソフトウェア・コンポーネントの再開可能なプロビジョニングのためのシステムおよび方法 |
JP2011519460A (ja) * | 2008-05-01 | 2011-07-07 | ヒューレット−パッカード デベロップメント カンパニー エル.ピー. | チェックポイントデータの不揮発性メモリへの保存 |
JP2011186606A (ja) * | 2010-03-05 | 2011-09-22 | Nec Corp | コンピュータシステム、およびそのチェックポイントリスタート方法 |
JP2012511784A (ja) * | 2008-12-12 | 2012-05-24 | アマゾン テクノロジーズ インコーポレイテッド | プログラム実行状態の保存 |
JP2013156886A (ja) * | 2012-01-31 | 2013-08-15 | Nec Corp | 計算装置、演算処理システム、チェックポイント設定方法及びプログラム |
US8819106B1 (en) | 2008-12-12 | 2014-08-26 | Amazon Technologies, Inc. | Managing distributed execution of programs |
WO2015173857A1 (ja) * | 2014-05-12 | 2015-11-19 | 株式会社日立製作所 | 情報処理方法及び情報処理装置 |
US9329909B1 (en) | 2009-03-31 | 2016-05-03 | Amazon Technologies, Inc. | Dynamically modifying a cluster of computing nodes used for distributed execution of a program |
JP2017037507A (ja) * | 2015-08-11 | 2017-02-16 | 日本電信電話株式会社 | 演算処理管理方法及び演算装置 |
Families Citing this family (193)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6594780B1 (en) | 1999-10-19 | 2003-07-15 | Inasoft, Inc. | Operating system and data protection |
US7337360B2 (en) * | 1999-10-19 | 2008-02-26 | Idocrase Investments Llc | Stored memory recovery system |
JP2008502953A (ja) * | 2003-11-17 | 2008-01-31 | ヴァージニア テック インテレクチュアル プロパティーズ,インコーポレイテッド | 分散システムにおけるトランスペアレントなチェックポインティング及びプロセス移行 |
EP1719056A4 (en) | 2004-08-26 | 2009-04-08 | Availigent Inc | METHOD AND SYSTEM FOR PROVIDING HIGH AVAILABILITY TO COMPUTING APPLICATIONS |
US7478276B2 (en) * | 2005-02-10 | 2009-01-13 | International Business Machines Corporation | Method for checkpointing instruction groups with out-of-order floating point instructions in a multi-threaded processor |
US7478278B2 (en) * | 2005-04-14 | 2009-01-13 | International Business Machines Corporation | Template based parallel checkpointing in a massively parallel computer system |
US7409589B2 (en) * | 2005-05-27 | 2008-08-05 | International Business Machines Corporation | Method and apparatus for reducing number of cycles required to checkpoint instructions in a multi-threaded processor |
US7779295B1 (en) * | 2005-06-28 | 2010-08-17 | Symantec Operating Corporation | Method and apparatus for creating and using persistent images of distributed shared memory segments and in-memory checkpoints |
US7681075B2 (en) * | 2006-05-02 | 2010-03-16 | Open Invention Network Llc | Method and system for providing high availability to distributed computer applications |
US8082468B1 (en) | 2008-12-15 | 2011-12-20 | Open Invention Networks, Llc | Method and system for providing coordinated checkpointing to a group of independent computer applications |
US8195722B1 (en) | 2008-12-15 | 2012-06-05 | Open Invention Network, Llc | Method and system for providing storage checkpointing to a group of independent computer applications |
US8752049B1 (en) | 2008-12-15 | 2014-06-10 | Open Invention Network, Llc | Method and computer readable medium for providing checkpointing to windows application groups |
US8078910B1 (en) * | 2008-12-15 | 2011-12-13 | Open Invention Network, Llc | Method and system for providing coordinated checkpointing to a group of independent computer applications |
US7987342B1 (en) | 2005-09-28 | 2011-07-26 | Oracle America, Inc. | Trace unit with a decoder, a basic-block cache, a multi-block cache, and sequencer |
US8024522B1 (en) | 2005-09-28 | 2011-09-20 | Oracle America, Inc. | Memory ordering queue/versioning cache circuit |
US8019944B1 (en) | 2005-09-28 | 2011-09-13 | Oracle America, Inc. | Checking for a memory ordering violation after a speculative cache write |
US8051247B1 (en) | 2005-09-28 | 2011-11-01 | Oracle America, Inc. | Trace based deallocation of entries in a versioning cache circuit |
US7937564B1 (en) | 2005-09-28 | 2011-05-03 | Oracle America, Inc. | Emit vector optimization of a trace |
US7953961B1 (en) | 2005-09-28 | 2011-05-31 | Oracle America, Inc. | Trace unit with an op path from a decoder (bypass mode) and from a basic-block builder |
US7870369B1 (en) | 2005-09-28 | 2011-01-11 | Oracle America, Inc. | Abort prioritization in a trace-based processor |
US8015359B1 (en) | 2005-09-28 | 2011-09-06 | Oracle America, Inc. | Method and system for utilizing a common structure for trace verification and maintaining coherency in an instruction processing circuit |
US7676634B1 (en) | 2005-09-28 | 2010-03-09 | Sun Microsystems, Inc. | Selective trace cache invalidation for self-modifying code via memory aging |
US7966479B1 (en) | 2005-09-28 | 2011-06-21 | Oracle America, Inc. | Concurrent vs. low power branch prediction |
US7877630B1 (en) * | 2005-09-28 | 2011-01-25 | Oracle America, Inc. | Trace based rollback of a speculatively updated cache |
US8370576B1 (en) | 2005-09-28 | 2013-02-05 | Oracle America, Inc. | Cache rollback acceleration via a bank based versioning cache ciruit |
US8037285B1 (en) | 2005-09-28 | 2011-10-11 | Oracle America, Inc. | Trace unit |
US7949854B1 (en) | 2005-09-28 | 2011-05-24 | Oracle America, Inc. | Trace unit with a trace builder |
US8499293B1 (en) | 2005-09-28 | 2013-07-30 | Oracle America, Inc. | Symbolic renaming optimization of a trace |
US8032710B1 (en) | 2005-09-28 | 2011-10-04 | Oracle America, Inc. | System and method for ensuring coherency in trace execution |
US20070097952A1 (en) * | 2005-10-27 | 2007-05-03 | Truschin Vladimir D | Method and apparatus for dynamic optimization of connection establishment and message progress processing in a multifabric MPI implementation |
US7661016B2 (en) * | 2006-02-23 | 2010-02-09 | Librato, Inc. | Method for a checkpoint library to detect corruption by an application |
US8156493B2 (en) * | 2006-04-12 | 2012-04-10 | The Mathworks, Inc. | Exception handling in a concurrent computing process |
US9898517B2 (en) * | 2006-04-21 | 2018-02-20 | Adobe Systems Incorporated | Declarative synchronization of shared data |
US8079019B2 (en) * | 2007-11-21 | 2011-12-13 | Replay Solutions, Inc. | Advancing and rewinding a replayed program execution |
US8370609B1 (en) | 2006-09-27 | 2013-02-05 | Oracle America, Inc. | Data cache rollbacks for failed speculative traces with memory operations |
US8010745B1 (en) | 2006-09-27 | 2011-08-30 | Oracle America, Inc. | Rolling back a speculative update of a non-modifiable cache line |
US7669081B2 (en) * | 2006-09-27 | 2010-02-23 | Raytheon Company | Systems and methods for scheduling, processing, and monitoring tasks |
JP5008991B2 (ja) * | 2007-01-24 | 2012-08-22 | 株式会社日立製作所 | データのリカバリを制御する装置及び方法 |
JP5595633B2 (ja) * | 2007-02-26 | 2014-09-24 | スパンション エルエルシー | シミュレーション方法及びシミュレーション装置 |
JP4479743B2 (ja) * | 2007-04-24 | 2010-06-09 | 株式会社デンソー | ロールバック方法及び情報処理装置 |
US9384159B2 (en) * | 2007-05-24 | 2016-07-05 | International Business Machines Corporation | Creating a checkpoint for a software partition in an asynchronous input/output environment |
JP5251002B2 (ja) * | 2007-05-25 | 2013-07-31 | 富士通株式会社 | 分散処理プログラム、分散処理方法、分散処理装置、および分散処理システム |
US7779298B2 (en) * | 2007-06-11 | 2010-08-17 | International Business Machines Corporation | Distributed job manager recovery |
US8631419B2 (en) * | 2007-06-29 | 2014-01-14 | Microsoft Corporation | System and methods for disruption detection, management, and recovery |
US8156510B2 (en) * | 2007-10-04 | 2012-04-10 | International Business Machines Corporation | Process retext for dynamically loaded modules |
US7793153B2 (en) * | 2008-01-11 | 2010-09-07 | International Business Machines Corporation | Checkpointing and restoring user space data structures used by an application |
US8209707B2 (en) * | 2008-01-11 | 2012-06-26 | Google Inc. | Gathering state information for an application and kernel components called by the application |
US8510757B2 (en) * | 2008-01-11 | 2013-08-13 | Google Inc. | Gathering pages allocated to an application to include in checkpoint information |
US7975175B2 (en) * | 2008-07-09 | 2011-07-05 | Oracle America, Inc. | Risk indices for enhanced throughput in computing systems |
US8200771B2 (en) * | 2008-10-10 | 2012-06-12 | International Business Machines Corporation | Workload migration using on demand remote paging |
JP5239752B2 (ja) * | 2008-10-31 | 2013-07-17 | 富士通株式会社 | 同期メッセージ発行システム、同期メッセージ発行方法および同期メッセージ発行プログラム |
US7984332B2 (en) * | 2008-11-17 | 2011-07-19 | Microsoft Corporation | Distributed system checker |
US8539488B1 (en) * | 2009-04-10 | 2013-09-17 | Open Invention Network, Llc | System and method for application isolation with live migration |
US8752048B1 (en) | 2008-12-15 | 2014-06-10 | Open Invention Network, Llc | Method and system for providing checkpointing to windows application groups |
US9354977B1 (en) * | 2008-12-15 | 2016-05-31 | Open Invention Network Llc | System and method for hybrid kernel- and user-space incremental and full checkpointing |
US8826070B1 (en) | 2008-12-15 | 2014-09-02 | Open Invention Network, Llc | Method and system for providing storage checkpointing to a group of independent computer applications |
US8341631B2 (en) | 2009-04-10 | 2012-12-25 | Open Invention Network Llc | System and method for application isolation |
US9256496B1 (en) | 2008-12-15 | 2016-02-09 | Open Invention Network, Llc | System and method for hybrid kernel—and user-space incremental and full checkpointing |
US8745442B1 (en) * | 2011-04-28 | 2014-06-03 | Open Invention Network, Llc | System and method for hybrid kernel- and user-space checkpointing |
US10019327B1 (en) | 2008-12-15 | 2018-07-10 | Open Invention Network Llc | System and method for hybrid kernel- and user-space incremental and full checkpointing |
US8880473B1 (en) | 2008-12-15 | 2014-11-04 | Open Invention Network, Llc | Method and system for providing storage checkpointing to a group of independent computer applications |
US8464256B1 (en) * | 2009-04-10 | 2013-06-11 | Open Invention Network, Llc | System and method for hierarchical interception with isolated environments |
US8281317B1 (en) | 2008-12-15 | 2012-10-02 | Open Invention Network Llc | Method and computer readable medium for providing checkpointing to windows application groups |
US8041994B2 (en) * | 2009-01-09 | 2011-10-18 | Alcatel Lucent | Asynchronous checkpointing with audits in high availability networks |
US20100185682A1 (en) * | 2009-01-09 | 2010-07-22 | Lucent Technologies Inc. | Object identifier and common registry to support asynchronous checkpointing with audits |
US8321558B1 (en) | 2009-03-31 | 2012-11-27 | Amazon Technologies, Inc. | Dynamically monitoring and modifying distributed execution of programs |
US11538078B1 (en) | 2009-04-10 | 2022-12-27 | International Business Machines Corporation | System and method for usage billing of hosted applications |
US8555360B1 (en) | 2009-04-10 | 2013-10-08 | Open Invention Network Llc | System and method for on-line and off-line streaming application isolation |
US10419504B1 (en) | 2009-04-10 | 2019-09-17 | Open Invention Network Llc | System and method for streaming application isolation |
US9058599B1 (en) | 2009-04-10 | 2015-06-16 | Open Invention Network, Llc | System and method for usage billing of hosted applications |
US8418181B1 (en) * | 2009-06-02 | 2013-04-09 | Amazon Technologies, Inc. | Managing program execution based on data storage location |
US8108718B2 (en) * | 2009-11-13 | 2012-01-31 | Hewlett-Packard Development Company, L.P. | Checkpointing in massively parallel processing |
US8458403B2 (en) * | 2009-11-24 | 2013-06-04 | Honeywell International Inc. | Architecture and method for cache-based checkpointing and rollback |
US8108721B2 (en) * | 2009-11-24 | 2012-01-31 | Honeywell International Inc. | Architecture and method for hardware-assisted processor checkpointing and rollback |
US8756585B2 (en) * | 2009-12-29 | 2014-06-17 | International Business Machines Corporation | Efficient monitoring in a software system |
US20110179304A1 (en) * | 2010-01-15 | 2011-07-21 | Incontact, Inc. | Systems and methods for multi-tenancy in contact handling systems |
US8307243B2 (en) * | 2010-02-01 | 2012-11-06 | International Business Machines Corporation | Parallel debugging in a massively parallel computing system |
US8654650B1 (en) | 2010-04-30 | 2014-02-18 | Amazon Technologies, Inc. | System and method for determining node staleness in a distributed system |
US8458517B1 (en) * | 2010-04-30 | 2013-06-04 | Amazon Technologies, Inc. | System and method for checkpointing state in a distributed system |
US8719432B1 (en) | 2010-04-30 | 2014-05-06 | Amazon Technologies, Inc. | System and method for determining staleness of data received from a distributed lock manager |
US8250405B2 (en) * | 2010-05-27 | 2012-08-21 | International Business Machines Corporation | Accelerating recovery in MPI environments |
JP2012018449A (ja) * | 2010-07-06 | 2012-01-26 | Fujitsu Ltd | スナップショット取得処理プログラム、スナップショット取得処理方法、スナップショット・パティシパント・コンピュータ、スナップショット・コーディネータ・コンピュータ |
US8694639B1 (en) | 2010-09-21 | 2014-04-08 | Amazon Technologies, Inc. | Determining maximum amount of resource allowed to be allocated to client in distributed system |
US9384198B2 (en) | 2010-12-10 | 2016-07-05 | Vertafore, Inc. | Agency management system and content management system integration |
US9740562B2 (en) | 2010-12-20 | 2017-08-22 | Microsoft Technology Licensing, Llc | Method for checkpointing and restoring program state |
US10129072B1 (en) * | 2010-12-30 | 2018-11-13 | EMC IP Holding Company LLC | Distributed security information and event management system with application-injected remote components |
US9116759B2 (en) | 2011-02-18 | 2015-08-25 | Ab Initio Technology Llc | Restarting data processing systems |
US9021299B2 (en) | 2011-02-18 | 2015-04-28 | Ab Initio Technology Llc | Restarting processes |
US11086850B2 (en) * | 2011-04-13 | 2021-08-10 | International Business Machines Corporation | Persisting of a low latency in-memory database |
US9495477B1 (en) | 2011-04-20 | 2016-11-15 | Google Inc. | Data storage in a graph processing system |
US11307941B1 (en) | 2011-04-28 | 2022-04-19 | Open Invention Network Llc | System and method for hybrid kernel- and user-space incremental and full checkpointing |
US11625307B1 (en) | 2011-04-28 | 2023-04-11 | International Business Machines Corporation | System and method for hybrid kernel- and user-space incremental and full checkpointing |
US8984531B2 (en) | 2011-06-01 | 2015-03-17 | Microsoft Technology Licensing, Llc | Episodic coordination model for distributed applications |
US9063790B2 (en) * | 2011-06-13 | 2015-06-23 | Accenture Global Services Limited | System and method for performing distributed parallel processing tasks in a spot market |
US8910178B2 (en) * | 2011-08-10 | 2014-12-09 | International Business Machines Corporation | Performing a global barrier operation in a parallel computer |
US20130111105A1 (en) * | 2011-10-31 | 2013-05-02 | Antonio Lain | Non-volatile data structure manager and methods of managing non-volatile data structures |
US9286261B1 (en) | 2011-11-14 | 2016-03-15 | Emc Corporation | Architecture and method for a burst buffer using flash technology |
US9652568B1 (en) * | 2011-11-14 | 2017-05-16 | EMC IP Holding Company LLC | Method, apparatus, and computer program product for design and selection of an I/O subsystem of a supercomputer |
US8738959B2 (en) * | 2011-11-15 | 2014-05-27 | International Business Machines Corporation | Selective message loss handling in a cluster of replicated servers |
US9495135B2 (en) | 2012-02-09 | 2016-11-15 | International Business Machines Corporation | Developing collective operations for a parallel computer |
US20130247069A1 (en) * | 2012-03-15 | 2013-09-19 | International Business Machines Corporation | Creating A Checkpoint Of A Parallel Application Executing In A Parallel Computer That Supports Computer Hardware Accelerated Barrier Operations |
US9578130B1 (en) | 2012-06-20 | 2017-02-21 | Amazon Technologies, Inc. | Asynchronous and idempotent distributed lock interfaces |
US10754710B1 (en) | 2012-06-20 | 2020-08-25 | Amazon Technologies, Inc. | Transactional watch mechanism |
US10630566B1 (en) | 2012-06-20 | 2020-04-21 | Amazon Technologies, Inc. | Tightly-coupled external cluster monitoring |
US10191959B1 (en) | 2012-06-20 | 2019-01-29 | Amazon Technologies, Inc. | Versioned read-only snapshots of shared state in distributed computing environments |
US9632828B1 (en) | 2012-09-24 | 2017-04-25 | Amazon Technologies, Inc. | Computing and tracking client staleness using transaction responses |
US9032199B1 (en) | 2012-12-28 | 2015-05-12 | Google Inc. | Systems, devices, and methods for capturing information, creating loadable images, and providing for restarts in a computer system |
US8954546B2 (en) | 2013-01-25 | 2015-02-10 | Concurix Corporation | Tracing with a workload distributor |
US8924941B2 (en) | 2013-02-12 | 2014-12-30 | Concurix Corporation | Optimization analysis using similar frequencies |
US8997063B2 (en) | 2013-02-12 | 2015-03-31 | Concurix Corporation | Periodicity optimization in an automated tracing system |
US20130283281A1 (en) | 2013-02-12 | 2013-10-24 | Concurix Corporation | Deploying Trace Objectives using Cost Analyses |
US9171019B1 (en) | 2013-02-19 | 2015-10-27 | Amazon Technologies, Inc. | Distributed lock service with external lock information database |
US9665474B2 (en) | 2013-03-15 | 2017-05-30 | Microsoft Technology Licensing, Llc | Relationships derived from trace data |
US9575874B2 (en) | 2013-04-20 | 2017-02-21 | Microsoft Technology Licensing, Llc | Error list and bug report analysis for configuring an application tracer |
US9553951B1 (en) | 2013-04-24 | 2017-01-24 | Amazon Technologies, Inc. | Semaphores in distributed computing environments |
US10069675B2 (en) | 2013-08-30 | 2018-09-04 | Nec Corporation | Method for operating a distributed computing system and a distributed computing system |
US9292415B2 (en) | 2013-09-04 | 2016-03-22 | Microsoft Technology Licensing, Llc | Module specific tracing in a shared module environment |
WO2015071778A1 (en) | 2013-11-13 | 2015-05-21 | Concurix Corporation | Application execution path tracing with configurable origin definition |
US10678550B2 (en) * | 2014-01-24 | 2020-06-09 | Nec Corporation | Capturing snapshots of offload applications on many-core coprocessors |
US9372766B2 (en) * | 2014-02-11 | 2016-06-21 | Saudi Arabian Oil Company | Circumventing load imbalance in parallel simulations caused by faulty hardware nodes |
US9747556B2 (en) | 2014-08-20 | 2017-08-29 | Vertafore, Inc. | Automated customized web portal template generation systems and methods |
US10642663B2 (en) | 2014-09-10 | 2020-05-05 | Oracle International Corporation | Coordinated garbage collection in distributed systems |
US9760529B1 (en) | 2014-09-17 | 2017-09-12 | Amazon Technologies, Inc. | Distributed state manager bootstrapping |
US10936432B1 (en) * | 2014-09-24 | 2021-03-02 | Amazon Technologies, Inc. | Fault-tolerant parallel computation |
EP3210119B1 (en) * | 2014-10-20 | 2022-03-30 | AB Initio Technology LLC | Recovery and fault-tolerance under computational indeterminism |
US9785480B2 (en) | 2015-02-12 | 2017-10-10 | Netapp, Inc. | Load balancing and fault tolerant service in a distributed data system |
US9852221B1 (en) | 2015-03-26 | 2017-12-26 | Amazon Technologies, Inc. | Distributed state manager jury selection |
US9800672B2 (en) | 2015-04-09 | 2017-10-24 | Eugene Edwin Nelson | Computer work distribution system and method |
US10185736B2 (en) | 2015-04-27 | 2019-01-22 | Microsoft Technology Licensing, Llc | Replicable differential store data structure |
US9766928B1 (en) * | 2016-03-21 | 2017-09-19 | Bank Of America Corporation | Recycling tool using scripts to stop middleware instances and restart services after snapshots are taken |
US10789134B2 (en) * | 2016-04-15 | 2020-09-29 | Netapp, Inc. | NVRAM loss handling |
US9858151B1 (en) * | 2016-10-03 | 2018-01-02 | International Business Machines Corporation | Replaying processing of a restarted application |
US10339073B2 (en) * | 2017-06-29 | 2019-07-02 | Keysight Technologies, Inc. | Systems and methods for reducing write latency |
US10489304B2 (en) | 2017-07-14 | 2019-11-26 | Arm Limited | Memory address translation |
US10592424B2 (en) | 2017-07-14 | 2020-03-17 | Arm Limited | Range-based memory system |
US10565126B2 (en) * | 2017-07-14 | 2020-02-18 | Arm Limited | Method and apparatus for two-layer copy-on-write |
US10613989B2 (en) | 2017-07-14 | 2020-04-07 | Arm Limited | Fast address translation for virtual machines |
US10467159B2 (en) | 2017-07-14 | 2019-11-05 | Arm Limited | Memory node controller |
US10534719B2 (en) | 2017-07-14 | 2020-01-14 | Arm Limited | Memory system for a data processing network |
US10353826B2 (en) | 2017-07-14 | 2019-07-16 | Arm Limited | Method and apparatus for fast context cloning in a data processing system |
US11947489B2 (en) | 2017-09-05 | 2024-04-02 | Robin Systems, Inc. | Creating snapshots of a storage volume in a distributed storage system |
CN109697120B (zh) * | 2017-10-20 | 2023-06-27 | 伊姆西Ip控股有限责任公司 | 用于应用迁移的方法、电子设备 |
US10846001B2 (en) | 2017-11-08 | 2020-11-24 | Robin Systems, Inc. | Allocating storage requirements in a distributed storage system |
US10782887B2 (en) | 2017-11-08 | 2020-09-22 | Robin Systems, Inc. | Window-based prority tagging of IOPs in a distributed storage system |
US11748203B2 (en) | 2018-01-11 | 2023-09-05 | Robin Systems, Inc. | Multi-role application orchestration in a distributed storage system |
US11099937B2 (en) * | 2018-01-11 | 2021-08-24 | Robin Systems, Inc. | Implementing clone snapshots in a distributed storage system |
US11582168B2 (en) | 2018-01-11 | 2023-02-14 | Robin Systems, Inc. | Fenced clone applications |
US11392363B2 (en) | 2018-01-11 | 2022-07-19 | Robin Systems, Inc. | Implementing application entrypoints with containers of a bundled application |
US10896102B2 (en) | 2018-01-11 | 2021-01-19 | Robin Systems, Inc. | Implementing secure communication in a distributed computing system |
US10846137B2 (en) | 2018-01-12 | 2020-11-24 | Robin Systems, Inc. | Dynamic adjustment of application resources in a distributed computing system |
US10845997B2 (en) | 2018-01-12 | 2020-11-24 | Robin Systems, Inc. | Job manager for deploying a bundled application |
CN110708179B (zh) * | 2018-07-10 | 2022-06-07 | 福建省天奕网络科技有限公司 | 基于区块链的数据通讯桥接方法、存储介质 |
US10884850B2 (en) | 2018-07-24 | 2021-01-05 | Arm Limited | Fault tolerant memory system |
US11023328B2 (en) | 2018-07-30 | 2021-06-01 | Robin Systems, Inc. | Redo log for append only storage scheme |
US10976938B2 (en) | 2018-07-30 | 2021-04-13 | Robin Systems, Inc. | Block map cache |
US10817380B2 (en) | 2018-07-31 | 2020-10-27 | Robin Systems, Inc. | Implementing affinity and anti-affinity constraints in a bundled application |
US10908848B2 (en) | 2018-10-22 | 2021-02-02 | Robin Systems, Inc. | Automated management of bundled applications |
US11036439B2 (en) | 2018-10-22 | 2021-06-15 | Robin Systems, Inc. | Automated management of bundled applications |
US11113270B2 (en) | 2019-01-24 | 2021-09-07 | EMC IP Holding Company LLC | Storing a non-ordered associative array of pairs using an append-only storage medium |
US10938891B2 (en) * | 2019-02-20 | 2021-03-02 | International Business Machines Corporation | Reducing cloud application execution latency |
US11086725B2 (en) | 2019-03-25 | 2021-08-10 | Robin Systems, Inc. | Orchestration of heterogeneous multi-role applications |
US11256434B2 (en) | 2019-04-17 | 2022-02-22 | Robin Systems, Inc. | Data de-duplication |
US10831387B1 (en) | 2019-05-02 | 2020-11-10 | Robin Systems, Inc. | Snapshot reservations in a distributed storage system |
US10877684B2 (en) | 2019-05-15 | 2020-12-29 | Robin Systems, Inc. | Changing a distributed storage volume from non-replicated to replicated |
US11226847B2 (en) | 2019-08-29 | 2022-01-18 | Robin Systems, Inc. | Implementing an application manifest in a node-specific manner using an intent-based orchestrator |
US11520650B2 (en) | 2019-09-05 | 2022-12-06 | Robin Systems, Inc. | Performing root cause analysis in a multi-role application |
US11249851B2 (en) | 2019-09-05 | 2022-02-15 | Robin Systems, Inc. | Creating snapshots of a storage volume in a distributed storage system |
US11347684B2 (en) | 2019-10-04 | 2022-05-31 | Robin Systems, Inc. | Rolling back KUBERNETES applications including custom resources |
US11113158B2 (en) | 2019-10-04 | 2021-09-07 | Robin Systems, Inc. | Rolling back kubernetes applications |
US11403188B2 (en) | 2019-12-04 | 2022-08-02 | Robin Systems, Inc. | Operation-level consistency points and rollback |
US10901820B1 (en) | 2020-01-07 | 2021-01-26 | International Business Machines Corporation | Error state message management |
US11599546B2 (en) | 2020-05-01 | 2023-03-07 | EMC IP Holding Company LLC | Stream browser for data streams |
US11604759B2 (en) | 2020-05-01 | 2023-03-14 | EMC IP Holding Company LLC | Retention management for data streams |
US11108638B1 (en) | 2020-06-08 | 2021-08-31 | Robin Systems, Inc. | Health monitoring of automatically deployed and managed network pipelines |
US11528186B2 (en) | 2020-06-16 | 2022-12-13 | Robin Systems, Inc. | Automated initialization of bare metal servers |
US11599420B2 (en) | 2020-07-30 | 2023-03-07 | EMC IP Holding Company LLC | Ordered event stream event retention |
US11740980B2 (en) | 2020-09-22 | 2023-08-29 | Robin Systems, Inc. | Managing snapshot metadata following backup |
US11513871B2 (en) | 2020-09-30 | 2022-11-29 | EMC IP Holding Company LLC | Employing triggered retention in an ordered event stream storage system |
US11743188B2 (en) | 2020-10-01 | 2023-08-29 | Robin Systems, Inc. | Check-in monitoring for workflows |
US11755555B2 (en) | 2020-10-06 | 2023-09-12 | EMC IP Holding Company LLC | Storing an ordered associative array of pairs using an append-only storage medium |
US11271895B1 (en) | 2020-10-07 | 2022-03-08 | Robin Systems, Inc. | Implementing advanced networking capabilities using helm charts |
US11456914B2 (en) | 2020-10-07 | 2022-09-27 | Robin Systems, Inc. | Implementing affinity and anti-affinity with KUBERNETES |
US11599293B2 (en) * | 2020-10-14 | 2023-03-07 | EMC IP Holding Company LLC | Consistent data stream replication and reconstruction in a streaming data storage platform |
US11750451B2 (en) | 2020-11-04 | 2023-09-05 | Robin Systems, Inc. | Batch manager for complex workflows |
US11556361B2 (en) | 2020-12-09 | 2023-01-17 | Robin Systems, Inc. | Monitoring and managing of complex multi-role applications |
US11816065B2 (en) | 2021-01-11 | 2023-11-14 | EMC IP Holding Company LLC | Event level retention management for data streams |
US11740828B2 (en) | 2021-04-06 | 2023-08-29 | EMC IP Holding Company LLC | Data expiration for stream storages |
US12001881B2 (en) | 2021-04-12 | 2024-06-04 | EMC IP Holding Company LLC | Event prioritization for an ordered event stream |
US11954537B2 (en) | 2021-04-22 | 2024-04-09 | EMC IP Holding Company LLC | Information-unit based scaling of an ordered event stream |
US11874742B2 (en) * | 2021-04-22 | 2024-01-16 | Nvidia Corporation | Techniques for recovering from errors when executing software applications on parallel processors |
US11681460B2 (en) | 2021-06-03 | 2023-06-20 | EMC IP Holding Company LLC | Scaling of an ordered event stream based on a writer group characteristic |
US11735282B2 (en) | 2021-07-22 | 2023-08-22 | EMC IP Holding Company LLC | Test data verification for an ordered event stream storage system |
US11971850B2 (en) | 2021-10-15 | 2024-04-30 | EMC IP Holding Company LLC | Demoted data retention via a tiered ordered event stream data storage system |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0793173A (ja) * | 1993-09-27 | 1995-04-07 | Toshiba Corp | コンピュータネットワークシステムおよびそのコンピュータネットワークシステムの計算機に対するプロセス割り当て方法 |
JPH09138754A (ja) * | 1995-09-11 | 1997-05-27 | Toshiba Corp | 分散チェックポイント生成方法および同方法が適用される計算機システム |
JPH10187616A (ja) * | 1996-12-26 | 1998-07-21 | Toshiba Corp | 状態記録再現方法、ならびに同方法を実現する計算機システム、及び同方法がプログラムされ記憶されるメモリ装置 |
JP2002505768A (ja) * | 1995-12-11 | 2002-02-19 | エービー イニティオ ソフトウェア コーポレーション | 計算の状態を再構成する方法ならびにシステム |
Family Cites Families (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5271013A (en) * | 1990-05-09 | 1993-12-14 | Unisys Corporation | Fault tolerant computer system |
US5530802A (en) * | 1994-06-22 | 1996-06-25 | At&T Corp. | Input sequence reordering method for software failure recovery |
US5832203A (en) * | 1995-01-23 | 1998-11-03 | Tandem Computers Incorporated | Method for providing recovery from a failure in a system utilizing distributed audit |
JP3085899B2 (ja) * | 1995-06-19 | 2000-09-11 | 株式会社東芝 | マルチプロセッサシステム |
GB9601585D0 (en) * | 1996-01-26 | 1996-03-27 | Hewlett Packard Co | Fault-tolerant processing method |
US5875479A (en) * | 1997-01-07 | 1999-02-23 | International Business Machines Corporation | Method and means for making a dual volume level copy in a DASD storage subsystem subject to updating during the copy interval |
US6154877A (en) * | 1997-07-03 | 2000-11-28 | The University Of Iowa Research Foundation | Method and apparatus for portable checkpointing using data structure metrics and conversion functions |
US6161219A (en) * | 1997-07-03 | 2000-12-12 | The University Of Iowa Research Foundation | System and method for providing checkpointing with precompile directives and supporting software to produce checkpoints, independent of environment constraints |
US6038639A (en) * | 1997-09-09 | 2000-03-14 | Storage Technology Corporation | Data file storage management system for snapshot copy operations |
US6898791B1 (en) * | 1998-04-21 | 2005-05-24 | California Institute Of Technology | Infospheres distributed object system |
US6230282B1 (en) * | 1998-07-03 | 2001-05-08 | Hewlett-Packard Company | Checkpoint computer system utilizing a FIFO buffer to re-synchronize the memory systems on the detection of an error |
US6338147B1 (en) * | 1998-10-29 | 2002-01-08 | International Business Machines Corporation | Program products for performing checkpoint/restart of a parallel program |
US6401216B1 (en) * | 1998-10-29 | 2002-06-04 | International Business Machines Corporation | System of performing checkpoint/restart of a parallel program |
US6332199B1 (en) * | 1998-10-29 | 2001-12-18 | International Business Machines Corporation | Restoring checkpointed processes including adjusting environment variables of the processes |
US6332200B1 (en) * | 1998-10-29 | 2001-12-18 | International Business Machines Corporation | Capturing and identifying a complete and consistent set of checkpoint files |
US6393583B1 (en) * | 1998-10-29 | 2002-05-21 | International Business Machines Corporation | Method of performing checkpoint/restart of a parallel program |
US6256751B1 (en) * | 1998-10-29 | 2001-07-03 | International Business Machines Corporation | Restoring checkpointed processes without restoring attributes of external data referenced by the processes |
US6282703B1 (en) * | 1998-10-29 | 2001-08-28 | International Business Machines Corporation | Statically linking an application process with a wrapper library |
US6725392B1 (en) * | 1999-03-03 | 2004-04-20 | Adaptec, Inc. | Controller fault recovery system for a distributed file system |
US6622263B1 (en) * | 1999-06-30 | 2003-09-16 | Jack Justin Stiffler | Method and apparatus for achieving system-directed checkpointing without specialized hardware assistance |
KR20010037622A (ko) * | 1999-10-19 | 2001-05-15 | 정선종 | 분산 시스템에서 메모리 체크포인트를 이용한 독립 체크포인팅 방법 |
CA2403044A1 (en) * | 2000-03-22 | 2001-09-27 | Interwoven Inc. | Method and apparatus for storing changes to file attributes without having to store an additional copy of the file contents |
US7072916B1 (en) * | 2000-08-18 | 2006-07-04 | Network Appliance, Inc. | Instant snapshot |
US6766471B2 (en) * | 2000-12-28 | 2004-07-20 | International Business Machines Corporation | User-level checkpoint and restart for groups of processes |
GB2378278B (en) * | 2001-07-31 | 2003-09-10 | Sun Microsystems Inc | Live memory snapshot |
US7010553B2 (en) * | 2002-03-19 | 2006-03-07 | Network Appliance, Inc. | System and method for redirecting access to a remote mirrored snapshot |
US7065549B2 (en) * | 2002-03-29 | 2006-06-20 | Illinois Institute Of Technology | Communication and process migration protocols for distributed heterogeneous computing |
US6907512B2 (en) * | 2002-05-21 | 2005-06-14 | Microsoft Corporation | System and method for filtering write operations to a storage medium containing an operating system image |
US7620666B1 (en) * | 2002-07-29 | 2009-11-17 | Symantec Operating Company | Maintaining persistent data change maps for fast data synchronization and restoration |
US7664771B2 (en) * | 2002-10-16 | 2010-02-16 | Microsoft Corporation | Optimizing defragmentation operations in a differential snapshotter |
US7809693B2 (en) * | 2003-02-10 | 2010-10-05 | Netapp, Inc. | System and method for restoring data on demand for instant volume restoration |
US7136974B2 (en) * | 2003-06-19 | 2006-11-14 | Pillar Data Systems, Inc. | Systems and methods of data migration in snapshot operations |
US7246211B1 (en) * | 2003-07-22 | 2007-07-17 | Swsoft Holdings, Ltd. | System and method for using file system snapshots for online data backup |
JP2008502953A (ja) * | 2003-11-17 | 2008-01-31 | ヴァージニア テック インテレクチュアル プロパティーズ,インコーポレイテッド | 分散システムにおけるトランスペアレントなチェックポインティング及びプロセス移行 |
US7200705B2 (en) * | 2004-04-30 | 2007-04-03 | Hewlett-Packard Development Company, L.P. | Method of checkpointing state of virtual memory for process |
US7275183B2 (en) * | 2004-04-30 | 2007-09-25 | Hewlett-Packard Development Company, L.P. | Method of restoring processes within process domain |
JP2006113927A (ja) * | 2004-10-18 | 2006-04-27 | Hitachi Ltd | ストレージ装置、ストレージシステム、スナップショット維持方法、およびコマンド |
-
2004
- 2004-11-17 JP JP2006541414A patent/JP2008502953A/ja active Pending
- 2004-11-17 EP EP04811556A patent/EP1690163A4/en not_active Withdrawn
- 2004-11-17 US US10/595,857 patent/US7536591B2/en not_active Expired - Fee Related
- 2004-11-17 WO PCT/US2004/038853 patent/WO2005050404A2/en active Application Filing
-
2009
- 2009-04-07 US US12/420,015 patent/US8489921B2/en not_active Expired - Fee Related
-
2013
- 2013-07-15 US US13/942,271 patent/US9122714B2/en active Active
-
2015
- 2015-07-29 US US14/812,592 patent/US9830095B1/en active Active
-
2017
- 2017-11-28 US US15/824,198 patent/US10705741B1/en active Active
-
2020
- 2020-07-07 US US16/923,018 patent/US11500546B1/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0793173A (ja) * | 1993-09-27 | 1995-04-07 | Toshiba Corp | コンピュータネットワークシステムおよびそのコンピュータネットワークシステムの計算機に対するプロセス割り当て方法 |
JPH09138754A (ja) * | 1995-09-11 | 1997-05-27 | Toshiba Corp | 分散チェックポイント生成方法および同方法が適用される計算機システム |
JP2002505768A (ja) * | 1995-12-11 | 2002-02-19 | エービー イニティオ ソフトウェア コーポレーション | 計算の状態を再構成する方法ならびにシステム |
JPH10187616A (ja) * | 1996-12-26 | 1998-07-21 | Toshiba Corp | 状態記録再現方法、ならびに同方法を実現する計算機システム、及び同方法がプログラムされ記憶されるメモリ装置 |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011510381A (ja) * | 2008-01-11 | 2011-03-31 | インターナショナル・ビジネス・マシーンズ・コーポレーション | ソフトウェア・コンポーネントの再開可能なプロビジョニングのためのシステムおよび方法 |
US8776018B2 (en) | 2008-01-11 | 2014-07-08 | International Business Machines Corporation | System and method for restartable provisioning of software components |
JP2011519460A (ja) * | 2008-05-01 | 2011-07-07 | ヒューレット−パッカード デベロップメント カンパニー エル.ピー. | チェックポイントデータの不揮発性メモリへの保存 |
KR101470994B1 (ko) * | 2008-05-01 | 2014-12-09 | 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. | 비휘발성 메모리 내의 체크포인트 데이터의 저장 |
US8819106B1 (en) | 2008-12-12 | 2014-08-26 | Amazon Technologies, Inc. | Managing distributed execution of programs |
JP2012511784A (ja) * | 2008-12-12 | 2012-05-24 | アマゾン テクノロジーズ インコーポレイテッド | プログラム実行状態の保存 |
US8935404B2 (en) | 2008-12-12 | 2015-01-13 | Amazon Technologies, Inc. | Saving program execution state |
US9207975B2 (en) | 2008-12-12 | 2015-12-08 | Amazon Technologies, Inc. | Managing distributed execution of programs |
US11263084B2 (en) | 2008-12-12 | 2022-03-01 | Amazon Technologies, Inc. | Saving program execution state |
US9826031B2 (en) | 2008-12-12 | 2017-11-21 | Amazon Technologies, Inc. | Managing distributed execution of programs |
US10873623B2 (en) | 2009-03-31 | 2020-12-22 | Amazon Technologies, Inc. | Dynamically modifying a cluster of computing nodes used for distributed execution of a program |
US11425194B1 (en) | 2009-03-31 | 2022-08-23 | Amazon Technologies, Inc. | Dynamically modifying a cluster of computing nodes used for distributed execution of a program |
US9329909B1 (en) | 2009-03-31 | 2016-05-03 | Amazon Technologies, Inc. | Dynamically modifying a cluster of computing nodes used for distributed execution of a program |
JP2011186606A (ja) * | 2010-03-05 | 2011-09-22 | Nec Corp | コンピュータシステム、およびそのチェックポイントリスタート方法 |
JP2013156886A (ja) * | 2012-01-31 | 2013-08-15 | Nec Corp | 計算装置、演算処理システム、チェックポイント設定方法及びプログラム |
WO2015173857A1 (ja) * | 2014-05-12 | 2015-11-19 | 株式会社日立製作所 | 情報処理方法及び情報処理装置 |
JP2017037507A (ja) * | 2015-08-11 | 2017-02-16 | 日本電信電話株式会社 | 演算処理管理方法及び演算装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2005050404A2 (en) | 2005-06-02 |
US20130311826A1 (en) | 2013-11-21 |
US9830095B1 (en) | 2017-11-28 |
US20070277056A1 (en) | 2007-11-29 |
US11500546B1 (en) | 2022-11-15 |
US7536591B2 (en) | 2009-05-19 |
US8489921B2 (en) | 2013-07-16 |
WO2005050404A3 (en) | 2009-04-16 |
US10705741B1 (en) | 2020-07-07 |
US9122714B2 (en) | 2015-09-01 |
EP1690163A4 (en) | 2011-07-13 |
EP1690163A2 (en) | 2006-08-16 |
US20090327807A1 (en) | 2009-12-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11500546B1 (en) | Transparent checkpointing and process migration in a distributed system | |
Scales et al. | The design of a practical system for fault-tolerant virtual machines | |
US9489265B2 (en) | Method and system for frequent checkpointing | |
US8549241B2 (en) | Method and system for frequent checkpointing | |
US8689047B2 (en) | Virtual disk replication using log files | |
US8533382B2 (en) | Method and system for frequent checkpointing | |
US8904361B2 (en) | Non-intrusive method for logging of internal events within an application process, and system implementing this method | |
US9652333B1 (en) | Maintaining stored data consistency of a plurality of related virtual machines across a plurality of sites during migration | |
US20070198676A1 (en) | Non-intrusive method for simulation or replay of external events related to an application process, and a system implementing said method | |
US10824522B2 (en) | Method, apparatus, and computer program product for generating consistent snapshots without quiescing applications | |
US7568131B2 (en) | Non-intrusive method for logging external events related to an application process, and a system implementing said method | |
US10185581B2 (en) | Method and system for taking checkpoints at varying intervals | |
JPH09138754A (ja) | 分散チェックポイント生成方法および同方法が適用される計算機システム | |
CN110673932A (zh) | 具有多项目事务支持的多数据库日志 | |
Silvestre et al. | Clonos: Consistent causal recovery for highly-available streaming dataflows | |
US7536587B2 (en) | Method for the acceleration of the transmission of logging data in a multi-computer environment and system using this method | |
US8087021B1 (en) | Automated activity processing | |
Scales et al. | The design and evaluation of a practical system for fault-tolerant virtual machines | |
CN107111532B (zh) | 计算不确定性情况下的恢复和容错 | |
US7533296B2 (en) | Method for optimizing the transmission of logging data in a multi-computer environment and a system implementing this method | |
Meth et al. | Parallel checkpoint/restart without message logging | |
US11995041B2 (en) | Methods and systems to reduce latency of input/output (I/O) operations based on file system optimizations during creation of common snapshots for synchronous replicated datasets of a primary copy of data at a primary storage system to a mirror copy of the data at a cross-site secondary storage system | |
Yaothanee et al. | Mekha: an in-memory, coordinated checkpoint-restart mechanism for a virtual cluster |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20071119 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110215 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20110516 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20110523 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20110816 |