Assessing the Resource and Energy Efficiency of Software and Artificial Intelligence Systems

  • This dissertation addresses the measurement and evaluation of the energy and resource efficiency of software systems. Studies show that the environmental impact of Information and Communications Technologies (ICT) is steadily increasing and is already estimated to be responsible for 3 % of the total greenhouse gas (GHG) emissions. Although it is the hardware that consumes natural resources and energy through its production, use, and disposal, software controls the hardware and therefore has a considerable influence on the used capacities. Accordingly, it should also be attributed a share of the environmental impact. To address this softwareinduced impact, the focus is on the continued development of a measurement and assessment model for energy and resource-efficient software. Furthermore, measurement and assessment methods from international research and practitioner communities were compared in order to develop a generic reference model for software resource and energy measurements. The next step was to derive a methodology and to define and operationalize criteria for evaluating and improving the environmental impact of software products. In addition, a key objective is to transfer the developed methodology and models to software systems that cause high consumption or offer optimization potential through economies of scale. These include, e. g., Cyber-Physical Systems (CPS) and mobile apps, as well as applications with high demands on computing power or data volumes, such as distributed systems and especially Artificial Intelligence (AI) systems. In particular, factors influencing the consumption of software along its life cycle are considered. These factors include the location (cloud, edge, embedded) where the computing and storage services are provided, the role of the stakeholders, application scenarios, the configuration of the systems, the used data, its representation and transmission, or the design of the software architecture. Based on existing literature and previous experiments, distinct use cases were selected that address these factors. Comparative use cases include the implementation of a scenario in different programming languages, using varying algorithms, libraries, data structures, protocols, model topologies, hardware and software setups, etc. From the selection, experimental scenarios were devised for the use cases to compare the methods to be analyzed. During their execution, the energy and resource consumption was measured, and the results were assessed. Subtracting baseline measurements of the hardware setup without the software running from the scenario measurements makes the software-induced consumption measurable and thus transparent. Comparing the scenario measurements with each other allows the identification of the more energyefficient setup for the use case and, in turn, the improvement/optimization of the system as a whole. The calculated metrics were then also structured as indicators in a criteria catalog. These indicators represent empirically determinable variables that provide information about a matter that cannot be measured directly, such as the environmental impact of the software. Together with verification criteria that must be complied with and confirmed by the producers of the software, this creates a model with which the comparability of software systems can be established. The gained knowledge from the experiments and assessments can then be used to forecast and optimize the energy and resource efficiency of software products. This enables developers, but also students, scientists and all other stakeholders involved in the life cycleof software, to continuously monitor and optimize the impact of their software on energy and resource consumption. The developed models, methods, and criteria were evaluated and validated by the scientific community at conferences and workshops. The central outcomes of this thesis, including a measurement reference model and the criteria catalog, were disseminated in academic journals. Furthermore, the transfer to society has been driven forward, e. g., through the publication of two book chapters, the development and presentation of exemplary best practices at developer conferences, collaboration with industry, and the establishment of the eco-label “Blue Angel” for resource and energy-efficient software products. In the long term, the objective is to effect a change in societal attitudes and ultimately to achieve significant resource savings through economies of scale by applying the methods in the development of software in general and AI systems in particular.
  • Diese Arbeit befasst sich mit der Messung und Evaluation der Energie- und Ressourceneffizienz von Softwaresystemen. Studien zeigen, dass die Auswirkungen der Informations- und Kommunikationstechnologien auf die Umwelt stetig zunehmen und bereits heute ca. 3 % der Treibhausgasemissionen verursachen. Zwar ist es die Hardware durch deren Produktion, Nutzung und Entsorgung natürliche Ressourcen und Energie verbraucht werden, aber Software steuert die Hardwarenutzung und hat somit erheblichen Einfluss auf die beanspruchten Kapazitäten. Dementsprechend sollte ihr auch ein Anteil an den verursachten Umweltwirkungen zugeschrieben werden. Um diese, durch die Software hervorgerufenen, Umweltwirkungen zu adressieren steht im Fokus dieser Arbeit die kontinuierliche Entwicklung eines Mess- und Analysemodells für energie- und ressourceneffiziente Software. Darüber hinaus wurden Mess- und Bewertungsmethoden aus internationalen Forschungs- und Praxisgruppen einander gegenübergestellt, um ein allgemeines Referenzmodell für Software Ressourcen- und Energiemessungen zu entwickeln. Es folgt die Ableitung einer Methodik und die Definition und Operationalisierung von Kriterien zur Bewertung und Verbesserung der Umweltwirkungen von Softwareprodukten. Darüber hinaus ist ein wesentliches Ziel die Übertragung der entwickelten Methodik und Modelle auf weitere Softwaresysteme, die hohe Verbräuche hervorrufen oder durch Skaleneffekte großes Optimierungspotential bieten. Dazu zählen beispielsweise cyber-physische Systeme und mobile Apps. Des weiteren wird Software wie verteilte Systeme und insbesondere Anwendungen der Künstlichen Intelligenz (KI) untersucht, die hohe Anforderungen z. B. hinsichtlich der erforderlichen Rechenleistung oder Datenmengen stellen. Es werden insbesondere Faktoren betrachtet, die den Verbrauch von Softwaresystemen entlang ihres Lebenszyklus beeinflussen. Solche Einflussfaktoren sind beispielsweise der Ort (Cloud, Edge, Embedded) wo die Rechen- und Speicherdienste erbracht werden, die Rolle der Akteure, Anwendungsszenarien, Konfiguration der Systeme, genutzte Daten, deren Darstellung und Übertragung, der Entwurf der Softwarearchitektur etc. Aus diesen möglichen Faktoren wurden, basierend auf bestehender Literatur, sowie vorangegangenen Experimenten möglichst gut abgrenzbare Anwendungsfälle ausgewählt, in denen verschiedene Lösungsansätze zur Zielerreichung eingesetzt und bewertet werden können. Beispiele hierfür sind die Verwendung von verschiedenen Programmiersprachen, Algorithmen, Bibliotheken, Datenstrukturen, Protokollen, Modell-Topologien, Hard- und Softwaresetups. Anhand der Auswahl wurden für die Anwendungsfälle Szenarien jeweils mit den zu untersuchenden Methoden umgesetzt. Während der Ausführung der Szenarien wurden die Energie- und Ressourcenverbräuche gemessen und die Messergebnisse hinsichtlich des Verbrauchs der einzelnen Methoden analysiert. Durch Subtraktion von Baseline-Messungen des Hardware-Setups ohne laufende Software wird der durch die Software hervorgerufene Verbrauch messbar. Dadurch wird Transparenz geschaffen und die ausgewählten Szenarien können miteinander verglichen werden um das für diesen Anwendungsfall energieeffizientere Setup zu identifizieren und so das Gesamtsystem zu verbessern/optimieren. Die berechneten Metriken wurden dann als Indikatoren in einem Kriterienkatalog strukturiert. Diese Indikatoren verkörpern empirisch bestimmbare Größen, die Auskunft über einen nicht direkt messbaren Sachverhalt geben, in diesem Fall die Umweltwirkungen durch die Software. Zusammen mit Nachweiskriterien, die von den Produzenten der Software eingehalten und bestätigt werden müssen entsteht so ein Modell mit dem die Vergleichbarkeit von Softwaresystemen hergestellt wird. Schließlich dienen die in den Versuchen gewonnenen Erkenntnisse zur Prognose und Optimierung der Energie- und Ressourceneffizienz der Softwareprodukte. Durch die entwickelten Modelle sollen insbesondere Entwickler:innen, aber auch Studierende, Wissenschaftler:innen und allen anderen am Lebenszyklus einer Software beteiligten Stakeholder in die Lage versetzt werden die Auswirkungen ihrer Software auf den Energie- und Ressourcenverbrauch kontinuierlich zu überwachen und optimiern. Die entwickelten Modelle, Methoden und Kriterien wurden durch die wissenschaftliche Community auf Konferenzen und Workshops evaluiert und validiert. Zentrale Ergebnisse dieser Arbeit wie ein Mess-Referenzmodell und der Kriterienkatalog wurden in Journalen verbreitet. Darüber hinaus wird der Transfer in die Gesellschaft vorabgetrieben, z. B. durch zwei Buchkapitel, die Erarbeitung und Vorstellung von Best Practice Beispielen auf Entwicklerkonferenzen, der Kooperation mit der Industrie oder durch die Entwicklung von Labels, wie dem "Blauen Engel" für ressourcen- und energieeffiziente Softwareprodukte. Langfristig ist das Ziel zu einem Umdenken in der Gesellschaft anzuregen und durch Skaleneffekte schließlich starke Ressourceneinsparungen durch die Anwendung der Methoden in der Entwicklung von Software und insbesondere KI-Systemen zu erreichen.

Download full text files

Export metadata

Metadaten
Author:Achim Guldner
URN:urn:nbn:de:hbz:385-1-24470
Referee:Benjamin Weyers, Stefan Naumann
Document Type:Doctoral Thesis
Language:English
Date of completion:2025/03/04
Publishing institution:Universität Trier
Granting institution:Universität Trier, Fachbereich 4
Date of final exam:2025/02/14
Release Date:2025/03/13
Number of pages:XXII, 297 Seiten
First page:I
Last page:297
Institutes:Fachbereich 4 / Informatik
Dewey Decimal Classification:0 Informatik, Informationswissenschaft, allgemeine Werke / 00 Informatik, Wissen, Systeme / 000 Informatik, Informationswissenschaft, allgemeine Werke
Licence (German):License LogoCC BY-SA: Creative-Commons-Lizenz 4.0 International

$Rev: 13581 $