Litcius/Paper detail

Dynamic Task-based Intermittent Execution for Energy-harvesting Devices

Amjad Yousef Majid, Carlo Delle Donne, Kiwan Maeng, Alexei Colin, Kasım Sinan Yıldırım, Brandon Lucia, Przemysław Pawełczak

2020ACM Transactions on Sensor Networks69 citationsDOIOpen Access PDF

Abstract

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.

Topics & Concepts

Computer scienceTask (project management)Embedded systemState (computer science)Energy harvestingCompilerEnergy (signal processing)Distributed computingReal-time computingOperating systemProgramming languageManagementEconomicsMathematicsStatisticsEnergy Harvesting in Wireless NetworksIoT and Edge/Fog ComputingAge of Information Optimization
Dynamic Task-based Intermittent Execution for Energy-harvesting Devices | Litcius