Über unsMediaKontaktImpressum
Achim Guldner, Eva Kern, Sandro Kreten & Stefan Naumann 04. Januar 2022

Software und Nachhaltigkeit – Wie passt das zusammen?

Nach Studien der Universität Cambridge verbraucht das Bitcoin-Netzwerk pro Jahr über 100 Terrawattstunden elektrische Energie (Stand Oktober 2021) [1]. Das entspricht circa einem Fünftel des Stromverbrauchs von Deutschland [2]. Dies ist ein extremes, aber auch zugleich aussagekräftiges Beispiel für die Tatsache, dass ineffizient gestaltete Software zum Problem des zu hohen globalen Stromverbrauchs beiträgt. Auch beim Thema KI und Machine Learning besteht Optimierungsbedarf: Ein beispielhaftes Trainieren eines Transformer-Models für Natural Language Processing verbrauchte über 650.000 kWh Energie und produziert damit so viel CO2 wie 5 Autos mit Verbrennungsmotor inkl. Treibstoff über ihren gesamten Lebenszyklus [3]. Verstärkt wird das Problem dadurch, dass die verwendeten Rechenzeiten zum Training der Modelle in den letzten Jahren einen exponentiellen Anstieg erfahren und seit 2012 um mehr als das 300.000fache gewachsen sind [4].
 
Es sind jedoch nicht nur die großen Softwarehäuser, die einen Einfluss auf den z. T. enormen ökologischen Fußabdruck und damit auch das Portemonnaie der Nutzenden von IKT und insbesondere Software haben. Auch im Kleinen können durch Softwareoptimierungen teils große Einsparungen realisiert werden. Doch wie wird Software effizient im Sinne der globalen Nachhaltigkeitsziele gestaltet und was bedeutet das überhaupt? Welche Modelle gibt es und wer unterstützt Entwickler:innen und Administrator:innen bei der Umsetzung? Schnell wird klar, von Seiten der Großen kommt hier verhältnismäßig wenig bei den Nutzenden an. Vielmehr zeigen kleinere Forschungsprojekte und Studien Potentiale und Wege auf.
 
Dabei ist das Thema bereits auf politischer Ebene angekommen: Der Wissenschaftliche Beirat der Bundesregierung Globale Umweltveränderungen (WBGU) spricht sich dafür aus, die Digitalisierung zur Gestaltung einer großen Transformation im Sinne einer Nachhaltigen Entwicklung zu nutzen [5]. Der Beirat sieht Handlungsbedarfe in der Nutzung der Digitalisierung zum Schutz des Erdsystems und sozialer Köhasion. Digitalisierung als Treiber einer vernetzten Weltgesellschaft und globaler Solidarität sowie eine bewusste Gestaltung von Mensch-Maschine-Kollaboration. Unter dem Titel "Umwelt in die Algorithmen" veröffentlichte das Bundesumweltministerium 2019 eine Digitalagenda, die im zugehörigen Eckpunktepapier zehn Thesen nennt, um Digitalisierung und Umwelt zusammenzudenken [6;7]. Ende 2018 waren Akteur:innen aus den Bereichen "Digitalisierung" und "Nachhaltigkeit" zur ersten "Bits & Bäume"-Konferenz nach Berlin eingeladen [8]. Unter den fast 2.000 Teilnehmer:innen fand ein reger Austausch statt. Im Nachgang entstand eine wachsende Bewegung, die dazu aufruft, lokale Gruppen, Veranstaltungen und Treffen zu starten. Die große Jahrestagung der Gesellschaft für Informatik (GI) stand dieses Jahr unter dem Thema "Computer Science and Sustainability" und fand in Kooperation mit der seit über 30 Jahren bestehenden Environmental Informatics (EnviroInfo) Konferenz statt [9].

Der folgende Artikel greift die Entwicklungen und Bewegungen auf und stellt die Komplexität des hier angesprochenen Themenbereichs der nachhaltigen Softwareentwicklung dar. Wir geben einen Einblick in die Kriterien des Blauen Engels für ressourcen- und energieeffiziente Softwareprodukte, der gleichzeitig einen groben Leitfaden darstellen um der immer stärker in den Fokus rückenden Problematik entgegenzuwirken. Ergänzend werden Messmethoden im Bereich nachhaltiger Softwaretechnik vorgestellt.

Energiefresser Software – Das "Who is Who" der Optimierungsmöglichkeiten

Software ist komplex! Und diese Komplexität lässt sich an vielen Stellen eines Software-Produktes erkennen. In der Algorithmik, der Struktur oder dem notwendigen Software-Stack. Entsprechend gibt es unterschiedliche Möglichkeiten, Software bezüglich Nachhaltigkeit zu optimieren. Und dabei sprechen wir nicht nur über den Energie- und Ressourcenverbrauch, sondern auch über Datensicherheit und Datenhaltung sowie Konnektivität und viele Punkte mehr, auf die im Folgenden und speziell im dritten Abschnitt eingegangen wird. Doch konzentrieren wir uns erst einmal auf die Ressourcen-Effizienz von Software, um aufzuzeigen, welche Dimension die ganzheitliche Betrachtung eines Software-Produkts annehmen kann. Nehmen wir als Beispiel eine kleine Webseite. Sofort fallen den fachkundigen Entwickler:innen und Administrator:innen ein paar Fragen ein: Welche Frameworks werden für Frontend und Backend verwendet? Steht eine Datenbank dahinter? Gibt es eine Pipeline? Wo und wie wird die Software ausgeliefert? Man könnte an dieser Stelle beliebig feingranularere Fragen stellen, die alle zum selben Ergebnis führen. Alle genannten Bestandteile sind Grundlage für Optimierungen.
 
Auf Software-Ebene steht und fällt die Ressourceneffizienz häufig mit der Wahl des richtigen Frameworks und des oftmals damit einhergehenden Paketoverheads. NPM, Composer und Co. sind zwar unsere Freunde, doch es ergibt durchaus (auch aus Sicht der Wartbarkeit) Sinn, die Paketanzahl gering zu halten, gewisse Abschnitte nativ zu programmieren und nicht auf den naheliegendsten Wrapper zurückzugreifen. Natürlich gehen wir an dieser Stelle davon aus, dass fachkundige Entwickler:innen mehrfach verschachtelte Schleifen geschickt vermeiden. Doch bezüglich Frameworks und Paketen gibt es natürlich auch Gegenbeispiele. So führt das Python Paket Numpy in vielen Fällen zu einer deutlich effizienteren als auch schnelleren Ausführung von Code-Abschnitten. Dies hat schlicht und ergreifend damit zu tun, dass Numpy hauptsächlich in C geschrieben ist. Man merkt sofort, dass man hier sehr schnell in die tiefsten Tiefen von Software und Software-Konzepten abtauchen kann, um die Frage nach nachhaltiger Software sowie deren Entwicklung zufriedenstellend und nicht nur oberflächlich beantworten zu können. Verlässt man den Scope der eigenen Software und schaut darüber hinaus auf deren Deployment und damit häufig in die Cloud, so sieht man meist den Wald vor lauter Bäumen nicht, resultierend aus der Vielzahl an Angeboten sowie oftmals damit einhergehender Intransparenz bezüglich des Themas Nachhaltigkeit, Energie- und Ressourceneffizienz.
 
Entwickler:innen, die für sich selbst die effizienteste Umgebung zusammenstellen möchten, kann somit keine Blaupause an die Hand gegeben werden. Eine intensive Auseinandersetzung mit der Materie ist essentiell. Als ein Leitfaden für eine solche Auseinandersetzung mit Effizienz in einem ganzheitlichen Sinn und im Kontext der eigenen Software, eignen sich die Kriterien für energieeffiziente Software, die im Folgenden besprochen werden.

Kriterien für nachhaltige Softwareprodukte

Bevor man sich Gedanken dazu machen kann, wie Softwareprodukte optimiert werden können und wo sich Stellschrauben im Lebenszyklus eines Softwareprodukts befinden, steht eine Frage im Raum: Wann ist eine Software "nachhaltig" und wie kann man das überhaupt erfassen?

Über die letzten Jahre haben sich verschiedene Ansätze zur Definition und Charakterisierung nachhaltiger Softwareprodukte etabliert: "Grüne Software ist Software, deren direkte und indirekte negativen Auswirkungen auf Menschen, Gesellschaft und Umwelt über ihren gesamten Lebenszyklus hinweg minimal sind und die bestenfalls einen zusätzlichen positiven Beitrag zur nachhaltigen Entwicklung leisten" [2]. Neben dieser Definition wurden in den jeweiligen Wissenschaftskreisen weitere Beschreibungen mit unterschiedlichen Schwerpunkten veröffentlicht, bspw. auch indem von einer technische Dimension der Nachhaltigkeit die Rede ist [9]. Dabei geht es darum, Systeme zu schaffen, die langfristig genutzt und sich adäquat an sich ändernde Rahmenbedingungen und Anforderungen angepasst werden können.

Bisher fehlte aber ein einheitliches Umweltzeichen für nachhaltige Softwareprodukte. Dies hat sich – in Deutschland – mit der Veröffentlichung des Blauen Engels für ressourcen- und energieeffiziente Softwareprodukte Anfang 2020 zumindest teilweise geändert [10]. Als ältestes Umweltzeichen der Welt ist der Blaue Engel ein vertrauenswürdiges Label, das besonders umweltfreundliche Produkte und Dienstleistungen auszeichnet und vom Bundesumweltministerium herausgegeben wird [5].

Kriterienkategorien

Ziel des Blauen Engels für Softwareprodukte ist es, den Gesamtenergieverbrauch von IKT zu senken und die Ressourceneffizienz zu erhöhen. Es wird ein Produkt ausgezeichnet, dessen Hersteller sich aktiv für die Verbesserung der Ressourcen- und Energieeffizienz seiner Softwareprodukte einsetzt und Informationen über sein Produkt offen legt. Die Kriterien für den Blauen Engel für nachhaltige Softwareprodukte werden in drei Kategorien eingeteilt: Ressourcen- und Energieeffizienz, potenzielle Lebensdauer der Hardware und Benutzerunabhängigkeit [10].

Berücksichtigung der Ressourcen- und Energieeffizienz heißt, Softwareprodukte müssen ihre Funktionalität mit einem Minimum an Ressourcenaufwand und Energiebedarf bereitstellen. Es geht um:

  • Erforderliche Mindestsystemanforderungen,
  • Hardware-Auslastung und Stromverbrauch im Leerlauf,
  • Hardwarenutzung und Energiebedarf bei Ausführung eines Nutzungsszenarios und
  • Unterstützung des Energiemanagements.

Software darf nicht zur Erneuerung bestehender Hardware aufgrund höherer Leistungsanforderungen beitragen. Insbesondere sollten Software-Updates nicht zu Hardware-Updates führen. Die Benutzer sollten die Möglichkeit haben, über die Erneuerung von Software und Hardware zu entscheiden. Das Kriterium ist hier also die Abwärtskompatibilität, die besagt, dass Softwareprodukte auf einem fünf Jahre alten Referenzsystem lauffähig sein müssen.

In Bezug auf die Benutzerautonomie sollte ein Softwareprodukt die Autonomie der Nutzenden bei der Handhabung des Produkts nicht einschränken oder Abhängigkeiten schaffen. Dazu gehören u. a. offene Datenformate, Offline-Fähigkeit, Modularität, Bereitstellung von Sicherheitsupdates. Die Ermöglichung einer modularen Installation des Softwareprodukts kann zu einem geringeren Verbrauch führen, da die Nutzenden nur die Funktionen auswählen können, die sie benötigen. Die Offline-Fähigkeit spart bspw. Ressourcen für die Datenübertragung und die Fernverarbeitung. Werbung erhöht den Ressourcen- und Energiebedarf, vor allem für die Datenübertragung der Werbung [8]. Daher ist externe Werbung in einem gelabelten Softwareprodukt nicht erlaubt.

Um schließlich den Blauen Engel zu erhalten, muss der Hersteller ein Dokument vorlegen, das alle Ergebnisse der Ressourcen- und Energiemessungen sowie den Nachweis der Einhaltung der anderen Kriterien enthält. Der Nachweis der Einhaltung wird von unabhängigen Prüfer:innen auf Plausibilität geprüft.

Diskussion der Kriterien

Aus der Perspektive der Forschung zu nachhaltigen Softwareprodukten ist das Label ein Beispiel dafür, wie wissenschaftliche Konzepte in der Praxis umgesetzt werden können. Es zeigt auch die Relevanz der Forschung für die Entwicklung von praxisrelevanten Methoden und Verfahren, die z. B. zum Nachweis der vorgestellten Kriterien benötigt werden. Es hat sich gezeigt, dass die Ergebnisse der Bewertungen der Produkte insbesondere von der Auswahl der Software, ihrer jeweiligen Konfiguration, den zu Grunde gelegten Nutzungsszenarien und Referenzsystem und Softwarestack abhängig sind und dahingehend kritisch zu betrachten sind. Um diesen Einflussfaktoren auf die Messergebnisse Rechnung zu tragen, werden entsprechende Anforderungen an den Verifikationsprozess gestellt.

Die Kriterien beziehen sich derzeit nur auf Anwendungssoftware, die auf einem der vorgegebenen Referenzsysteme lauffähig ist. Darüber hinaus muss das genaue Softwareprodukt einschließlich der Versionsnummer angegeben werden, für das der Blaue Engel beantragt und der Konformitätsnachweis erbracht wird. Die genauen Angaben zum Produkt und die Ergebnisse der Überprüfungen müssen sowohl bei der Antragstellung als auch während der Vertragslaufzeit, z. B. bei Weiterentwicklungen und Updates, zur Verfügung gestellt werden.

Das für die Verifizierung verwendete Nutzungsszenario muss die für das zu bewertende Softwareprodukt typischerweise verwendeten Funktionalitäten umfassen. Alle Energie- und Ressourcenmessungen müssen auf einem der Referenzsysteme durchgeführt werden.

Neben den im Kriterienkatalog für nachhaltige Software entwickelten und in den Blauen Engel für Software übertragenen Kriterien sind weitere Umwelt- und Nachhaltigkeitsaspekte für die Bewertung von Produkten denkbar – insbesondere dann, wenn nicht nur ökologische Aspekte während der Produktnutzungsphase im Vordergrund stehen. So zeigt eine Studie aus dem Jahr 2016 [7], dass für Nutzer:innen oft Fragen zum Hersteller des Produkts von Interesse sind (An wen geht der Gewinn der Herstellerfirma? Verfügt das herstellende Unternehmen über ein Umweltmanagementsystem?). Eine ganzheitliche Nachhaltigkeitsbewertung von Softwareprodukten kann auch Fragen nach den herrschenden Arbeitsbedingungen aufwerfen. Dies bezieht sich auf die gesamte Wertschöpfungskette: Gewinnung von Ressourcen, Bedingungen beim Hersteller und beteiligten Zulieferern (Stichwort "Corporate Social Responsibility"), Umgang mit Mensch und Natur bei der Produktherstellung, Ort, an dem das Produkt maßgeblich entwickelt wurde. Ein weiterer Aspekt ist die Berücksichtigung des ökologischen oder sozialen Engagements (z. B. Wird das Softwareprodukt sozialen Projekten zu einem günstigeren Preis zur Verfügung gestellt) sowie Usability und Benutzerfreundlichkeit.

Wird der gesamte Lebenszyklus eines Softwareprodukts betrachtet, ist es auch interessant, die Auslieferung der Software zu betrachten: Kann die Software per Download oder über Datenträger (physisches Produkt) bezogen werden? Wie hoch ist der Rohstoffverbrauch für die Herstellung des Datenträgers, auf dem die Software ausgeliefert wird (Umweltfreundlichkeit der Verpackung, des Mediums, des Transports)? Welche Umweltauswirkungen (z. B. Ressourcenverbrauch, Rechenzentrumsinfrastruktur, Energieverbrauch, Art der eingesetzten Energie) hat die Bereitstellung der Software zum Download? Wie wird der Download zur Verfügung gestellt (Design/Struktur der Website, Stichwort "Green Web Engineering" [2;3])?

Erfassung der Energie- und Ressourceneffizienz von Software

Wie bereits erwähnt, ist "Software" ein sehr komplexes und weitreichendes Produktfeld. Daher wird von den meisten Methoden zur Erfassung verschiedener Indikatoren des Kritierienkatalogs eine Messung des Energieverbrauchs und der Hardwarenutzung während der Ausführung eines Nutzungsszenarios herangezogen. Es existieren teilweise auch Ansätze, diese Indikatoren mittels Schätzungen, Heuristiken oder sogar KI-gestützten White-Box-Analysen, ohne die Nutzung eines automatisierten Szenarios zu ermitteln [11]. Gerade im Bereich der Leistungsaufnahme bestehen dabei aber noch große, unerklärte Unterschiede zwischen den Schätzungen und den gemessenen Verbräuchen [6;1]. Dieses Phänomen verstärkt sich, wenn der Energie- und Ressourcenbedarf durch Datentransfer und verteilte (Cloud-)Systeme mit einbezogen werden soll.

Zur Einschätzung des Energie- und Ressourcenaufwands anhand eines Nutzungsszenarios entwickelt unsere Arbeitsgruppe eine Mess- und Analysemethode seit 2011 kontinuierlich weiter. Der Messaufbau basiert auf ISO/IEC 14756 und ist in Abb. 1 dargestellt. Er besteht aus den Komponenten

  • System Under Test (SUT),
  • Leistungsmessgerät (PM),
  • Workload Generator (WG), 
  • Datensammlung und -analyse (DAE).

Zur Messung wird ein Szenario mit dem zu analysierenden Softwareprodukt erstellt, das auf dem SUT ausgeführt wird. Die Hardware des SUT kann beliebig an die Anforderungen des Szenarios angepasst werden und besteht z. B. aus einem PC, Server, Mobilgerät oder IoT-Gerät. Um die Hardwarenutzung während der Ausführung des Szenarios zu bewerten, zeichnet das SUT selbst seine eigenen Leistungsdaten wie CPU- und RAM-Nutzung, Netzwerkverkehr etc. auf. Das PM misst die Leistungsaufnahme des SUT während der Ausführung des Softwareprodukts. Zur Steuerung eines Nutzungsszenarios erzeugt ein WG Last auf dem SUT, z. B. durch die Ausführung eines Skripts oder Benchmarks oder den wiederholten Aufruf einer API, Website oder Datenbank. Der WG kann, z. B. bei einer Desktop-Anwendung, aber auch ein Werkzeug sein, das auf dem SUT selbst ausgeführt wird und zuvor aufgezeichnete Eingaben wiederholt auf der GUI des Softwareprodukts ausführt. Alle während der Szenarioausführung generierten Daten werden im DAE aggregiert. Die Daten umfassen die Hardwarenutzung, elektrische Leistungsaufnahme und die vom WG generierte Log-Datei, in der zu jeder Aktion ein Start- und End-Zeitstempel aufgenommen wird.

Die Szenario-Messung wird, um den Einfluss durch mögliche Ausreißer (z. B. durch Background-Prozesse des Betriebssystems die nie ganz ausgeschlossen werden können) zu minimieren, 30 mal wiederholt und anschließend gemittelt. Während im Nutzungsszenario alle Funktionen der Software so ausgeführt werden sollten, wie es Nutzende typischerweise tun würden, wenn sie mit dem Softwareprodukt arbeiten, können auch Leerlaufszenarios (Verbräuche bei Nichtbenutzung, Existenz von Schlafmodi etc.) oder Lastszenarios (Verhalten bei vielen Nutzenden, Lastmanagement, Caching, Skalierung etc.) erstellt und gemessen werden. In jedem Fall wird ein Baseline-Szenario gemessen, in dem lediglich das Betriebssystem aktiv ist und alle zur Nutzung der Software notwendigen Voraussetzungen geschaffen sind, aber das Softwareprodukt selbst nicht ausgeführt wird. Der durchschnittliche Verbrauch der Baseline wird anschließend von den Durchschnittswerten der Szenariomessungen subtrahiert. Dies ermöglicht auch die Einbeziehung des WG in das SUT, da sein Verbrauch in die Baseline einfließt und dadurch aus dem Ergebnis herausgerechnet wird. Um sicherzustellen, dass sich die Messungen nicht gegenseitig beeinflussen, wird das SUT nach jedem Softwareprodukt auf einen Zustand vor der Installation der Software zurückgesetzt.

Sobald die Szenarien erstellt sind, können die Messungen durchgeführt, die Daten gesammelt und analysiert werden. Abb. 3 zeigt das Messergebnis von zwei Media-Playern. Wie zu erkennen ist, benötigen die beiden Player unterschiedlich viel Energie für die Ausführung derselben Aufgabe. Die Abbildung zeigt auch einen Überblick über die während des Nutzungsszenarios ausgeführten Aktionen. Die Messmethode bietet eine einfache Möglichkeit, Softwareprodukte hinsichtlich ihrer Ressourceneffizienz zu bewerten und ähnliche Produkte miteinander zu vergleichen.

Zusammenfassung und Ausblick

Wie lassen sich die dargestellten Ergebnisse zusammenfassen und welche Perspektiven zeigen sie auf? Klar ist in jedem Fall, dass auch die Informations- und Kommunikationsbranche – wie andere Branchen auch – das Thema Energie- und Ressourceneffizienz zentraler in der Fokus rücken muss. Die zunehmenden Daten- und Codemengen, rasante Entwicklungen im Bereich Internet of Things und Künstliche Intelligenz und nicht zuletzt die in fast allen Anwendungsbereichen stattfindende Spiegelung (und dann "Rückspiegelung") realer Abläufe mittels "Digitaler Zwillinge" machen den Handlungsbedarf deutlich.

Die notwendigen Maßnahmen lassen sich dabei mittels des "Life Cycle Analysis (LCA)"-Ansatzes anschaulich identifizieren:

  • Hardware soll langlebiger und insbesondere nicht aufgrund von Software-Anforderungen ausgemustert werden müssen.
  • Produktion, Nutzung und Entsorgung von Hardware müssen umweltfreundlicher werden.
  • Software muss dazu beitragen, dass die Hardware entlang der Kette Cloud – Netzwerk – Fog/Edge/Endgerät möglichst wenig beansprucht wird.
  • Gleichzeitig muss der LCA-Gedanke auch in die Softwareproduktion selber Einzug halten, bei der Erstellung (oder der Beschaffung), bei der Nutzung und auch bei der Abschaltung, bzw. beim Austausch eines Softwareprodukts.

Für alle Phasen werden letztlich natürliche Ressourcen und Energie benötigt.

Die in diesem Artikel dargestellten Kriterien und Untersuchungsergebnisse machen deutlich, dass hier schon viele Ansätze existieren, aber die Verbreitung in der Softwarebranche (noch) überschaubar ist. Gerade die Softwareindustrie hat aufgrund der großen Flexibilität der Entwicklungsprozesse und auch des Produktes Software selber großen Chancen, solchen Kriterien und Maßnahme auch in kurzer Zeit umzusetzen. Dazu hilft auch das Bewusstsein, dass jede geschriebene Zeile Code und jeder Schleifendurchlauf ebenso wie jedes übertragene Bit letztlich Energie- und Ressourcenaufwände verursacht. Um dies zu unterstützen, helfen Zertifikate und Kriterien, und vor allem ein offener Diskurs innerhalb der Softwarebranche, verbunden mit dem interdisziplinären Austausch mit den Umwelt- und Nachhaltigkeitswissenschaften.

Dabei kommt dem Gebiet der Software-Entwicklung entgegen, dass Optimierung – im Sinne von bspw. reduzierten Komplexitäten von Algorithmen – immer schon ein Kernthema der Informatik ist. So können umgekehrt auch die Anwendungswissenschaften von Erkenntnissen der Informatik profitieren, wenn man an Dinge wie Routenoptimierung oder das Rucksackproblem denkt.

Wir laden Sie daher herzlich ein und möchten Sie um Unterstützung bitten, bei Projekten zur Steigerung des Bewusstseins, der Nachweismethoden und generell zur Nachhaltigkeitsbetrachtung von Software mitzuwirken: werden Sie Praxispartner:in im aktuellen Projekt zur Weiterentwicklung des Blauen Engels für Client-Server-Systeme und Apps.

>> zum Projekt

Quellen
  1. Y. Becker and S. Naumann. "Software Based Estimation of Software Induced Energy Dissipation with powerstat". In: From Science to Society: The Bridge provided by Environmental Informatics. Shaker Verlag, 2017, pp. 69–73.
  2. M. Dick, S. Naumann, and A. Held. "Green Web Engineering". In: A Set of Principles to Support the Development and Operation of “Green” Websites and their Utilization during a Website’s Life Cycle. Filipe, Joaquim (2010), pp. 7– 10.
  3. M. Dick et al. "Green Web Engineering-Measurements and Findings." In: EnviroInfo. 2012, pp. 599–606.
  4. M. Dick et al. "Measurement and Rating of Software Induced Energy Consumption of Desktop PCs and Servers". In: Innovations in Sharing Environmental Observations and Information: Proceedings of the 25th International Conference on Environmental Informatics October 5–7, 2011, Ispra, Italy. Ed. by W. Pillmann, S. Schade, and P. Smits. Shaker Verlag, 2011, pp. 290–299.
  5. R. E. Horne. "Limits to labels: The role of eco-labels in the assessment of product sustainability and routes to sustainable consumption". In: International Journal of consumer studies 33.2 (2009), pp. 175–182.
  6. E. A. Jagroep et al. "Software energy profiling: Comparing Releases of a Software Product". In: Proceedings of the 38th International Conference on Software Engineering Companion - ICSE 16. Austin, TX, USA, 2016, pp. 523–532. doi: 10.1145/ 2889160.2889216.
  7. E. Kern. "Green Computing, Green Software, and Its Characteristics: Awareness, Rating, Challenges". In: From Science to Society. Ed. by Benoît Otjacques et al. Cham: Springer International Publishing, 2018, pp. 263–273. isbn: 978-3-319-65687- 8.
  8. M. Pärssinen et al. "Environmental impact assessment of online advertising". In: Environmental Impact Assessment Review 73 (2018), pp. 177–200.
  9. B. Penzenstadler and H. Femmer. "A generic model for sustainability". (2012).
  10. RAL gGmbH. Blue Angel - Resource and Energy-Efficient Software Products. 2020.
    Blauer Engel: Ressourcen- und energieeffiziente Softwareprodukte (DE-UZ 215)
  11. N. Siegmund et al. "Green Configuration: Can AI Help Reduce Energy Consumption of Configurable Software Systems?" (2021)

Autor:innen
Das könnte Sie auch interessieren
Kommentare (0)

Neuen Kommentar schreiben