FusionClock: Energy-Optimal Clock-Tree Reconfigurations for Energy-Constrained Real-Time Systems

Authors Eva Dengler , Phillip Raffeck , Simon Schuster, Peter Wägemann



PDF
Thumbnail PDF

File

LIPIcs.ECRTS.2023.6.pdf
  • Filesize: 0.93 MB
  • 23 pages

Document Identifiers

Author Details

Eva Dengler
  • Friedrich-Alexander-Universität Erlangen-Nürnberg (FAU), Germany
Phillip Raffeck
  • Friedrich-Alexander-Universität Erlangen-Nürnberg (FAU), Germany
Simon Schuster
  • Friedrich-Alexander-Universität Erlangen-Nürnberg (FAU), Germany
Peter Wägemann
  • Friedrich-Alexander-Universität Erlangen-Nürnberg (FAU), Germany

Acknowledgements

We thank Tim Rheinfels for sharing his expertise with the energy measurements.

Cite As Get BibTex

Eva Dengler, Phillip Raffeck, Simon Schuster, and Peter Wägemann. FusionClock: Energy-Optimal Clock-Tree Reconfigurations for Energy-Constrained Real-Time Systems. In 35th Euromicro Conference on Real-Time Systems (ECRTS 2023). Leibniz International Proceedings in Informatics (LIPIcs), Volume 262, pp. 6:1-6:23, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2023) https://doi.org/10.4230/LIPIcs.ECRTS.2023.6

Abstract

Numerous embedded real-time systems have, besides their timing requirements, strict energy constraints that must be satisfied. Examples of this class of real-time systems are implantable medical devices, where knowledge of the worst-case execution time (WCET) has the same importance as of the worst-case energy consumption (WCEC) in order to provide runtime guarantees. The core hardware component of modern system-on-chip (SoC) platforms to configure the tradeoff between time and energy is the system’s clock tree, which provides the necessary clock source to all connected devices (i.e., memory, sensors, transceivers). Existing energy-aware scheduling approaches have shortcomings with regard to these modern, feature-rich clock trees: First, with their reactive, dynamic (re-)configuration of the clock tree, they are not able to provide static guarantees of the system’s resource consumption (i.e., energy and time). Second, they only account for dynamic voltage/frequency scaling of the CPU and thereby miss the reconfiguration of clock sources and clock speed for the other connected devices on such SoCs. Third, they neglect the reconfiguration penalties of frequency scaling and clock/power gating in the presence of the CPU’s sleep modes.
In this paper, we present FusionClock, an approach that exploits a fine-grained model of the system’s temporal and energetic behavior. By means of our developed clock-tree model, FusionClock processes time-triggered schedules and finally generates optimized code for a system where offline-determined and online-applied reconfigurations lead to the worst-case-optimal energy demand while still meeting given timing-related deadlines. For statically determining these energy-optimal reconfigurations on task level, FusionClock builds a mathematical optimization problem based on the tasks' specifications and the system’s resource-consumption model. Specific components like transceivers of SoCs usually have strict requirements regarding the used clock source (e.g., phase-locked loop, RC network, oscillator). FusionClock accounts for these clock-tree requirements with its ability to exploit application-specific knowledge within an optimization problem. With our resource-consumption model for a modern SoC platform and our open-source prototype of FusionClock, we are able to achieve significant energy savings while still providing guarantees for timeliness, as our evaluations on a real hardware platform (i.e., ESP32-C3) show.

Subject Classification

ACM Subject Classification
  • Computer systems organization → Real-time systems
Keywords
  • energy-aware scheduling
  • device-aware whole-system analysis
  • clock tree

Metrics

  • Access Statistics
  • Total Accesses (updated on a weekly basis)
    0
    PDF Downloads

References

  1. Emmanuel Baccelli, Cenk Gündogan, Oliver Hahm, Peter Kietzmann, Martine Lenders, Hauke Petersen, Kaspar Schleiser, Thomas C. Schmidt, and Matthias Wählisch. RIOT: an open source operating system for low-end embedded devices in the iot. IEEE Internet of Things Journal, 5(6):4428-4440, 2018. URL: https://doi.org/10.1109/JIOT.2018.2815038.
  2. Clément Ballabriga, Hugues Cassé, Christine Rochange, and Pascal Sainrat. OTAWA: an open toolbox for adaptive WCET analysis. In Proceedings of the 8th International Workshop on Software Technolgies for Embedded and Ubiquitous Systems (SEUS '10), pages 35-46, 2010. URL: https://doi.org/10.1007/978-3-642-16256-5_6.
  3. Mario Bambagini, Mauro Marinoni, Hakan Aydin, and Giorgio C. Buttazzo. Energy-aware scheduling for real-time systems: A survey. ACM Transactions on Embedded Computing Systems (ACM TECS), 15(1):7:1-7:34, 2016. URL: https://doi.org/10.1145/2808231.
  4. Enrico Bini and Giorgio C. Buttazzo. Measuring the performance of schedulability tests. Real-Time Systems, 30:129-154, 2005. URL: https://doi.org/10.1007/s11241-005-0507-9.
  5. Naehyuck Chang, Kwanho Kim, and Hyung Gyu Lee. Cycle-accurate energy consumption measurement and analysis: Case study of ARM7TDMI. In Proceedings of the 2000 International Symposium on Low Power Electronics and Design (ISLPED '00), pages 185-190, 2000. URL: https://doi.org/10.1145/344166.344576.
  6. Jian-Jia Chen and Tei-Wei Kuo. Procrastination determination for periodic real-time tasks in leakage-aware dynamic voltage scaling systems. In Proceedings of the International Conference on Computer-Aided Design (ICCAD '07), pages 289-294, 2007. URL: https://doi.org/10.1109/ICCAD.2007.4397279.
  7. Hari Cherupalli, Henry Duwe, Weidong Ye, Rakesh Kumar, and John Sartori. Determining application-specific peak power and energy requirements for ultra-low-power processors. ACM Transactions on Computer Systems (ACM TOCS), 35(3):9:1-9:33, 2017. URL: https://doi.org/10.1145/3148052.
  8. Holly Chiang, Hudson Ayers, Daniel B. Giffin, Amit Levy, and Philip Alexander Levis. Power clocks: Dynamic multi-clock management for embedded systems. In Proceedings of the 2021 International Conference on Embedded Wireless Systems and Networks (EWSN '21), pages 139-150, 2021. URL: https://dl.acm.org/doi/10.5555/3451271.3451284.
  9. Albert Cohen, Xipeng Shen, Josep Torrellas, James Tuck, Yuanyuan Zhou, Sarita Adve, Ismail Akturk, Saurabh Bagchi, Rajeev Balasubramonian, Rajkishore Barik, Micah Beck, Ras Bodik, Ali Butt, Luis Ceze, Haibo Chen, Yiran Chen, Trishul Chilimbi, Mihai Christodorescu, John Criswell, Chen Ding, Yufei Ding, Sandhya Dwarkadas, Erik Elmroth, Phil Gibbons, Xiaochen Guo, Rajesh Gupta, Gernot Heiser, Hank Hoffman, Jian Huang, Hillery Hunter, John Kim, Sam King, James Larus, Chen Liu, Shan Lu, Brandon Lucia, Saeed Maleki, Somnath Mazumdar, Iulian Neamtiu, Keshav Pingali, Paolo Rech, Michael Scott, Yan Solihin, Dawn Song, Jakub Szefer, Dan Tsafrir, Bhuvan Urgaonkar, Marilyn Wolf, Yuan Xie, Jishen Zhao, Lin Zhong, and Yuhao Zhu. Inter-disciplinary research challenges in computer systems for the 2020s. Technical report, National Science Foundation, USA, 2018. Google Scholar
  10. Espressif Systems. ESP32-C3-DevKitM-1, 2022. v5.0.1. URL: https://docs.espressif.com/projects/esp-idf/en/latest/esp32c3/hw-reference/esp32c3/user-guide-devkitm-1.html.
  11. Espressif Systems. ESP32-C3-Mini-1 Datasheet, 2022. Version 1.3. URL: https://www.espressif.com/sites/default/files/documentation/esp32-c3-mini-1_datasheet_en.pdf.
  12. Espressif Systems. ESP32-C3 Technical Reference Manual, 2022. Pre-release v0.7. URL: https://www.espressif.com/sites/default/files/documentation/esp32-c3_technical_reference_manual_en.pdf.
  13. Espressif Systems. ESP32-C3 Series Datasheet Ultra-Low-Power SoC with RISC-V Single-Core CPU, 2023. Version 1.4. URL: https://www.espressif.com/sites/default/files/documentation/esp32-c3_datasheet_en.pdf.
  14. Heiko Falk, Sebastian Altmeyer, Peter Hellinckx, Björn Lisper, Wolfgang Puffitsch, Christine Rochange, Martin Schoeberl, Rasmus Bo Sørensen, Peter Wägemann, and Simon Wegener. TACLeBench: A benchmark collection to support worst-case execution time research. In Proceedings of the 16th International Workshop on Worst-Case Execution Time Analysis (WCET '16), pages 1-10. Schloss Dagstuhl - Leibniz-Zentrum für Informatik, 2016. URL: https://doi.org/10.4230/OASIcs.WCET.2016.2.
  15. Heiko Falk and Paul Lokuciejewski. A compiler framework for the reduction of worst-case execution times. Real-Time Systems, 46(2):251-300, 2010. URL: https://doi.org/10.1007/s11241-010-9101-x.
  16. Christian Ferdinand and Reinhold Heckmann. aiT: Worst-case execution time prediction by static program analysis. Building the Information Society, 156:377-383, 2004. URL: https://doi.org/10.1007/978-1-4020-8157-6_29.
  17. Gurobi Optimization, LLC. Gurobi optimizer reference manual. URL: https://www.gurobi.com/.
  18. Sebastian Hahn, Michael Jacobs, Nils Hölscher, Kuan-Hsun Chen, Jian-Jia Chen, and Jan Reineke. LLVMTA: an llvm-based WCET analysis tool. In Proceedings of the 20th International Workshop on Worst-Case Execution Time Analysis (WCET '22), pages 2:1-2:17. Schloss Dagstuhl - Leibniz-Zentrum für Informatik, 2022. URL: https://doi.org/10.4230/OASIcs.WCET.2022.2.
  19. Sebastian Hahn, Jan Reineke, and Reinhard Wilhelm. Towards compositionality in execution time analysis: definition and challenges. ACM SIGBED Review, 12(1):28-36, 2015. URL: https://doi.org/10.1145/2752801.2752805.
  20. Damien Hardy, Benjamin Rouxel, and Isabelle Puaut. The heptane static worst-case execution time estimation tool. In Proceedings of the 17th International Workshop on Worst-Case Execution Time Analysis (WCET '17), pages 8:1-8:12. Schloss Dagstuhl - Leibniz-Zentrum für Informatik, 2017. URL: https://doi.org/10.4230/OASIcs.WCET.2017.8.
  21. N. Holsti and S. Saarinen. Status of the Bound-T WCET tool. In Proceedings of the 2nd International Workshop on Worst-Case Execution Time Analysis (WCET '02), pages 36-41, 2002. Google Scholar
  22. Ramkumar Jayaseelan, Tulika Mitra, and Xianfeng Li. Estimating the worst-case energy consumption of embedded software. In Proceedings of the 12th IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS '06), pages 81-90, 2006. URL: https://doi.org/10.1109/RTAS.2006.17.
  23. Jetperch LLC. Joulescope JS220 User’s Guide Precision DC Energy Analyzer, 2022. Revision 1.3. URL: https://download.joulescope.com/products/JS220/JS220-K000/users_guide/.
  24. Daniel Kästner, Markus Pister, Simon Wegener, and Christian Ferdinand. Timeweaver: A tool for hybrid worst-case execution time analysis. In Proceedings of the 19th International Workshop on Worst-Case Execution Time Analysis (WCET '19), pages 1:1-1:11. Schloss Dagstuhl - Leibniz-Zentrum für Informatik, 2019. URL: https://doi.org/10.4230/OASIcs.WCET.2019.1.
  25. Steve Kerrison and Kerstin Eder. Energy modeling of software for a hardware multithreaded embedded microprocessor. ACM Transactions on Embedded Computing Systems (ACM TECS), 14(3):56:1-56:25, 2015. URL: https://doi.org/10.1145/2700104.
  26. David H. K. Kim, Connor Imes, and Henry Hoffmann. Racing and pacing to idle: Theoretical and empirical analysis of energy optimization heuristics. In Proceedings of the 3rd International Conference on Cyber-Physical Systems, Networks, and Applications (ICCPS '15), pages 78-85, 2015. URL: https://doi.org/10.1109/CPSNA.2015.23.
  27. Raimund Kirner. The wcet analysis tool CalcWcet167. In Proceedings of the International Symposium On Leveraging Applications of Formal Methods, Verification and Validation (ISoLA '12), pages 158-172. Springer, 2012. URL: https://doi.org/10.1007/978-3-642-34032-1_17.
  28. Sheayun Lee, Andreas Ermedahl, Sang Lyul Min, and Naehyuck Chang. An accurate instruction-level energy consumption model for embedded RISC processors. SIGPLAN Notices, 36(8):1-10, August 2001. URL: https://doi.org/10.1145/384198.384201.
  29. Xianfeng Li, Liang Yun, Tulika Mitra, and Abhik Roychoudhury. Chronos: A timing analyzer for embedded software. Science of Computer Programming, 69(1):56-67, 2007. URL: https://doi.org/10.1016/j.scico.2007.01.014.
  30. Björn Lisper. SWEET - a tool for WCET flow analysis. In Proceedings of the 6th International Symposium On Leveraging Applications of Formal Methods, Verification and Validation (ISoLA '14), pages 482-485. Springer, 2014. URL: https://doi.org/10.1007/978-3-662-45231-8_38.
  31. Chang L. Liu and James W. Layland. Scheduling algorithms for multiprogramming in a hard-real-time environment. Journal of the ACM, 20(1):46-61, 1973. URL: https://doi.org/10.1145/321738.321743.
  32. Dominique Méry, Bernhard Schätz, and Alan Wassyng. The pacemaker challenge: Developing certifiable medical devices (dagstuhl seminar 14062). Dagstuhl Reports, 4(2):17-38, 2014. URL: https://doi.org/10.4230/DagRep.4.2.17.
  33. Microchip. PIC32 Family Reference Manual, Section 6. Oscillators, 2011. Revision G. URL: https://ww1.microchip.com/downloads/en/DeviceDoc/61112G.pdf.
  34. Spiridon Nikolaidis, Nikolaos Kavvadias, Periklis Neofotistos, K. Kosmatopoulos, Theodore Laopoulos, and Labros Bisdounis. Instrumentation set-up for instruction level power modeling. In Integrated Circuit Design, pages 71-80, 2002. URL: https://doi.org/10.1007/3-540-45716-X_8.
  35. James Pallister, Steve Kerrison, Jeremy Morse, and Kerstin Eder. Data dependent energy modeling for worst case energy consumption analysis. In Proceedings of the 20th International Workshop on Software and Compilers for Embedded Systems (SCOPES '17), pages 51-59, 2017. URL: https://doi.org/10.1145/3078659.3078666.
  36. Sangyoung Park, Jaehyun Park, Donghwa Shin, Yanzhi Wang, Qing Xie, Massoud Pedram, and Naehyuck Chang. Accurate modeling of the delay and energy overhead of dynamic voltage and frequency scaling in modern microprocessors. IEEE Transactions on Compututer-Aided Design of Integrated Circuits and Systems, 32(5):695-708, 2013. URL: https://doi.org/10.1109/TCAD.2012.2235126.
  37. Peter Puschner, Raimund Kirner, and Robert G Pettit. Towards composable timing for real-time programs. In Proceedings of the 1st International Workshop on Software Technologies for Future Dependable Distributed Systems (STFSSD '09), pages 1-5, 2009. Google Scholar
  38. Peter P. Puschner, Daniel Prokesch, Benedikt Huber, Jens Knoop, Stefan Hepp, and Gernot Gebhard. The T-CREST approach of compiler and wcet-analysis integration. 16th IEEE International Symposium on Object/Component/Service-Oriented Real-Time Distributed Computing, ISORC 2013, pages 1-8, June 2013. URL: https://doi.org/10.1109/ISORC.2013.6913220.
  39. RISC-V Foundation. The RISC-V Instruction Set Manual, Volume I: User-Level ISA, December 2019. Document Version 20191213. URL: https://riscv.org/wp-content/uploads/2019/12/riscv-spec-20191213.pdf.
  40. Michel Rottleuthner, Thomas C. Schmidt, and Matthias Wählisch. Dynamic clock reconfiguration for the constrained iot and its application to energy-efficient networking. In Proceedings of the 2022 International Conference on Embedded Wireless Systems and Networks (EWSN '22), pages 168-179, 2022. URL: https://dl.acm.org/doi/abs/10.5555/3578948.3578964.
  41. Martin Schoeberl, Wolfgang Puffitsch, Stefan Hepp, Benedikt Huber, and Daniel Prokesch. Patmos: a time-predictable microprocessor. Real-Time Systems, 54(2):389-423, 2018. URL: https://doi.org/10.1007/s11241-018-9300-4.
  42. Kiran Seth, Aravindh Anantaraman, Frank Mueller, and Eric Rotenberg. FAST: Frequency-aware static timing analysis. In Proceedings of the 24th IEEE Real-Time Systems Symposium (RTSS '03), pages 40-51, 2003. URL: https://doi.org/10.1109/REAL.2003.1253252.
  43. Yakun Sophia Shao and David M. Brooks. Energy characterization and instruction-level energy model of intel’s xeon phi processor. In Proceedings of the International Symposium on Low Power Electronics and Design (ISLPED '13), pages 389-394, 2013. URL: https://doi.org/10.1109/ISLPED.2013.6629328.
  44. Mohsen Shekarisaz, Lothar Thiele, and Mehdi Kargahi. Automatic energy-hotspot detection and elimination in real-time deeply embedded systems. In Proceedings of the Real-Time Systems Symposium (RTSS '21), pages 97-109, 2021. URL: https://doi.org/10.1109/RTSS52674.2021.00020.
  45. STMicroelectronics. User manual STM32CubeMX for STM32 configuration and initialization C code generation, 2023. Rev. 39. URL: https://www.st.com/resource/en/user_manual/dm00104712.pdf.
  46. Vivek Tiwari and Mike Tien-Chien Lee. Power analysis of a 32-bit embedded microcontroller. VLSI Design, 7(3):225-242, 1998. Google Scholar
  47. David Trilla, Carles Hernández, Jaume Abella, and Francisco J. Cazorla. Worst-case energy consumption: A new challenge for battery-powered critical devices. IEEE Transactions on Sustainable Computing, 6(3):522-530, 2021. URL: https://doi.org/10.1109/TSUSC.2019.2943142.
  48. Peter Wägemann, Christian Dietrich, Tobias Distler, Peter Ulbrich, and Wolfgang Schröder-Preikschat. Whole-system worst-case energy-consumption analysis for energy-constrained real-time systems. In Proceedings of the 30th Euromicro Conference on Real-Time Systems (ECRTS '18), volume 106, pages 24:1-24:25. Schloss Dagstuhl - Leibniz-Zentrum für Informatik, 2018. URL: https://doi.org/10.4230/LIPIcs.ECRTS.2018.24.
  49. Peter Wägemann, Tobias Distler, Timo Hönig, Heiko Janker, Rüdiger Kapitza, and Wolfgang Schröder-Preikschat. Worst-case energy consumption analysis for energy-constrained embedded systems. In Proceedings of the 27th Euromicro Conference on Real-Time Systems (ECRTS '15), pages 105-114, 2015. URL: https://doi.org/10.1109/ECRTS.2015.17.
  50. Peter Wägemann, Tobias Distler, Heiko Janker, Phillip Raffeck, Volkmar Sieh, and Wolfgang Schröder-Preikschat. Operating energy-neutral real-time systems. ACM Transactions on Embedded Computing Systems (ACM TECS), 17(1):11:1-11:25, 2017. URL: https://doi.org/10.1145/3078631.
  51. Reinhard Wilhelm, Jakob Engblom, Andreas Ermedahl, Niklas Holsti, Stephan Thesing, David B. Whalley, Guillem Bernat, Christian Ferdinand, Reinhold Heckmann, Tulika Mitra, Frank Mueller, Isabelle Puaut, Peter P. Puschner, Jan Staschulat, and Per Stenström. The worst-case execution-time problem - overview of methods and survey of tools. ACM Transactions on Embedded Computing Systems (ACM TECS), 7(3):36:1-36:53, 2008. URL: https://doi.org/10.1145/1347375.1347389.
  52. Chuan-Yue Yang, Jian-Jia Chen, and Tei-Wei Kuo. Preemption control for energy-efficient task scheduling in systems with a DVS processor and non-dvs devices. In Proceedings of the 13th International Conference on Embedded and Real-Time Computing Systems and Applications (RTCSA '07), pages 293-300, 2007. URL: https://doi.org/10.1109/RTCSA.2007.56.
  53. Chuan-Yue Yang, Jian-Jia Chen, Tei-Wei Kuo, and Lothar Thiele. Energy reduction techniques for systems with non-dvs components. In Proceedings of 12th IEEE International Conference on Emerging Technologies and Factory Automation (ETFA '09), pages 1-8, 2009. URL: https://doi.org/10.1109/ETFA.2009.5347153.
Questions / Remarks / Feedback
X

Feedback for Dagstuhl Publishing


Thanks for your feedback!

Feedback submitted

Could not send message

Please try again later or send an E-mail