Measure energy consumption of software per process

Challenge

How to attribute power consumption on shared resources to processes, containers, or pods?

Finding out how much energy individual processes have consumed is very difficult in practice. The actual energy consumption can initially only be recorded for individual hardware components (e.g. CPU) or the entire system. In order to assign an energy consumption value to an individual process, other metrics are required. Often the utilization of a component is used for this, but this metric is also associated with some challenges.

To understand the challenges of using the CPU utilization as a base, see CPU Utilization as a metric.

Methodologies of Different Tools

🔗 References

sustainable-computing-io/kepler · Discussion #548 · GitHub

green-coding-berlin/green-metrics-tool · Discussion #562 · GitHub

Papers

jay.etal.2023.experimentalcomparisonsoftwarebased (pg. 8)

The only tools supporting power estimation at individual process granularity are PowerAPI and Scaphandre. PowerAPI uses the performance event-based regression modeling described in Section II-A4b while Scaphandre uses the usagebased process-level modeling described in Section II-A4b.

lin.shahrad.2024.bridgingsustainabilitygap (pg. 2)

The power monitoring solutions mentioned above [36, 40, 46] and many existing power models [50, 51, 66] typically leverage a model to calculate the share of power that a monitored application A should bear based on its resource usage, denoted as P A.

[50] Hongyu Hè, Michal Friedman, and Theodoros Rekatsinas. Energat: Fine-grained energy attribution for multi-tenancy. In Proceedings of the 2nd Workshop on Sustainable Computer Systems, pages 1–8, 2023.
[51] Franz Christian Heinrich, Tom Cornebize, Augustin Degomme, Arnaud Legrand, Alexandra Carpen-Amarie, Sascha Hunold, Anne-Cécile Orgerie, and Martin Quinson. Predicting the energy-consumption of MPI applications at scale using only a single node. In 2017 IEEE international conference on cluster computing (CLUSTER), pages 92–102. IEEE, 2017.
[66] Norbert Schmitt, Lukas Iffländer, André Bauer, and Samuel Kounev. Online power consumption estimation for functions in cloud applications. In 2019 IEEE International Conference on Autonomic Computing (ICAC), pages 63–72. IEEE, 2019.