|
|
@@ -14,12 +14,16 @@ These systems are also known as intermittent systems, since the computation happ
|
|
|
Intermittent systems require software support to maintain volatile system states across power failures.
|
|
|
The volatile system states (e.g., register and memory) should be saved to Non-Volatile Memory (NVM) during the execution and be recovered upon power restoration.
|
|
|
When designing such technique, 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} illustrates 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 starts execution.
|
|
|
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.
|
|
|
|
|
|
+Recent techniques have aimed frequent power failures.
|
|
|
+This is typically considered good, better reactiveness.
|
|
|
+
|
|
|
However, this model is not precise enough for recent techniques that aim frequent power failures where power failure frequency is of tens of milliseconds or even in nanosecond scale.
|
|
|
The major source of inconsistency is the decoupling capacitors in the system.
|
|
|
Decoupling capacitors are on-board capacitors attached to the power input/output terminal.
|