Es ist eine Binsenweisheit: Digitalisierung verbraucht Energie, von jeder einzelnen Suchanfrage auf Google bis zum Tippen dieses Blogposts in WORD. Zur Einstimmung nur zwei Zahlen: Das Datenvolumen je Nutzer in den Mobilfunknetzen hat sich in Deutschland seit 2009 um den Faktor 120 [sic!] erhöht. Betrachtet man das Internet als eigenes Land, stünde es in einem weltweiten Länderranking in punkto Stromverbrauch an dritter Stelle. So weit, so bekannt.

Der steigende Bedarf an Energie für Digitalisierung hat zahlreiche Ursachen, zuvorderst natürlich die zunehmende Durchdringung von Digitaler Technologie im Smart Home, in der Smart Factory oder im Smart Car. Einerseits werden Softwareanwendungen immer mächtiger, andererseits führen auch wachsende Ansprüche von Nutzern zu Arbeitsspeicher-intensiven Anwendungen: hochauflösende Benutzeroberflächen, Animationsvideos und derlei mehr. Um die Dynamik dieser Entwicklung zu verstehen, genügt es einmal 35 Jahre zurückzublicken, nämlich ins Jahr 1985; es war die Ära, wo Arbeits- und Festplattenspeicher noch teuer war und Prozessoren – aus heutiger Perspektive – geradezu im Zeitlupentempo arbeiteten.

Bis dato mussten Anwender eines Computer komplizierte MS-DOS-Befehle in Form von C:\ eingeben. Immerhin, es gab bereits die Computermaus. In diesem Jahr, nämlich am 20. November 1985, stellte Microsoft sein erstes „Betriebssystem mit grafischer Benutzeroberfläche“ vor, der Beginn der „Windows“-Erfolgsgeschichte. Windows 1.0.

Verblüffend aus heutiger Sicht: Das Programm hatte einen Arbeitsspeicherbedarf von 256 KByte. Das entspricht 0,000256 Gigabyte. Die aktuelle Version des Betriebssystems Windows 11 hat einen Arbeitsspeicherbedarf von 4 GB. Man muss kein promovierter Mathematiker sein, um zu erkennen, dass hier Welten dazwischen liegen.

Es ist absehbar, dass diese Entwicklung weitergehen wird. Um nur einige Beispiele zu nennen: Das neuronale Netz des leistungsfähigen KI-Sprachmodells GPT3 von OpenAI besteht aus 175 Milliarden Parametern, das Training erfolgte mit 570 Gigabyte an Text (= ca. 1 Billion Wörter). Das Training des neuronalen Netzes ist äußerst ressourcenintensiv, für GPT3 wird es auf fünf Millionen Dollar geschätzt. Eben dieser Ressourcenverbrauch ist ein zentraler Kritikpunkt von Timnit Gebru, eine anerkannte Koryphäe rund um KI-Ethik (vgl. in DIE ZEIT); ihre Kritik hat letztlich auch zu ihrem medial viel diskutierten Rauswurf bei Google geführt.

Und abschießend einer weitere Zahl, die für diese Dynamik steht: Pro Autonomem Fahrzeug könnten zukünftig 1,4 bis 19 Terabyte an Daten pro Stunde [sic!] anfallen. Wird hiervon auch nur ein Bruchteil übertragen, führt auch das zu einer signifikanten Steigerung des übertragenen Datenvolumens.

Kann man absehbar diesen explodierenden Energiehunger von Digitaltechnologie stabilisieren oder gar wieder zurückführen? Dieser Blog skizziert einige Antworten.

Ein wichtiger Ansatzpunkt für Energieeffizienz sind natürlich Rechenzentren, wo heute ein hoher Anteil des Digitalen Energieverbrauchs stattfindet. In ihrem jüngst erschienen Buch „The Age of AI and Our Human Future“ verweisen die Autoren etwa darauf, dass einem KI-Algorithmus gelungen ist, den Energieverbrauch in Rechenzentren von Google um 40 Prozent zu senken. Und das Jungunternehmen Cloud&Heat (Gründung: in 2011) nimmt die hohen Energiekosten zur Kühlung der Server eines Rechenzentrums ins Visier. Die Idee: Könnte man nicht diese Abwärme sinnvoll nutzen? – Genau! Serverschränke werden als Heizanlagen betrachtet, das Unternehmen verkauft die Abwärme.

Darüber hinaus gibt es interessante Entwicklungen und Überlegungen rund um Hardware und Software, von denen ich eine Auswahl vorstellen möchte. Ich sage es aber gleich dazu: Erfolgsgeschichten zu höherer Energieeffizienz sollte man dennoch mit Vorsicht genießen: Mehr Effizienz allein wird nicht reichen. Denn täglich grüßt der Rebound Effekt: Computer wurden zwar immer leistungsfähiger (und damit je Recheneinheit energieeffizienter), aber die Anzahl an Elektrogeräten und Betriebsdauer wuchs mit noch größerer Dynamik. Gesamteffekt: Mehr Energieverbrauch.

Hardware

Verbesserungen der Hardware betreffen zum einen das Design, aber auch Innovationen beim Material.

Für effizientes Chip-Design steht etwa Apples M1 Max. Hier kann man auf t3n nachlesen, dass dieser Apple-Chip etwa im Vergleich zum herkömmlichen Intel i9 nur etwa die Hälfte an Energie verbrauchte: “(…) Bei anspruchsvolleren Aufgaben geht die Wattzahl bis zu 119 Watt hoch. Im Vergleich ließen die Tester einen Intel i9 antreten, der bei den gleichen Aufgaben bis zu 256 Watt verbrauchte. Beim Kompilieren von Code im Multithread-Modus (SPEC 502.gcc_r MT) verbrauchte der M1 Max zum Beispiel 44,8 Watt, der i9 109,5 Watt. Die Autoren des Berichts erklären, der i9 sei in jeder Hinsicht stromhungriger.“

Zu den Verbesserungen beim Material ist Siliziumkarbid zu nennen. “Das Ausgangsmaterial Siliziumkarbid – chemische Formel SiC – ist zwar doppelt so teuer wie herkömmliches Silizium. Aber die daraus hergestellten Chips entwickeln nur halb so viel Wärme und verbrauchen deutlich weniger Energie.“. Gerade im Bereich der Elektromobilität dürften Chips mit Siliziumkarbid darum eine wachsende Rolle spielen; denn der geringere Energieverbrauch ist gleichbedeutend mit einer höheren Reichweite von Elektroautos. Und natürlich gilt diese Überlegung auch für Mobiltelefone.

Software: Programmiersprachen

Wie bereits in der Einführung ausgeführt, zeichnen sich heutige Anwendungsprogramme durch nutzerorientierte Grafikelelemente, Animationsvideos und derlei mehr aus. Dabei handelt es sich vielfach um Eigenschaften, die den Bedarf an Arbeitsspeicher oder/und Energiebedarf erhöhen. Klar, niemand will zurück in die 1970er und 1980er, wo sich Computerprogramme nur mit Kommandozeilen bedienen ließen. Gleichzeitig gilt, dass Energieeffizienz in einigen Bereichen eine wichtige Rolle spielt: Bei Mobiltelefonen beispielsweise, wo ein hoher Energieverbrauch die Akkulaufzeit reduziert; und tatsächlich kann man ein Programm (in einer gegebenen Programmiersprache) hocheffizient oder eben weniger effizient schreiben – das unterscheidet häufig einen talentierten Programmierer von einem Anfänger.

Aber auch die Wahl der Programmiersprache selbst macht einen Riesen-Unterschied für die Energiebilanz einer Software. In dem Forschungspapier Ranking Programming Languages by Energy Efficiency wurden hierzu verblüffende Ergebnisse zusammengetragen. Die Methodik hierzu ist einfach: Für etwa ein Dutzend Lösungsanforderungen wurden in 27 verschiedenen Programmiersprachen je effiziente Programme geschrieben. Dann wurden Ausführzeiten (in Millisekunden), Arbeitsspeicherbedarf und Energieverbrauch (in Joule) gemessen. Wertet man diese Messungen aus, gelangt man zu folgenden Ergebnissen:

Die Tabelle ist wie folgt zu lesen: Die Programmiersprache Lisp verbraucht hier im Durchschnitt 2,27 Mal mehr Energie als die effizienteste Programmiersprache C, während es 3,4 Mal mehr Zeit für die Ausführung benötigt.

Das Gesamtfazit: Die kompilierten Sprachen sind erwartungsgemäß die schnellsten und energieeffizientesten. Im Durchschnitt verbrauchten kompilierte Sprachen 120 Joule für die Ausführung der Lösungen, während dieser Wert für virtuelle Maschinen und interpretierte Sprachen 576J bzw. 2365J betrug. (…) Nach den verschiedenen Paradigmen gruppiert, verbrauchten und benötigten die imperativen (C, C++, F#, Fortran, …) Programmiersprachen durchschnittlich 125J und 5585ms, die objektorientierten (C++, C#, Java, JavaScript, …) 879J und 32965ms, die funktionalen (Lisp, Perl, Ruby, …) 1367J und 42740ms und die Skriptsprachen (JavaScript,PHP, Python, …) 2320J und 88322ms.

Diese Ergebnisse sind für die „alten Hasen“ aus der Programmierung keine Überraschung. Dort ist bekannt, dass Sprachen wie Assembler nach wie vor den effizientesten Sprachen überhaupt zählen. Sprachen wie Python oder Ruby verschwenden Rechenzeit – was heute niemandem mehr richtig auffällt, weil Rechner immer leistungsfähiger geworden sind und Effizienz mit Hardware-Tuning erzielt wird. Aber gerade die „alten Hasen“ meinen, dass Assembler zum grundsätzlichen Handwerkszeug dazu gehört, denn es geht auch einher mit einem tieferen Verständnis für den Rechner, den Aufbau, die Funktionsweise. Auch wenn man dann im Softwareprojekt kein Assembler einsetzt, hilft das erworbene Wissen dennoch, auch in Hochsprachen effizienteren Code zu schreiben.

Quantencomputing

Und last but not least muss der Quantencomputer Erwähnung finden, wenn es um Energieeffizienz geht. Konventionelle Computer und Quantencomputer haben auf den ersten Blick gemein, dass in beiden Fällen eine Kühlung erforderlich ist. Hier enden die Gemeinsamkeiten aber bereits. Denn in punkto Energieverbrauch ist der Quantencomputer um viele Größenordnungen energieeffizienter ist als herkömmliche Computer. Der Durchbruch von Quantencomputing bringt folglich nicht nur eine Revolution bei Ausführungseffizienz und Lösungskompetenz, sondern auch bei Energieeffzienz.

Hier geht’s zum Stand der Dinge bei der Entwicklung des Quantencomputers: Quantentechnologie: Status Quo der Entwicklung und Bedeutung für die Praxis

Zum Weiterlesen

Author

Der Autor ist Manager in der Softwareindustrie mit internationaler Expertise: Prokurist bei einem der großen Beratungshäuser - Verantwortung für den Aufbau eines IT Entwicklungszentrums am Offshore-Standort Bangalore - Director M&A bei einem Softwarehaus in Berlin.