éco-conception frugale : à quand des ordinateurs imprécis ?
Pour atteindre la meilleure efficience énergétique possible, les fabricants de processeurs jouent sur la finesse de gravure (plus c’est fin, moins ça consomme) et des topologies à plusieurs cœurs. Malgré cette approche, de nombreuses erreurs sont commises lors des calculs, notamment à cause de la finesse de gravure qui atteint les limites de la physique. Les processeurs doivent donc intégrer de nombreux mécanismes de vérification et d’élimination des erreurs. Ces traitements sont énergivores.
Chercheur à l’université de Rice aux Etats-Unis, Avinash Lingamneni conçoit des microprocesseurs très rapides, très peu énergivores, et … inexacts. L’idée est simple : en tolérant des erreurs dans les calculs réalisés par le microprocesseur, le traitement est plus rapide et consomme moins d’énergie. On parle alors de processeurs probabilistes ou « imprécis » dans le jargon grand public.
Jusqu’à 15 fois plus rapide et moins énergivore
Dans de nombreux domaines, ces erreurs sont imperceptibles par un être humain ou elles ne dégradent pas la qualité du résultat obtenu. Par exemple, dans le cas du décryptage d’une vidéo ou d’un son, l’être humain ne perçoit pas toutes les erreurs commises par le processeur. En un niveau élevé d’erreur n’est pas forcément préjudiciable au service rendu. L’exemple ci-dessous montre qu’un niveau d’erreur de 0,54 % n’est pas perceptible par l’œil humain. Un niveau de 7,58 % sera perçu… mais il permet de décrypter la vidéo 15 fois plus vite qu’un processeur standard en consommant 15 fois moins d’énergie !
Des approches hybrides peuvent également être envisagées. Elles consistent à identifier les erreurs commises par le processeur et à les traiter dans un second temps. Cette approche est particulièrement adaptées pour tous les traitements asynchrones par lot (batch) pour lesquels le temps de réponse n’a pas d’impact pour l’utilisateur final.
Un premier test grandeur nature en 2013
Le processeur probabiliste mis au point par Avinash Lingamneni va bientôt être testé grandeur nature dans le cadre du projet ISAID I-slate, une tablette numérique à très bas prix destinée aux écoliers indiens. Le coût de fabrication d’un processeur « inexact » est en effet près de 15 fois moins élevé que celui d’un processeur classique. Le district de Mahabubnagar en Inde prévoit d’équiper 50 000 étudiants durant les 3 prochaines années.
Avinash Lingamneni n’est pas le seul à s’intéresser à cette approche. Fondée en 2006 comme une spin-off du MIT, Lyric Semiconductor fabrique le processeur probabiliste GP5 (pour General Purpose Programmable Probability Processing Platfrom) qui peut être jusqu’à 1 000 fois plus rapide pour certains traitements probabilistes. La société commercialise notamment un système de correction d’erreur pour contrôleur de mémoire flash, le Lyric Error Correction (LEC), 30 fois plus petit et 10 fois moins énergivore que ses concurrents. Des performances indispensables au regard de l’accroissement du taux d’erreur au sein des mémoires flash (environ 1 % pour les dernières génération).
Une démarche déjà pratiquée en éco-conception logicielle
Cette démarche est déjà utilisée en éco-conception logicielle : en choisissant des types de données les plus frugaux possibles, par exemple pour le stockage d’un nombre, il existe un écart de 8 entre le type tinyint stocké sur 1 octet et le type bigint stocké sur 8 octets. Evidemment, il faut plus de cycles processeurs pour manipuler un bigint qu’un tinyint. Les écarts sont encore plus important avec les types de données permettant de stocker du texte.
Voilà un bel exemple d’innovation frugale, un concept que nous vous présenterons plus en détail dans un prochain article.
source : http://nanocad.ee.ucla.edu/pub/Main/SnippetTutorial/Parag_Imprecise_Arithmetic.pdf et http://news.rice.edu/2012/05/17/computing-experts-unveil-superefficient-inexact-chip/