• Aucun résultat trouvé

Les diff´ erents niveaux de techniques d’approximations

A.2 M´ ethodes de calcul efficaces en ´ energie

A.3.2 Les diff´ erents niveaux de techniques d’approximations

Le calcul approxim´e peut ˆetre appliqu´e `a diff´erents niveaux, comme pr´esent´e sur la Fig- ure A.2.

Un premier axe possible d’approximations est au niveau des donn´ees. Le nombre de donn´ees `a traiter peut ˆetre r´eduit menant `a des donn´ees `a traiter non `a jour ou bien `a un plus petit volume de donn´ees `a traiter. Les donn´ees peuvent ´egalement ˆetre stock´ees avec

Le calcul approxim´e 181 P e rforma nce 2 3 4 5 6 Coût 3.5 4.5 5.5 6.5 Points obtenus Front de Pareto 6 5 4

(a) Conception d’une application sans calcul approxim´e.

6 5 Pe rform a nce 4 3 2 2 1.5 Précision 1 0.5 8 3 4 5 6 7 9 0 Coût Elevée Faible Low HE Low Elevée Faible Faible Elevé

(b) Conception d’une application avec calcul approxim´e.

Figure A.1 – Un nouveau degr´e de libert´e pour la conception d’application avec des calculs ap- proxim´es.

une pr´ecision r´eduire, permettant d’´economiser des bits et donc de l’´energie. Les donn´ees peuvent aussi ˆetre compress´ees. Dans les programmes parall´elis´es, la synchronisation entre diff´erents threads peut ˆetre relach´ee afin d’utiliser des donn´ees moins `a jour.

Un autre axe possible d’approximations est au niveau des calculs. Dans ce cas, l’algorithme lui-mˆeme est modifi´e et ajust´e de fa¸con `a trouver un compromis entre la pr´ecision et la performance. On peut par exemple ne pas ex´ecuter certains calculs ou certains acc`es m´emoires. L’approximation de fonctions peut ´egalement ˆetre utilis´ee, en rempla¸cant les fonctions math´ematiques sophistiqu´ees par des polynˆomes, ou en stockant certaines valeurs des fonctions dans des tables par exemple.

Enfin, des approximations peuvent ˆetre faites au niveau mat´eriel. Dans ce cas, on recherche une impl´ementation mat´erielle d’un circuit moins ´energivore, comme par exem- ple les nombreuses impl´ementations alternatives d’op´erateurs arithm´etiques exacts. Un circuit peut ´egalement ˆetre approxim´e en termes de param`etres de fonctionnement : la

Moins de données, Moins précises, Moins à jour Niveau des Données Précis Variable Niveau Matériel Fiable Moins précis Niveau Algorithmique Précis Modèle de calcul actuel

Figure A.2 – Diff´erents niveaux d’approximation.

modification de la tension ou de la fr´equence de fonctionnement d’un circuit a un impact sur la qualit´e du r´esultat et sur la consommation ´energ´etique. Pour finir, un syst`eme de stockage moins fiable peut ˆetre utilis´e pour stocker des donn´ees r´esilientes aux erreurs.

Au-del`a des trois axes distincts de calcul approxim´e, Hedge et al. [HS01] ont propos´e une technique pour identifier les parties d’une application pouvant ˆetre approxim´ees `a diff´erents niveaux d’abstraction. Les applications de recherche et synth`ese de donn´ees sont cibl´ees avec cette m´ethode s’appliquant aux diff´erents niveaux d’abstraction, car elles poss`edent plusieurs propri´et´es int´eressantes pour l’utilisation de calcul approxim´e : les algorithmes statistiques et agr´egatifs peuvent moyenner ou bien ´eliminer les erreurs, et les algorithmes it´eratifs ont la propri´et´e de compenser les erreurs.

Du point de vue du programmeur, il reste un long chemin `a parcourir entre la mise en œuvre d’une version approxim´ee utilisable d’une application `a partir d’un mod`ele de r´ef´erence exact de celle-ci. C’est la raison pour laquelle des m´ethodologies enti`eres ont ´

et´e cr´e´ees pour appliquer des techniques d’approximation `a une application enti`ere : de la subdivision de l’application en blocs, au calcul des ´economies d’´energie apport´ees par les approximations, de v´eritables recettes ont ´et´e propos´ees pour aider les programmeurs `

a utiliser efficacement ces techniques.

Identifier le niveau d’application des approximations est un v´eritable d´efi actuel. En effet, des approximations peuvent ˆetre appliqu´ees du niveau du transistor jusqu’au pro- cesseur lui-mˆeme.

A.4

Etendue de la th`´

ese et contributions

Pour impl´ementer des calculs approxim´es dans une application, la fonctionnalit´e de l’application doit ˆetre garantie et les erreurs induites par l’approximation doivent ˆetre encadr´ees et quan- tifi´ees. Des outils sont n´ecessaires pour explorer rapidement les diff´erentes perspectives d’approximation et leur impact sur la qualit´e de sortie des applications. La difficult´e d’´etudier l’impact des approximations sur un algorithme vient du fait que les versions ap- proxim´ees des algorithmes sont g´en´eralement plus complexes en termes d’impl´ementation mat´erielle ou d’acc`es m´emoire que leur impl´ementation d’origine. La simulation des algo- rithmes appproxim´es est plus compliqu´ee et l’effort d’adaptation pour les utiliser n´ecessite g´en´eralement toute une ´equipe d’ing´enieurs `a la fois au niveau syst`eme et mat´eriel. Le d´efi majeur lorsqu’on introduit des approximations dans une application est d’´evaluer l’impact

´Etendue de la th`ese et contributions 183

de l’approximation sur la qualit´e de service `a la sortie de l’application. Les approxima- tions potentielles doivent ˆetre analys´ees et affin´ees pour choisir les meilleures approxima- tions en fonction des diff´erentes contraintes d’impl´ementation de l’application. L’espace d’exploration possible est grand et n´ecessite de pouvoir simuler rapidement l’application pour ´evaluer l’impact de l’approximation sur la qualit´e de service. Le choix de l’ensemble des configurations `a simuler est ´egalement un point critique.

Dans cette th`ese, l’objectif est de proposer de nouvelles techniques pour r´esoudre le probl`eme de la caract´erisation et de la propagation des erreurs dans les syst`emes ap- proxim´es. Les m´ethodes propos´ees pour caract´eriser les erreurs induites par les approxi- mations sont pr´esent´ees, ainsi que les m´ethodes permettant de relier les erreurs induites `a la qualit´e de sortie de l’application. Les principales contributions de cette th`ese sont :

1. Un framework g´en´erique bas´e sur des simulations permettant de caract´eriser de fa¸con statistique l’erreur induite par les op´erateurs inexacts. Cette m´ethode est bas´ee sur les statistiques inf´erentielles et la th´eorie des valeurs extrˆemes. Ces m´ethodes permettent de trouver un sous-ensemble `a simuler pour avoir une estimation des statistiques recherch´ees en fonction d’une confiance demand´ee par l’utilisateur de la m´ethode. Cette contribution a ´et´e publi´ee dans [BCDM18] et [BCDM19].

2. Un simulateur rapide d’op´erateurs arithm´etiques inexacts a ´et´e d´evelopp´e. Ce sim- ulateur permet de mesurer rapidement l’impact d’une approximation sur la qualit´e de service de l’application. Cette contribution a ´et´e publi´ee dans [BDM18c] et [BDM18a].

3. Une nouvelle m´ethode permettant d’´evaluer la puissance du bruit de calcul lors d’une conversion d’une application en virgule fixe a ´et´e propos´ee. L’erreur induite par l’arithm´etique virgule fixe est caract´eris´ee de fa¸con statistique ce qui permet de calculer une estimation de la puissance du bruit `a l’aide d’un nombre r´eduit et adaptatif de simulations. Cette contribution a ´et´e publi´ee dans [BDM19a].

4. Une nouvelle m´ethode bas´ee sur les statistiques inf´erentielles a ´et´e d´evelopp´ee pour raffiner les largeurs des variables d’une application convertie en virgule fixe. Le nombre de simulations est adapt´e en fonction de la pr´ecision d’estimation de la puis- sance du bruit voulue. Cette contribution a ´et´e pr´esent´ee sous forme de poster `a la conf´erence DAC 2019 et a men´e au d´epˆot d’un brevet Fran¸cais FR1903747 [BMD19].

5. Une m´ethode pour inf´erer une m´etrique de pr´ecision en sortie d’une application util- isant le krigeage, une m´ethode g´eostatistique, a ´et´e d´evelopp´ee. Celle-ci est illustr´ee sur l’algorithme de raffinage des largeurs d’une application convertie en arithm´etique virgule fixe. Cette m´ethode permet de r´eduire le nombre d’´evaluations de la m´etrique de qualit´e par simulations. Cette contribution n’a pas encore ´et´e publi´ee.

Pour finir, durant cette th`ese, une autre contribution a ´et´e une forte implication dans les ´ev´enements de vulgarisation scientifique. Le calcul approxim´e a ´et´e pr´esent´e dans plusieurs conf´erences pour le grand public pendant des ´ev´enements tels que le “Festival des Sciences”, “En Direct du Labo” ou encore “A la d´ecouverte de la recherche”. Trois articles pour le grand public ont ´et´e ´ecrits et sont cit´es ci-dessous:

1. Une pr´esentation g´en´erale de la probl´ematique d’´economie des ressources ´energ´etiques dans le domaine de l’Internet des Objets ainsi que les solutions apport´ees par le calcul approxim´e sont pr´esent´ees dans [Bon18a].

2. Une courte pr´esentation de la probl´ematique globale de cette th`ese est d´ecrite dans l’article [Bon18b].

3. Une vue d’ensemble de l’utilisation de l’Internet des Objets en m´edecine et partic- uli`erement en rythmologie est pr´esent´ee dans l’article [Bon].

Documents relatifs