JP3729573B2 - Processing takeover method for parallel processing system - Google Patents
Processing takeover method for parallel processing system Download PDFInfo
- Publication number
- JP3729573B2 JP3729573B2 JP25121596A JP25121596A JP3729573B2 JP 3729573 B2 JP3729573 B2 JP 3729573B2 JP 25121596 A JP25121596 A JP 25121596A JP 25121596 A JP25121596 A JP 25121596A JP 3729573 B2 JP3729573 B2 JP 3729573B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- parallel processing
- processing device
- processing
- parallel
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Hardware Redundancy (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、並列処理装置が故障した場合に、代替装置が動作をひきついで運用を実行する機能を付加した並列処理システムの処理引き継ぎ方法に関する。
【0002】
処理速度の向上のために、複数の処理を同時に実行する並列処理装置が、利用されている。このような並列処理装置では、複数の処理が同時に実行されるため、同一の資源(データ)を同時にアクセスする場合がある。このような資源の競合を防止するために、資源の排他制御が行われる。
【0003】
しかしながら、排他制御することは、一の処理に資源の利用を許す反面、他の処理を待たせることになる。このため、速度向上の観点からは、排他制御の時間が短いことが要求される。
【0004】
【従来の技術】
図4は、並列処理の説明図、図5は排他制御の説明図である。
【0005】
図4に示すように、並列処理においては、第1の処理と第2の処理が平行して行われる。このような並列処理において、同一の資源を複数の処理が同時にアクセスされる場合が生じる。
【0006】
例えば、図4に示すように、A銀行の口座からB銀行の口座に1000円移動する第1の処理と、A銀行の口座とB銀行の口座の合計額を計算する第2の処理とが、同時に走っている場合には、A銀行の口座とB銀行の口座が、同時にアクセスされる場合が生じる。
【0007】
このような場合に、第1の処理により、先ず、A銀行の口座(残高1000円)から1000円を差し引き、次に、第2の処理によりA銀行の口座とB銀行の口座(残高0円)の合計額を計算し、第1の処理により、B銀行の口座に1000円足す処理が行われると、第2の処理の結果に誤りが生じる。
【0008】
即ち、ある処理により、資源が変更された場合に、一貫性が破壊されてしまう場合がある。
【0009】
この一貫性を保つためには、一の処理を行っている間に、他の処理がその資源にアクセスしないように、排他制御を行う。
【0010】
図5に示すように、図4の処理の例では、口座から口座に預金を移動する第1の処理のため、先ず、2つの口座のデータを排他制御して、預金の移動処理を行ってから、2つの口座の排他制御を解除して、第2の処理を開始する。
【0011】
この排他制御が行われている間には、他の処理は、待たされることになり、過渡的なデータの読み出しを防止できる。
【0012】
図6は、代替システムの説明図である。
【0013】
一方、並列処理装置1は、故障によりダウンする場合がある。この故障時に、システムが運用を継続できるように耐故障性機能を付加する必要がある。このため、図6に示すように、第1の並列処理装置(現用機)1に対し、代替装置(待機機)2を用意する。代替装置2は、並列処理装置である。尚、3は、ファイル装置である。
【0014】
この並列処理システムにおいて、耐故障性を付加した場合に、現用機1の故障時に、待機機2は、現用機1のデータを引き継ぐ必要がある。このため、現用機1が、資源を排他制御してから、資源の内容を変更し、変更内容を待機機2に送信した後、資源の排他制御を解除する必要がある。
【0015】
このデータの引き継ぎ方法として、従来次のものが考えられていた。
【0016】
図7は、第1の従来技術の説明図、図8は、第1の従来技術の処理フロー図である。
【0017】
排他制御の時間が長いと、処理速度が低下する。このため、参照が頻繁に行われる資源の場合には、一時的に矛盾した状態が存在することを許して、一貫性維持のための排他制御を行わないものがある。
【0018】
このような資源の例としては、UNIXファイルシステムの空きブロック数や、ファイルのリンクカウント値がある。
【0019】
従来の資源の排他制御を、図7に示すファイルの拡張処理の例で説明する。
【0020】
先ず、排他制御せずに、空きブロック数を変更する。ファイルの拡張では、空きブロック数を「1」少なくする。次に、それに伴い、ファイル装置3から空きブロックビットマップ(空きブロックリスト)及びブロックリストを読みだす。空きブロックビットマップは、どのファイルにも使われていないブロックを管理するものである。又、ブロックリストは、ファイル内容を格納しているディスク上のブロックを管理するためのものである。
【0021】
次に、排他制御装置に、空きブロックビットマップと、ブロックリストの排他制御を依頼する。そして、空きブロックビットマップと、ブロックリストを排他制御した後、空きブロックビットマップと、ブロックリストを変更する。そして、排他制御装置に排他制御の解除を依頼する。これにより、空きブロックビットマップと、ブロックリストの排他制御を解除する。
【0022】
この例では、空きブロック数は、空きブロックビットマップと、ブロックリストを参照することにより、判明できるため、空きブロック数を排他制御しなくて良い。即ち、空きブロック数に、一時的に、データの矛盾を許す。即ち、空きブロック数の変更と、これに伴う処理であるディスク上のデータリード処理とを、排他制御外とする。これにより、排他制御の時間が、空きブロック数の変更と、時間のかかる空きブロックビットマップとブロックリストの読み出し時間分短くなる。
【0023】
これを、一般的に示すと、図8のようになる。ここで、一貫性無視資源が、空きブロック数であり、他の資源が、空きブロックビットマップと、ブロックリストである。
【0024】
この一貫性を無視した資源を変更した後、システムが矛盾のない状態に戻る前に故障が発生した時には、前記資源を回復する手法が知られている。即ち、再立ち上げの途中で、一貫性チェックプログラムが起動して、一貫性を回復する。例えば、UNIXファイルシステムの場合、fsckというプログラムがこれを行う。
【0025】
並列処理システムに耐故障性を持たせるために、現用機1から待機機2への引き継ぎ時に、この方法を利用することが考えられる。即ち、現用機1の故障時に、待機機2で、一貫性チェックプログラムを走らせて、資源の一貫性を回復して、待機機2の処理再開を行うことが考えられる。
【0026】
一方、他の従来の方法として、図9に示すように、一貫性を無視した資源をも、排他制御して、一貫性を保つ。そして、現用機1から待機機2に、資源の内容を転送する。待機機2は、現用機1の故障時に、送られた資源を元に処理を再開する方法が、行われていた。
【0027】
【発明が解決しようとする課題】
前述の従来技術では、次の問題が生じていた。
【0028】
図7及び図8に示す一貫性チェックプログラムを走らせる第1の従来技術を、現用機1の故障時に適用すると、待機機2は、一貫性チェックプログラムが起動され、終了するまで、処理再開を待つ必要があった。一貫性チェックプログラムは、ファイル装置3の内容を全て調べて、資源の一貫性を回復するため、処理に時間がかかり、待機機2の処理再開が遅くなるという問題が生じていた。
【0029】
図9に示す第2の従来技術では、一貫性を無視しても良い資源も、排他制御するため、排他制御の不必要に時間が長くなる。このため、並列処理の処理速度が低下するという問題が生じていた。
【0030】
更に、処理のつどに、ファイル装置3に資源を書き戻すことも考えられるが、時間がかかるため、ファイル装置3への書き込みは、例えば、30秒に1回程度にすることが望ましい。このため、処理のつどに、ファイル装置3に資源を書き戻すことは、並列処理速度を大幅に低下することになる。
【0031】
本発明の目的は、並列処理の速度低下を防止するとともに、待機機の処理再開が遅くなることを防止するための並列処理システムの処理引き継ぎ方法を提供することにある。
【0032】
本発明の他の目的は、不必要な排他制御を防止し、且つ一貫性チェックプログラムによる処理を不要とすることができる並列処理システムの処理引き継ぎ方法を提供することにある。
【0033】
【課題を解決するための手段】
図1は、本発明の原理図である。
【0034】
並列処理システムは、複数の処理を並列に実行する並列処理装置1と、並列処理装置1の故障発生時に、動作をひきついで処理を実行する処理装置2と、並列処理装置1及び処理装置2にアクセスされ、ファイル処理のためのデータ及びファイル内容を格納するデータ格納手段3とを有する。この並列処理装置1は、前記ファイル処理のための第1のデータを変更した後、前記第1のデータに関連する第2のデータを変更して、データ格納手段3のファイル処理を行うものである。
【0035】
そして、処理引き継ぎ方法は、並列処理装置1が、一時的に空きブロックリスト及びブロックリストである第2のデータと矛盾した状態を許すように、空きブロック数である第1のデータ及び第1のデータを使用したファイル処理を排他制御せずに、メインメモリの第1のデータを変更した後、データ格納手段3からメインメモリに、第2のデータを読み出すステップと、並列処理装置1が、第2のデータと、第1のデータと同一内容を示すための第1のデータの空きブロック数のシャドウオブジェクトである第3のデータとを排他制御するステップと、並列処理装置1が、メインメモリの前記第2のデータと第3のデータとを変更した後、少なくとも前記第3のデータを処理装置2に転送するステップと、並列処理装置1が、第2のデータと第3のデータとの排他制御を解除するステップと、処理装置2が、並列処理装置1の故障発生時に、転送された第3のデータを初期値として、処理を引き継いで実行するステップとを有する。
【0036】
本発明では、一時的に矛盾した状態の存在を許すデータ(資源)を2重に持つ。そして、一方(第1のデータ)を一時的に矛盾した状態を許すように、従来通り、排他制御しないで、変更し、これに伴い、時間のかかる第2のデータの読みし処理を行う。又、他方(第3のデータ)は、排他制御して、第2のデータを変更する時に、これと一貫性を保つように、変更する。これにより、第3のデータは、第2のデータと矛盾がない。
【0037】
この第3のデータ(第1のデータのシャドウオブジェクトという)を処理装置2に転送する。これにより、処理装置2は、並列処理装置1の故障発生時に、矛盾のない第3のデータを初期値として、処理を再開できる。
【0038】
このため、一貫性チェックプログラムを走らすことを必要としないので、待機機(処理装置)2は、現用機(並列処理装置)1の故障時の処理再開の遅れを防止できる。
【0039】
又、第3のデータにより、矛盾がないデータが得られるため、一時的に矛盾した状態を許す第1のデータの変更と、それをトリガーとする第2のデータの読み出しを排他制御外とでき、並列処理における排他制御時間を短くでき、且つ故障時に、直ちに処理再開できる。
【0040】
【発明の実施の形態】
図2は本発明の一実施の形態の構成図、図3は本発明の一実施形態の処理フロー図である。
【0041】
図2において、現用機である並列処理装置1は、並列処理を行う並列処理プロセッサ10、メインメモリ11、排他制御を行う排他制御機構12、転送を行う転送機構13と、故障を検出して、通知する故障検出機構14とを有する。
【0042】
並列処理プロセッサ10は、例えば、複数のプロセッサで構成され、並列に複数の処理を実行する。メインメモリ11は、並列処理プロセッサ10の実行に必要なデータを保持するものである。
【0043】
メインメモリ11は、ファイルに使われていないブロックを管理するための空きブロックリスト(ビットマップ)11aと、ファイル内容を格納しているディスク上のブロックを管理するブロックリスト11bと、空きブロック数を示す空きブロック数11cと、空きブロック数を示す空きブロック数のシャドウオブジェクト11dとを保持する。
【0044】
即ち、空きブロック数を示す資源を、空きブロック数11cと、空きブロック数のシャドウオブジェト11dとに2重に持っている。
【0045】
排他制御機構12は、メインメモリ11の資源の排他制御を行う。転送機構13は、待機系の処理装置2と、データのやりとりを行うためのものである。故障検出機構14は、現用機1の故障を検出するものである。
【0046】
待機機である処理装置2も、並列処理装置で構成されている。この並列処理装置2は、並列処理を行う並列処理プロセッサ20、メインメモリ21、排他制御を行う排他制御機構22、転送を行う転送機構23と、故障を検出して、通知する故障検出機構24とを有する。
【0047】
並列処理プロセッサ20も、例えば、複数のプロセッサで構成され、並列に複数の処理を実行する。メインメモリ21は、並列処理プロセッサ20の実行に必要なデータを保持するものである。
【0048】
メインメモリ21は、ファイルに使われていないブロックを管理するための空きブロックリスト(ビットマップ)のコピー21aと、ファイル内容を格納しているディスク上のブロックを管理するブロックリストのコピー21bと、空きブロック数を示す空きブロック数のシャドウオブジェクトのコピー21cとを保持する。
【0049】
排他制御機構22は、メインメモリ21の資源の排他制御を行う。転送機構23は、現用系の処理装置1と、データのやりとりを行うためのものである。故障検出機構24は、待機機2の故障を検出するものである。
【0050】
ファイル装置3は、ファイルに使われていないブロックを管理するための空きブロックリスト(ビットマップ)と、ファイル内容を格納しているディスク上のブロックを管理するブロックリストと、空きブロック数を示す空きブロック数とを保持する。ファイル装置3は、ディスク記憶装置で構成され、両処理装置1、2に接続されている。
【0051】
図3の処理フロー図に従い、動作を説明する。尚、図3はファイル拡張時の処理を示す。
【0052】
(S1)並列プロセッサ10は、メインメモリ11の空きブロック数11cを変更する。例えば、ファイル拡張時には、空きブロック数11cを「1」減らす。
【0053】
(S2)並列プロセッサ10は、空きブロック数11cを変更すると、ファイル装置3から空きブロックビットマップ(リスト)、ブロックリストを読み出し、メインメモリ11に展開する。この読み出し処理には、時間がかかる。
【0054】
(S3)並列処理プロセッサ10は、排他制御機構12に、メインメモリ11の空きブロックビットマップ(リスト)11a、ブロックリスト11b、空きブロック数のシャドウオブジェクト11dの排他制御を依頼する。これにより、メインメモリ11の空きブロックビットマップ(リスト)11a、ブロックリスト11bが排他制御される。次に、メインメモリ11の空きブロック数のシャドウオブジェクト11dが排他制御される。
【0055】
(S4)次に、並列処理プロセッサ10は、空きブロックビットマップ11aから空きブロックを見つける。そして、空きブロックを見つけて、空きブロックリスト11aを変更した後、ブロックリスト11bにブロックを挿入する。更に、空きブロック数のシャドウオブジェクト11dを「1」減らす。そして、転送機構13を介して待機系の処理装置2に、空きブロックリストとブロックリストの変更部分と、空きブロック数のシャドウオブジェクトを転送する。
【0056】
処理装置2では、これにより、メインメモリ21の空きブロックリストのコピー21aとブロックリストのコピー21bと、空きブロック数のシャドウオブジェクトのコピー21cとを更新する。
【0057】
(S5)並列処理プロセッサ10は、転送後、排他制御機構12に、メインメモリ11の空きブロックビットマップ(リスト)11a、ブロックリスト11b、空きブロック数のシャドウオブジェクト11dの排他制御の解除を依頼する。これにより、空きブロックビットマップ(リスト)11a、ブロックリスト11b、空きブロック数のシャドウオブジェクト11dの排他制御は、解除される。
【0058】
このように、待機系の処理装置2では、メインメモリ21に更新された空きブロックリストのコピーとブロックリストのコピーと、空きブロック数のシャドウオブジェクトのコピーとを持っているので、現用系の処理装置1の故障検出機構14から故障の検出通知を故障検出機構24を介して受けると、直ちに処理を再開できる。
【0059】
この並列処理装置1で、ファイルの拡張処理が同時に2つ走った場合には、空きブロック数は最初に2つ減るが、空きブロック数のシャドウオブジェクトは、空きブロックリストの変更、ブロックリストの追加と同時に変更される。即ち、空きブロック数のシャドウオブジェクトは、空きブロックリストの変更、ブロックリストの追加と一貫性を保つ。そして、そのデータが、排他制御中に、待機系の処理装置2に送られる。
【0060】
現用系の処理装置1が故障した場合には、待機系の処理装置2は、空きブロック数の初期値として、空きブロック数のシャドウオブジェクトの内容を使用する。
【0061】
このようにして、ファイル処理において、一時的に矛盾を許す空きブロック数を2重に持ち、一方の空きブロック数の更新後に、空きブロックリスト、ブロックリストを読み出す。そして、他方の空きブロック数(空きブロック数のシャドウオブジェクト)を排他制御して、空きブロックリスト、ブロックリストの更新とともに、更新するので、並列処理しても、空きブロックリスト、ブロックリストと矛盾の無い空きブロック数が得られる。
【0062】
この矛盾の無い空きブロック数を待機系に転送するので、待機系は、現用系の故障時に、直ちにファイル処理を再開できる。このため、並列処理における排他制御に要する時間を長くすることなく、実行できる。しかも待機系で、処理再開時に、一貫性チェックプログラムを走らせることなく、処理再開でき、処理再開の遅れを防止できる。
【0063】
又、排他制御中に、排他制御した資源を、待機系に転送するため、並列処理しても、一貫性を保った内容の資源を、待機系が得ることができる。
【0064】
更に、データを2重化し、且つ一方のデータの排他制御するだけで実現できるため、簡易に実現することができる。
【0065】
上述の実施の態様の他に、本発明は、次のような変形が可能である。
【0066】
▲1▼前述の実施の態様では、一時的に矛盾を許す資源(データ)として、空きブロック数を例に説明したが、ファイルのリンクカウント値等にも適用できる。
【0067】
▲2▼並列処理装置も、図2の例の構成で説明したが、種々のものを適用できる。
【0068】
以上、本発明を実施の形態により説明したが、本発明の主旨の範囲内で種々の変形が可能であり、これらを本発明の範囲から排除するものではない。
【0069】
【発明の効果】
以上説明したように、本発明によれば、次の効果を奏する。
【0070】
▲1▼一時的に矛盾を許す資源を2重に持ち、一方を排他制御せずに更新し、他方を排他制御して、他の関連資源の変更とともに、変更して、待機系に転送するため、並列処理における動作速度を低下することなく、並列処理システムに耐故障機能を付与することができる。
【0071】
▲2▼又、現用系の故障時に、待機系で一貫性チェックプログラムを走らせることなく、データの引き継ぎができるため、処理再開の遅れを防止できる。
【図面の簡単な説明】
【図1】本発明の原理図である。
【図2】本発明の一実施の形態の構成図である。
【図3】本発明の一実施の形態の処理フロー図である。
【図4】並列処理の説明図である。
【図5】排他制御の説明図である。
【図6】代替システムの説明図である。
【図7】第1の従来技術の説明図である。
【図8】第1の従来技術の処理フロー図である。
【図9】第2の従来技術の説明図である。
【符号の説明】
1 並列処理装置
2 代替処理装置
3 ファイル装置
10,20 並列プロセッサ
11、21 メインメモリ
12,22 排他制御機構
13,23 転送機構
14,24 故障検出機構[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a process takeover method for a parallel processing system to which a function is added to execute an operation when an alternative apparatus is intensively operated when a parallel processing apparatus fails.
[0002]
In order to improve the processing speed, a parallel processing apparatus that executes a plurality of processes simultaneously is used. In such a parallel processing device, since a plurality of processes are executed simultaneously, the same resource (data) may be accessed simultaneously. In order to prevent such resource competition, exclusive control of resources is performed.
[0003]
However, exclusive control allows one process to use resources, but makes other processes wait. For this reason, from the viewpoint of speed improvement, a short exclusive control time is required.
[0004]
[Prior art]
FIG. 4 is an explanatory diagram of parallel processing, and FIG. 5 is an explanatory diagram of exclusive control.
[0005]
As shown in FIG. 4, in the parallel processing, the first processing and the second processing are performed in parallel. In such parallel processing, the same resource may be accessed simultaneously by a plurality of processes.
[0006]
For example, as shown in FIG. 4, a first process for moving 1000 yen from a bank A account to a bank B account and a second process for calculating the total amount of the bank A account and the bank B account When running simultaneously, the bank A account and the bank B account may be accessed simultaneously.
[0007]
In such a case, the first process first deducts 1000 yen from the bank A account (balance 1000 yen), and then the second process the bank A account and the bank B account (balance 0 yen). ), And when the process of adding 1,000 yen to the bank B account is performed in the first process, an error occurs in the result of the second process.
[0008]
That is, when a resource is changed by a certain process, consistency may be destroyed.
[0009]
In order to maintain this consistency, exclusive control is performed so that other processes do not access the resource while one process is being performed.
[0010]
As shown in FIG. 5, in the example of the process of FIG. 4, for the first process of transferring deposits from account to account, first, the data of the two accounts are exclusively controlled and the deposit transfer process is performed. Then, the exclusive control of the two accounts is canceled and the second process is started.
[0011]
While this exclusive control is being performed, other processes are kept waiting, and transient data reading can be prevented.
[0012]
FIG. 6 is an explanatory diagram of an alternative system.
[0013]
On the other hand, the parallel processing device 1 may be down due to a failure. In the event of this failure, it is necessary to add a fault tolerance function so that the system can continue operation. Therefore, as shown in FIG. 6, an alternative device (standby device) 2 is prepared for the first parallel processing device (active device) 1. The
[0014]
In this parallel processing system, when fault tolerance is added, the
[0015]
Conventionally, the following data transfer methods have been considered.
[0016]
FIG. 7 is an explanatory diagram of the first prior art, and FIG. 8 is a processing flowchart of the first prior art.
[0017]
If the exclusive control time is long, the processing speed decreases. For this reason, in the case of a resource that is frequently referred to, there is a resource that does not perform exclusive control for maintaining consistency while allowing a temporarily inconsistent state to exist.
[0018]
Examples of such resources include the number of empty blocks in the UNIX file system and the file link count value.
[0019]
Conventional resource exclusive control will be described with reference to an example of file extension processing shown in FIG.
[0020]
First, the number of empty blocks is changed without performing exclusive control. In file extension, the number of free blocks is decreased by “1”. Next, an empty block bitmap (empty block list) and a block list are read from the
[0021]
Next, the exclusive control device is requested to perform exclusive control of the empty block bitmap and the block list. Then, after the exclusive control of the empty block bitmap and the block list, the empty block bitmap and the block list are changed. Then, the exclusive control device is requested to release exclusive control. As a result, the exclusive control of the empty block bitmap and the block list is released.
[0022]
In this example, since the number of empty blocks can be determined by referring to the empty block bitmap and the block list, it is not necessary to exclusively control the number of empty blocks. That is, data contradiction is temporarily allowed in the number of free blocks. That is, the change of the number of free blocks and the data read process on the disk, which is a process accompanying this change, are excluded from exclusive control. As a result, the time for exclusive control is shortened by the time required for changing the number of empty blocks and the time required for reading the empty block bitmap and block list.
[0023]
This is generally shown in FIG. Here, the consistency ignoring resource is the number of empty blocks, and the other resources are an empty block bitmap and a block list.
[0024]
There is known a technique for recovering a resource when a failure occurs before the system returns to a consistent state after changing the resource ignoring the consistency. That is, in the middle of restarting, the consistency check program is activated to restore consistency. For example, in the case of the UNIX file system, a program called fsck does this.
[0025]
In order to give fault tolerance to the parallel processing system, it is conceivable to use this method when taking over from the active machine 1 to the
[0026]
On the other hand, as another conventional method, as shown in FIG. 9, resources that ignore consistency are exclusively controlled to maintain consistency. Then, the contents of the resource are transferred from the active machine 1 to the
[0027]
[Problems to be solved by the invention]
The prior art described above has the following problems.
[0028]
When the first conventional technique for running the consistency check program shown in FIGS. 7 and 8 is applied at the time of failure of the active machine 1, the
[0029]
In the second prior art shown in FIG. 9, since the resources whose consistency may be ignored are exclusively controlled, the time required for the exclusive control is unnecessarily long. For this reason, the problem that the processing speed of parallel processing falls has arisen.
[0030]
Further, it is conceivable to write back resources to the
[0031]
An object of the present invention is to provide a process takeover method of a parallel processing system for preventing a reduction in the speed of parallel processing and preventing a process restart of a standby machine from being delayed.
[0032]
Another object of the present invention is to provide a process takeover method for a parallel processing system that can prevent unnecessary exclusive control and can eliminate the need for processing by a consistency check program.
[0033]
[Means for Solving the Problems]
FIG. 1 is a principle diagram of the present invention.
[0034]
The parallel processing system includes a parallel processing device 1 that executes a plurality of processes in parallel, a
[0035]
Then, the process takeover method is such that the parallel processing device 1 temporarily allows the first data and the first data that are the number of free blocks so as to allow a state inconsistent with the second data that is the free block list and the block list . After the first data in the main memory is changed without exclusive control of the file processing using the data, the step of reading the second data from the data storage means 3 to the main memory, and the parallel processing device 1 2 for exclusive control of the second data and the third data, which is the shadow object of the number of empty blocks of the first data for indicating the same content as the first data, A step of transferring at least the third data to the
[0036]
In the present invention, data (resources) that allow the existence of a temporarily inconsistent state are doubled. Then, one of the first data (first data) is changed without exclusive control so as to allow a temporarily inconsistent state, and the time-consuming second data reading process is performed accordingly. The other (third data) is exclusively controlled so that the second data is changed so as to maintain consistency with the second data. Thereby, the third data is consistent with the second data.
[0037]
This third data (referred to as a shadow object of the first data) is transferred to the
[0038]
For this reason, since it is not necessary to run the consistency check program, the standby unit (processing device) 2 can prevent a delay in processing restart when the active unit (parallel processing unit) 1 fails.
[0039]
In addition, since there is no contradiction with the third data, the change of the first data that allows a temporarily inconsistent state and the reading of the second data triggered by it can be excluded from exclusive control. The exclusive control time in parallel processing can be shortened, and the processing can be resumed immediately upon failure.
[0040]
DETAILED DESCRIPTION OF THE INVENTION
FIG. 2 is a block diagram of an embodiment of the present invention, and FIG. 3 is a process flow diagram of an embodiment of the present invention.
[0041]
In FIG. 2, the parallel processing device 1 that is the active machine detects a failure by a
[0042]
The
[0043]
The main memory 11 includes a free block list (bitmap) 11a for managing blocks not used in the file, a block list 11b for managing blocks on the disk storing the file contents, and the number of free blocks. The number of free blocks 11c shown and the shadow object 11d with the number of free blocks showing the number of free blocks are held.
[0044]
That is, the resource indicating the number of free blocks is duplicated in the number 11c of free blocks and the shadow object 11d of the number of free blocks.
[0045]
The
[0046]
The
[0047]
The parallel processor 20 is also composed of a plurality of processors, for example, and executes a plurality of processes in parallel. The
[0048]
The
[0049]
The
[0050]
The
[0051]
The operation will be described with reference to the processing flowchart of FIG. FIG. 3 shows a process at the time of file extension.
[0052]
(S1) The
[0053]
(S2) When the number of free blocks 11c is changed, the
[0054]
(S3) The
[0055]
(S4) Next, the
[0056]
In this manner, the
[0057]
(S5) After the transfer, the
[0058]
As described above, the
[0059]
In this parallel processing device 1, when two file expansion processes run simultaneously, the number of free blocks is reduced by two at first, but the shadow object of the number of free blocks changes the free block list and adds the block list. It is changed at the same time. That is, the shadow object having the number of free blocks maintains consistency with the change of the free block list and the addition of the block list. Then, the data is sent to the
[0060]
When the active processing device 1 fails, the
[0061]
In this way, in file processing, the number of empty blocks that temporarily allow contradiction is doubled, and after updating the number of one empty block, the empty block list and block list are read out. Then, the other free block count (shadow object of the free block count) is exclusively controlled and updated together with the update of the free block list and the block list. There are no free blocks.
[0062]
Since the number of free blocks without contradiction is transferred to the standby system, the standby system can immediately resume the file processing when the active system fails. Therefore, it can be executed without increasing the time required for exclusive control in parallel processing. In addition, when the process is resumed in the standby system, the process can be resumed without running the consistency check program, and a delay in the process resume can be prevented.
[0063]
In addition, during exclusive control, resources that are exclusively controlled are transferred to the standby system, so that even if parallel processing is performed, the standby system can obtain resources with consistent contents.
[0064]
Furthermore, since it can be realized only by duplicating data and exclusive control of one data, it can be realized easily.
[0065]
In addition to the above-described embodiments, the present invention can be modified as follows.
[0066]
(1) In the above-described embodiment, the number of empty blocks has been described as an example of a resource (data) that temporarily permits contradiction, but it can also be applied to a file link count value or the like.
[0067]
{Circle around (2)} The parallel processing apparatus has been described with the configuration of the example of FIG. 2, but various apparatuses can be applied.
[0068]
As mentioned above, although this invention was demonstrated by embodiment, a various deformation | transformation is possible within the range of the main point of this invention, and these are not excluded from the scope of the present invention.
[0069]
【The invention's effect】
As described above, the present invention has the following effects.
[0070]
(1) Hold double resources that allow temporary contradiction, update one without exclusive control, and perform exclusive control on the other, change along with other related resources, and transfer to the standby system Therefore, it is possible to give a fault tolerance function to the parallel processing system without reducing the operation speed in the parallel processing.
[0071]
(2) In addition, when the active system fails, data can be taken over without running the consistency check program in the standby system, so that it is possible to prevent delays in processing resumption.
[Brief description of the drawings]
FIG. 1 is a principle diagram of the present invention.
FIG. 2 is a configuration diagram of an embodiment of the present invention.
FIG. 3 is a process flow diagram of one embodiment of the present invention.
FIG. 4 is an explanatory diagram of parallel processing.
FIG. 5 is an explanatory diagram of exclusive control.
FIG. 6 is an explanatory diagram of an alternative system.
FIG. 7 is an explanatory diagram of a first prior art.
FIG. 8 is a processing flowchart of the first prior art.
FIG. 9 is an explanatory diagram of a second prior art.
[Explanation of symbols]
DESCRIPTION OF SYMBOLS 1
Claims (3)
前記並列処理装置が、前記ファイル処理のための第1のデータを変更した後、前記第1のデータに関連する第2のデータを変更して、前記データ格納手段のファイル処理を行う並列処理システムのための処理引き継ぎ方法において、
前記並列処理装置が、一時的に空きブロックリスト及びブロックリストである前記第2のデータと矛盾した状態を許すように、空きブロック数である前記第1のデータ及び前記第1のデータを使用したファイル処理を排他制御せずに、メインメモリの前記第1のデータを変更した後、前記データ格納手段から前記メインメモリに、前記第2のデータを読み出すステップと、
前記並列処理装置が、前記第2のデータと、前記第1のデータと同一内容を示すための第1のデータの空きブロック数のシャドウオブジェクトである第3のデータとを排他制御するステップと、
前記並列処理装置が、前記メインメモリの前記第2のデータと第3のデータとを変更した後、少なくとも前記第3のデータを前記処理装置に転送するステップと、
前記並列処理装置が、前記第2のデータと前記第3のデータとの排他制御を解除するステップと、
前記処理装置が、前記並列処理装置の故障発生時に、前記転送された第3のデータを初期値として、処理を引き継いで実行するステップとを有することを
特徴とする並列処理システムの処理引き継ぎ方法。A parallel processing device that executes a plurality of processes in parallel, a processing device that executes processing by pulling operations when a failure occurs in the parallel processing device, and the parallel processing device and the processing device that are accessed to perform file processing Data storage means for storing the data and file contents of
A parallel processing system in which the parallel processing device changes the second data related to the first data after changing the first data for the file processing, and performs the file processing of the data storage means In the process takeover method for
The parallel processing device uses the first data and the first data that are the number of free blocks so as to allow a state inconsistent with the second data that is temporarily a free block list and a block list . Reading the second data from the data storage means to the main memory after changing the first data in the main memory without exclusively controlling file processing;
The parallel processing device exclusively controlling the second data and the third data which is a shadow object of the number of empty blocks of the first data for indicating the same content as the first data;
After the parallel processing device changes the second data and the third data in the main memory, transferring at least the third data to the processing device;
The parallel processing device releasing exclusive control of the second data and the third data;
The processing apparatus has a step of taking over and executing the process using the transferred third data as an initial value when a failure occurs in the parallel processing apparatus.
前記並列処理装置は、
前記空きブロック数のシャドウオブジェクトを変更する際に、前記空きブロックリストの変更及び前記ブロックリストの追加と一貫性を保つように、前記空きブロック数のシャドウオブジェクトを変更することを
特徴とする並列処理システムの処理引き継ぎ方法。The processing takeover method of the parallel processing system according to claim 1 ,
The parallel processing device includes:
The parallel processing characterized by changing the shadow object of the number of free blocks so as to maintain consistency with the change of the free block list and the addition of the block list when changing the shadow object of the number of free blocks System processing takeover method.
前記並列処理装置は、前記処理装置に、前記第3のデータを転送するとともに、前記第2のデータを転送することを
特徴とする並列処理システムの処理引き継ぎ方法。In the processing takeover method of the parallel processing system according to claim 1 or 2 ,
The parallel processing apparatus transfers the third data to the processing apparatus and transfers the second data to the processing apparatus.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP25121596A JP3729573B2 (en) | 1996-09-24 | 1996-09-24 | Processing takeover method for parallel processing system |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP25121596A JP3729573B2 (en) | 1996-09-24 | 1996-09-24 | Processing takeover method for parallel processing system |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH1097508A JPH1097508A (en) | 1998-04-14 |
| JP3729573B2 true JP3729573B2 (en) | 2005-12-21 |
Family
ID=17219421
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP25121596A Expired - Fee Related JP3729573B2 (en) | 1996-09-24 | 1996-09-24 | Processing takeover method for parallel processing system |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3729573B2 (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP4774421B2 (en) * | 2008-04-25 | 2011-09-14 | 富士通株式会社 | Distributed processing system |
-
1996
- 1996-09-24 JP JP25121596A patent/JP3729573B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JPH1097508A (en) | 1998-04-14 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2916420B2 (en) | Checkpoint processing acceleration device and data processing method | |
| US8020041B2 (en) | Method and computer system for making a computer have high availability | |
| EP0788052B1 (en) | I/O control apparatus having check recovery function | |
| US7840768B2 (en) | Memory-controller-embedded apparatus and procedure for achieving system-directed checkpointing without operating-system kernel support | |
| US9798792B2 (en) | Replication for on-line hot-standby database | |
| US6687849B1 (en) | Method and apparatus for implementing fault-tolerant processing without duplicating working process | |
| EP0764302B1 (en) | Main memory system and checkpointing protocol for fault-tolerant computer system | |
| EP0988596B1 (en) | Method and system for recovery in a partitioned shared nothing database system using virtual shared disks | |
| US5621885A (en) | System and method for providing a fault tolerant computer program runtime support environment | |
| US5752268A (en) | Minimum-delay recoverable disk control system using checkpoints and nonvolatile memory | |
| Landau | The checkpoint mechanism in KeyKOS | |
| US20060150010A1 (en) | Memory-controller-embedded apparatus and procedure for achieving system-directed checkpointing without operating-system kernel support | |
| US20090182956A1 (en) | Method and apparatus for improving transactional memory commit latency | |
| JP2002505768A (en) | Method and system for reconstructing the state of a computation | |
| JP2001515615A (en) | Main memory system and checkpointing protocol for fault tolerant computer systems using read buffers | |
| US20130103910A1 (en) | Cache management for increasing performance of high-availability multi-core systems | |
| JP4095139B2 (en) | Computer system and file management method | |
| JP3729573B2 (en) | Processing takeover method for parallel processing system | |
| US7346747B1 (en) | Exclusive lease instruction support for transient blocking synchronization | |
| JP2000293391A (en) | Large-scale memory system management method and apparatus | |
| US6311289B1 (en) | Explicit state copy in a fault tolerant system using a remote write operation | |
| JPH0370253B2 (en) | ||
| JP2856823B2 (en) | Computer system initialization device | |
| USRE45632E1 (en) | Memory-controller-embedded apparatus and procedure for achieving system-directed checkpointing without operating-system kernel support | |
| JPH07101399B2 (en) | Database deadlock processing method |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040427 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040511 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040712 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20050412 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050613 |
|
| A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20050616 |
|
| 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: 20051004 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20051004 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081014 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091014 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091014 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101014 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101014 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111014 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111014 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121014 Year of fee payment: 7 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121014 Year of fee payment: 7 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131014 Year of fee payment: 8 |
|
| LAPS | Cancellation because of no payment of annual fees |