On numerical resilience in linear algebra
Conception d'algorithmes numériques pour la résilience en algèbre linéaire
Résumé
As the computational power of high performance computing (HPC) systems continues to
increase by using huge number of cores or specialized processing units, HPC applications
are increasingly prone to faults. This study covers a new class of numerical fault tolerance
algorithms at application level that does not require extra resources, i.e., computational unit
or computing time, when no fault occurs. Assuming that a separate mechanism ensures fault
detection, we propose numerical algorithms to extract relevant information from available
data after a fault. After data extraction, well chosen part of missing data is regenerated
through interpolation strategies to constitute meaningful inputs to numerically restart the
algorithm. We have designed these methods called Interpolation-restart techniques for
numerical linear algebra problems such as the solution of linear systems or eigen-problems
that are the inner most numerical kernels in many scientific and engineering applications
and also often ones of the most time consuming parts. In the framework of Krylov subspace
linear solvers the lost entries of the iterate are interpolated using the available entries on
the still alive nodes to define a new initial guess before restarting the Krylov method. In
particular, we consider two interpolation policies that preserve key numerical properties of
well-known linear solvers, namely the monotony decrease of the A-norm of the error of the
conjugate gradient or the residual norm decrease of GMRES. We assess the impact of the
fault rate and the amount of lost data on the robustness of the resulting linear solvers.
For eigensolvers, we revisited state-of-the-art methods for solving large sparse eigenvalue
problems namely the Arnoldi methods, subspace iteration methods and the Jacobi-Davidson
method, in the light of Interpolation-restart strategies. For each considered eigensolver, we
adapted the Interpolation-restart strategies to regenerate as much spectral information as
possible. Through intensive experiments, we illustrate the qualitative numerical behavior
of the resulting schemes when the number of faults and the amount of lost data are varied;
and we demonstrate that they exhibit a numerical robustness close to that of fault-free
calculations. In order to assess the efficiency of our numerical strategies, we have considered
an actual fully-featured parallel sparse hybrid (direct/iterative) linear solver, MaPHyS,
and we proposed numerical remedies to design a resilient version of the solver. The solver
being hybrid, we focus in this study on the iterative solution step, which is often the
dominant step in practice. The numerical remedies we propose are twofold. Whenever
possible, we exploit the natural data redundancy between processes from the solver to
perform an exact recovery through clever copies over processes. Otherwise, data that has
been lost and is not available anymore on any process is recovered through Interpolation-
restart strategies. These numerical remedies have been implemented in the MaPHyS
parallel solver so that we can assess their efficiency on a large number of processing units
(up to 12, 288 CPU cores) for solving large-scale real-life problems.
Comme la puissance de calcul des systèmes de calcul haute performance continue de croître, en utilisant un grand nombre de cœurs CPU ou d'unités de calcul spécialisées, les applications hautes performances destinées à la résolution des problèmes de très grande échelle sont de plus en plus sujettes à des pannes. En conséquence, la communauté de calcul haute performance a proposé de nombreuses contributions pour concevoir des applications tolérantes aux pannes. Cette étude porte sur une nouvelle classe d'algorithmes numériques de tolérance aux pannes au niveau de l'application qui ne nécessite pas de ressources supplémentaires, à savoir, des unités de calcul ou du temps de calcul additionnel, en l'absence de pannes.
En supposant qu'un mécanisme distinct assure la détection des pannes, nous proposons des algorithmes numériques pour extraire des informations pertinentes à partir des données disponibles après une pannes. Après l'extraction de données, les données critiques manquantes sont régénérées grâce à des stratégies d'interpolation pour constituer des informations pertinentes pour redémarrer numériquement l'algorithme.
Nous avons conçu ces méthodes appelées techniques d'Interpolation-restart pour des problèmes d'algèbre linéaire numérique tels que la résolution de systèmes linéaires ou des problèmes aux valeurs propres qui sont indispensables dans de nombreux noyaux scientifiques et applications d'ingénierie. La résolution de ces problèmes est souvent la partie dominante; en termes de temps de calcul, des applications scientifiques.
Dans le cadre solveurs linéaires du sous-espace de Krylov, les entrées perdues de l'itération sont interpolées en utilisant les entrées disponibles sur les nœuds encore disponibles pour définir une nouvelle estimation de la solution initiale avant de redémarrer la méthode de Krylov. En particulier, nous considérons deux politiques d'interpolation qui préservent les propriétés numériques clés de solveurs linéaires bien connus, à savoir la
décroissance monotone de la A-nomre de l'erreur du gradient conjugué ou la décroissance monotone de la norme résiduelle de GMRES.
Nous avons évalué l'impact du taux de pannes et l'impact de la quantité de données perdues sur la robustesse des stratégies de résilience conçues.
Les expériences ont montré que nos stratégies numériques sont robustes même en présence de grandes fréquences de pannes, et de perte de grand volume de données.
Dans le but de concevoir des solveurs résilients de résolution de problèmes aux valeurs propres, nous avons modifié les stratégies d'interpolation conçues pour les systèmes linéaires. Nous avons revisité les méthodes itératives de l'état de l'art pour la résolution des
problèmes de valeurs propres creux à la lumière des stratégies d'Interpolation-restart.
Pour chaque méthode considérée, nous avons adapté les stratégies d'Interpolation-restart pour régénérer autant d'informations spectrale que possible. Afin d'évaluer la performance de nos stratégies numériques, nous avons considéré un solveur parallèle hybride (direct/itérative) pleinement fonctionnel nommé MPHyS pour la résolution des systèmes linéaires creux, et nous proposons des solutions numériques pour concevoir une version tolérante aux pannes du solveur. Le solveur étant hybride, nous nous concentrons dans cette étude sur l'étape de résolution itérative, qui est souvent l'étape dominante dans la pratique.
Les solutions numériques proposées comportent deux volets. A chaque fois que cela est possible, nous exploitons la redondance de données entre les processus du solveur pour effectuer une régénération exacte des données en faisant des copies astucieuses dans les processus. D'autre part, les données perdues qui ne sont plus disponibles sur aucun processus sont régénérées grâce à un mécanisme
d'interpolation. Pour évaluer l'efficacité des solutions numériques proposées, elles ont été mises en œuvre dans le solveur parallèle MaPHyS
pour résoudre des problèmes de grande échelle sur un grand nombre de ressources de calcul (allant jusqu'à 12 288 coeurs CPU).
Mots clés
Fault tolerance
recovery
robustness
iterative methods
Krylov methods
Krylov subspaces
eigenvalue problems
linear systems
flexible GMRES
power method
subspace iteration
HPC
large scale numerical simulations.
Tolerance aux pannes
résilience
interpolation
restauration de donnée
robustesse
méthodes itératives
méthodes de type Krylov
sous espaces de Krylov
problèmes de valeurs propres
systèmes linéaires
GMRES
CG
PCG
Bicgstab
preconditionnement
méthode de puissance
itération de sous espace
Arnoldi
IRAM
Jacobi-Davidson
Simulation numérique
parallélisme
calcul scientifique.