\section{Introduction}
Batteryless systems are increasingly recognized as a promising future platform of Internet-of-Things (IoT) devices.
They adopt a small capacitor as an energy storage and operate on power collected from environmental sources.
This setup efficiently avoids the challenges associated with battery such as human management for recharging/replacing and harmful environmental impacts.
These systems are also known as intermittent systems, since the computation happens intermittently only when there exist sufficient power to compute.

\begin{figure}
    \centering
    \includegraphics[width=\linewidth]{figs/cropped/intermittent_computing.pdf}
    \caption{Traditional execution model of intermittent systems.}
    \label{fig:introduction}
\end{figure}

An intermittent system requires software support to retain volatile system state information across power interruptions. While the system is running, volatile data, such as that in registers or SRAM, must be saved to non-volatile memory (NVM) and subsequently restored when power resumes, allowing operations to continue. In developing such state-preserving techniques, software designers rely on an execution model that abstracts hardware-level operations and represents the behavior of intermittent systems necessary for software design.

Figure 1 illustrates this execution model. As energy is charged, the voltage in the capacitor gradually increases and, upon reaching the power-on threshold, starts supplying power to the system. The system begins operation at this point, and execution is halted when the capacitor reaches the power-off threshold. Software designers aim to leverage this execution model to implement intermittent systems at minimal cost.

This execution model has served as the foundation for many successful intermittent system technologies. However, it may introduce considerable inaccuracies when applied to recent research aimed at very short power supply durations. Short power interruptions generally improve system responsiveness and are therefore considered a desirable trait. Recent studies have explored technologies operating with power supply times in the range of tens of milliseconds or microseconds, often utilizing small capacitors of less than 1mF for energy storage. When capacitors of this scale are used, the system operates in a way that significantly diverges from the traditional model. The primary reason is the presence of a decoupling capacitor on the board—an essential component that maintains system voltage during sudden current changes.

The decoupling capacitor acts as an energy buffer, creating a deviation from the ideal execution model. 
When power is supplied to the system, the decoupling capacitor rapidly charges and reduces capacitor voltage. 
Then the buffered energy continues to power the system even after the power-off threshold is reached. 
Understanding this effect is crucial for intermittent system designers, as it has a significant impact on both system efficiency and correctness.

In this paper, we propose a more accurate execution model for intermittent systems based on the effects of the decoupling capacitor. In Section 2, we demonstrate that checkpoint systems based on the traditional model can be up to six times more energy-inefficient and may fail to predict power-off timings accurately, leading to unsafe checkpointing. Based on this analysis, we propose three design guidelines to implement efficient and safe intermittent systems.
