TwinPCG: Dual Thread Redundancy with Forward Recovery for Preconditioned Conjugate Gradient Methods

Research output: Chapter in Book/Report/Conference proceedingConference contribution

233 Downloads (Pure)

Abstract

Even though iterative solvers like the Preconditioned Conjugate Gradient method (PCG) 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. Efficient low-overhead redundancy techniques like algorithm-based fault tolerance for sparse matrix-vector products (SpMxV) have recently been proposed. These techniques add resilience with a good, but limited scope; state-of-the-art techniques correct at most 1 fault within a SpMxV. 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 PCG iterations (among others covering SpMxV), but also requires more resources. We carefully study this redundancy-efficiency conflict. We propose a fault-tolerant PCG method, called TwinPCG, which introduces very small wall-clock time overhead, and significant advantages in detection and correction strategies. Our method uses Dual Modular Redundancy instead of the more expensive Triple Modular Redundancy (TMR); 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 multithreading in BLAS, TwinPCG introduces 5-6% runtime overhead compared to reference PCG implementations, and can exploit BLAS multithreading well. In the presence of faults, it reliably performs forward recovery for a range of problems, showing all the strengths of TMR techniques.
Original languageEnglish
Title of host publication2016 IEEE International Conference on Cluster Computing (CLUSTER): Proceedings
PublisherIEEE Computer Society
Pages506-514
Number of pages9
DOIs
Publication statusPublished - 08 Dec 2016

Publication series

NameInternational Conference on Cluster Computing (CLUSTER): Proceedings
ISSN (Electronic)2168-9253

Fingerprint Dive into the research topics of 'TwinPCG: Dual Thread Redundancy with Forward Recovery for Preconditioned Conjugate Gradient Methods'. Together they form a unique fingerprint.

  • Cite this

    Dichev, K., & Nikolopoulos, D. S. (2016). TwinPCG: Dual Thread Redundancy with Forward Recovery for Preconditioned Conjugate Gradient Methods. In 2016 IEEE International Conference on Cluster Computing (CLUSTER): Proceedings (pp. 506-514). (International Conference on Cluster Computing (CLUSTER): Proceedings). IEEE Computer Society. https://doi.org/10.1109/CLUSTER.2016.99