Continuous estimation of energy efficiency for source code in virtual environments

Thumbnail Image

Date

2024

Journal Title

Journal ISSN

Volume Title

Publisher

Abstract

The increasing energy consumption of servers, high-performance computing clusters, and data centers necessitates measures to reduce energy consumption. However, many companies, like TeamViewer, rely on rented infrastructure where direct hardware-level energy management is unavailable. This thesis presents a method for estimating software energy efficiency on virtualized server environments, focusing on optimizing code execution without access to physical hardware metrics. The research addresses several key challenges, including how to measure energy consumption at the function level of a software, simulate realistic and reproducible user loads, and considerations for isolating performance measurements from external influences. Profiling tools were evaluated to measure CPU time, a metric which is correlated with energy consumption. The method was tested in a virtual environment by simulating user loads and measuring the impact of software changes on performance. The results demonstrate that CPU time can provide insights into the performance of a software which correlates with its energy consumption. This work contributes to the field by providing a lightweight method for continuously estimating the energy efficiency during software development and maintenance.


Der steigende Energieverbrauch von Servern, Hochleistungsrechnerclustern und Rechenzentren erfordert Maßnahmen zur Reduzierung des Energieverbrauchs. Viele Unternehmen, wie TeamViewer, sind jedoch auf gemietete Infrastrukturen angewiesen, bei denen ein direktes Energiemanagement auf Hardware-Ebene nicht möglich ist. Diese Arbeit stellt eine Methode zur Abschätzung der Energieeffizienz von Software in virtualisierten Serverumgebungen vor, mit dem Fokus auf die Optimierung der Codeausführung ohne Zugriff auf physische Hardware-Metriken. Die Forschung befasst sich mit mehreren zentralen Herausforderungen, darunter die Frage, wie der Energieverbrauch auf Funktionsebene einer Software gemessen, realistische und reproduzierbare Benutzerlasten simuliert und Überlegungen zur Isolierung von Leistungsdaten vor äußeren Einflüssen angestellt werden können. Es wurden Profiling-Tools evaluiert, um die CPU-Zeit zu messen, eine Metrik, die mit dem Energieverbrauch korreliert. Die Methode wurde in einer virtuellen Umgebung getestet, indem Benutzerlasten simuliert und die Auswirkungen von Softwareänderungen auf die Leistung gemessen wurden. Die Ergebnisse zeigen, dass die CPU-Zeit Einblicke in die Leistung einer Software geben kann, die mit ihrem Energieverbrauch korreliert. Diese Arbeit leistet einen Beitrag zum Fachgebiet, indem sie eine einfache Methode zur kontinuierlichen Abschätzung der Energieeffizienz während der Softwareentwicklung und -wartung bereitstellt.

Description

Keywords

Citation

Endorsement

Review

Supplemented By

Referenced By