Notion formelle pour la complexité énergétique des problèmes de calcul


35

La complexité informatique comprend l’étude de la complexité temporelle ou spatiale des problèmes informatiques. Du point de vue de l'informatique mobile, l'énergie est une ressource informatique précieuse. Alors, existe-t-il une adaptation bien étudiée des machines de Turing qui prend en compte l'énergie consommée lors de l'exécution d'algorithmes? De même, existe-t-il des classes de complexité énergétique établies pour les problèmes de calcul?

Les références sont appréciées.


1
La consommation d’énergie dépend de la machine et est un problème pratique, c’est-à-dire que les constantes cachées dans l’analyse classique présentent généralement un intérêt (toute différence entre le temps d’exécution et la consommation d’énergie).
Raphael

6
Théoriquement, vous pouvez faire des étapes réversibles sans coût énergétique. Pratiquement, on peut construire des puces qui effectuent des étapes réversibles à un coût énergétique sensiblement inférieur à celui des étapes non réversibles. La façon dont cela se traduit en théorie n'est pas claire, mais nous pourrions peut-être définir un modèle de machine de Turing qui effectue des étapes réversibles au coût et non réversibles au coût β , et commencer à raisonner théoriquement sur la consommation d'énergie. Au moins, il vaut peut-être mieux que de baisser les bras au désespoir et de dire «tout dépend de la machine». αβ
Peter Shor


Susanne Albers a rédigé une excellente étude dans Communication of ACM, algorithmes écoénergétiques. cacm.acm.org/magazines/2010/5/87271-energy-efficient-algorithms/…
Mohammad Al-Turkistany

Réponses:


28

Existe-t-il une adaptation bien étudiée des machines de Turing tenant compte de l'énergie consommée lors de l'exécution d'algorithmes? Non!

Mais peut-être que vous pourriez en trouver un. Il est possible de diviser les étapes de la machine de Turing en deux étapes: réversible et non réversible (les étapes non réversibles sont celles où l'information est perdue). Théoriquement, seules les étapes irréversibles coûtent de l'énergie. Un coût d'une unité d'énergie pour chaque bit effacé serait théoriquement la bonne mesure.

Il existe un théorème de Charles Bennett selon lequel la complexité temporelle augmente d'au plus constante lorsque le calcul est rendu réversible (CH Bennett, Réversibilité logique du calcul ), mais s'il existe également des limites d'espace, le fait de rendre le calcul réversible risque de générer une perte de temps. augmentation substantielle dans le temps (référence ici) . Le principe de Landauer dit que l'effacement coûte un peu d'énergie, oùkTdans2 est la température et k est la constante de Boltzmann. Dans la vraie vie, il est impossible d’atteindre ce minimum. Cependant, vous pouvez construire des puces qui effectuent des étapes réversibles en utilisant sensiblement moins d'énergie qu'elles n'en utilisent pour des étapes irréversibles. Si vous donnez aux étapes réversibles un coût de α et aux étapes irréversibles un coût de β , il semble que cela puisse donner un modèle théorique raisonnable.Tkαβ

Je ne sais pas comment les machines de Turing avec certaines étapes réversibles sont associées aux puces avec certains circuits réversibles, mais je pense que les deux modèles méritent d’être étudiés.


Peter, au cours de discussions sur la thèse Efficient Eglise-Turing, je me souviens d'avoir lu à propos de la prise en compte de la quantité d'énergie utilisée dans le calcul. Savez-vous s'il existe une bonne référence sur le sujet? (Je peux poster cela comme une question séparée si vous préférez cela.)
Kaveh

4
Si vous vous inquiétez des facteurs polynomiaux, comme pour la thèse de Efficient Church-Turing, tout se passe bien, car vous pouvez obtenir un calcul réversible (quantité d’énergie dépensée arbitrairement) avec seulement une augmentation constante du facteur de temps, et l'espace ne peut pas être plus grand que le temps. Je pense avoir vu une bonne enquête récente à ce sujet. J'espère que quelqu'un pourra le localiser.
Peter Shor

Merci Peter, je suppose que je pourrais le trouver moi-même en utilisant Google (je poserai une question si je ne le trouve pas).
Kaveh

idées intéressantes qui conduisent à la question, dans quelle mesure des algorithmes arbitraires peuvent-ils être transformés en calculs réversibles? comme en qm computing, cela est toujours possible avec des bits "ancilla", mais garder ce "scratch" peut diminuer l'efficacité de l'algorithme dans certains cas et peut-être jusqu'à présent pas trop bien comprendre à quel point. note williams a quelques idées sur les calculs réversibles peu
encombrants

Même si nous avons une machine à calcul réversible, il reste des coûts d’énergie "cachés": lorsque nous voulons exécuter un nouveau calcul, nous devons soit créer une nouvelle banque de mémoire, soit effacer certaines des données précédemment écrites pour faire de la place. pour la nouvelle entrée et les calculs. Comment cela affecte-t-il la réponse? (par exemple, un calcul réversible suppose-t-il généralement l'accès à une section de mémoire initialisée, "vierge"? on dirait de la triche ...)
usul

7

Il n’existe pas encore de classes de complexité énergétique, mais l’intérêt d’étudier comment concevoir des algorithmes écoénergétiques selon un modèle donné suscite beaucoup d’intérêt. Je ne connais pas tout le travail, mais le travail que Kirk Pruhs effectue sur l'informatique durable constitue un point d'entrée . Kirk est un théoricien spécialisé dans la planification et les approximations. Il est récemment devenu très actif dans ce domaine. Son point de vue est donc intéressant pour les spécialistes de l'algorithmique.

Le point de ps gabgoh sur le principe de Landauer est bon. Si vous voulez en savoir plus sur la relation entre énergie et information, il n'y a pas de meilleure source que le livre de Maxwell's Demon .


+1 Merci Suresh pour votre réponse.
Mohammad Al-Turkistany le

5

Ce n’est pas une réponse directe du tout, mais il existe des liens potentiellement utiles pour élaborer / mener des programmes de recherche dans le sens des travaux de Stay et Baez sur la thermodynamique algorithmique: http://johncarlosbaez.wordpress.com/2010/10 / 12 / thermodynamique algorithmique /

Notez cependant que ce travail n’entraîne pas de conséquences physiques réelles - il illustre plutôt un lien qui, jusqu’à présent, est purement mathématique.


5

Kei Uchizawa et ses coauteurs étudient la complexité énergétique des circuits à seuil. Ils le définissent comme le nombre maximum de portes de seuil qui émettent 1 sur toutes les entrées possibles.

Puisqu'il ne s'agit pas de machines de Turing, cela ne répond pas à la question. Mais j'espère que leurs papiers donnent des idées. Sa page Web contient des pointeurs. http://www.nishizeki.ecei.tohoku.ac.jp/nszk/uchizawa/


4

Il y a une certaine justification à utiliser le modèle de mémoire externe en tant que modèle de calcul prenant en compte l'énergie. Paolo Ferragina en a brièvement parlé lors de son discours invité à l'ESA 2010, mais je ne sais pas s'il existe des résultats publiés. L'idée de base est que si le nombre d'entrées / sorties domine le temps de calcul, l'énergie nécessaire à ces entrées / sorties dominera probablement la consommation totale d'énergie.

Le rapport du premier atelier sur la science de la gestion de l’énergie contenait principalement des questions et des problèmes en suspens. Je ne sais pas ce qui s'est passé lors du deuxième atelier , mais les pages Web indiquent qu'il y aura un numéro spécial sur l'informatique durable consacré aux approches théoriques, mathématiques et algorithmiques de l'informatique durable.


0

Voici quelques nouvelles / autres références / angles sur cette question apparemment profonde avec les recherches en cours. comme indiqué par P.Shor, jusqu'à présent, la région semble attendre une étude complète, une normalisation et / ou une unification. d’abord des approches plus abstraites / théoriques, suivies d’approches plus appliquées: algorithmes d’efficacité énergétique, mesure de la consommation d’énergie dans le tri mobile, étude des facteurs de VLSI affectant la complexité énergie / temps.


-3

Les complexités spatio-temporelles sont indépendantes de l'appareil. Je ne vois pas de moyen de rendre les appareils à complexité énergétique indépendants.

WWW

O(WF(n))=O(F(n))


Je vote en faveur de cette réponse car je pense qu’elle passe à côté de la question. Je pense qu'il est théoriquement justifié de fixer une limite inférieure à la consommation d'énergie de tout algorithme basé sur le principe de Landauer. Je trouve la question très sensible.
Gabgoh

@gabgoh Je crains qu'une limite inférieure générale ne doive formuler des hypothèses d'homogénéité qui iraient à l'encontre du but recherché. @TheMachineCharmer En réalité, les processeurs réels peuvent avoir différents ordres de commandes en fonction de leur efficacité. Upvote, même si votre deuxième paragraphe me confond.
Raphael

4
αβαβαβ

1
@ Konrad: gabgoh fait référence à Rolf Landauer, pas à Lev Landau.
Peter Shor

1
@ Peter: merci pour l'info. Pour mémoire, je parlais d'Edmund Landau, l'inventeur de la notation big-O. Je pensais que c’était ce à quoi gabgoh faisait référence avec le «principe de Landauer».
Konrad Rudolph
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.