Power Clocks: Dynamic Multi-Clock Management for Embedded Systems
February 2021
Pages 139 - 150
Abstract
This paper presents Power Clocks, a kernel-based dynamic clock management system that reduces active energy use in embedded microcontrollers by changing the clock based on ongoing computation and I/O requests. In Power Clocks, kernel hardware drivers asynchronously request clocks, providing a set of constraints (e.g., maximum speed), which the kernel uses to dynamically choose the most efficient clock. To select a clock, Power Clocks makes use of the observation that though slower clocks use less power and are suited for fixed time I/O operations, faster clocks use less energy per clock tick, making them optimal for pure computation. Using Power Clocks, a networked sensing application consumes 27% less energy than the best static clock, and within 3% of an optimal hand-tuned dynamic clock strategy. Power Clocks provides similar energy savings even when there are multiple applications.
References
[1]
J. Adkins, B. Ghena, N. Jackson, P. Pannuto, S. Rohrer, B. Campbell, and P. Dutta. The signpost platform for city-scale sensing. In Proceedings of the 17th ACM/IEEE International Conference on Information Processing in Sensor Networks, IPSN 2018, Porto, Portugal, April 1113, 2018, pages 188-199, 2018.
[2]
M. Bambagini, M. Marinoni, H. Aydin, and G. Buttazzo. Energyaware scheduling for real-time systems: A survey. ACM Transactions on Embedded Computing Systems (TECS), 15(1):1-34, 2016.
[3]
S. Dawson-Haggerty, A. Krioukov, and D. E. Culler. Power optimization-a reality check. EECS Department, University of California, Berkeley, Tech. Rep. UCB/EECS-2009-140, 2009.
[4]
D. W. Dobberpuhl, R. T. Witek, R. Allmon, R. Anglin, D. Bertucci, S. Britton, L. Chao, R. A. Conrad, D. E. Dever, B. Gieseke, S. M. N. Hassoun, G. W. Hoeppner, K. Kuchler, M. Ladd, B. M. Leary, L. Madden, E. J. McLellan, D. R. Meyer, J. Montanaro, D. A. Priore, V. Rajagopalan, S. Samudrala, and S. Santhanam. A 200-mhz 64-b dualissue cmos microprocessor. IEEE Journal of Solid-State Circuits, 27(11):1555-1567, 1992.
[5]
A. Dunkels, B. Grnvall, and T. Voigt. Contiki a lightweight and flexible operating system for tiny networked sensors. In Proceedings of the First IEEE Workshop on Embedded Networked Sensors 2004, IEEE EmNetS-I, Nov. 2004.
[6]
K. Flautner and T. Mudge. Vertigo: automatic performance-setting for linux. In Proceedings of the 5th symposium on Operating systems design and implementation, OSDI 02, pages 105-116, New York, NY, USA, 2002. ACM Press.
[7]
J. Flinn and M. Satyanarayanan. Energy-aware adaptation for mobile applications. In Proceedings of the Seventeenth ACM Symposium on Operating Systems Principles, SOSP '99, pages 48-63, New York, NY, USA, 1999. ACM.
[8]
J. Frigo, H. Ayers, V. Kulathumani, S. Hinzey, S. Sevanto, M. Priocou, X. Yang, K. Mccabe, A. Saari, and K. Sentz. Novel wsn hardware for long range low power monitoring. In 2017 13th International Conference on Distributed Computing in Sensor Systems (DCOSS), pages 89-92, June 2017.
[9]
K. Govil, E. Chan, and H. Wasserman. Comparing algorithms for dynamic speed-setting of a low-power cpu. In Proceedings of the 1st Annual International Conference on Mobile Computing and Networking, MobiCom '95, pages 13-25, New York, NY, USA, 1995. ACM.
[10]
D. Grunwald, C. B. Morrey, III, P. Levis, M. Neufeld, and K. I. Farkas. Policies for dynamic clock scheduling. In Proceedings of the 4th Conference on Symposium on Operating System Design & Implementation Volume 4, OSDI'00, Berkeley, CA, USA, 2000. USENIX Association.
[11]
A. Guldahl. https://www.embedded.com/ understanding-mcu-sleep-modes-and-energy-savings/.
[12]
J. L. Hill, R. Szewczyk, A. Woo, S. Hollar, D. E. Culler, and K. S. J. Pister. System architecture directions for networked sensors. In ASPLOS-IX Proceedings of the 9th International Conference on Architectural Support for Programming Languages and Operating Systems, Cambridge, MA, USA, November 12-15, 2000., pages 93-104, 2000.
[13]
H. Hoffmann. Jouleguard: Energy guarantees for approximate applications. In Proceedings of the 25th Symposium on Operating Systems Principles, SOSP '15, pages 198-214, New York, NY, USA, 2015. ACM.
[14]
T. Instruments. Ti-rtos: Real-time operating system (rtos) for microcontrollers (mcu), 2017.
[15]
C. M. Kamga. Cpu frequency emulation based on dvfs. SIGOPS Oper. Syst. Rev., 47(3):34-41, Nov. 2013.
[16]
Kinetis K66 Series Microcontrollers. https://www.nxp.com/docs/ en/data-sheet/K66P144M180SF5V2.pdf.
[17]
K. Klues, V. Handziski, C. Lu, A. Wolisz, D. Culler, D. Gay, and P. Levis. Integrating concurrency control and energy management in device drivers. SIGOPS Oper. Syst. Rev., 41(6):251-264, Oct. 2007.
[18]
K. Klues, V. Handziski, C. Lu, A. Wolisz, D. Culler, D. Gay, and P. Levis. Integrating concurrency control and energy management in device drivers. In Proceedings of Twenty-first ACM SIGOPS Symposium on Operating Systems Principles, SOSP '07, pages 251-264, New York, NY, USA, 2007. ACM.
[19]
P. Levis, S. Madden, J. Polastre, R. Szewczyk, K. Whitehouse, A. Woo, D. Gay, J. Hill, M. Welsh, E. Brewer, et al. Tinyos: An operating system for sensor networks. In Ambient intelligence, pages 115-148. Springer, 2005.
[20]
A. Levy, B. Campbell, B. Ghena, D. B. Giffin, P. Pannuto, P. Dutta, and P. Levis. Multiprogramming a 64kb computer safely and efficiently. In Proceedings of the 26th Symposium on Operating Systems Principles, SOSP '17, pages 234-251, New York, NY, USA, 2017. ACM.
[21]
K. Lorincz, B.-r. Chen, J. Waterman, G. Werner-Allen, and M. Welsh. Resource aware programming in the pixie os. In Proceedings of the 6th ACM Conference on Embedded Network Sensor Systems, SenSys '08, pages 211-224, New York, NY, USA, 2008. ACM.
[22]
R. Neugebauer and D. McAuley. Energy is just another resource: Energy accounting and energy pricing in the nemesis OS. In Proceedings of HotOS-VIII: 8th Workshop on Hot Topics in Operating Systems, May 20-23, 2001, Elmau/Oberbayern, Germany, pages 67-72, 2001.
[23]
NRF52840 System on Chip. https://www.nordicsemi.com/ Products/Low-power-short-range-wireless/nRF52840.
[24]
Z. Project, 2019.
[25]
T. Rault, A. Bouabdallah, and Y. Challal. Energy efficiency in wireless sensor networks: A top-down survey. Computer Networks, 67:104- 122, 2014.
[26]
A. Roy, S. M. Rumble, R. Stutsman, P. Levis, D. Mazières, and N. Zeldovich. Energy management in mobile devices with the cinder operating system. In Proceedings of the Sixth Conference on Computer Systems, EuroSys '11, page 139152, New York, NY, USA, 2011. Association for Computing Machinery.
[27]
A. SAM4L. https://www.microchip.com/wwwproducts/en/ ATSAM4LC4C.
[28]
F. K. Shaikh and S. Zeadally. Energy harvesting in wireless sensor networks: A comprehensive review. Renewable and Sustainable Energy Reviews, 55:1041-1054, 2016.
[29]
STM32F3 ARM Cortex-M4 Microcontrollers. https: //www.st.com/en/microcontrollers-microprocessors/ stm32f3-series.html.
[30]
STMicroelectronics. Um1718 user manual. https://www.st.com/ resource/en/user_manual/dm00104712.pdf, 2019.
[31]
M. Weiser, B. Welch, A. Demers, and S. Shenker. Scheduling for reduced cpu energy. In Mobile Computing, pages 449-471. Springer, 1994.
[32]
W. Yuan and K. Nahrstedt. Energy-efficient soft real-time cpu scheduling for mobile multimedia systems. In Proceedings of the Nineteenth ACM Symposium on Operating Systems Principles, SOSP '03, pages 149-163, New York, NY, USA, 2003. ACM Press.
[33]
H. Zeng, C. S. Ellis, A. R. Lebeck, and A. Vahdat. Currentcy: A unifying abstraction for expressing energy management policies. In Proceedings of the General Track: 2003 USENIX Annual Technical Conference, June 9-14, 2003, San Antonio, Texas, USA, pages 43-56, 2003.
Index Terms
- Power Clocks: Dynamic Multi-Clock Management for Embedded Systems
Index terms have been assigned to the content through auto-classification.
Recommendations
Dynamic Multi-Clock Management for Embedded Systems
SenSys '18: Proceedings of the 16th ACM Conference on Embedded Networked Sensor SystemsModern microcontrollers come with a selection of clock sources that have widely differing frequencies and power consumptions. For applications whose workloads vary over time, dynamically changing the clock can provide significant energy savings. The ...
Using integer clocks to verify clock-synchronization protocols
We use the Uppaal model checker for timed automata to verify the Timing-Sync time-synchronization protocol for sensor networks (TPSN), the clock-synchronization algorithm of Lenzen, Locher and Wattenhofer (LLW) for general distributed systems, and the ...
Comments
Information & Contributors
Information
Published In
February 2021
201 pages
- General Chairs:
- Polly Huang,
- Marco Zuniga,
- Tpc Co-chairss:
- Guoliang Xing,
- Chiara Petrioli
Sponsors
- EWSN: International Conference on Embedded Wireless Systems and Networks
- Huawei: Huawei
- CHIIoT: CHIIoT Workshop on Computer Human Interaction in IoT Applications
- sigbed: ACM Special Interest Group on Embedded Systems
- sigmobile: ACM Special Interest Group on Mobility of Systems, Users, Data and Computing
Publisher
Junction Publishing
United States
Publication History
Published: 28 April 2021
Check for updates
Qualifiers
- Research-article
Conference
EWSN '21: Proceedings of the 2021 International Conference on Embedded Wireless Systems and Networks
February 17, 2021
Delft, The Netherlands
Acceptance Rates
EWSN '21 Paper Acceptance Rate 14 of 44 submissions, 32%;
Overall Acceptance Rate 81 of 195 submissions, 42%
Contributors
Other Metrics
Bibliometrics & Citations
Bibliometrics
Article Metrics
- 0Total Citations
- 0Total Downloads
- Downloads (Last 12 months)0
- Downloads (Last 6 weeks)0