EnergyBudgets: Integrating Physical Energy Measurement Devices into Systems Software
Excessive energy consumption is a critical problem for mobile computing systems due to their limited battery capacity. Software developers aim to improve energy efficiency by monitoring and profiling the energy consumption of their systems in order to discover and resolve energy hot-spots. However, energy measurement is often tedious since it involves a hardware setup as well as software integration. To support accurate but also convenient energy measurements, we propose the inclusion of external energy measurement devices into existing performance profiling subsystems. This approach allows the energy-consumption analysis of applications that run on the system under test (SUT) using the same tools as used for other performance metrics. To enable low-overhead self-monitoring, we propose a modular analysis approach, EnergyBudgets, which bridges external energy measurement hardware to the Linux perf subsystem. The evaluation of our implementation shows that energy budgets accurately measure the energy consumed by different workloads and allow for an overhead-reduction on the SUT by 20% to 51% in comparison to regular timers, while still guaranteeing the same level of precision.
J. R. Lorch and A. J. Smith "Software Strategies for Portable Computer Energy Management" IEEE Personal Communications vol. 5 no. 3 pp. 60-73 June 1998.
M. Weiser B. Welch A. Demers and S. Shenker "Scheduling for Reduced CPU Energy" in Mobile Computing Boston MA:Springer US pp. 449-471 1996.
J. Hester and J. Sorber "The Future of Sensing is Batteryless Intermittent and Awesome" Proceedings of the 15th ACM Conference on Embedded Network Sensor Systems ser. SenSys pp. 1-6 2017.
B. Lucia V. Balaji A. Colin K. Maeng and E. Ruppel "Intermittent Computing: Challenges and Opportunities" Proceedings of the 2nd Summit on Advances in Programming Languages ser. SNAPL pp. 8:1-8:14 2017.
H. David E. Gorbatov U. R. Hanebutte R. Khanna and C. Le "RAPL: Memory Power Estimation and Capping" Proceedings of the 2010 ACM/IEEE International Symposium on Low-Power Electronics and Design ser. ISLPED pp. 189-194 2010.
V. M. Weaver "Self-monitoring Overhead of the Linux perf_event Performance Counter Interface" Proceedings of the 2015 IEEE International Symposium on Performance Analysis of Systems and Software ser. ISPASS pp. 102-111 2015.
J. Pan RAPL (Running Average Power Limit) Driver 2013.
F. Chang K. I. Farkas and P. Ranganathan "Energy-Driven Statistical Sampling: Detecting Software Hotspots" Proceedings of the 2002 International Workshop on Power-Aware Computer Systems ser. PACS pp. 110-129 2003.
J. Flinn and M. Satyanarayanan "PowerScope: A Tool for Profiling the Energy Usage of Mobile Applications" Proceedings of the IEEE Workshop on Mobile Computing Systems and Applications ser. WMCSA pp. 2-10 1999.
S. Reif P. Raffeck H. Janker L. Gerhorst T. Hönig and W. Schröder-Preikschat "Earl: Energy-Aware Reconfigurable Locks" Proceedings of the the 9th Embedded Operating Systems Workshop ser. EWiLi pp. 1-6 2019.
X. Jiang P. Dutta D. Culler and I. Stoica "Micro Power Meter for Energy Monitoring of Wireless Sensor Networks at Scale" Proceedings of the 2007 6th International Symposium on Information Processing in Sensor Networks ser. IPSN pp. 186-195 2007.
T. Stathopoulos D. McIntire and W. J. Kaiser "The Energy Endoscope: Real-Time Detailed Energy Accounting for Wireless Sensor Nodes" Proceedings of the 2008 International Conference on Information Processing in Sensor Networks ser. IPSN pp. 383-394 2008.
A. Schulman T. Thapliyal S. Katti N. Spring D. Levin and P. Dutta BattOr: Plug-and-Debug Ene. Rep. 2016.
I. Manousakis F. S. Zakkak P. Pratikakis and D. S. Nikolopoulos "TProf: An Energy Profiler for Task-Parallel Programs" Sustainable Computing: Informatics and Systems vol. 5 pp. 1-13 March 2015.
E. Le and G. Heiser "Slow Down or Sleep that is the Question" Proceedings of the 2011 USENIX Annual Technical Conference ser. USENIX ATC pp. 1-6 2011.
E. Le Sueur and G. Heiser "Dynamic Voltage and Frequency Scaling: The Laws of Diminishing Returns" Proceedings of the 2010 International Conference on Power Aware Computing and Systems ser. HotPower pp. 1-8 2010.
A. Weissel and F. Bellosa "Process Cruise Control: Event-driven Clock Scaling for Dynamic Power Management" Proceedings of the 2002 International Conference on Compilers Architecture and Synthesis for Embedded Systems ser. CASES pp. 238-246 2002.
S. Kohler B. Herzog T. Honig L. Wenzel M. Plauth J. Nolte et al. "Pinpoint the Joules: Unifying Runtime-Support for Energy Measurements on Heterogeneous Systems" Proceedings of the 2020 International Workshop on Runtime and Operating Systems for Supercomputers ser. ROSS 2020.
A. Pathak Y. C. Hu and M. Zhang Proceedings of the 7th ACM European Conference on Computer Systems ser. EuroSys. 2012 pp. 29-42.
"ACPI Specification Version 6.3" UEFI Forum Inc. 2019 [online] Available: https://uefi.org/sites/default/files/resources/ACPI_6_3_final_Jan30.pdf.
L. Guo T. Xu M. Xu X. Liu and F. X. Lin "Power Sandbox: Power Awareness Redefined" Proceedings of the 13th EuroSys Conference ser. EuroSys pp. 1-15 2018.
H. Zeng C. S. Ellis A. R. Lebeck and A. Vahdat "Currentcy: A Unifying Abstraction for Expressing Energy Management Policies" Proceedings of the 2003 USENIX Annual Technical Conference ser. USENIX ATC pp. 43-56 2003.
H. Zeng C. S. Ellis A. R. Lebeck and A. Vahdat "ECOSystem: Managing Energy as a First Class Operating System Resource" Proceedings of the 10th ACM International Conference on Architectural Support for Programming Languages and Operating Systems ser. ASPLOS pp. 123-132 2002.
A. Roy S. M. Rumble R. Stutsman P. Levis D. Mazieres and N. Zeldovich "Energy Management in Mobile Devices with the Cinder Operating System" Proceedings of the 6th Conference on Computer Systems ser. EuroSys pp. 139-152 2011.
R. Neugebauer and D. McAuley "Energy is Just Another Resource: Energy Accounting and Energy Pricing in the Nemesis OS" Proceedings of the 8th Workshop on Hot Topics in Operating Systems ser. HotOS pp. 67-72 2001.
F. Bellosa "The Benefits of Event-Driven Energy Accounting in Power-Sensitive Systems" Proceedings of the 9th Workshop on ACM SIGOPS European Workshop: Beyond the PC: New Challenges for the Operating System ser. EW pp. 37-42 2000.
B. Herzog L. Gerhorst B. Heinloth S. Reif T. Honig and W. Schroder-Preikschat "INTspect: Interrupt Latencies in the Linux Kernel" Proceedings of the 2018 VIII Brazilian Symposium on Computing Systems Engineering ser. SBESC pp. 83-90 2018.
P. Wagemann F. Harbecke B. Heinloth H. Hofmeier and W. Schroder-Preikschat An Energy-Neutral WiFi-Connected Room Display with Hand-Crank-Based Energy Harvesting 2019.
P. Wagemann T. Distler H. Janker P. Raffeck and V. Sieh "A Kernel for Energy-Neutral Real-Time Systems with Mixed Criticalities" Proceedings of the 2016 IEEE Real-Time and Embedded Technology and Applications Symposium ser. RTAS pp. 1-12 2016.
"LTC2991" Analog Devices 2019 [online] Available: https://www.analog.com/en/products/ltc2991.html.
J. Romkey A Nonstandard for Transmission of IP Datagrams over Serial Lines: SLIP 1998.
C. Forsberg XMODEM/YMODEM Protocol Reference 1986.
"AVR Libc: CRC Computations (Function _crc_xmodem_update)" AVR Libc Developers 2016 [online] Available: http://www.nongnu.org/avr-libc/user-manual/group_util_crc.html.
T. Schmidt ldattach - Attach a Line Discipline to a Serial Line 2008 [online] Available: https://manpages.debian.org/buster/util-linux/ldattach.8.en.html.
"SAMA5D3 Xplained User Guide" Atmel 2015 [online] Available: http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-11269-32-bit-Cortex-AS-Microcontroller-SAMASD3-Xplained_User-Guide.pdf.
R. P. Weicker "The BYTE UNIX Benchmarks DHRYSTONE Benchmark Program (dhry2)" UnixBench Contributors 2018.
"SAMA5D3 Series Datasheet" Atmel 2016 [online] Available: http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-11121-32-bit-Cortex-A5-Microcontroller-SAMA5D3_Datasheet_B.pdf.
"SAMA5D3 Xplained" Microchip Technology Inc. 2019 [online] Available: https://www.microchip.com/DevelopmentTools/ProductDetails/PartNO/Atsama5d3-Xpld.
S. Schubert D. Kostic W. Zwaenepoel and K. G. Shin "Profiling Software for Energy Consumption" Proceedings of the 2012 IEEE International Conference on Green Computing and Communications ser. GreenCom pp. 515-522 2012.
L. Gerhorst SOSP: U: EnergyTimers - Integrating Physical EnergyMeasurement Devices into Operating System Kernels 2020.