TwinCG:面向共轭梯度法的带前向恢复的双线程冗余
分布式、并行与集群计算
2016-05-17 v1
摘要
尽管诸如共轭梯度法(CG)之类的迭代求解器已被研究五十余年,但此类求解器的容错性近年来备受关注。对于迭代求解器,存在两种主要的可靠恢复策略:用于后向恢复的检查点重启,或用于前向恢复的某种冗余技术。近期提出了一些重要的冗余技术,例如用于稀疏矩阵-向量乘(SpMxV)的ABFT技术,它们增强了CG方法的弹性。这些技术提供有限的恢复选项,并引入可容忍的开销。本工作中,我们研究一种更强大的弹性概念,即冗余多线程。它提供更通用且更强的恢复保证,包括CG迭代中的任何软错误(除其他外涵盖ABFT SpMxV),但也需要更多资源。我们仔细研究了这种冗余/效率冲突。我们提出了一种称为TwinCG的容错CG方法,其引入了极小的挂钟时间开销,并在检测与纠正策略上具有显著优势。我们的方法使用双模冗余而非更昂贵的三模冗余;尽管如此,它保留了TMR的纠错优势。我们描述、实现并基准测试了我们的迭代求解器,并在效率和容错能力方面与最先进技术进行比较。我们发现,在并行化之前,与标准CG相比,TwinCG引入约5-6%的运行时间开销,而并行化后高效利用BLAS。在存在故障的情况下,它能可靠地对一系列问题执行前向恢复,优于SpMxV ABFT方案。
引用
@article{arxiv.1605.04580,
title = {TwinCG: Dual Thread Redundancy with Forward Recovery for Conjugate Gradient Methods},
author = {Kiril Dichev and Dimitrios S. Nikolopoulos},
journal= {arXiv preprint arXiv:1605.04580},
year = {2016}
}