Noción formal para la complejidad energética de los problemas computacionales.


35

La complejidad computacional incluye el estudio de la complejidad temporal o espacial de los problemas computacionales. Desde la perspectiva de la informática móvil, la energía es un recurso informático muy valioso. Entonces, ¿existe una adaptación bien estudiada de las máquinas de Turing que explique la energía consumida durante la ejecución de los algoritmos? Además, ¿existen clases establecidas de complejidad energética para problemas computacionales?

Las referencias son apreciadas.


1
El consumo de energía depende de la máquina y es una cuestión práctica, es decir, las constantes ocultas en el análisis clásico suelen ser de interés (la única diferencia entre el tiempo de ejecución y el consumo de energía).
Raphael

66
Teóricamente, puede hacer pasos reversibles sin costo de energía. Prácticamente, uno puede construir chips que realizan pasos reversibles a un costo de energía sustancialmente menor que los pasos no reversibles. No está claro cómo se traduce esto en teoría, pero tal vez podamos definir un modelo de máquina de Turing que realice pasos reversibles al costo y pasos no reversibles al costo β , y comenzar a razonar teóricamente sobre el consumo de energía. Al menos es posiblemente mejor que levantar las manos con desesperación y decir "todo depende de la máquina". αβ
Peter Shor


Susanne Albers escribió una excelente encuesta en la Comunicación de ACM, Algoritmos eficientes de energía. cacm.acm.org/magazines/2010/5/87271-energy-efficient-algorithms/…
Mohammad Al-Turkistany

Respuestas:


28

¿Existe una adaptación bien estudiada de las máquinas de Turing que explique la energía consumida durante la ejecución de los algoritmos? ¡No!

Pero tal vez puedas encontrar uno. Es posible que pueda dividir los pasos de la máquina Turing en reversible y no reversible (los no reversibles son donde se pierde la información). Teóricamente, son solo los pasos no reversibles los que cuestan energía. Un costo de una unidad de energía por cada bit que se borra en teoría sería la medida correcta.

Existe un teorema de Charles Bennett de que la complejidad del tiempo aumenta como máximo una constante cuando un cálculo se hace reversible (CH Bennett, Reversibilidad lógica de la computación ), pero si también hay límites en el espacio, entonces hacer que el cálculo sea reversible podría incurrir en un aumento sustancial en el tiempo (referencia aquí) . El principio de Landauer dice que borrar un poco cuesta de energía, donde T es la temperatura yk es la constante de Boltzmann. En la vida real, no puedes acercarte a alcanzar este mínimo. Sin embargo, puede construir chips que realicen pasos reversibles usando sustancialmente menos energía de la que usan para pasos irreversibles. Si le da a los pasos reversibles un costo de α y a los pasos irreversibles un costo de β , parece que puede dar un modelo teórico razonable.kTln2Tkαβ

No sé cómo las máquinas Turing con algunos pasos reversibles se relacionan con chips con algunos circuitos reversibles, pero creo que vale la pena investigar ambos modelos.


Peter, en las discusiones sobre la Tesis Eficiente de Turing de la Iglesia, recuerdo haber leído acerca de tomar en cuenta la cantidad de energía utilizada en el cálculo. ¿Sabes si hay una buena referencia sobre el tema? (Puedo publicar esto como una pregunta separada si lo prefieres).
Kaveh

44
Si solo le preocupan los factores polinómicos, como lo está para la tesis Efficient Church-Turing, todo funciona, porque puede obtener un cálculo reversible (cantidad arbitrariamente pequeña de energía gastada) con solo un aumento constante del factor en el tiempo, y el el espacio no puede ser mayor que el tiempo. Creo que vi una buena encuesta reciente sobre estas cosas. Esperemos que alguien pueda localizarlo.
Peter Shor

Gracias Peter, supongo que podría encontrarlo yo mismo usando Google (publicaré una pregunta si no la encuentro).
Kaveh

ideas interesantes que conducen a la pregunta, ¿cuánto pueden transformarse los algoritmos arbitrarios en cálculos reversibles? como en la computación qm, esto siempre es posible con bits "ancilla", pero mantener este "rasguño" puede disminuir la eficiencia del algoritmo en algunos casos y tal vez hasta ahora no se sabe bien cuánto. note que williams tiene algunas ideas sobre cálculos reversibles que
ahorran

Incluso si tenemos una máquina de cálculo reversible, todavía hay algunos costos de energía "ocultos": cuando queremos ejecutar un nuevo cálculo, debemos construir un nuevo banco de memoria o borrar algunos de los datos previamente escritos para hacer espacio para la nueva entrada y cálculos. ¿Cómo afecta esto la respuesta? (por ejemplo, ¿el cálculo reversible generalmente asume el acceso a una sección de memoria "en blanco" inicializada? parece una trampa ...)
usul

7

Todavía no hay clases de complejidad energética, pero definitivamente hay mucho interés en estudiar cómo diseñar algoritmos que sean energéticamente eficientes en algunos modelos. No estoy familiarizado con todo el trabajo, pero un punto de entrada es el trabajo que Kirk Pruhs está haciendo en computación sostenible. Kirk es un teórico con experiencia en programación y aproximaciones, y recientemente se ha vuelto muy activo en esta área, por lo que su perspectiva es buena para la gente algorítmica.

El comentario de ps gabgoh sobre el principio de Landauer es bueno. Si desea obtener más información sobre la relación entre energía e información, no hay mejor fuente que el libro Demonio de Maxwell .


+1 Gracias Suresh por tu respuesta.
Mohammad Al-Turkistany

5

Esta no es una respuesta directa en absoluto, pero son algunas conexiones potencialmente útiles para dibujar / investigar programas que se llevarán a cabo en la línea del trabajo de Stay y Baez sobre termodinámica algorítmica: http://johncarlosbaez.wordpress.com/2010/10 / 12 / algorítmica-termodinámica /

Sin embargo, tenga en cuenta que este trabajo no saca consecuencias físicas reales, sino que ilustra una conexión que es, hasta ahora, puramente matemática.


5

Kei Uchizawa y sus coautores estudian la complejidad energética de los circuitos de umbral. Lo definen como el número máximo de puertas de umbral que generan 1 sobre todas las entradas posibles.

Como no se trata de máquinas Turing, esto no responde la pregunta. Pero, espero que sus documentos den algunas ideas. Su página web contiene punteros. http://www.nishizeki.ecei.tohoku.ac.jp/nszk/uchizawa/


4

Hay alguna justificación para usar el modelo de memoria externa como modelo de computación consciente de la energía. Paolo Ferragina discutió esto brevemente en su charla invitada en ESA 2010, pero no sé si hay resultados publicados. La idea básica es que si el número de E / S domina el tiempo de cálculo, entonces la energía requerida para esos E / S probablemente dominará el consumo total de energía.

El informe del Primer Taller sobre la Ciencia de la Gestión del Poder contenía principalmente preguntas y problemas abiertos. No sé qué sucedió en el Segundo Taller , pero las páginas web dicen que habrá un número especial de Computación Sostenible dedicado a los enfoques teóricos, matemáticos y algorítmicos de la computación sostenible.


0

Aquí hay algunas referencias / ángulos más nuevos / otros sobre esta pregunta aparentemente profunda con una investigación en curso. según lo indicado por P.Shor, el área hasta el momento parece estar esperando una encuesta exhaustiva, estandarización y / o unificación. hay enfoques más abstractos / teóricos enumerados en primer lugar, seguidos de enfoques más aplicados: algoritmos de eficiencia energética, medición del uso de energía en dispositivos móviles para la clasificación, estudio de factores en VLSI que afectan la complejidad de energía / tiempo.


-3

Las complejidades del tiempo y el espacio son independientes del dispositivo. No veo una manera de hacer que el dispositivo de complejidad energética sea independiente.

WWW

O(Wf(n))=O(f(n))


Estoy rechazando esta respuesta porque creo que se pierde el punto. Creo que hay alguna justificación teórica para poner un límite inferior al consumo de energía de cualquier algoritmo basado en el principio de Landauer. La pregunta me parece muy sensata.
gabgoh

@gabgoh Me temo que cualquier límite inferior general tendría que hacer suposiciones de uniformidad que derrotarían el propósito. @TheMachineCharmer De hecho, los procesadores reales pueden tener diferentes órdenes de comandos por eficiencia. Voto a favor, aunque su segundo párrafo me confunde.
Raphael

44
αβαβαβ

1
@Konrad: gabgoh se refiere a Rolf Landauer, no a Lev Landau.
Peter Shor

1
@ Peter: gracias por la información. Sin embargo, para el registro, estaba hablando de Edmund Landau, inventor de la notación big-O. Pensé que a eso se refería gabgoh con el "principio de Landauer".
Konrad Rudolph el
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.