funini.com 自由研究 fault_tolerance

耐故障処理

処理の概要

耐故障処理とは、マシンや通信路が故障した場合、 前もって用意されたエラー処理によって、何事もなかったように 処理を継続したり(mask the failure)、 正しく動いたところまでの記録から、復旧処理を楽にする (well defined failure behavior)ものです。
一つのプロセッサであれば、処理の途中にこまめにログを取り、また 各計算についてそれが正しいかを検証するコードを書き、 何か問題があれば処理を中断し、最も新しいログに戻ればいいです。 これらの記録は、もし処理が決して中断されないなら不要なものだし、 検証のコードも計算の結果が常に正しいなら不要です。 つまり、耐故障処理は計算が正常に進めば不要な「余分な処理」を させることにより、エラーを検知したり、復旧に対応したりします。
複数のプロセッサの場合は、単一プロセッサの場合に加えて、 ネットワークの故障が考えられます。 また、前にも述べた通り、状態を記録する際には、その時のメッセージの扱いに 気を付ける必要があります。

耐故障処理がうまくいっている例