\section{Introduction}
Batteryless systems.
Intermittent system consists of hardware and software.

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


Intermittent systems require software support to maintain volatile system states across power failures.
Software designers rely on an \emph{execution model}, which abstracts the operations in the hardware and describes how intermittent system works.
Fig.~\ref{fig:introduction} shows this model.
The voltage of energy storage increases while the system collects energy from environmental sources.
When the capacitor voltage reaches a certain threshold voltage, the computing system is powered on and executes.
When the capacitor voltage hits a power-off threshold later, the computing system is powered off and energy starts to be collected again.
The goal of software designers is to implement techniques to sustain system states across power failures with minimal overhead under such execution model.

The model is not precise enough for recent techniques that aim power failures with frequency of several tens of milliseconds or even in nanosecond scale.
The major source of error is the decoupling capacitors in the system.
To achieve millisecond-level execution time, the system should adopt a tiny capacitor, whose size is comparable to the decoupling capacitors.