Several recent papers have introduced a periodic verification mechanism to detect silent errors
in iterative solvers. Chen [PPoPP'13, pp. 167--176] has shown how to combine such a verification mechanism
(a stability test checking the orthogonality of two vectors and recomputing the residual)
with checkpointing: the idea is to verify every $d$ iterations, and to checkpoint every $c \times d$ iterations. When a silent error is detected by the verification mechanism, one can rollback to and re-execute from the last checkpoint. In this paper, we also propose to combine checkpointing and verification, but we use ABFT rather than stability tests. ABFT can be used for error detection, but also for error detection and correction, allowing a forward recovery (and no rollback nor re-execution) when a single error is detected. We present a performance model to compute the performance of all schemes, and we instantiate it using the Conjugate Gradient algorithm. Finally, we validate our new approach through a set of simulations.
[1]
John T. Daly,et al.
A higher order estimate of the optimum checkpoint interval for restart dumps
,
2006,
Future Gener. Comput. Syst..
[2]
Kurt B. Ferreira,et al.
Fault-tolerant iterative methods via selective reliability.
,
2011
.
[3]
Andrew A. Chien,et al.
When is multi-version checkpointing needed?
,
2013,
FTXS '13.
[4]
Jacob A. Abraham,et al.
Algorithm-Based Fault Tolerance for Matrix Operations
,
1984,
IEEE Transactions on Computers.
[5]
Nicholas J. Higham,et al.
INVERSE PROBLEMS NEWSLETTER
,
1991
.
[6]
Timothy A. Davis,et al.
The university of Florida sparse matrix collection
,
2011,
TOMS.