Das SoftAWERE-Projekt entwickelt Werkzeuge, mit denen IT-Entwickler den Energieverbrauch von Softwarekomponenten messen und transparent machen können. Max Schulze stellte den Ansatz auf der OOP-Konferenz 2022 vor.
Ressourcenverbrauch spielte in der Softwareentwicklung lange kaum eine Rolle. Das ändert sich: In allen Branchen — auch in der Softwareentwicklung — rückt das Thema zunehmend in den Fokus.
Die vier digitalen Ressourcen von Software
Software verbraucht vier digitale Ressourcen:
Netzwerkbandbreite
Speicherkapazität
Arbeitsspeicher
CPU-Zeit
IDED fasst diese vier Ressourcen als „digitale Energie“ zusammen — angetrieben durch elektrische Energie. Die Geräte, die digitale Energie verbrauchen, sind im Grunde Umwandlungsmaschinen: Sie konvertieren elektrische in digitale Energie — vom Smartphone bis zum Server. Diese Geräte hinterlassen einen Umwelt-Fußabdruck durch die Ressourcen, die bei ihrer Herstellung verbraucht werden, sowie durch den laufenden Stromverbrauch.
Das SoftAWERE-Projekt
Das SoftAWERE-Projekt hat genau das zum Ziel: Werkzeuge zu entwickeln, mit denen der elektrische Energieverbrauch von Software bestimmt werden kann. Ein Großteil moderner Softwareentwicklung basiert auf dem Zusammensetzen bestehender Open-Source-Bibliotheken und Softwarekomponenten. SoftAWERE will den elektrischen Energieverbrauch dieser Bibliotheken und Komponenten transparent machen — sodass Entwickler und Architekten abschätzen können, wie viel Strom die fertige Anwendung verbrauchen wird.
Vorstellbar wäre zum Beispiel ein Badge auf GitHub oder ähnlichen Plattformen, das bei der Auswahl einer Komponente deren Stromverbrauch ausweist.
Wie wird der Energieverbrauch gemessen?
SoftAWERE implementiert Tests zur Messung der Energieeffizienz einzelner Softwarekomponenten. Der Stromverbrauch wird während der Testausführung gemessen und die Ergebnisse in den CI/CD-Prozess eingespeist. Das Projekt untersucht zahlreiche Programmiersprachen (Python, Java, C++ u.a.) und Entwicklungsumgebungen (Android Studio, Visual Studio, Eclipse IDE u.a.).