TwinCG:共轭梯度法的前向恢复双线程冗余
TwinCG: Dual Thread Redundancy with Forward Recovery for Conjugate Gradient Methods
摘要:
尽管像共轭梯度法(CG)这样的迭代求解器已经研究了五十多年,但近年来对这种求解器的容错已经引起了广泛的关注。对于迭代求解器,存在两种主要的可靠恢复策略:用于反向恢复的检查点重启,或用于正向恢复的某种类型的冗余技术。最近提出了重要的冗余技术,如稀疏矩阵向量乘积(SpMxV)的ABFT技术,这增加了CG方法的弹性。这些技术提供了有限的恢复选项,并引入了可容忍的开销。在这项工作中,我们研究了一个更强大的弹性概念,这是冗余多线程。它提供了更通用和更强大的恢复保证,包括CG迭代中的任何软故障(其中包括ABFT SpMxV),但也需要更多的资源。我们仔细研究了这种冗余/效率冲突。我们提出了一种容错CG方法,称为TwinCG,它引入了最小的挂钟时间开销,并在检测和纠正策略的显着优势。我们的方法使用双模块冗余,而不是更昂贵的三模块冗余,仍然,它保留了TMR的故障校正的优点。我们描述,实现,并基准我们的迭代求解器,并比较它的效率和容错能力,以国家的最先进的技术。我们发现,并行化之前,TwinCG引入了大约5-6%的运行时开销相比,标准CG,并行化后有效地使用BLAS。在出现故障的情况下,它可以可靠地对一系列问题执行正向恢复,性能优于SpMxV ABFT解决方案。
英文摘要:
Even though iterative solvers like the Conjugate Gradients method (CG) have been studied for over fifty years, fault tolerance for such solvers has seen much attention in recent years. For iterative solvers, two major reliable strategies of recovery exist: checkpoint-restart for backward recovery, or some type of redundancy technique for forward recovery. Important redundancy techniques like ABFT techniques for sparse matrix-vector products (SpMxV) have recently been proposed, which increase the resilience of CG methods. These techniques offer limited recovery options, and introduce a tolerable overhead. In this work, we study a more powerful resilience concept, which is redundant multithreading. It offers more generic and stronger recovery guarantees, including any soft faults in CG iterations (among others covering ABFT SpMxV), but also requires more resources. We carefully study this redundancy/efficiency conflict. We propose a fault tolerant CG method, called TwinCG, which introduces minimal wallclock time overhead, and significant advantages in detection and correction strategies. Our method uses Dual Modular Redundancy instead of the more expensive Triple Modular Redundancy; still, it retains the TMR advantages of fault correction. We describe, implement, and benchmark our iterative solver, and compare it in terms of efficiency and fault tolerance capabilities to state-of-the-art techniques. We find that before parallelization, TwinCG introduces around 5-6% runtime overhead compared to standard CG, and after parallelization efficiently uses BLAS. In the presence of faults, it reliably performs forward recovery for a range of problems, outperforming SpMxV ABFT solutions.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。