High Performance and Reliable Algebraic Computing
Calcul Algébrique Fiable et Haute Performance
Résumé
This manuscript presents contributions on high performance algebraic computating, lying at the interface between computer algebra, coding theory and parallel computing.Exact linear algebra, over a finite field or the field of rationals is a core component of many applications using intensive algebraic computations: from cryptanalysis based on algebraic sieves or polynomial system solving, to testing conjectures in computational number theory or list decoding... Development of both algorithmic and efficient implementations in exact linear algebra has now reached a great level of maturity. We survey the milestones in these recent progresses, illustrated by our contributions, trying to exhibit a few general guidelines, as for example the importance of making theoretical algorithmic reductions effective. Matrix multiplication, combining conversions between modular, integral andfloating point arithmetic, the use of numerical BLAS, and of sub-cubic algorithms, with low memory footprint, is used as a building block. Gaussian elimination, harnesses its efficiency through many recursive reductions. Rank deficiency and rank profile computations is a specificity of exact computations that we explore in details. Lastly the computation of the characteristic polynomial and of the Frobenius normal form illustrates how an asymptotic improvement of the complexity can be made practical to achieve the best performance. We propose a paralellization of these algorithms based on recursive tasks maintaining the best asymptotical performances. Efficient implementations of work-stealing schedulers handling recursive tasks with dataflow dependencies allow to reach performances similar to state of the art numerical libraries with good scaling ability.In the context of large scale distributed computing, the reliability of remote resources is in question. In order to support errors, either due to physical alterations or malicious corruption, we propose an algorithm based fault tolerance(ABFT) based on evaluation-interpolation schemes, naturally arising in computer algebra. Some classic error correcting codes (Reed-Solomon and CRT codes) based on interpolation are studied and generalized to the case of rational fractionsand their interleaving. We also propose sparse interpolation codes, for which the difficult correction capacity analysis hardly reflects their good behavior in practice. These codes open many perspectives, in particular on symbolic-numeric decodingtechniques jointly supporting errors and numerical noise.
Les contributions présentées dans ce mémoire concernent le calcul exact haute performance, à l'interface entre calcul formel, théorie des codes et calcul parallèle.L'algèbre linéaire exacte, sur des corps finis ou le corps des nombres rationnels est au coeur de nombreuses applications recourant au calcul algébrique intensif: de la cryptanalyse basée sur les cribles algébriques ou sur la résolution de systèmes polynomiaux au test de conjectures en théorie algorithmique des nombres, ou encore au décodage en liste\ldotsLe développement aussi bien de l'algorithmique que des implantations efficaces en algèbre linéaire exacte a atteint ces dernières années un grand niveau de maturité. Nous évoquons les grandes lignes de ces avancées, illustrées par noscontributions, en dégageant quelques principes généraux qui les sous-tendent, comme celui de rendre les réductions algorithmiques effectives. Le produit de matrices, combinant conversions entres arithmétiques modulaires, entières et flottantes, usage des BLAS numériques et d'algorithmes sous-cubiques à faible empreinte mémoire, sert de brique de base. L'élimination de Gauss en tire parti par ses multiples réductions récursives. La déficience de rang et le calcul des profils de rang est une spécificité du calcul algébrique que nous explorons en détails. Enfin, le calcul du polynôme caractéristique et de la forme de Frobenius illustre le cas d'une amélioriation de complexité asymptotique se révélant aussi avantageuse en pratique. Nous proposons une parallélisation des ces algorithmes par tâches récursives permettant de préserver les performances asymptotiques. Des implantations efficaces du vol travailde tâches récursives et basées sur des dépendances par flot de données, permettent d'atteindre des performances similaires aux meilleures bibliothèques numériques, et passant à l'échelle.Dans le contexte du calcul distribué à grande échelle, la fiabilité des ressources distantes est mise en question. Pour remédier aux erreurs, d'origine soit physique soit malicieuse, nous proposons des schémas de toléranceaux fautes algorithmiques (ABFT) reposant sur les techniques d'évaluation-interpolation communes en calcul formel. Les codes correcteurs classiques (Reed-Solomon et codes CRT) basés sur l'interpolation sont étudiés etgénéralisés au cas des fractions rationnelles et leur entrelacement. Nous introduisons par ailleurs les codes d'interpolation creuse dont l'étude des capacité des correction peine à révéler leur efficacité en pratique. Ces travaux ouvrent en outre des perspectives sur des techniques de décodage symbolique-numérique, supportant conjointement les erreurs et le bruitnumérique.
Loading...