|
|
@@ -1,13 +1,14 @@
|
|
|
\section{Detailed Intermittent Execution Model}
|
|
|
|
|
|
-In this section, we describe a detailed execution model of intermittent systems based on our observations from the measurement.
|
|
|
-In Sec.~\ref{sec:system_description}, we introduce the typical hardware setup of intermittent systems and the system we collected the data from.
|
|
|
-Sec.~\ref{sec:execution_model} presents the key observations from our measurements and proposes our detailed execution model.
|
|
|
+In this Section, we provide a detailed description of our execution model for intermittent systems and its implications for software design.
|
|
|
+In Sec.~\ref{sec:system_description}, we introduce the target hardware setup of our model and the reference system used for evaluations.
|
|
|
+Sec.~\ref{sec:execution_model} presents our proposed execution model, designed based on the key observations from our measurements.
|
|
|
+In the following three sections, we discuss how this model affects both the power efficiency and correctness of software design.
|
|
|
+Finally, in Sec.~\ref{sec:other_architectures}, we evaluate the effectiveness of our model across systems with different architectural configurations.
|
|
|
|
|
|
\subsection{System Description}
|
|
|
\label{sec:system_description}
|
|
|
|
|
|
-
|
|
|
\begin{figure}
|
|
|
\centering
|
|
|
\includegraphics[width=\linewidth]{figs/cropped/system.pdf}
|
|
|
@@ -15,20 +16,26 @@ Sec.~\ref{sec:execution_model} presents the key observations from our measuremen
|
|
|
\label{fig:hardware_setup}
|
|
|
\end{figure}
|
|
|
|
|
|
-A typical intermittent system consists of two components: a power management system and a computing system.
|
|
|
-Fig.~\ref{fig:hardware_setup} illustrates this setup.
|
|
|
-The power management system is responsible for collecting the incoming power into energy storage and providing a stable-voltage current to the computing system.
|
|
|
+A typical intermittent system consists of two main components: a power management system and a computing system, as illustrated in Fig.~\ref{fig:hardware_setup}.
|
|
|
+The power management system is responsible for accumulating the incoming energy into storage and providing a stable-voltage current to the computing system.
|
|
|
The computing system equips NVMs along with the MCU and peripherals, and utilize the NVMs for state retention between power failures.
|
|
|
|
|
|
-This setup has two notable decoupling capacitors that affect the execution model of intermittent systems.
|
|
|
-The first one is attached to the power management system, as voltage regulators need a capacitor larger than the required capacitance for correct execution.
|
|
|
-Also, the computing system also has a decoupling capacitor.
|
|
|
+This setup includes two notable decoupling capacitors that affect the execution model of intermittent systems.
|
|
|
+The first one (C1 in the figure) is placed at the power management system as voltage regulators require a capacitor larger than the device-specific minimum capacitance for stable operation.
|
|
|
+Also, the computing system has its own decoupling capacitor (C2) to stabilize operating voltage.
|
|
|
+
|
|
|
+Recent studies increasingly consider use of 32-bit architectures for the computation system~\cite{shihIntermittent2024,wuIntOS2024,kimRapid2024,akhunovEnabling2023,kimLACT2024,kimLivenessAware2023,parkEnergyHarvestingAware2023,kortbeekWARio2022,khanDaCapo2023}, as emerging applications on intermittent systems, such as DNNs, demand more computing capability~\cite{bakarProtean2023a,carontiFinegrained2023}.
|
|
|
+% Emerging intermittent applications demand increasing computing capability~\cite{bakarProtean2023a} due to computat
|
|
|
+To this end, we use a custom-built board equipped with an ARM Cortex-M33 running at 16MHz and 512KB of FRAM as a reference system for validation and evaluation.
|
|
|
+For power management system, we use TI BQ25570 based system.
|
|
|
+We empirically choose XXuF and 220uF capacitors for C1 and C2, respectively, as minimum capacitor sizes for stable execution of checkpoint and recovery.
|
|
|
+Sec.~\ref{sec:other_architectures} evaluates our model in different architectures, such as systems with MRAM and 16-bit core.
|
|
|
|
|
|
-In this work, our goal is to model the buffering effects of these capacitors and evaluate their implications on software designs.
|
|
|
-(Recent studies present the need for better computing capability~\cite{bakarProtean2023a})
|
|
|
-For model validation and evaluation, we use a custom-built board equipped with an ARM Cortex-M33 core and XXMB of FRAM.
|
|
|
-Our setup requires XXuF and 220uF capacitors for C1 and C2, respectively, for stable execution of checkpoint and recovery.
|
|
|
-Sec.~\ref{sec:other_architectures} evaluates our model in different architectures.
|
|
|
+% In this work, our goal is to model the buffering effects of these capacitors and evaluate their implications on software designs.
|
|
|
+% (Recent studies present the need for better computing capability~\cite{bakarProtean2023a})
|
|
|
+% For model validation and evaluation, we use a custom-built board equipped with an ARM Cortex-M33 core and 512KB of FRAM.
|
|
|
+% Our setup requires XXuF and 220uF capacitors for C1 and C2, respectively, for stable execution of checkpoint and recovery.
|
|
|
+% Sec.~\ref{sec:other_architectures} evaluates our model in different architectures.
|
|
|
|
|
|
\subsection{Execution Model}
|
|
|
\label{sec:execution_model}
|
|
|
@@ -51,7 +58,7 @@ Sec.~\ref{sec:other_architectures} evaluates our model in different architecture
|
|
|
\end{figure}
|
|
|
|
|
|
Fig.~\ref{fig:execution_trace} shows the voltage trace of the energy storage and the Vdd of the computing system.
|
|
|
-A 470uF capacitor is used for the energy storage to generate execution of xx ms under 1.5mA current supply.
|
|
|
+A 470uF capacitor is used for the energy storage to generate execution of about 48 ms under 1.5mA current supply.
|
|
|
Fig.~\ref{fig:execution_trace_one_cycle} shows the trace during one power cycle, and Fig.~\ref{fig:execution_trace_detailed} presents the first execution cycle in more detail.
|
|
|
|
|
|
Three key observations that affect software designer's decision.
|
|
|
@@ -86,18 +93,19 @@ This implies that much smaller energy is used for the useful computation compare
|
|
|
\label{fig:power_distribution}
|
|
|
\end{figure}
|
|
|
|
|
|
-Fig.~\ref{fig:power_distribution} shows the distribution of the energy consumed for each stage of intermittent execution within one power cycle, averaged over XX executions, in various capacitor sizes.
|
|
|
+Fig.~\ref{fig:power_distribution} shows the distribution of the energy consumed for each stage of intermittent execution within one power cycle, averaged over 50 executions, in various capacitor sizes.
|
|
|
The line represents the average time of useful computation.
|
|
|
The checkpoint is executed by the interrupt from the power management system, which is generated when the capacitor voltage reaches the power-off threshold (3.4V).
|
|
|
Note that this is the last point for checkpoint execution according to the traditional model.
|
|
|
|
|
|
The results shows that significant energy is wasted in decoupling capacitor.
|
|
|
+60.7\% of power is wasted in 470uF, 28.5\% in 1320uF case.
|
|
|
The cost is more expensive when the capacitor size is small since the decaps discharge rate follows the RC-discharging circuits.
|
|
|
-While using smaller capacitors shortens the power-off durations, the discharging behavior penalizes them most since XX\% of energy is discharged at the first XX ms.
|
|
|
+While using smaller capacitors shortens the power-off durations, the discharging behavior penalizes them most since RC-discharging circuits discharge exponential (in our case, 50\% of energy is discharged at the first 161 ms).
|
|
|
|
|
|
More importantly, this wasted energy is expected to be used for the computation in traditional execution model, as all the energy except for the initialization and checkpoint/recovery is expected to be used in computations.
|
|
|
It brings significant errors between the two models in available energy for the execution.
|
|
|
-In 470uF case, the actual energy efficiency (Execution) and the expectation from the traditional model (Execution and Discharged) differs by XX times.
|
|
|
+In 470uF case, the actual energy efficiency (Execution) and the expectation from the traditional model (Execution and Discharged) differs by 4.99 times.
|
|
|
|
|
|
(Limitations of power failure injection and simulation based evaluations).
|
|
|
|
|
|
@@ -157,7 +165,7 @@ MSP430 has less computational capability than Cortex-M33 cores.
|
|
|
But it is a most popular platform for intermittent system researches, since it is a low-power system having on-chip FRAM.
|
|
|
We used MSP430FR5994 evaluation board, having 10uF of onboard decap.
|
|
|
For the second setup, we put MRAM to our evaluation platform instead of FRAM.
|
|
|
-Core frequencies, capacitance of power management system, input power targeting xx ms execution.
|
|
|
+Core frequencies, capacitance of power management system, input power targeting about 50 ms execution.
|
|
|
|
|
|
\begin{figure}
|
|
|
\centering
|