Gibt es eine abstrakte Maschine, die den Stromverbrauch erfassen kann?


13

Wenn die algorithmische Komplexität eines Algorithmus angegeben wird, wird angenommen, dass die zugrunde liegenden Berechnungen auf einem abstrakten Computer (z. B. RAM) ausgeführt werden, der sich einer modernen CPU nähert. Mit solchen Modellen können wir die zeitliche und räumliche Komplexität von Algorithmen angeben. Angesichts der Verbreitung von GPGPUs fragt man sich, ob es wohl bekannte Modelle gibt, bei denen man auch den Stromverbrauch berücksichtigen kann.

Es ist allgemein bekannt, dass GPUs eine beträchtliche Menge an Energie verbrauchen, und bestimmte Anweisungen fallen aufgrund ihrer Komplexität und Position auf dem hoch entwickelten Chip in verschiedene Kategorien des Energieverbrauchs. Anweisungen sind daher aus energetischer Sicht keine Einheitskosten (oder sogar feste Kosten). Eine triviale Erweiterung wäre, den Betriebskosten Gewichte zuzuweisen, aber ich suche nach einem leistungsstarken Modell, bei dem eine Operation / Anweisung nicht konstante Energieeinheiten kosten kann, z des Algorithmus oder unter Berücksichtigung der Ausfallwahrscheinlichkeit des Kühlsystems, das die Chips aufheizt und die Taktfrequenz verlangsamt usw.)

Gibt es solche Modelle, bei denen nicht-triviale Kosten und Fehler berücksichtigt werden können?


Haben Sie Grund zu der Annahme, dass sich die Menge an Energie, die für elementare Betriebskosten anfällt, (komplex) ändert? Wenn Sie interessiert sind, kenne ich eine Arbeit, die den Energieverbrauch mit theoretischen Werkzeugen analysiert.
Raphael

Antworten:


8

Es gibt noch kein etabliertes Modell, aber dies ist derzeit ein Bereich aktiver Forschung. Einer der Experten auf dem Gebiet der Algorithmen ist Kirk Pruhs. Seine Papiere enthalten weitere Informationen, und Sie können diese Präsentation auch durchsuchen .


Ich stimme der Tatsache nicht zu, dass es noch kein etabliertes Modell gibt: Die meisten Arbeiten stimmen mit einem komplizierten physikalischen Modell überein, sie konzentrieren sich einfach auf einen anderen Teil dieses physikalischen Modells. Bei Insctances konzentriert sich Kirk auf die dynamische Energie.
Gopi

Ich denke, ich meine, es gibt kein etabliertes Rechenkostenmodell.
Suresh

7

Modelle für den Energieverbrauch

Die Geschwindigkeitsskalierung ist eines der (in letzter Zeit) am häufigsten verwendeten Modelle, wenn es um den Energieverbrauch geht. Es besteht in der Änderung der Versorgungsspannung. Durch Verringern der Versorgungsspannung oder der Prozessortaktfrequenz können erhebliche Einsparungen beim Stromverbrauch erzielt werden. schnellere Geschwindigkeiten ermöglichen eine schnellere Ausführung, führen aber auch zu einem viel höheren (supra-linearen) Stromverbrauch.

ss3s3×dd

Die Geschwindigkeitsskalierung ist jedoch nicht die einzige in Betracht gezogene Energie. Es ist die sogenannte dynamische Energie. Die statische Energie ist die Leistung, die durch das Einschalten des Prozessors entsteht. Sie können diese statische Aufladung beseitigen, indem Sie den Prozessor während der Leerlaufzeit ausschalten. Es hat jedoch Kosten. Zu diesem Thema wurde viel gearbeitet, was dem Problem des Skiverleihs sehr nahe kommt .

Normalerweise ist der Energieverbrauch die Summe aus statischem und dynamischem Energieverbrauch und Ausführungszeit. Die meisten Arbeiten konzentrieren sich jedoch auf eines dieser Probleme.

Einführen von Fehlern in dieses Modell

Ich denke, dies ist der überraschendste Teil des Geschwindigkeitsskalierungsmodells. Normalerweise würde man meinen, je schneller Sie eine Aufgabe ausführen, desto wahrscheinlicher ist es, dass die Ausführung fehlschlägt. Im Gegenteil, es wurde gezeigt, dass das Verringern der Geschwindigkeit eines Prozessors die Anzahl der vorübergehenden Fehlerraten des Systems erhöht; Die Wahrscheinlichkeit von Ausfällen steigt exponentiell an, und diese Wahrscheinlichkeit kann beim Großrechner nicht vernachlässigt werden.

λ

λ(f)=λ0edfmeinx-ffmeinx-fmichn,
f[fmichn,fmeinx]λ0dwfR(f)=e-λ(f)×wf

Da es sich um eine Selbstreferenz handelt, weiß ich nicht, ob es hier geschätzt wird. Wenn Sie jedoch interessiert sind, finden Sie in diesem Artikel weitere Informationen zum dynamischen Teil des Energieverbrauchs.


3

Es hat Versuche gegeben, den Energieverbrauch von Algorithmen theoretisch zu analysieren (natürlich unter Verwendung der tatsächlichen Kosten pro Operation); siehe zB [1]. Obwohl die Ergebnisse überraschend genug sind - der schnellste Algorithmus ist nicht immer der mit der geringsten Energie -, bleiben einige Hindernisse bestehen.

Insbesondere schalten moderne Plattformen bestimmte Funktionen aus, so dass die Betriebsenergiekosten beim erneuten Einschalten steigen. Während es im Prinzip möglich ist, eine strenge Analyse durchzuführen, wird es technisch (zu?) Schwierig. Auch die Auswirkung von Cache-Fehlern auf den Gesamtenergieverbrauch wurde nicht gut untersucht.

Es scheint, dass große Unterschiede zwischen den Plattformen strengen Analysen entgegenstehen, die (ausnahmsweise) Besonderheiten nicht ignorieren können, da allgemeine Modelle (dh vor dem Einfügen konkreter Konstanten / Funktionen) nur eine begrenzte Bedeutung haben.


  1. Hannah Bayer und Markus E. Nebel: Bewertung von Algorithmen nach ihrem Energieverbrauch , Berechenbarkeit in Europa, 2009
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.