As the size and complexity of high performance computers increase, more soft errors will be encountered during computations. Algorithm-Based Fault Tolerance (ABFT) has been proved to be a highly efficient technique to detect soft errors in dense linear algebra operations including matrix multiplication, Cholesky and LU factorization. While ABFT can also be applied to a iterative sparse linear algebra algorithm via applying it to every individual matrix-vector multiplication in the algorithm, it often introduces considerable overhead. In this paper, we propose novel extensions to ABFT to not only reduce the overhead but also protect computations that can not be protected by existing ABFT. Instead of maintaining checksums in every individual matrix-vector multiplication, we modified the algorithms so that checksums established at the beginning of the algorithms can be maintained at every iterations throughout the algorithms. Because soft errors in most iterative sparse linear algebra algorithms will propagate from one iteration to another, we do not have to verify the correctness of the checksums at each iteration to detect errors. By reducing the frequency of verification, the fault tolerance overhead can be greatly reduced. Experimental results demonstrate that, when used with local diskless checkpoints together, our approach introduces much less overhead than the existing ABFT techniques.
随着高性能计算机的大小和复杂性的增加,计算过程中将遇到更多的软误差。基于算法的容错(ABFT)已被证明是一种高效的技术,可检测包括矩阵乘法,cholesky和Lu分解在内的密集线性代数操作中的软误差。尽管ABFT也可以通过将其应用于算法中的每个单独的矩阵矢量乘法来应用于迭代稀疏线性代数算法,但它通常会引入大量的开销。在本文中,我们提出了对ABFT的新型扩展,以减少开销,而且还可以保护无法受到现有ABFT保护的计算。我们修改了算法,而不是在每个矩阵矢量乘法中维持校验和,以便可以在整个算法的每个迭代中维持在算法开头建立的校验和。由于大多数迭代稀疏线性代数算法中的软误差将从一种迭代传播到另一种迭代,因此我们不必验证每次迭代时校验和的正确性以检测错误。通过降低验证频率,可以大大降低容错开销。实验结果表明,与现有的ABFT技术相比,当与局部无磁盘检查点一起使用时,我们的方法的开销要少得多。