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