SCHEMATIC: Compile-Time Checkpoint Placement and Memory Allocation for Intermittent Systems
Battery-free devices enable sensing in hard-to-access locations, opening up new opportunities in various fields such as healthcare, space, or civil engineering. Such devices harvest ambient energy and store it in a capacitor. Due to the unpredictable nature of the harvested energy, a power failure can occur at any time, resulting in a loss of all non-persistent information (\textit{e}.\textit{g}., processor registers, data stored in volatile memory). Checkpointing volatile data in non-volatile memory allows the system to recover after a power failure, but raises two issues: (i) spatial and temporal placement of checkpoints; (ii) memory allocation of variables between volatile and non-volatile memory, with the overall objective of using energy as efficiently as possible.
While many techniques rely on the developer to address these issues, we present \textsc{SCHEMATIC}, a compiler technique that automates checkpoint placement and memory allocation to minimize the overall energy consumption. \textsc{SCHEMATIC} ensures that programs will eventually terminate (\emph{forward progress} property). Moreover, checkpoint placement and memory allocation adapt to the size of the energy buffer and the capacity of volatile memory.
\textsc{SCHEMATIC} takes advantage of volatile memory (VM) to reduce the energy consumed, by automatically placing the most used variables in VM.
We tested \textsc{SCHEMATIC} for different experimental settings (size of volatile memory and capacitor) and results show an average energy reduction of 51,% compared to related techniques.
Tue 5 MarDisplayed time zone: London change
11:30 - 12:50 | |||
11:30 20mTalk | Compile-Time Analysis of Compiler Frameworks for Query Compilation Main Conference Pre-print | ||
11:50 20mTalk | DrPy: Pinpointing Inefficient Memory Usage in Multi-Layer Python Applications Main Conference Jinku Cui North Carolina State University, Qidong Zhao North Carolina State University, Yueming Hao North Carolina State University, Xu Liu North Carolina State University | ||
12:10 20mTalk | SCHEMATIC: Compile-Time Checkpoint Placement and Memory Allocation for Intermittent Systems Main Conference Hugo Reymond Université de Rennes - Inria - CNRS - IRISA, Jean-Luc Béchennec Nantes Université - École Centrale Nantes - CNRS - LS2N - UMR 6004, Mikaël Briday Nantes Université - École Centrale Nantes - CNRS - LS2N - UMR 6004, Sébastien Faucou Nantes Université - École Centrale Nantes - CNRS - LS2N - UMR 6004, Isabelle Puaut Université de Rennes - Inria - CNRS - IRISA, Erven Rohou Université de Rennes - Inria - CNRS - IRISA Pre-print Media Attached | ||
12:30 20mTalk | Latent Idiom Recognition for a Minimalist Functional Array Language using Equality Saturation Main Conference Pre-print |