TL;DR
This paper introduces a systematic energy debugging methodology to identify energy hotspots in software, demonstrated through a case study on Redis revealing significant energy differences linked to library implementations.
Contribution
It presents a novel energy debugging approach and applies it to uncover unexpected energy consumption disparities caused by library differences in Redis.
Findings
Alpine consumes up to 20.2% more power than Ubuntu in certain operations.
The memcpy function implementation is the primary cause of energy discrepancy.
The methodology helps developers identify and address energy-related issues in software.
Abstract
Energy consumption in software systems is becoming increasingly important, especially in large-scale deployments. However, debugging energy-related issues remains challenging due to the lack of specialized tools. This paper presents an energy debugging methodology for identifying and isolating energy consumption hotspots in software systems. We demonstrate the methodology's effectiveness through a case study of Redis, a popular in-memory database. Our analysis reveals significant energy consumption differences between Alpine and Ubuntu distributions, with Alpine consuming up to 20.2% more power in certain operations. We trace this difference to the implementation of the memcpy function in different C standard libraries (musl vs. glibc). By isolating and benchmarking memcpy, we confirm it as the primary cause of the energy discrepancy. Our findings highlight the importance of considering…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
