Sites Inria

Calcul

Bel Dumé, Jean-Michel Muller - 2/10/2012

Les calculs sur ordinateurs de plus en plus fiables et sûrs

Formules mathématiques et informatique © Inria / Photo Kaksonen

Il est devenu indispensable aujourd’hui d’étudier la façon dont on représente les nombres sur les ordinateurs, la façon dont on effectue les opérations arithmétiques et tous les problèmes qui en découlent. Nous devons maîtriser les erreurs provoquées par ces calculs et réaliser les opérations le plus rapidement possible et avec une fiabilité extrême. Ceci est important parce que tous les calculs numériques sur ordinateur sont construits à partir de quelques opérations mathématiques et toute erreur dans ces opérations peut agir sur l’ensemble des calculs.

Témoignage de Jean-Michel Muller,  directeur de recherche au CNRS et membre de l’équipe Aric.

La manière dont on représente les nombres sur les ordinateurs a une importance primordiale pour des applications critiques comme les avions, car toute erreur peut agir sur l’ensemble des calculs avec des répercutions qui peuvent être catastrophiques. Le travail des 20 dernières années sur ce sujet aboutit aujourd’hui à des applications de plus en plus fiables et sûres.

 Même lorsqu'on se contente de jouer sur un ordinateur ou une console de jeux, la machine effectue de très nombreuses opérations arithmétiques. Une erreur, dans ces cas là, ne sera pas forcément bien grave. Par contre, le calculateur de bord d'un avion ou le système de pilotage d'un métro automatique, qui eux aussi effectuent de nombreuses opérations, n'ont pas droit à l'erreur. C’est un problème qui s’est révélé crucial (ou dont on a pris pleinement conscience) en 1994 avec le bug de Pentium. C'est probablement cette erreur dans un algorithme de division qui a conduit Intel et d'autres constructeurs à proposer des preuves formelles des algorithmes arithmétiques des processeurs qui ont suivi, comme par exemple l'Itanium).

IPhone © Inria / Photo H. Raguet

En collaboration avec des collègues du monde entier, l'équipe Arénaire a construit des algorithmes et des preuves montrant qu'il était possible de faire facilement certains calculs (par exemple les calculs de fonctions trigonométriques) avec une précision qu'on ne pensait auparavant pas pouvoir atteindre sans perdre beaucoup de temps. Cette collaboration internationale a débouché sur des recommandations, émises dans une norme qui devra maintenant être respectée par les constructeurs.

Je suis assez satisfait du chemin que nous avons parcouru dans ce domaine, même si on espère toujours aller plus vite ! En ce qui me concerne, mon but serait d’arriver à prédire et à garantir le comportement de programmes mathématiques complexes avec encore plus de fiabilité. C’est un travail qui requiert des équipes pluridisciplinaires. Car, au-delà de notre expertise dans la recherche arithmétique, nous avons besoin de chercheurs d’autres disciplines, en logique notamment.

Les algorithmes arithmétiques se trouvent désormais partout

Un des défis majeurs de ces 20 dernières années a consisté à mettre au point des algorithmes arithmétiques - par exemple des algorithmes de division, ou de calcul de fonctions trigonométriques - plus fiables, désormais déployés dans des applications quotidiennes. Par exemple, dans le cadre d’une collaboration avec le géant ST Microelectronics, certains de nos algorithmes ont été introduits dans le « compilateur » de leurs circuits. Ils sont invisibles pour l’utilisateur mais on les trouve partout, dans les lecteurs de DVD et dans les téléphones portables notamment.

ET DANS 20 ANS ?

Jean-Michel Muller,  directeur de recherche au CNRS et membre de l’équipe ARIC.

Jean-Michel Müller

Notre domaine va devoir s'intéresser à des calculs de plus en plus complexes, et à leur vérification. Il faudra être capable d'introduire de la rigueur là ou parfois des « recettes de cuisine » sont appliquées. Pour pouvoir s'adapter très vite (à un nouveau processeur, à de nouvelles contraintes en termes de vitesse, de précision, et de consommation d'énergie), on ne cherche plus à concevoir des « opérateurs arithmétiques », mais plutôt des « générateurs d'opérateurs », c'est-à-dire des programmes qui fabriquent des opérateurs spécialement adaptés au problème traité. Dans 20 ans, j'aimerais pouvoir monter dans un train, un avion, ou une automobile, dont l'informatique est complètement validée, du transistor au programme le plus complexe.

Mots-clés : Équipe Arénaire Jean-Michel Muller Calculs de fonctions trigonométriques ST Microelectronics INRIA Grenoble - Rhône-Alpes Algorithme

Haut de page