Skip to Main content Skip to Navigation
New interface

Static and dynamic compiler support for intermittently powered computer systems

Bahram Yarahmadi 1 
1 PACAP - Pushing Architecture and Compilation for Application Performance
Inria Rennes – Bretagne Atlantique , IRISA-D3 - ARCHITECTURE
Abstract : With the advent of Internet of things (IoT), there is a need to provide energy for a massive number of smart tiny devices without using large, heavy, and high maintenance batteries. One promising way is to harvest energy from the environment and store it into an energy buffer such as a capacitor. In this way, programs are being executed as long as there is available energy in the capacitor, and crash when it exhausts. Recently, different software and hardware based checkpointing strategies have been proposed to make forward progress toward execution for energy harvesting IoT devices. This thesis introduces two different software solutions based on static and dynamic compilation. The proposed static compiler inserts checkpoints based on statically-computed worst-case energy consumption of code sections. Moreover, it applies classical compiler optimizations in order to decrease the required number of checkpoints at runtime. The proposed dynamic compilation technique delays checkpoint placement and specialization to the runtime and takes decisions based on the past power failures and execution paths taken before each power failure. Both proposed solutions guarantee making forward progress as well as keeping the memory consistent. Furthermore, they aim to increase portability by not using any hardware feature of the IoT device. In addition, they are transparent to the programmer.
Complete list of metadata
Contributor : ABES STAR :  Contact
Submitted on : Tuesday, October 5, 2021 - 11:16:38 AM
Last modification on : Friday, August 5, 2022 - 2:54:52 PM


Version validated by the jury (STAR)


  • HAL Id : tel-03280004, version 2


Bahram Yarahmadi. Static and dynamic compiler support for intermittently powered computer systems. Programming Languages [cs.PL]. Université Rennes 1, 2021. English. ⟨NNT : 2021REN1S026⟩. ⟨tel-03280004v2⟩



Record views


Files downloads