ABSTRACT
Intermittent systems are usually energy-harvesting embedded systems that harvest energy from ambient environment and perform computation intermittently. Due to the unreliable power, these intermittent systems typically adopt different checkpointing strategies for ensuring the data consistency and execution progress after the systems are resumed from unpredictable power failures. Existing checkpointing strategies are usually suitable for bare-metal intermittent systems with short run time. Due to the improvement of energy-harvesting techniques, intermittent systems are having longer run time and better computation power, so that more and more intermittent systems tend to function with a microkernel for handling more/multiple tasks at the same time. However, existing checkpointing strategies were not designed for (or aware of) such microkernel-based intermittent systems that support the running of multiple tasks, and thus have poor performance on preserving the execution progress. To tackle this issue, we propose a design, called self-adaptive checkpointing strategy (SACS), tailored for microkernel-based intermittent systems. By leveraging the time-slicing scheduler, the proposed design dynamically adjust the checkpointing interval at both run time and reboot time, so as to improve the system performance by achieving a good balance between the execution progress and the number of performed checkpoints. A series of experiments was conducted based on a development board of Texas Instrument (TI) with well-known benchmarks. Compared to the state-of-the-art designs, experiment results show that our design could reduce the execution time by at least 46.8% under different conditions of ambient environment while maintaining the number of performed checkpoints in an acceptable scale.
- S Ahmed, N. A. Bhatti, M. H. Alizai, J. H. Siddiqui, and L. Mottola. 2019. Efficient intermittent computing with differential checkpointing. In Proceedings of the 20th ACM SIGPLAN/SIGBED International Conference on Languages, Compilers, and Tools for Embedded Systems. 70–81.Google Scholar
- S. Beeby, M. Tudor, and N. White. 2006. Energy harvesting vibration sources for microsystems applications. Measurement science and technology 17, 12, R175.Google Scholar
- J. Choi, H. Joe, Y. Kim, and C. Jung. 2019. Achieving stagnation-free intermittent computation with boundary-free adaptive execution. In 2019 IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS). 331–344.Google Scholar
- A. Colin and B. Lucia. 2016. Chain: tasks and channels for reliable intermittent programs. In Proceedings of the 2016 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications. 514.Google Scholar
- Balsamo et al.2016. Hibernus++: a self-calibrating and adaptive system for transiently-powered embedded devices. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems 35, 12(2016), 1968–1980.Google ScholarDigital Library
- Guthaus et al.2001. MiBench: A free, commercially representative embedded benchmark suite. In Proceedings of the fourth annual IEEE international workshop on workload characterization. WWC-4 (Cat. No. 01EX538). IEEE, 3–14.Google Scholar
- Müller et al.2013. Ferroelectric hafnium oxide: A CMOS-compatible and highly scalable approach to future ferroelectric memories. In 2013 IEEE International Electron Devices Meeting. IEEE, 10–8.Google Scholar
- S. Kim, R. Vyas, J. Bito, K. Niotaki, A. Collado, A. Georgiadis, and M. M Tentzeris. 2014. Ambient RF energy-harvesting technologies for self-sustainable standalone wireless sensor platforms. Proc. IEEE 102, 11 (2014), 1649–1666.Google ScholarCross Ref
- X. Lin, Y. Wang, N. Chang, and M. Pedram. 2016. Concurrent task scheduling and dynamic voltage and frequency scaling in a real-time embedded system with energy harvesting. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems 35, 11(2016), 1890–1902.Google ScholarDigital Library
- Real Time Engineers Ltd.2021. FreeRTOS Repository. https://github.com/FreeRTOS/FreeRTOS. https://github.com/FreeRTOS/FreeRTOSGoogle Scholar
- B. Ransford, J. Sorber, and K.Fu. 2011. Mementos: System support for long-running computation on RFID-scale devices. In Proceedings of the sixteenth international conference on Architectural support for programming languages and operating systems. 159–170.Google ScholarDigital Library
- E. Ruppel and B. Lucia. 2019. Transactional concurrency control for intermittent, energy-harvesting computing systems. In Proceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and Implementation. 1085–1100.Google Scholar
Recommendations
Adaptive dynamic checkpointing for safe efficient intermittent computing
OSDI'18: Proceedings of the 13th USENIX conference on Operating Systems Design and ImplementationEnergy-harvesting devices have the potential to be the foundation of emerging, sensor-rich application domains where the use of batteries is infeasible, such as in space and civil infrastructure. Programming on an energy-harvesting device is difficult ...
Efficient intermittent computing with differential checkpointing
LCTES 2019: Proceedings of the 20th ACM SIGPLAN/SIGBED International Conference on Languages, Compilers, and Tools for Embedded SystemsEmbedded devices running on ambient energy perform computations intermittently, depending upon energy availability. System support ensures forward progress of programs through state checkpointing in non-volatile memory. Checkpointing is, however, ...
iCheck: Progressive Checkpointing for Intermittent Systems
Energy harvesting devices powered by ambient energies, instead of batteries, have been drawn lots of attention due to their advantages of energy saving, easy deployment without relying on stable power sources, and smaller sizes, facilitating promising ...
Comments