Green IT: Energieeffizienz messen und die richtige Software auswählen

Die Energieeffizienz von Software lässt sich durch Änderungen einzelner Komponenten erhöhen. Welche das sind, können differenzierte Messungen offenlegen.

In Pocket speichern vorlesen Druckansicht 2 Kommentare lesen
Lesezeit: 10 Min.
Von
  • Achim Guldner
  • Dr. Eva Kern
  • Dr. Sandro Kreten
  • Prof. Stefan Naumann
Inhaltsverzeichnis

Die Frage, welchen Anteil Software am Ressourcen- und Energieverbrauch hat, führt die Fachwelt noch nicht allzu lange. Obwohl Software als immaterielles Gut zunächst nur indirekt wirkt, hat sie erheblichen Einfluss auf den Energie- und Rohstoffverbrauch: Durch ihren Umgang mit den Ressourcen des Rechners und die Update-Politik ihrer Hersteller hat sie nicht nur Einfluss auf seinen Energieverbrauch, sondern auch auf den Zeitpunkt seiner Neubeschaffung.

Basierend auf diesen Beobachtungen sind in den letzten Jahren eine Reihe Projekte gestartet worden, die die Nachhaltigkeit von Software analysieren, messen und evaluieren. Zudem wurden Kriterien entwickelt, die diese Nachhaltigkeitsaspekte von Software operationalisieren und zertifizieren. Seit 2020 existiert das Label "Blauer Engel für Softwareprodukte", das in der ersten Version Desktop-Software auszeichnet. Die erste mit dem Blauen Engel ausgezeichnete Software ist der KDE-Dokumentenbetrachter Okular.

Grüne Software:

Zu betrachten ist der gesamte Lebenszyklus, also Herstellung, Nutzung und Entsorgung von Soft- und Hardware – Endgeräten, Netz und Cloud. Referenzmodelle wie das im Forschungsprojekt Green Software Engineering entstandene GREENSOFT-Modell bilden einen Rahmen für Forschung und Praxis und helfen bei der Entwicklung und Bewertung. Dieser Artikel wird zunächst anhand einiger Messergebnisse den Energiebedarf von Software darlegen und anschließend ausgewählte Kriterien des Blauen Engels für Software vorstellen.

iX-tract
  • Obwohl Software immateriell ist, lässt sich ihr Energieverbrauch messen.
  • Die Messergebnisse zeigen, dass schon der Austausch von Teilen des Softwarestacks, von Bibliotheken oder Algorithmen die Energieeffizienz massiv erhöhen kann.
  • Beispielsweise benötigen die in C implementierten NumPy-Funktionen nur etwa 2 Prozent der Energie, die die Python-Standardfunktionen erfordern.
  • Nachhaltigkeitskriterien wie die des Blauen Engels für Software geben Handlungsempfehlungen auch für die Anwendungsentwicklung.

Um den Energie- und Ressourcenverbrauch einer einzelnen Anwendung zu messen, muss man ihren Anteil an der Auslastung und der Leistungsaufnahme der verwendeten Hardware bestimmen. Dieser Nettoverbrauch berücksichtigt nicht die Tatsache, dass die Anwendung selbst auf Hardware, Betriebssysteme, womöglich auch Netzwerkkomponenten und externe Dienste angewiesen ist und deren Energieverbrauch mitverschuldet. Das Messverfahren wurde am Umwelt-Campus Birkenfeld der Hochschule Trier entwickelt, unter anderem auf Grundlage der ISO/IEC 14756:1999 "Information technology – Measurement and rating of performance of computer-based software systems".

Zentraler Bestandteil des Messaufbaus ist ein System under Test, auf dem die zu messende Software ausgeführt und die Hardwarenutzung protokolliert wird.

Im Messaufbau flankieren Lasttreiber und Leistungsmessgerät das Testsystem.

Den Energieverbrauch zeichnet ein Leistungsmessgerät auf. Die Software durchläuft mehrere Szenarien, die ein Lasttreiber steuert. Das kann auf der Kommandozeile ein Skript sein, ein über ein Automatisierungstool gesteuertes UI-Szenario oder ein Client, der wiederholt eine API oder einen Dienst aufruft. Je nach Anwendung werden Leerlauf-, Standardnutzungs- und Lastszenarien entwickelt und gemessen, ähnlich dem SPECpower-Benchmark, der die CPU-Last in 10-Prozent-Schritten erhöht.

Zusätzlich findet immer eine Baseline-Messung des Systems statt, ohne ausgeführte Software. Der durch die Software hervorgerufene Verbrauch der einzelnen Szenarien ergibt sich aus dem Delta zu den Baseline-Ergebnissen. Damit lässt sich etwa der Nettoverbrauch bestimmen, den das Ausführen von Okular verursacht: 0,07 Wh in 3,6 Minuten.

Das Profil des Energieverbrauchs spiegelt die Aktivität des Okular-Benutzers wider.

Das umfasst nur den Energiebedarf der Software ohne anteilige Anrechnung des Betriebssystems oder anderer Systemsoftware und ohne Berücksichtigung der Hardwareeffizienz. Durch das Wiederholen der Messungen lassen sich äußere Einflüsse, etwa durch Betriebssystemaktivitäten oder das zufällige Hochdrehen der Lüfter, minimieren, es entsteht ein Lastprofil für jedes Szenario. Analog ist auch die Nutzung anderer Ressourcen durch die Anwendung bestimmbar, etwa von Arbeitsspeicher, CPU oder Netz. Die folgende Abbildung zeigt die RAM-Belegung durch Okular.

Anders als der Energieverbrauch steigt die RAM-Belegung während der Benutzung von Okular immer weiter an.