Silent error detection in numerical time-stepping schemes
arXiv:1312.2674 · doi:10.1177/1094342014532297
Abstract
Errors due to hardware or low level software problems, if detected, can be fixed by various schemes, such as recomputation from a checkpoint. Silent errors are errors in application state that have escaped low-level error detection. At extreme scale, where machines can perform astronomically many operations per second, silent errors threaten the validity of computed results. We propose a new paradigm for detecting silent errors at the application level. Our central idea is to frequently compare computed values to those provided by a cheap checking computation, and to build error detectors based on the difference between the two output sequences. Numerical analysis provides us with usable checking computations for the solution of initial-value problems in ODEs and PDEs, arguably the most common problems in computational science. Here, we provide, optimize, and test methods based on Runge-Kutta and linear multistep methods for ODEs, and on implicit and explicit finite difference schemes for PDEs. We take the heat equation and Navier-Stokes equations as examples. In tests with artificially injected errors, this approach effectively detects almost all meaningful errors, without significant slowdown.
Cited by in corpus (6)
- Reproducibility, Replicability, and Repeatability: A survey of reproducible research with a focus on high performance computing
- Achieving algorithmic resilience for temporal integration through spectral deferred corrections
- Is the Multigrid Method Fault Tolerant? The Multilevel Case
- Is the Multigrid Method Fault Tolerant? The Two-Grid Case
- A Backward/Forward Recovery Approach for the Preconditioned Conjugate Gradient Method
- Resilience Against Soft Faults through Adaptivity in Spectral Deferred Correction