JP6891545B2 - Data management equipment, information processing systems, data management methods, and programs - Google Patents
Data management equipment, information processing systems, data management methods, and programs Download PDFInfo
- Publication number
- JP6891545B2 JP6891545B2 JP2017041855A JP2017041855A JP6891545B2 JP 6891545 B2 JP6891545 B2 JP 6891545B2 JP 2017041855 A JP2017041855 A JP 2017041855A JP 2017041855 A JP2017041855 A JP 2017041855A JP 6891545 B2 JP6891545 B2 JP 6891545B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- checkpoint
- restored
- application program
- update
- 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.)
- Active
Links
Images
Landscapes
- Retry When Errors Occur (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
本発明は、データ管理装置、情報処理システム、データ管理方法、および、プログラムに関する。 The present invention relates to a data management device, an information processing system, a data management method, and a program.
大規模システムで長時間実行されるプログラムに対し、適当な間隔でチェックポイント処理を実行してデータを保存し、障害時に、チェックポイントで保存した時点から実行を再開する技術が存在する。チェックポイントの時間間隔は、構成要素となっているシステムの故障率等を参考にして決定できる。 There is a technology that executes checkpoint processing at appropriate intervals to save data for a program that is executed for a long time in a large-scale system, and resumes execution from the point saved at the checkpoint in the event of a failure. The checkpoint time interval can be determined with reference to the failure rate of the system that is a component.
この時間間隔は、大規模システムになるほど短くなる。このため、チェックポイントの時間間隔が短くなる大規模システムにおいては、チェックポイント処理に要する時間を短くすることが重要になっている。 This time interval becomes shorter for larger systems. Therefore, in a large-scale system in which the checkpoint time interval is short, it is important to shorten the time required for checkpoint processing.
チェックポイントに関する技術の一例が、特許文献1に記載されている。この技術では、稼働系の仮想計算機を持つ物理計算機がチェックポイントごとに、その仮想計算機のスナップショット差分情報を作成し、待機系の物理計算機に送信する。そして、この技術では、待機系の物理計算機に稼働系の仮想計算機が生成される。 An example of the technique relating to the checkpoint is described in Patent Document 1. In this technology, a physical computer having an active virtual computer creates snapshot difference information of the virtual computer for each checkpoint and sends it to the standby physical computer. Then, in this technology, a virtual computer of the operating system is generated in the physical computer of the standby system.
また、チェックポイントに関する技術の別の一例が、非特許文献1に記載されている。この技術では、チェックポイントごとに、前回のチェックポイントで保存したデータの差分がページベースの手法を用いて作成され、チェックポイントデータとして保存される。 Further, another example of the technique relating to the checkpoint is described in Non-Patent Document 1. In this technique, for each checkpoint, the difference between the data saved at the previous checkpoint is created using a page-based method and saved as checkpoint data.
そして、この技術では、チェックポイントデータが数回保存されてから、チェックポイントデータが反映された復元データが作成される。 Then, in this technique, the checkpoint data is saved several times, and then the restored data reflecting the checkpoint data is created.
特許文献1の技術においては、待機系の物理計算機が、チェックポイントごとに、稼働系の仮想計算機を生成する。したがって、稼働系、および、待機系が計算ノードである構成においては、計算ノードの機能が複雑になるという問題がある。 In the technique of Patent Document 1, the standby physical computer generates an operating virtual computer for each checkpoint. Therefore, in a configuration in which the active system and the standby system are compute nodes, there is a problem that the functions of the compute nodes become complicated.
また、非特許文献1の技術においては、チェックポイントデータが数回保存されてから、チェックポイントデータが反映された復元データが作成される。したがって、データの復元時に、時間的オーバーヘッドが大きいという問題がある。 Further, in the technique of Non-Patent Document 1, after the checkpoint data is stored several times, the restored data reflecting the checkpoint data is created. Therefore, there is a problem that the time overhead is large when the data is restored.
本発明の目的は、上記問題点を解決するデータ管理装置、情報処理システム、データ管理方法、および、プログラムを提供することである。 An object of the present invention is to provide a data management device, an information processing system, a data management method, and a program that solve the above problems.
本発明のデータ管理装置は、計算ノードによりグローバルストレージに格納されたアプリケーションプログラムのチェックポイントデータに基づいて、前記グローバルストレージに復元データを作成、または、前記グローバルストレージの前記復元データを更新するデータ更新手段と、
被代替の前記計算ノードの前記復元データが更新完了であれば前記復元データの位置情報を、更新途中であれば更新が完了してから前記復元データの位置情報を、更新未開始であれば前記復元データの位置情報および対応する前記チェックポイントデータの位置情報を、前記アプリケーションプログラムの実行を引き継ぐ代替の前記計算ノードに送るデータ位置管理手段と、を含む。
The data management device of the present invention creates restored data in the global storage or updates the restored data in the global storage based on the checkpoint data of the application program stored in the global storage by the compute node. Means and
If the restored data of the alternative calculation node has completed the update, the position information of the restored data is obtained. If the update is in progress, the position information of the restored data is obtained after the update is completed. A data position management means for sending the position information of the restored data and the position information of the corresponding checkpoint data to the alternative calculation node that takes over the execution of the application program is included.
本発明のデータ管理方法は、計算ノードによりグローバルストレージに格納されたアプリケーションプログラムのチェックポイントデータに基づいて、前記グローバルストレージに復元データを作成、または、前記グローバルストレージの前記復元データを更新するデータ更新し、
被代替の前記計算ノードの前記復元データが更新完了であれば前記復元データの位置情報を、更新途中であれば更新が完了してから前記復元データの位置情報を、更新未開始であれば前記復元データの位置情報および対応する前記チェックポイントデータの位置情報を、前記アプリケーションプログラムの実行を引き継ぐ代替の前記計算ノードに送る。
The data management method of the present invention creates restored data in the global storage based on the checkpoint data of the application program stored in the global storage by the compute node, or updates the restored data in the global storage. And
If the restored data of the alternative calculation node has completed the update, the position information of the restored data is obtained. If the update is in progress, the position information of the restored data is obtained after the update is completed. The location information of the restored data and the location information of the corresponding checkpoint data are sent to the alternative calculation node that takes over the execution of the application program.
本発明のプログラムは、計算ノードによりグローバルストレージに格納されたアプリケーションプログラムのチェックポイントデータに基づいて、前記グローバルストレージに復元データを作成、または、前記グローバルストレージの前記復元データを更新するデータ更新する処理と、
被代替の前記計算ノードの前記復元データが更新完了であれば前記復元データの位置情報を、更新途中であれば更新が完了してから前記復元データの位置情報を、更新未開始であれば前記復元データの位置情報および対応する前記チェックポイントデータの位置情報を、前記アプリケーションプログラムの実行を引き継ぐ代替の前記計算ノードに送る処理と、をコンピュータに実行させる。
The program of the present invention creates restored data in the global storage or updates the restored data in the global storage based on the checkpoint data of the application program stored in the global storage by the compute node. When,
If the restored data of the alternative calculation node has completed the update, the position information of the restored data is obtained. If the update is in progress, the position information of the restored data is obtained after the update is completed. The computer is made to execute the process of sending the position information of the restored data and the position information of the corresponding checkpoint data to the alternative calculation node that takes over the execution of the application program.
本発明は、計算ノードの機能が複雑にならず、かつ、データの復元時に時間的オーバーヘッドが大きくないという効果を持つ。 The present invention has the effect that the function of the calculation node is not complicated and the time overhead is not large when the data is restored.
次に、本発明の第1の実施の形態について図面を参照して詳細に説明する。 Next, the first embodiment of the present invention will be described in detail with reference to the drawings.
図1は、第1の実施の形態の構成を示すブロック図である。図1を参照すると、第1の実施の形態のデータ管理装置100は、データ更新手段110、および、データ位置管理手段120を含む。
FIG. 1 is a block diagram showing a configuration of the first embodiment. Referring to FIG. 1, the
データ管理装置100は、グローバルストレージ、および、計算ノードに接続される。データ管理装置100は、ネットワークを介して、グローバルストレージ、および、計算ノードに接続されてもよい。
The
次に、第1の実施の形態の動作について図面を参照して詳細に説明する。 Next, the operation of the first embodiment will be described in detail with reference to the drawings.
図2は、第1の実施の形態の動作を示す動作説明図である。図2を参照すると、データ更新手段110は、計算ノードによりグローバルストレージに格納されたチェックポイントデータに基づいて復元データをグローバルストレージに作成、または、復元データを更新する(ステップS601)。 FIG. 2 is an operation explanatory diagram showing the operation of the first embodiment. Referring to FIG. 2, the data updating means 110 creates the restored data in the global storage or updates the restored data based on the checkpoint data stored in the global storage by the calculation node (step S601).
また、データ位置管理手段120は、ある計算ノード(被代替)の障害時等に、アプリケーションプログラムの実行を引き継ぐ代替計算ノードからの通知を受け取る(ステップS602)。そして、データ位置管理手段120は、被代替計算ノードの復元データが更新済み(すなわち、更新完了で最新)であれば(ステップS603/Y)、復元データの位置情報を、通知元の計算ノードに送る(ステップS604)。ここで、復元データが更新途中である場合、データ更新手段110による更新が完了してから、ステップS604に進む方式が可能である。
Further, the data position management means 120 receives a notification from the alternative calculation node that takes over the execution of the application program when a failure of a certain calculation node (substitute) occurs (step S602). Then, if the restored data of the alternative calculation node has been updated (that is, the latest update is completed) (step S603 / Y), the data position management means 120 transfers the position information of the restored data to the calculation node of the notification source. Send (step S604). Here, if the restored data is in the process of being updated, a method of proceeding to step S604 after the update by the
被代替計算ノードの復元データが未更新であれば(ステップS603/N)、データ位置管理手段120は、復元データの位置情報、および、チェックポイントデータの位置情報を、通知元の計算ノードに送る(ステップS605)。この未更新とは、更新未開始のことである。 If the restored data of the alternative calculation node has not been updated (step S603 / N), the data position management means 120 sends the position information of the restored data and the position information of the checkpoint data to the calculation node of the notification source. (Step S605). This non-update means that the update has not started.
ここで、位置情報とは、たとえば、グローバルストレージ上のアドレスのことである。障害時等に、通知を出した計算ノードは、復元データの位置情報、または、チェックポイントの位置情報を受け取ると、復元データ、または、チェックポイントデータをストレージから取り出し、障害の復旧を図ることができる。 Here, the location information is, for example, an address on the global storage. When the compute node that issued the notification in the event of a failure receives the location information of the restored data or the location information of the checkpoint, the restored data or checkpoint data can be retrieved from the storage to recover from the failure. it can.
次に、第1の実施の形態の効果について説明する。 Next, the effect of the first embodiment will be described.
第1の実施の形態は、計算ノードとは独立したデータ管理装置100が、チェックポイントデータに基づいて復元データをグローバルストレージに作成、または、復元データを更新する構成である。したがって、第1の実施の形態は、計算ノードの構成が複雑にならないという効果を持つ。
In the first embodiment, the
また、第1の実施の形態は、計算ノードとは独立したデータ管理装置100が、チェックポイントごとに、チェックポイントデータに基づいて復元データを更新する構成である。したがって、第1の実施の形態は、データの復元時に、最新の復元データがすでに保存されている確率が非常に大きいので、時間的オーバーヘッドが少ないという効果を持つ。
Further, in the first embodiment, the
次に、本発明の第2の実施の形態について図面を参照して詳細に説明する。 Next, a second embodiment of the present invention will be described in detail with reference to the drawings.
図3は、第2の実施の形態の構成を示すブロック図である。図3を参照すると、第2の実施の形態の情報処理システム500は、データ管理装置100、1以上の計算ノード210〜計算ノード2n0(nは整数)、および、グローバルストレージ300が、ネットワーク400で接続される構成である。
FIG. 3 is a block diagram showing the configuration of the second embodiment. Referring to FIG. 3, in the
計算ノード210〜計算ノード2n0に関しては、同一構成なので、以下、計算ノード210について説明する。計算ノード210は、プロセッサ211、および、ローカルストレージ212を含む。プロセッサ211上で、オペレーティングシステム213、アプリケーションプログラム214、および、ローカルチェックポイント管理プログラム215が動作する。
Since the
ローカルストレージ212には、オペレーティングシステム213、アプリケーションプログラム214、および、ローカルチェックポイント管理プログラム215が格納され、プロセッサ211に読み出され実行される。また、ローカルストレージ212には、アプリケーションプログラム214で使用されるデータが格納される。
The operating system 213, the application program 214, and the local checkpoint management program 215 are stored in the
オペレーティングシステム213、アプリケーションプログラム214、および、ローカルチェックポイント管理プログラム215は、プロセッサ211内のハードウェアとして実現される構成が可能である。この場合、たとえば、ローカルチェックポイント管理プログラム215は、ハードウェアのローカルチェックポイント管理手段である。 The operating system 213, the application program 214, and the local checkpoint management program 215 can be configured to be implemented as hardware in the processor 211. In this case, for example, the local checkpoint management program 215 is a hardware local checkpoint management means.
グローバルストレージ300には、チェックポイントデータ301、および、復元データ302が格納される。
次に、第2の実施の形態の動作について説明する。 Next, the operation of the second embodiment will be described.
計算ノード210のオペレーティングシステム213の管理下でアプリケーションプログラム214が実行され、その実行中にアプリケーションプログラム214に対応するチェックポイントの処理が行われる場合について説明する。
The case where the application program 214 is executed under the control of the operating system 213 of the
まず、動作の概要について説明する。 First, the outline of the operation will be described.
アプリケーションプログラム214は、実行時に一定時間が経過すると、その実行を中断する。そして、ローカルチェックポイント管理プログラム215が、チェックポイントデータ301をグローバルストレージ300に保存する処理を行い、その後、アプリケーションプログラム214が実行を再開する。
The application program 214 suspends its execution after a certain period of time has elapsed during execution. Then, the local checkpoint management program 215 performs a process of saving the
データ管理装置100は、保存されたチェックポイントデータ301を復元データ302に適用して復元データ302を更新する。
The
障害発生に対処するリスタートの処理においては、たとえば、代替の計算ノード210のローカルチェックポイント管理プログラム215が、データ管理装置100に復元データ302の問い合わせを行う。そして、データ管理装置100が、復元データ302の位置情報を計算ノード210に送る。ローカルチェックポイント管理プログラム215は、復元データ302の位置情報の位置情報を受け取り、グローバルストレージ300から復元データ302を取り出す。アプリケーションプログラム214は、その復元データを用いて実行を再開する。
In the restart process for dealing with the occurrence of a failure, for example, the local checkpoint management program 215 of the
また、データ管理装置100が、復元データ302の位置情報、および、チェックポイントデータ301の位置情報の両方を送る場合がある。チェックポイントデータ301の位置情報が必要となるのは、以前のチェックポイントでチェックポイントデータ301が保存され、それを復元データ302に反映させる上書き処理が行われていない場合である。
Further, the
この場合、ローカルチェックポイント管理プログラム215は、チェックポイントデータ301の位置情報に基づきチェックポイントデータ301を取りだし、復元データ302に反映する(上書きする)。そして、アプリケーションプログラム214は、その復元データ302を用いて実行を再開する。
In this case, the local checkpoint management program 215 takes out the
次に、第2の実施の形態の動作について、さらに詳細に図面を参照して説明する。 Next, the operation of the second embodiment will be described in more detail with reference to the drawings.
まず、チェックポイントデータ301の保存の動作について説明する。図4は、第2の実施の形態の計算ノード210におけるチェックポイントデータ301の保存動作を示す動作説明図である。
First, the operation of saving the
図4を参照すると、計算ノード210のオペレーティングシステム213が、一定時間の経過を認識し、実行されているアプリケーションプログラム214に実行の中断を指示する。アプリケーションプログラム214は、この指示を受け、実行を中断する(ステップS621)。
Referring to FIG. 4, the operating system 213 of the
このアプリケーションプログラム214が、計算ノード210〜計算ノード2n0の複数に分散されて並列に実行されている場合、オペレーティングシステム213が、同期処理を行う(ステップS622)。すなわち、全ての計算ノード210〜計算ノード2n0のオペレーティングシステム213が連携し、分散され並列に実行されているアプリケーションプログラム214を中断させる。計算ノード210〜計算ノード2n0相互の通信処理の完了の確認は、同期処理に含まれる。
When the application program 214 is distributed to a plurality of
次に、中断されたアプリケーションプログラム214を含む計算ノード210〜計算ノード2n0のローカルチェックポイント管理プログラム215がそれぞれのオペレーティングシステム213により起動される(ステップS623)。
Next, the local checkpoint management program 215 of the
そして、各ローカルチェックポイント管理プログラム215は、アプリケーションプログラム214により作成、編集されたデータに基づき、チェックポイントデータ301を作成し、グローバルストレージ300に保存する(ステップS624)。
Then, each local checkpoint management program 215 creates
保存するデータ量を削減するために、前回のチェックポイントで保存したチェックポイントデータ301が含まれるデータ(すなわち、復元データ302相当)から変更された差分をチェックポイントデータ301とする手法が適用可能である。チェックポイントごとに、前回のチェックポイント時のデータと今回のデータとの差分を取る手法としては、たとえば、ページベースの手法、ハッシュベースの手法等がある。
In order to reduce the amount of data to be saved, a method can be applied in which the difference changed from the data including the
次に、各ローカルチェックポイント管理プログラム215は、データ管理装置100にチェックポイントデータ301の保存が終了したことを示す終了通知を送る(ステップS625)。各ローカルチェックポイント管理プログラム215は、アプリケーションプログラム214を含む全ての計算ノード210〜計算ノード2n0におけるチェックポイントデータ301の保存が完了することを確認する同期処理を行う(ステップS626)。
Next, each local checkpoint management program 215 sends a completion notification indicating that the storage of the
この同期処理が完了すると、各ローカルチェックポイント管理プログラム215は、同期の完了をそれぞれのオペレーティングシステム213に通知する(ステップS627)。各オペレーティングシステム213は、通知を受け取ると、中断していた各アプリケーションプログラム214に実行の再開を指示し、各アプリケーションプログラム214は、この指示を受け、実行を再開する(ステップS628)。 When this synchronization process is completed, each local checkpoint management program 215 notifies each operating system 213 of the completion of synchronization (step S627). Upon receiving the notification, each operating system 213 instructs each of the suspended application programs 214 to resume execution, and each application program 214 receives this instruction and resumes execution (step S628).
次に、保存されたチェックポイントデータ301と復元データ302とを組み合わせて復元データ302を更新する動作について説明する。図5は、第2の実施の形態のデータ管理装置100の動作を示す動作説明図である。
Next, the operation of updating the restored
図4のステップS625に示されるように、各ローカルチェックポイント管理プログラム215は、データ管理装置100にチェックポイントデータ301の保存が終了したことを示す終了通知を送る。
As shown in step S625 of FIG. 4, each local checkpoint management program 215 sends a completion notification indicating that the storage of the
図5を参照すると、データ管理装置100のデータ更新手段110は、アプリケーションプログラム214が実行されている計算ノード210〜計算ノード2n0全てから終了通知を受け取ったかどうかを確認する(ステップS641)。
Referring to FIG. 5, the data updating means 110 of the
まだ、受け取ってなければ(ステップS641/N)、データ更新手段110は、確認を繰り返す(ステップS641)。データ更新手段110は、アプリケーションプログラム214が実行されている計算ノード210〜計算ノード2n0全てから終了通知を受け取ると(ステップS641/Y)、ステップS642以降の処理に進む。すなわち、データ更新手段110は、終了通知に対応して、順次、復元データ302を更新する処理を行う。
If it has not been received yet (step S641 / N), the data updating means 110 repeats the confirmation (step S641). When the data update means 110 receives the end notification from all the
データ更新手段110は、終了通知を受け取り、かつ、対応する復元データ302を更新していない(最新でない)計算ノード210〜計算ノード2n0が存在するかどうかを確認する(ステップS642)。
The data update means 110 receives the end notification and confirms whether or not the
対応する復元データ302を更新していない計算ノード210〜計算ノード2n0が存在する場合(ステップS642/Y)、データ更新手段110は、その計算ノード210〜計算ノード2n0を選択する(ステップS643)。次に、データ更新手段110は、選択した計算ノード210〜計算ノード2n0の復元データ302に、対応するチェックポイントデータ301を上書きして最新のチェックポイントにおける復元データ302の内容に更新する(ステップS644)。そして、データ更新手段110は、ステップS642の処理に戻る。
When there is a
対応する復元データ302を更新していない計算ノード210〜計算ノード2n0が存在しない場合(ステップS642/N)、データ更新手段110は、処理を終了する。
When the
以上では、アプリケーションプログラム214が実行されている計算ノード210〜計算ノード2n0全てから終了通知を受け取ったかどうかを確認してから、ステップS642以降の復元データ302の更新が実施された。別の方式として、データ更新手段110が、終了通知を受け取るごとに、その計算ノード210〜計算ノード2n0に対応する復元データ302を更新する方式も可能である。
In the above, after confirming whether or not the end notification has been received from all the
上記のデータ管理装置100の処理は、アプリケーションプログラム214の実行と並列して実行されることが可能である。復元データ302の更新は、保存したチェックポイントデータ301を復元データ302に上書きする書き込み処理であるため、通常は、複雑な処理を行うアプリケーションプログラム214の実行時間の間に十分に終了可能である。
The processing of the
次に、以上で説明したチェックポイントデータ301、および、復元データ302の時間的変化について説明する。
Next, the
図6は、チェックポイントデータ301、および、復元データ302の時間的変化を示す説明図である。図6を参照すると、アプリケーションプログラム214の実行が開始され、最初のチェックポイントにおけるチェックポイントデータ301がF0である。この場合、全てのデータであるF0が、チェックポイントデータ301としてグローバルストレージ300に保存される。そして、このチェックポイントデータ301(F0)が、そのまま復元データ302(F0)となる。
FIG. 6 is an explanatory diagram showing changes over time in the
次のチェックポイントにおいて、前のチェックポイント時のデータF0と現在のデータF1との差分D1がチェックポイントデータ301としてグローバルストレージ300に保存される。データ管理装置100は、差分D1を、この時点の復元データ302であるF0に上書きする処理を行い、復元データ302をF1と同等にする。
At the next checkpoint, the difference D1 between the data F0 at the time of the previous checkpoint and the current data F1 is stored in the
これ以降も同様に、データ管理装置100は、チェックポイントデータ301(D2、…、Dm)を使用して復元データ302(F2、…、Fm)を更新する。このmは、整数である。以上のようにして、最新のチェックポイント時点の復元データ302をグローバルストレージ300に保持することが可能となる。
From this point onward, the
次に、障害等により実行を再開するリスタート処理の動作について説明する。障害等が発生して動作不可能な計算ノード2i0(iは整数)がある場合、代替の計算ノード2j0(jは整数)が割り当てられて、アプリケーションプログラム214の実行が再開される。 Next, the operation of the restart process for resuming execution due to a failure or the like will be described. When there is a calculation node 2i0 (i is an integer) that cannot operate due to a failure or the like, an alternative calculation node 2j0 (j is an integer) is assigned and the execution of the application program 214 is restarted.
代替の計算ノード2j0が、計算ノード210である場合について説明する。すなわち、代替の計算ノード210のアプリケーションプログラム214が、グローバルストレージ300に保持されている復元データ302を使って引き継ぎを行う場合について説明する。
The case where the alternative calculation node 2j0 is the
まず、計算ノード210のローカルチェックポイント管理プログラム215が実行を再開するデータを得るため、データ管理装置100に復元データ302の問い合わせを行う。
First, the local checkpoint management program 215 of the
図7は、上記問い合わせを受け取ったデータ管理装置100の動作を示す動作説明図である。図7を参照すると、データ管理装置100のデータ位置管理手段120は、計算ノード210からの問い合わせを受け取り(ステップS651)、障害の発生した計算ノード2i0の復元データ302の更新状態を確認する(ステップS652)。
FIG. 7 is an operation explanatory diagram showing the operation of the
復元データ302が、未更新である場合(ステップS653/Y)、データ位置管理手段120は、計算ノード2i0の復元データ302の位置情報、および、チェックポイントデータ301の位置情報を計算ノード210に返却する(ステップS654)。そして、データ位置管理手段120は、処理を終了する。この場合、未更新は、更新途中を含まない。
When the restored
復元データ302が更新途中、または、更新済みである場合(ステップS653/N)、データ位置管理手段120は、更新途中であるかどうかをデータ更新手段110に確認する(ステップS655)。更新途中である場合は(ステップS655/Y)、データ位置管理手段120は、確認を繰り返す(ステップS655)。すなわち、データ位置管理手段120は、データ更新手段110による更新が完了するまで待つ。
When the restored
更新途中でない場合(ステップS655/N)、データ位置管理手段120は、障害の発生した計算ノード2i0の復元データ302の位置情報を計算ノード210に返却して(ステップS656)、処理を終了する。
If the update is not in progress (step S655 / N), the data position management means 120 returns the position information of the restored
以上説明したように、障害発生のタイミングにより、復元データ302の状態は、3種の状態のいずれかである。第1種の状態は、保存された最新のチェックポイントデータ301による更新が済んだ復元データ302となっている状態である。
As described above, the state of the restored
第2種の状態は、保存された最新のチェックポイントデータ301による更新処理が開始されているが、まだ、完了していない途中の状態である。第3種の状態は、保存された最新のチェックポイントデータ301による更新処理がまだ開始されていない状態である。
The second type of state is a state in which the update process by the latest saved
第1種の状態、または、第2種の状態の場合、計算ノード210は、返却された復元データ302の位置情報を使用して、復元データ302をグローバルストレージ300から取り出し、障害の発生した計算ノード2i0の処理を引き継ぐことができる。
In the case of the first type state or the second type state, the
たとえば、計算ノード210のローカルチェックポイント管理プログラム215が、復元データ302をローカルストレージ212に取り出し、アプリケーションプログラム214が、その復元データ302を使用して、引き継ぎの実行を開始する。
For example, the local checkpoint management program 215 of the
第3種の状態の場合、計算ノード210において、復元データ302にチェックポイントデータ301の上書きが必要になる。チェックポイントデータ301が前回との差分であれば(ハッシュベースの手法等)、オーバーヘッドは少ない。
In the case of the third type of state, it is necessary to overwrite the
この場合、ローカルチェックポイント管理プログラム215が、ローカルストレージ212に取り出した復元データ302にチェックポイントデータ301の上書きを行う。そして、アプリケーションプログラム214が、上書きされた復元データ302を使用して、引き継ぎの実行を開始する。
In this case, the local checkpoint management program 215 overwrites the restored
次に、第2の実施の形態の効果について説明する。 Next, the effect of the second embodiment will be described.
第2の実施の形態は、第1の実施の形態の一例なので、第1の実施の形態と同一の効果を持つ。また、第2の実施の形態は、差分をチェックポイントデータ301として使用しているので、復元データ302の更新の時間が短いという効果を持つ。
Since the second embodiment is an example of the first embodiment, it has the same effect as the first embodiment. Further, in the second embodiment, since the difference is used as the
上記の実施の形態の一部、または、全部は、以下の付記のようにも記載されうるが、以下には限られない。 Some or all of the above embodiments may also be described, but not limited to:
[付記1]
計算ノードによりグローバルストレージに格納されたアプリケーションプログラムのチェックポイントデータに基づいて、前記グローバルストレージに復元データを作成、または、前記グローバルストレージの前記復元データを更新するデータ更新手段と、
被代替の前記計算ノードの前記復元データが更新完了であれば前記復元データの位置情報を、更新途中であれば更新が完了してから前記復元データの位置情報を、更新未開始であれば前記復元データの位置情報および対応する前記チェックポイントデータの位置情報を、前記アプリケーションプログラムの実行を引き継ぐ代替の前記計算ノードに送るデータ位置管理手段と、
を含むことを特徴とするデータ管理装置。
[Appendix 1]
A data update means for creating restored data in the global storage or updating the restored data in the global storage based on the checkpoint data of the application program stored in the global storage by the compute node.
If the restored data of the alternative calculation node has completed the update, the position information of the restored data is obtained. If the update is in progress, the position information of the restored data is obtained after the update is completed. A data position management means for sending the position information of the restored data and the position information of the corresponding checkpoint data to the alternative calculation node that takes over the execution of the application program.
A data management device characterized by including.
[付記2]
前記チェックポイントデータは、前回のチェックポイントにおける前記アプリケーションプログラムのデータと今回のデータとの差分であることを特徴とする付記1のデータ管理装置。
[Appendix 2]
The data management device according to Appendix 1, wherein the checkpoint data is a difference between the data of the application program at the previous checkpoint and the data of the present time.
[付記3]
前記データ更新手段は、前記アプリケーションプログラムが、複数の前記計算ノードに分散され並列に実行されている場合、前記複数の前記計算ノード全ての前記チェックポイントデータを前記復元データに上書きし、最新のチェックポイントにおける前記復元データに更新することを特徴とする付記1、または、2のデータ管理装置。
[Appendix 3]
When the application program is distributed to a plurality of the computing nodes and executed in parallel, the data updating means overwrites the checkpoint data of all the plurality of computing nodes with the restored data to perform the latest check. The data management device of Appendix 1 or 2, characterized in that the restored data at the point is updated.
[付記4]
前記データ更新手段は、前記アプリケーションプログラムが分散され並列に実行されている前記計算ノード全てから前記チェックポイントデータの保存が終了したことを示す終了通知を受け取ってから、最新のチェックポイントにおける前記復元データに更新することを特徴とする付記3のデータ管理装置。
[Appendix 4]
The data updating means receives the end notification indicating that the storage of the checkpoint data is completed from all the computing nodes in which the application program is distributed and executed in parallel, and then the restored data at the latest checkpoint. The data management device of Appendix 3 characterized in that it is updated to.
[付記5]
前記データ更新手段は、前記アプリケーションプログラムが分散され並列に実行されている前記計算ノードから前記チェックポイントデータの保存が終了したことを示す終了通知を受け取るごとに、最新のチェックポイントにおける前記復元データに更新することを特徴とする付記3のデータ管理装置。
[Appendix 5]
Each time the data update means receives a termination notification indicating that the storage of the checkpoint data has been completed from the calculation node in which the application program is distributed and executed in parallel, the data is restored to the restored data at the latest checkpoint. The data management device of Appendix 3 characterized by updating.
[付記6] 付記1ないし5のいずれか1つの前記データ管理装置と、計算ノードと、グローバルストレージと、
を含むことを特徴とする情報処理システム。
[Appendix 6] The data management device, the calculation node, the global storage, and the global storage of any one of the appendices 1 to 5.
An information processing system characterized by including.
[付記7]
前記計算ノードは、チェックポイントごとに、前記チェックポイントデータを作成し、前記グローバルストレージに保存し、前記終了通知を前記データ処理装置に送るローカルチェックポイント管理プログラムを実行することを特徴とする付記6の情報処理システム。
[Appendix 7]
The calculation node creates the checkpoint data for each checkpoint, stores the checkpoint data in the global storage, and executes a local checkpoint management program that sends the end notification to the data processing device. Information processing system.
[付記8]
計算ノードによりグローバルストレージに格納されたアプリケーションプログラムのチェックポイントデータに基づいて、前記グローバルストレージに復元データを作成、または、前記グローバルストレージの前記復元データを更新するデータ更新し、
被代替の前記計算ノードの前記復元データが更新完了であれば前記復元データの位置情報を、更新途中であれば更新が完了してから前記復元データの位置情報を、更新未開始であれば前記復元データの位置情報および対応する前記チェックポイントデータの位置情報を、前記アプリケーションプログラムの実行を引き継ぐ代替の前記計算ノードに送ることを特徴とするデータ管理方法。
[Appendix 8]
Based on the checkpoint data of the application program stored in the global storage by the compute node, the restored data is created in the global storage, or the restored data in the global storage is updated.
If the restored data of the alternative calculation node has completed the update, the position information of the restored data is obtained. If the update is in progress, the position information of the restored data is obtained after the update is completed. A data management method comprising sending the location information of restored data and the location information of the corresponding checkpoint data to an alternative computing node that takes over the execution of the application program.
[付記9]
前記チェックポイントデータは、前回のチェックポイントにおける前記アプリケーションプログラムのデータと今回のデータとの差分であることを特徴とする付記8のデータ管理方法。
[Appendix 9]
The data management method according to Appendix 8, wherein the checkpoint data is a difference between the data of the application program at the previous checkpoint and the data of the present time.
[付記10]
前記アプリケーションプログラムが、複数の前記計算ノードに分散され並列に実行されている場合、前記複数の前記計算ノード全ての前記チェックポイントデータを前記復元データに上書きし、最新のチェックポイントにおける前記復元データに更新することを特徴とする付記8、または、9のデータ管理方法。
[Appendix 10]
When the application program is distributed to a plurality of the computing nodes and executed in parallel, the checkpoint data of all the plurality of computing nodes is overwritten with the restored data, and the restored data at the latest checkpoint is used. The data management method of Appendix 8 or 9, characterized in that it is updated.
[付記11]
前記アプリケーションプログラムが分散され並列に実行されている前記計算ノード全てから前記チェックポイントデータの保存が終了したことを示す終了通知を受け取ってから、最新のチェックポイントにおける前記復元データに更新することを特徴とする付記10のデータ管理方法。
[Appendix 11]
It is characterized in that after receiving the end notification indicating that the storage of the checkpoint data is completed from all the computing nodes in which the application program is distributed and executed in parallel, the data is updated to the restored data at the latest checkpoint. The data management method of Appendix 10.
[付記12]
前記アプリケーションプログラムが分散され並列に実行されている前記計算ノードから前記チェックポイントデータの保存が終了したことを示す終了通知を受け取るごとに、最新のチェックポイントにおける前記復元データに更新することを特徴とする付記10のデータ管理方法。
[Appendix 12]
Each time the application program receives a termination notification indicating that the checkpoint data storage has been completed from the computing node in which the application program is distributed and executed in parallel, the restored data at the latest checkpoint is updated. The data management method of Appendix 10.
[付記13]
計算ノードによりグローバルストレージに格納されたアプリケーションプログラムのチェックポイントデータに基づいて、前記グローバルストレージに復元データを作成、または、前記グローバルストレージの前記復元データを更新するデータ更新する処理と、
被代替の前記計算ノードの前記復元データが更新完了であれば前記復元データの位置情報を、更新途中であれば更新が完了してから前記復元データの位置情報を、更新未開始であれば前記復元データの位置情報および対応する前記チェックポイントデータの位置情報を、前記アプリケーションプログラムの実行を引き継ぐ代替の前記計算ノードに送る処理と、
をコンピュータに実行させること特徴とするプログラム。
[Appendix 13]
Based on the checkpoint data of the application program stored in the global storage by the compute node, the process of creating restored data in the global storage or updating the restored data in the global storage, and the process of updating the data.
If the restored data of the alternative calculation node has completed the update, the position information of the restored data is obtained. If the update is in progress, the position information of the restored data is obtained after the update is completed. A process of sending the position information of the restored data and the position information of the corresponding checkpoint data to the alternative calculation node that takes over the execution of the application program.
A program characterized by having a computer execute.
[付記14]
前記チェックポイントデータは、前回のチェックポイントにおける前記アプリケーションプログラムのデータと今回のデータとの差分であることを特徴とする付記13のプログラム。
[Appendix 14]
The program of Appendix 13 characterized in that the checkpoint data is a difference between the data of the application program at the previous checkpoint and the data of the present time.
[付記15]
前記アプリケーションプログラムが、複数の前記計算ノードに分散され並列に実行されている場合、前記複数の前記計算ノード全ての前記チェックポイントデータを前記復元データに上書きし、最新のチェックポイントにおける前記復元データに更新する処理をコンピュータに実行させることを特徴とする付記13、または、14のプログラム。
[Appendix 15]
When the application program is distributed to a plurality of the computing nodes and executed in parallel, the checkpoint data of all the plurality of computing nodes is overwritten with the restored data, and the restored data at the latest checkpoint is used. The program of Appendix 13 or 14, characterized in that a computer executes an update process.
[付記16]
前記アプリケーションプログラムが分散され並列に実行されている前記計算ノード全てから前記チェックポイントデータの保存が終了したことを示す終了通知を受け取ってから、最新のチェックポイントにおける前記復元データに更新する処理をコンピュータに実行させることを特徴とする付記15のプログラム。
[Appendix 16]
After receiving the end notification indicating that the checkpoint data has been saved from all the computing nodes in which the application program is distributed and executed in parallel, the computer performs a process of updating to the restored data at the latest checkpoint. Appendix 15 program, characterized in that it is executed by a computer.
[付記17]
前記アプリケーションプログラムが分散され並列に実行されている前記計算ノードから前記チェックポイントデータの保存が終了したことを示す終了通知を受け取るごとに、最新のチェックポイントにおける前記復元データに更新する処理をコンピュータに実行させることを特徴とする付記15のプログラム。
[Appendix 17]
Every time the application program is distributed and executed in parallel, the computer is updated with the restored data at the latest checkpoint each time it receives a termination notification indicating that the checkpoint data has been saved. Appendix 15 program characterized by being executed.
100 データ管理装置
110 データ更新手段
120 データ位置管理手段
210 計算ノード
2i0 計算ノード
2j0 計算ノード
2n0 計算ノード
211 プロセッサ
212 ローカルストレージ
213 オペレーティングシステム
214 アプリケーションプログラム
215 ローカルチェックポイント管理プログラム
300 グローバルストレージ
400 ネットワーク
500 情報処理システム
100
Claims (10)
被代替の前記計算ノードの前記復元データが更新完了であれば前記復元データの位置情報を、更新途中であれば更新が完了してから前記復元データの位置情報を、更新未開始であれば前記復元データの位置情報および対応する前記チェックポイントデータの位置情報を、前記アプリケーションプログラムの実行を引き継ぐ代替の前記計算ノードに送るデータ位置管理手段と、
を含むことを特徴とするデータ管理装置。 A data update means for creating restored data in the global storage or updating the restored data in the global storage based on the checkpoint data of the application program stored in the global storage by the compute node.
If the restored data of the alternative calculation node has completed the update, the position information of the restored data is obtained. If the update is in progress, the position information of the restored data is obtained after the update is completed. A data position management means for sending the position information of the restored data and the position information of the corresponding checkpoint data to the alternative calculation node that takes over the execution of the application program.
A data management device characterized by including.
を含むことを特徴とする情報処理システム。 The data management device according to any one of claims 1 to 6 , a calculation node, global storage, and the like.
An information processing system characterized by including.
計算ノードによりグローバルストレージに格納されたアプリケーションプログラムのチェックポイントデータに基づいて、前記グローバルストレージに復元データを作成、または、前記グローバルストレージの前記復元データを更新し、
被代替の前記計算ノードの前記復元データが更新完了であれば前記復元データの位置情報を、更新途中であれば更新が完了してから前記復元データの位置情報を、更新未開始であれば前記復元データの位置情報および対応する前記チェックポイントデータの位置情報を、前記アプリケーションプログラムの実行を引き継ぐ代替の前記計算ノードに送ることを特徴とするデータ管理方法。 The data management device
Based on the checkpoint data of the application program stored in the global storage by calculation node, create a restore data to the global storage, or further new the restored data of the global storage,
If the restored data of the alternative calculation node has completed the update, the position information of the restored data is obtained. If the update is in progress, the position information of the restored data is obtained after the update is completed. A data management method comprising sending the location information of restored data and the location information of the corresponding checkpoint data to an alternative computing node that takes over the execution of the application program.
被代替の前記計算ノードの前記復元データが更新完了であれば前記復元データの位置情報を、更新途中であれば更新が完了してから前記復元データの位置情報を、更新未開始であれば前記復元データの位置情報および対応する前記チェックポイントデータの位置情報を、前記アプリケーションプログラムの実行を引き継ぐ代替の前記計算ノードに送る処理と、
をデータ管理装置として動作するコンピュータに実行させること特徴とするプログラム。 And processing according to the check point data of the application program stored in the global storage, create a restore data to the global storage, or to update the restored data of the global storage by calculation nodes,
If the restored data of the alternative calculation node has completed the update, the position information of the restored data is obtained. If the update is in progress, the position information of the restored data is obtained after the update is completed. A process of sending the position information of the restored data and the position information of the corresponding checkpoint data to the alternative calculation node that takes over the execution of the application program.
A program characterized by having a computer that operates as a data management device execute.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017041855A JP6891545B2 (en) | 2017-03-06 | 2017-03-06 | Data management equipment, information processing systems, data management methods, and programs |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017041855A JP6891545B2 (en) | 2017-03-06 | 2017-03-06 | Data management equipment, information processing systems, data management methods, and programs |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018147242A JP2018147242A (en) | 2018-09-20 |
JP6891545B2 true JP6891545B2 (en) | 2021-06-18 |
Family
ID=63592149
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017041855A Active JP6891545B2 (en) | 2017-03-06 | 2017-03-06 | Data management equipment, information processing systems, data management methods, and programs |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6891545B2 (en) |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4659872B2 (en) * | 2008-11-07 | 2011-03-30 | 富士通株式会社 | Cluster system control program, cluster system, and cluster system control method |
JP5289642B1 (en) * | 2013-01-25 | 2013-09-11 | 株式会社東芝 | Backup storage system, backup storage device and method for backing up data |
-
2017
- 2017-03-06 JP JP2017041855A patent/JP6891545B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2018147242A (en) | 2018-09-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100238926B1 (en) | Method and apparatus for recovering from faults in distributed memory type multiprocessor computing system | |
US20160048408A1 (en) | Replication of virtualized infrastructure within distributed computing environments | |
US8307363B2 (en) | Virtual machine system, restarting method of virtual machine and system | |
US10565071B2 (en) | Smart data replication recoverer | |
US9275060B1 (en) | Method and system for using high availability attributes to define data protection plans | |
CN112035293A (en) | Virtual machine cluster backup | |
WO2019020081A1 (en) | Distributed system and fault recovery method and apparatus thereof, product, and storage medium | |
US11599554B2 (en) | Synchronizing changes to stale components of a distributed object using synchronization bitmaps | |
Jehl et al. | Smartmerge: A new approach to reconfiguration for atomic storage | |
WO2013102812A1 (en) | A fault tolerant system in a loosely-coupled cluster environment | |
JP6123626B2 (en) | Process resumption method, process resumption program, and information processing system | |
US12086037B2 (en) | Scalable low-loss disaster recovery for data stores | |
JPH11345130A (en) | Method for achieving data matching by synchronization with plural data stores | |
JP2012173996A (en) | Cluster system, cluster management method and cluster management program | |
JP4560074B2 (en) | Virtual computer system and virtual computer restoration method in the same system | |
US8689043B1 (en) | Fast failover with multiple secondary nodes | |
US11681661B2 (en) | Hybrid synchronization using a shadow component | |
CN106775846B (en) | Method and device for online migration of physical server | |
JP2017535853A (en) | Recovery and fault tolerance under computational nondeterminism | |
JP6891545B2 (en) | Data management equipment, information processing systems, data management methods, and programs | |
JP3708891B2 (en) | Process pair execution control method, process pair execution control program, and fault tolerant system in fault tolerant system | |
US11947827B2 (en) | Synchronizing a stale component of a distributed object using a delta component during maintenance | |
JP7208497B2 (en) | Backup/restoration method and backup/restoration device | |
JP3122371B2 (en) | Computer system | |
US11334450B1 (en) | Backup method and backup system for virtual machine |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200217 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210127 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210209 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210409 |
|
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: 20210427 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210510 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6891545 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |