Dynamic task-based intermittent execution for energy-harvesting devices

Amjad Yousef Majid, Carlo Delle Donne, Kiwan Maeng, Alexei Colin, Kasim Sinan Yildirim, Brandon Lucia, Przemysław Pawełczak

Research output: Contribution to journalArticleScientificpeer-review

32 Citations (Scopus)
81 Downloads (Pure)


Energy-neutral Internet of Things requires freeing embedded devices from batteries and powering them from ambient energy. Ambient energy is, however, unpredictable and can only power a device intermittently. Therefore, the paradigm of intermittent execution is to save the program state into non-volatile memory frequently to preserve the execution progress. In task-based intermittent programming, the state is saved at task transition. Tasks are fixed at compile time and agnostic to energy conditions. Thus, the state may be saved either more often than necessary or not often enough for the program to progress and terminate. To address these challenges, we propose Coala, an adaptive and efficient task-based execution model. Coala progresses on a multi-task scale when energy permits and preserves the computation progress on a sub-task scale if necessary. Coala's specialized memory virtualization mechanism ensures that power failures do not leave the program state in non-volatile memory inconsistent. Our evaluation on a real energy-harvesting platform not only shows that Coala reduces runtime by up to 54% as compared to a state-of-the-art system, but also it is able to progress where static systems fail.

Original languageEnglish
Article number5
Number of pages24
JournalACM Transactions on Sensor Networks
Issue number1
Publication statusPublished - 2020


  • Adaptive software
  • Energy-harvesting devices
  • Intermittent computing


Dive into the research topics of 'Dynamic task-based intermittent execution for energy-harvesting devices'. Together they form a unique fingerprint.

Cite this