Comme les ordinateurs, les centres de données et les appareils mobiles deviennent plus puissants, leurs besoins en énergie sont également en augmentation en général. Des solutions possibles à ce problème comprennent économie d'énergie modes de sommeil, dispositifs qui empêchent les ordinateurs de tirer un courant lorsque prétendument désactivé, et transformateurs refroidis à l'eau. EnerJ, une nouvelle solution créée à l'Université de Washington, adopte une approche différente - il fournit moins d'énergie pour les régions de la puce qui sont des processus qui ne nécessitent pas une précision absolue performant. Dans les simulations en laboratoire, il a déjà réduit la consommation d'énergie de près de 50 pour cent, bien que ce montant pourrait atteindre jusqu'à 90 pour cent.

Avec certains processus, comme le chiffrement du mot de passe, à proximité est pas assez bon. La puce régions de manutention de ces fonctions, par conséquent, seraient encore recevoir la puissance maximale. D'autres procédés, cependant, sont déjà conçus pour tolérer de petites erreurs. Ceux-ci comprennent des choses telles que des jeux, streaming audio et vidéo, en temps réel et la reconnaissance d'image sur les appareils mobiles. Ils serait géré par une zone de réception moins de tension.

"La reconnaissance d'image a déjà besoin d'être tolérant des petits problèmes, comme un grain de poussière sur l'écran", a déclaré Adrian Sampson, un étudiant au doctorat UW en informatique et de l'ingénierie. "Si nous introduisons un peu plus de points sur l'image en raison d'erreurs, l'algorithme devrait toujours fonctionner correctement, et nous pouvons économiser de l'énergie."

Le système EnerJ se incorpore deux morceaux de code de verrouillage, l'une manipulation des fonctions précises, et l'un attribué à ceux qui travaillent encore avec des erreurs. Une barrière à l'intérieur du système serait de garder les deux parties se séparent, de sorte que le code plus décontracté ne finirait jamais accidentellement être utilisé pour des fonctions où la précision est cruciale.

En théorie, les mêmes principes pourraient être appliqués à purement logiciel, par opposition aux puces. Dans les programmes où les chiffres exacts ne sont pas importants, par exemple, chiffres pourraient être arrondis. Dans d'autres cas, moins de contrôles de précision pourraient être effectuées.

Jusqu'à présent, les simulations ont montré que les machines fonctionnant matériel EnerJ-contrôlée aurait une puissance moyenne-des économies de 20 à 25 pour cent, bien que cela a grimpé à près de 50 pour cent dans le cas d'un programme. En appliquant également au système de logiciel, il est estimé qu'un montant supplémentaire de 30 à 50 pour cent plus de puissance pourrait être sauvé. Au total, l'équipe UW estime des économies allant jusqu'à 90 pour cent.

«Notre objectif à long terme serait dix fois l'amélioration de la vie de la batterie», a déclaré Luis Cèze, professeur adjoint de science et de génie informatique, et auteur principal de l'étude. «Je ne pense pas qu'il est totalement hors de question d'avoir un ordre de réduction de l'ampleur si nous continuons serrant précision inutile."

EnerJ (qui tire son nom du langage de programmation Java, dont il est une extension) va maintenant être testé sur le matériel réel. Il ya des plans pour libérer son code open-source pour un usage général, dans les prochains mois

Le système rappelle les expériences de Rice University avec "puce élagage,"Dans laquelle des parties non essentiels de circuits ont été physiquement supprimés de puces spécifiques à l'appareil, afin d'économiser de l'énergie et d'augmenter la vitesse de traitement.