Prinzip: Energieeffizienz

Abgeschlossen

Der Inhalt des Videos ist weiterhin gültig, aber die Prinzipiennummern können aufgrund der Neunummerierung durch die Green Software Foundation abweichen.

Elektrizität und Kohlendioxid

Die meisten Menschen sind der Meinung, dass Elektrizität eine saubere Sache ist. Wenn wir ein Gerät an einem Wandstecker einstecken, werden unsere Hände nicht schmutzig und unsere Laptops benötigen keine Abgasrohre. In Wahrheit wird Strom jedoch zum größten Teil durch das Verbrennen fossiler Brennstoffe erzeugt (in der Regel Kohle), und die Energieversorgung ist die bedeutendste Einzelursache für Kohlendioxidemissionen.

Da ein direkter Zusammenhang zwischen Elektrizität und Kohlendioxidemissionen besteht, kann Elektrizität als ein Anhaltspunkt für Kohlendioxid angesehen werden.

Von den Anwendungen, die auf Ihrem Smartphone ausgeführt werden, bis hin zum Trainieren von Machine Learning-Modellen, die in Rechenzentren ausgeführt werden, wird für das Ausführen von Software immer Elektrizität benötigt. Einer der erfolgversprechendsten Wege, den Elektrizitätsverbrauch und die daraus resultierende Verschmutzung durch Kohlendioxidemissionen von Software zu reduzieren, besteht darin, Anwendungen mit höherer CO2-Effizienz zu entwickeln.

Dieses Wissen ist der Grund, warum ein wichtiges Prinzip der nachhaltigen Softwareentwicklung darin besteht, energieeffiziente Anwendungen zu erstellen.

Als nachhaltigkeitsorientierte Entwickler müssen wir Elektrizität verstehen. Unsere Reise beginnt nicht beim Computer, sondern damit, wie der Strom erzeugt wird, mit dem unsere Computer betrieben werden.

Energie vs. Leistung

Energie ist die Menge genutzter Elektrizität. Die Standardeinheit für Energie ist Joule oder J. Eine andere gängige Einheit für den Energieverbrauch sind jedoch Kilowattstunden oder kWh.

Elektrizität wird häufig als Leistung oder Energie dargestellt, wobei es sich um zwei verschiedene Konzepte handelt:

Energie = Leistung ✕ Zeit

  • Energie ist die Gesamtmenge des verwendeten Stroms. Die Standardeinheit für Energie ist „Joule“ oder „J“.

  • Die Leistung gibt die Stromverbrauchsrate pro Zeiteinheit an. Die Standardeinheit für die Leistung ist „Watt“ oder „W“. 1 Watt einspricht 1 Joule pro Sekunde.

Eine gängige Formulierung für den Energieverbrauch ist Leistung innerhalb eines Zeitraums, z. B. Wattsekunden oder Kilowattstunden. Beispiel:

  • Eine Leistung von 20 Wattsekunden oder 20 Ws wird erzielt, wenn eine Sekunde lang 20 W umgesetzt werden. Da 1 Watt = 1 Joule pro Sekunde ist, entspricht dieser Wert 20 Joule.

  • Eine Leistung von 20 Kilowattstunden oder 20 kWh wird erzielt, wenn eine Stunde lang 20.000 Watt umgesetzt werden.

    Energy = 60 X 60 X 20,000 = 72,000,000 Joules = 72 Megajoules (72 MJ)

Energieproportionalität

Die Auslastung ist das Maß für die Verwendung von Computerressourcen und wird in der Regel als Prozentsatz angegeben. Ein Computer im Leerlauf hat einen niedrigen Auslastungsgrad und wird nicht genutzt. Ein Computer, der mit maximaler Kapazität läuft, hat einen hohen Prozentsatz und ist voll ausgelastet.

Mit Energieproportionalität kann das Verhältnis zwischen verbrauchter Energie in einem Computersystem und der Geschwindigkeit, in der hilfreiche Arbeiten erledigt werden (die Nutzung), gemessen werden. Wenn der gesamte Energieverbrauch proportional zur Nutzung des Computers verläuft, spricht man von Energieproportionalität.

In einem energieproportionalen System ist die Energieeffizienz eine Konstante, die Energieeffizienz bleibt also unabhängig von der Nutzung dieselbe. Die Energieeffizienz von Hardware ist jedoch keine Konstante. Sie variiert je nach Kontext. Aufgrund der komplexen Interaktionen vieler verschiedener Komponenten eines Hardwaregeräts kann das Verhältnis nicht-linear werden, was heißt, das Verhältnis zwischen Energie und Nutzung ist nicht proportional.

Diagram showing power versus utilization.

Bei 0 Prozent Nutzung benötigt der Computer dennoch 100 W. Bei 50 Prozent Nutzung benötigt er 180 W, und bei 100 Prozent Nutzung benötigt er 200 W. Das Verhältnis zwischen Energieverbrauch und Nutzung ist also nicht linear und durchläuft nicht den Ursprung.

Aufgrund dieses Verhältnisses wird das Konvertieren von Elektrizität in hilfreiche Computevorgänge immer effizienter, je mehr ein Computer genutzt wird. Wenn Sie Ihre Arbeiten auf so wenig Servern wie möglich bei höchster Nutzungsrate ausführen, kann die Energieeffizienz maximiert werden.

Statischer Bedarf an elektrischer Energie

Für eine fehlende Energieproportionalität gibt es verschiedene Gründe. Einer davon ist der statische Bedarf an elektrischer Energie.

Ein Computer in Leerlauf benötigt immer Energie, selbst wenn die Nutzung bei 0 Prozent liegt. Dieser statische Bedarf an elektrischer Energie variiert je nach Konfiguration und Hardwarekomponenten, alle Komponenten weisen jedoch einen statischen Bedarf an elektrischer Energie auf. Dieser potenzielle Bedarf an elektrischer Energie ist einer der Gründe, warum Computer, Laptops und mobile Geräte über Energiesparmodi verfügen. Wenn sich das Gerät im Leerlauf befindet, wird nach einer gewissen Zeit ein Ruhezustandsmodus ausgelöst, wodurch der Datenträger und der Bildschirm in den Energiesparmodus versetzt werden, oder möglicherweise wird sogar die CPU-Frequenz angepasst. Diese Energiesparmodi sparen Elektrizität, weisen jedoch auch Nachteile auf, z. B. einen langsameren Neustart, wenn der Energiesparmodus für das Gerät beendet wird.

Für Server werden normalerweise keine umfassenden bis gar keine Energiesparmodi konfiguriert. In vielen Anwendungsfällen für Server muss Kapazität so schnell wie möglich zur Verfügung stehen, um auf sich schnell ändernden Bedarf reagieren zu können. Dieses Szenario beinhaltet, dass sich viele Server während Zeiträumen mit geringem Bedarf im Leerlauf befinden. Für einen Server im Leerlauf fällt Kohlendioxid sowohl im Rahmen seiner grauen Energie als auch einer ineffizienten Nutzung an.

Taktfrequenz

Bei der Taktfrequenz handelt es sich um die Betriebsgeschwindigkeit eines Computers oder seines Mikroprozessors. Sie wird in sich wiederholenden Vorgängen pro Sekunde (Megahertz) angegeben. Die Taktfrequenz von Verbrauchergeräten wird oft dynamisch angepasst, um eine bessere Energieproportionalität zu erzielen.

Die Taktfrequenz bezieht sich darauf, wie schnell ein Computer Anweisungen ausführen kann.

Die Energieeffizienz von Mikroprozessoren ändert sich im Zusammenhang mit der Taktfrequenz. Hohe Taktfrequenzen sind oftmals weniger energieeffizient als geringe Taktfrequenzen. Im I7-3770K-System können Sie beispielsweise 3.5 GHz für 50 W oder 5 GHz für 175 W ausführen. Eine Erhöhung der Taktfrequenz um etwa 40 Prozent erfordert eine mehr als >dreifache Erhöhung der benötigten elektrischen Energie.

Die Reduzierung der Taktfrequenz während Zeiträumen geringer Nutzung kann die Energieeffizienz erhöhen und dabei die Energieeffizienz der Hardware maximieren.