Coding neu gedacht – ressourcenschonendes Programmieren

Informationstechnologien sind die Basis für Innovationen in den verschiedensten Branchen. Zugleich könnte ihr Energieverbrauch in Zukunft aber große Herausforderungen bedeuten. Darum wollen Informatiker mit „Green Coding“ die CO₂ -Emissionen der IT deutlich verringern.

Ob Internet, Rechenzentren oder Künstliche Intelligenz: Wo intensiv gerechnet wird, sind der Energieverbrauch und die damit verbundenen Treibhausgasemissionen hoch. Laut einem Report der Association for Computing Machinery (ACM) liegen die Informations- und Kommunikationstechnologien (ICT) und der globale Flugverkehr hinsichtlich ihrer Klimaauswirkungen heute ungefähr gleichauf: Je nach betrachteter Studie sei die ICT-Branche für 1,8 bis 2,8 Prozent der jährlichen Treibhausgasemissionen verantwortlich. Rechne man auch die Auswirkungen der Hardware-Produktion mit ein, liege ihr Anteil sogar bei fast vier Prozent.

Der Flugverkehr kommt nach Schätzungen auf rund 2,5 Prozent. In Zukunft dürfte der ICT-Energiebedarf noch deutlich zunehmen: Laut ACM könnte er bei gleichbleibender Entwicklung im Jahr 2050 für ein Drittel aller weltweiten Treibhausgasemissionen verantwortlich sein. „Rechenintensive Prozesse wie Big Data, das Internet der Dinge und Künstliche Intelligenz sind teilweise sehr energiehungrig“, berichtet Professor Dr. Volker Wohlgemuth von der Hochschule für Technik und Wirtschaft Berlin. „Sie können zwar einen großen Beitrag zur nachhaltigen Entwicklung leisten, müssen aber selbst möglichst ressourcenschonend entwickelt werden.

Eine Million Tonnen CO₂ könnte in Deutschlands Clouds und Rechenzentren eingespart werden, wenn man den Stromverbrauch von Software um 20 Prozent verringern würde.

“Energieeffizientere Hardware und eine klimaneutrale Stromversorgung dürften hier zu Verbesserungen führen. Aber auch die Softwareentwicklung kann einen spürbaren Beitrag leisten – durch „Green Coding“: Dahinter verbirgt sich ein Softwareentwicklungsansatz, mit dem der Ressourcen- und Energieaufwand für den Entwurf, die Erstellung, Verarbeitung und Veröffentlichung eines Softwareprojekts reduziert werden soll. In der Fahrzeugentwicklung ist das schon länger ein Thema: Steuergeräte sind hinsichtlich ihrer Speicherausstattung und Rechenleistung stark eingeschränkt und müssen darum sehr effizient programmiert werden. Aber auch hier lässt sich noch Energie sparen – durch eine intelligente Verteilung der Berechnungen: energiesparend im Fahrzeug und rechenintensiver in der Cloud.

Volker Wohlgemuth, 2023, Porsche AG
Prof. Dr. Volker Wohlgemuth, Hochschule für Technik und Wirtschaft Berlin

Probleme mit „Bloatware“

Studien belegen, wie groß der Einfluss von Software auf den Energieverbrauch und die Treibhausgasemissionen von Informationstechnologien ist. Eine Untersuchung im Auftrag des Umweltbundesamtes zeigt beispielsweise, wie unterschiedlich zwei Textverarbeitungsprogramme die Ressourcen eines Computers auslasten: In einem Standard-­Nutzungsszenario verbrauchte die eine Software 3,6 Wattstunden Energie, ein Konkurrenzprodukt kam hingegen auf nur 0,93 Wattstunden. „Obwohl beide Programme die gleichen Aufgaben erfüllen, benötigt Programm 2 nur rund ein Viertel an elektrischer Energie und ist damit deutlich energieeffizienter“, so die Autoren der Untersuchung. Beim Vergleich dreier Internet-­Browser ergab sich ein ähnliches Bild: Unter vergleichbaren Bedingungen lagen die Energieverbräuche während der Nutzung bei 1,95, 0,91 und 0,66 Wattstunden.

Im Leerlauf schwankte ihre Prozessorauslastung sogar zwischen 0,8 und 12 Prozent. Eine Ursache für die schlechten Werte ist „Bloatware“, also Software, die durch eine Vielzahl an – oft wenig genutzten – Funktionen aufgebläht und darum wenig energieeffizient ist. Aber auch die eingesetzten Programmiersprachen führen zu deutlichen Unterschieden: So schneiden das in den frühen 70er-Jahren entwickelte C und die relativ neue Sprache Rust beim Energieverbrauch am besten ab, während die weitverbreiteten Sprachen Ruby und Python den Stromverbrauch deutlich steigen lassen. Bei einem Vergleichstest benötigten sie für die gleichen Aufgaben das 70- beziehungsweise 76-­Fache im Vergleich zu C – nicht zuletzt deshalb, weil beide jedes Mal während der Programmlaufzeit neu übersetzt (interpretiert) werden, wohingegen dieser Prozess bei C oder Rust nur einmal vor dem Aufruf der Software stattfindet (Kompilierung).

„Green Coding kann in jeder Branche angewendet oder als Vergabekriterium eingesetzt werden.“ Prof. Dr. Volker Wohlgemuth, Hochschule für Technik und Wirtschaft Berlin

„Allerdings bieten einige Programmiersprachen eine deutlich bessere Unterstützung durch spezifische Bibliotheken für eine Fragestellung, die es möglicherweise in anderen nicht gibt“, bemerkt Wohlgemuth. „Man muss sich darum immer den Einzelfall ansehen.“ Um die Auswirkungen der Softwareentwicklung auf die Umwelt zu minimieren, setzt Green Coding an verschiedenen Punkten an. „Dazu gehören Softwarearchitektur, Implementierung, Methodik und Plattformen“, so Wohlgemuth. „Hier gibt es überall verschiedene Möglichkeiten, stromsparende Mechanismen zu programmieren.“ Wer beispielsweise eine mathematische Funktion (Berechnung der Fakultät einer natürlichen Zahl) nicht selbst in Python schreibt, sondern dafür die vordefinierte Variante aus einer in C geschriebenen Funktionsbibliothek nutzt, spart mehr als 90 Prozent Energie. Eine ähnliche Verringerung wurde auch bei der Berechnung von Zufallszahlen gemessen.

Unnötigen Code vermeiden

Allerdings gibt es auch beim Einsatz von quelloffenen Software-Bibliotheken Optimierungspotenzial: Viele enthalten Code, der nie genutzt wird und während der Kompilierung zu einem unnötigen Energieverbrauch führt. Einsparungen lassen sich aber auch erreichen, indem man den Netzwerkverkehr bei verteilten Softwareanwendungen auf ein Minimum reduziert. „Das gelingt zum Beispiel durch weniger hoch aufgelöste Bilder oder den Einsatz binärer statt textbasierter Dateiformate“, so Wohlgemuth. „Zudem kann es sich lohnen, Berechnungen möglichst lokal statt tief in der Cloud auszuführen – aber hier gibt es noch Forschungsbedarf.“ Software hat aber auch Auswirkungen auf die Nutzungsdauer von IT-Hardware. „Wenn die Ressourcenanforderungen, zum Beispiel durch Bloatware, immer weiter ansteigen, müssen Computer unnötig früh ausgetauscht werden, was zu einem Mehrverbrauch an Energie und Rohstoffen führt“, sagt Wohlgemuth.

„Unerwünschte Werbung verursacht alleine in der EU jährlich so viele Treibhausgasemissionen wie eine Stadt von der Größe Turins.“ Joseph De Veaugh-Geiss, Projekt- und Community-Manager bei KDE e.V.

„Auch daran sollten Programmierer denken, wenn sie Software schreiben.“ Um diese und verschiedene andere Anforderungen an die Nachhaltigkeit von Code erfassen und besonders „grüne“ Produkte auszeichnen zu können, hat das Bundesumweltministerium das Umweltzeichen „Blauer Engel“ auch auf Software ausgedehnt. „Dabei werden verschiedene Nachhaltigkeitsaspekte erfasst“, erklärt Joseph De Veaugh-Geiss, der bei der Software-Community KDE am Projekt „Blauer Engel für Free and Open Source Software“ arbeitet.

„Neben dem Energieverbrauch geht es um die Nutzungsdauer der Hardware, aber auch um die Autonomie des Anwenders. Zu den Kriterien gehört unter anderem die Möglichkeit, frei von unerwünschter Werbung zu bleiben – die alleine in der EU jährlich so viele Treibhausgasemissionen verursacht wie eine Stadt von der Größe Turins.“

Wachsendes Interesse

Bislang ist erst eine Software mit dem Blauen Engel ausgezeichnet. „Die Politik sollte den Blauen Engel als Vergabekriterium für öffentliche Aufträge nutzen“, fordert Wohlgemuth, nach dessen Beobachtung Green Coding derzeit nur langsam in die Unternehmen vordringt. In Forschung und Lehre hingegen finde das Thema bereits deutlich mehr Aufmerksamkeit, denn auch die Informatik habe erkannt, dass Programme und Hardware große Auswirkungen auf die Umwelt und das Klima haben können – im positiven wie im negativen Sinne. „Green Coding kann in jeder Branche angewendet oder als Vergabekriterium eingesetzt werden, wobei es besonders große Potenziale in Bereichen wie IT, Finanzen, Automotive oder Online-Handel gibt“, so Wohlgemuth. „Darum ist wichtig, dass wir bei den Entwicklern ein Bewusstsein dafür schaffen, welchen immensen Hebel für mehr Klimaschutz sie bei ihrer Arbeit haben.“

Info

Text erstmals erschienen im Porsche Engineering Magazin, Ausgabe 2/2023.

Text: Christian Buck

Copyright: Alle in diesem Artikel veröffentlichten Bilder, Videos und Audio-Dateien unterliegen dem Copyright. Eine Reproduktion oder Wiedergabe des Ganzen oder von Teilen ist ohne die schriftliche Genehmigung der Dr. Ing. h.c. F. Porsche AG nicht gestattet. Bitte kontaktieren Sie newsroom@porsche.com für weitere Informationen.

Related Content

Verbrauchsangaben

911 Carrera (2023)

WLTP*
  • 10,8 – 10,3 l/100 km
  • 245 – 233 g/km
  • G Klasse

911 Carrera (2023)

Kraftstoffverbrauch* / Emissionen*
Kraftstoffverbrauch* kombiniert (WLTP) 10,8 – 10,3 l/100 km
CO₂-Emissionen* kombiniert (WLTP) 245 – 233 g/km
CO₂-Klasse G