Table of Contents
Fetching ...

Estimating the Energy Footprint of Software Systems: a Primer

Fernando Castor

TL;DR

This paper tackles the problem of estimating the energy footprint of software running on diverse hardware, formalizing the distinction between energy $E$, power $P$, and time $t$ to guide Green Software Development. It surveys two main approaches—measurement and modeling—and explains their trade-offs, then demonstrates a practical workflow through an illustrative benchmark (Fannkuch Redux) to highlight experimental design, data collection, and reporting challenges. It discusses three estimation strategies—hardware performance counters with software (e.g., RAPL, powermetrics, NVML), external measurement hardware, and analytical models that separate platform-dependent and application-dependent contributions—emphasizing sampling rate, overhead, tail-power effects, and applicability. The paper provides actionable guidance for designing reproducible energy experiments and reporting results, aiming to accelerate adoption of energy-aware software development practices and enable meaningful comparisons across solutions and platforms.

Abstract

In Green Software Development, quantifying the energy footprint of a software system is one of the most basic activities. This documents provides a high-level overview of how the energy footprint of a software system can be estimated to support Green Software Development. We introduce basic concepts in the area, highlight methodological issues that must be accounted for when conducting experiments, discuss trade-offs associated with different estimation approaches, and make some practical considerations. This document aims to be a starting point for researchers who want to begin conducting work in this area.

Estimating the Energy Footprint of Software Systems: a Primer

TL;DR

This paper tackles the problem of estimating the energy footprint of software running on diverse hardware, formalizing the distinction between energy , power , and time to guide Green Software Development. It surveys two main approaches—measurement and modeling—and explains their trade-offs, then demonstrates a practical workflow through an illustrative benchmark (Fannkuch Redux) to highlight experimental design, data collection, and reporting challenges. It discusses three estimation strategies—hardware performance counters with software (e.g., RAPL, powermetrics, NVML), external measurement hardware, and analytical models that separate platform-dependent and application-dependent contributions—emphasizing sampling rate, overhead, tail-power effects, and applicability. The paper provides actionable guidance for designing reproducible energy experiments and reporting results, aiming to accelerate adoption of energy-aware software development practices and enable meaningful comparisons across solutions and platforms.

Abstract

In Green Software Development, quantifying the energy footprint of a software system is one of the most basic activities. This documents provides a high-level overview of how the energy footprint of a software system can be estimated to support Green Software Development. We introduce basic concepts in the area, highlight methodological issues that must be accounted for when conducting experiments, discuss trade-offs associated with different estimation approaches, and make some practical considerations. This document aims to be a starting point for researchers who want to begin conducting work in this area.
Paper Structure (15 sections, 5 figures)

This paper contains 15 sections, 5 figures.

Figures (5)

  • Figure 1: A smartphone connected to a Monsoon power meter. The back case of the phone must be removed to take out the battery. Image by Luis Cruz cruz2021tools.
  • Figure 2: A schematic overview of the measurement process in Green Software Development. Image by Guldner et al. Guldner:2024:DER
  • Figure 3: Power measurements (in mW) for idle (in blue), Fannkuch Redux with 10Hz sampling rate (in magenta), and Fannkuch Redux with 1kHz sampling rate (in red).
  • Figure 4: Android Power Monitor presenting the power draw of different power rails of a Pixel 6 smartphone. Source: https://developer.android.com/studio/profile/power-profiler
  • Figure 5: Two measurement setups with external measurement equipment: (a) a power meter placed between the power outlet and the power plug capturing the power draw of a notebook, and (b) a current clamp capturing the current flowing to the processor of a server machine.