4 Commits

View File

@@ -724,21 +724,20 @@ structure by passing soft information from earlier to later spatial positions.
% Passing messages requires messages
% TODO: Move this to the intro?
The act of passing messages from one window to the next requires
there being messages at the end of decoding that are still relevant
to the decoding process.
This somewhat limits the variety of inner decoders the warm-start
there being messages after completing decoding of one window that are
still relevant to the decoding of the next.
This may somewhat limit the variety of \emph{inner decoders}, i.e.,
the decoders decoding the individual windows, the warm-start
initialization can be used with.
E.g., \ac{bp}+\ac{osd} does not immediately seem suitable, though
this remains to be investigated.
\red{[Something general about the available decoders]}
\red{[Define inner decoder]}
We chose to investigate first plain \ac{bp} due to its simplicity and
then \ac{bpgd} because of the availability of recently computed messages.
% Proposed modification: Mathematical definition
\content{Mention that our own work ties into the bottom category in
\Cref{fig:literature}}
% TODO: Include this?
% \content{Mention that our own work ties into the bottom category in
% \Cref{fig:literature}}
%%%%%%%%%%%%%%%%
\subsection{Warm Start For Belief Propagation Decoding}
@@ -861,7 +860,7 @@ this remains to be investigated.
\caption{
\red{Visualization of the messages used for the
initialization of the next window.}
initialization of the next window under BP decoding.}
\Acfp{vn} are represented using green circles while \acfp{cn}
are represented using blue squares.
}
@@ -877,12 +876,14 @@ we perform a \emph{warm start} by initializing the messages in the
overlapping region to the values last held during the decoding of the
previous window.
% Practical realization: Problem with naive approach
To see how we realize this in practice, we reiterate the steps of the
\ac{bp} algorithm
\begin{align}
\label{eq:init}
\text{Initialization: } & L_{i \rightarrow j} = \tilde{L}_i \\[3mm]
\text{\ac{cn} Update (Sum-Product): }&
\text{\ac{cn} Update (SPA): }&
\displaystyle L_{i \leftarrow j} =
2\cdot(-1)^{s_j}\cdot\tanh^{-1}
\!\left(
@@ -891,8 +892,8 @@ To see how we realize this in practice, we reiterate the steps of the
\right) \\[3mm]
\text{\ac{cn} Update (Min-Sum): }&
\displaystyle L_{i \leftarrow j} = (-1)^{s_j}\cdot \prod_{i'
\in \mathcal{N}(j)\setminus i} \sign \left( L_{i' \rightarrow j}
\right) \cdot \min_{i' \in \mathcal{N}(j)\setminus i} \lvert
\in \mathcal{N}(j)\setminus \{i\}} \sign \left( L_{i' \rightarrow j}
\right) \cdot \min_{i' \in \mathcal{N}(j)\setminus \{i\}} \lvert
L_{i'\rightarrow j} \rvert \\[3mm]
\label{eq:vn_update}
\text{\ac{vn} Update: } & \displaystyle L_{i \rightarrow j} =
@@ -921,6 +922,8 @@ This means that simply initializing the edges in the overlap region
with the exising $L_{i\rightarrow j}$ messages and starting the
decoding of the next window with a \ac{cn} update is not enough.
% Practical realization: working approach
We can resolve this issue by initializing the edges using the existing
\ac{cn} to \ac{vn} messages $L_{i\leftarrow j}$ and beginning the
decoding of the next window with a \ac{vn} update instead.
@@ -928,6 +931,8 @@ This way, we recompute the existing $L_{i\rightarrow j}$ messages and
additionally compute the messages crossing the window boundary.
We can then continue decoding the next window as usual.
% Practical realization: Simplification of algorithm
We can further simplify the algorithm.
Looking carefully at \Cref{eq:vn_update} we notice that when the
\ac{cn} to \ac{vn} messages $L_{i\leftarrow j}$ have been zero-initialized,
@@ -954,7 +959,7 @@ Note that the decoding procedure performed on the individual windows
% tex-fmt: off
\tikzexternaldisable
\begin{algorithm}[t]
\caption{Sliding-window belief propagation (BP) decoding algorithm with warm-start.}
\caption{Sliding-window belief propagation (BP) decoding algorithm with warm start.}
\label{alg:warm_start_bp}
\begin{algorithmic}[1]
\State \textbf{Initialize:} $\hat{\bm{e}}^\text{total} \leftarrow \bm{0}$
@@ -988,14 +993,25 @@ Note that the decoding procedure performed on the individual windows
\subsection{Warm Start for Belief Propagation with Guided Decimation Decoding}
\label{subsec:Warm-Start Belief Propagation with Guided Decimation Decoding}
% Intro
% Intro: Recap of BPGD
\content{Call back to previous paragraph: BPGD is one option where
relevant messages are available}
\content{Modified structure of BPGD $\rightarrow$ In addition to
messages, pass decimation info}
\content{(?) Explicitly mention decimation info = channel llrs?}
\content{(?) Algorithm}
We now direct our attention at using \ac{bpgd} as an inner decoder.
Recall that for \ac{bpgd}, after a number $T \in \mathbb{N}$ of
iterations we decimate
the most reliable \ac{vn}, meaning we perform a hard decision and
remove it from the following decoding process.
This means that when moving from one window to the next, we now have
more information available: not just the \ac{bp} messages but also the
information about what \acp{vn} were decimated and to what values.
We call this \emph{decimation information} in the following.
We can extend \Cref{alg:warm_start_bp} by additionally passing the
decimation information after initializing the \ac{cn} to \ac{vn} messages.
\Cref{fig:messages_decimation_tanner} visualizes this process.
% TODO: Do this in the fundamentals chapter. Then write a proper
% algorithm for warm-start sliding-window decoding with BPGD as well
%\content{(?) Explicitly mention decimation info = channel llrs?}
\begin{figure}[t]
\centering
@@ -1125,12 +1141,45 @@ messages, pass decimation info}
\end{tikzpicture}
\caption{
Visualization of the messages and decimation information used for the
initialization of the next window.
\red{Visualization of the messages and decimation information
used for the
initialization of the next window under \ac{bpgd} decoding}.
\Acfp{vn} are represented using green circles while \acfp{cn}
are represented using blue squares.
}
\label{fig:messages_decimation_tanner}
\end{figure}
% % tex-fmt: off
% \tikzexternaldisable
% \begin{algorithm}[t]
% \caption{Sliding-window decoding algorithm with warm start for generic inner decoder.}
% \label{alg:warm_start_general}
% \begin{algorithmic}[1]
% \State \textbf{Initialize:} $\hat{\bm{e}}^\text{total} \leftarrow \bm{0}$
% \State \textbf{Initialize:} $L_{i\leftarrow j} = 0
% ~\forall~ i\in \mathcal{I}, j\in \mathcal{J}$
% \For{$\ell = 0, \ldots, n_\text{win}-1$}
% \State Obtain $\hat{\bm{e}}^{(\ell)}$ from inner decoder
% \State $\displaystyle\left(\hat{\bm{e}}^\text{total}\right)_{\mathcal{I}^{(\ell)}_\text{commit}} \leftarrow \hat{\bm{e}}^{(\ell)}_\text{commit}$
% \State $\displaystyle\left(\bm{s}\right)_{\mathcal{J}_\text{overlap}^{(\ell)}}
% \leftarrow \bm{H}_\text{overlap}^{(\ell)}
% \left( \hat{\bm{e}}_\text{commit}^{(\ell)} \right)^\text{T}$
% \If{$\ell < n_\text{win} - 1$}
% \State $L^{(\ell+1)}_{i\leftarrow j} \leftarrow
% L^{(\ell)}_{i\leftarrow j}
% ~\forall~ i \in \mathcal{I}_\text{overlap}^{(\ell)},
% j \in \mathcal{J}_\text{overlap}^{(\ell)}$
% \EndIf
% \EndFor
% \State \textbf{return} $\hat{\bm{e}}$
% \end{algorithmic}
% \end{algorithm}
% \tikzexternalenable
% % tex-fmt: on
%
% \content{Make algorithm 4 specific to BPGD?}
\section{Numerical Results}
\label{sec:Numerical Results}
@@ -1752,7 +1801,8 @@ previous experiments.
\end{axis}
\end{tikzpicture}
\caption{Comparison of window sizes for $F=1$.}
\caption{\red{Lorem ipsum dolor sit amet, consectetur adipiscing
elit, sed do eiusmod tempor incididunt}}
\label{fig:bp_f_over_p}
\end{subfigure}%
\hfill%
@@ -1860,7 +1910,8 @@ previous experiments.
\end{tikzpicture}
\vspace{-3.2mm}
\caption{Comparison of step sizes for $W=5$.}
\caption{\red{Lorem ipsum dolor sit amet, consectetur adipiscing
elit, sed do eiusmod tempor incididunt}}
\label{fig:bp_f_over_iter}
\end{subfigure}
@@ -1976,6 +2027,18 @@ This motivates the next subsection, in which we replace the inner
\subsection{Belief Propagation with Guided Decimation}
\label{subsec:Belief Propagation with Guided Decimation}
% [Thread] Intro to BPGD + Local experimental setup
We now turn to \ac{bpgd} as the inner decoder, in order to address
the convergence issues of plain \ac{bp} on \ac{qec} codes.
For the underlying \ac{bp} step we use the \ac{spa} variant rather
than the min-sum approximation employed in
\Cref{subsec:Belief Propagation}, since this made the implementation
of the guided decimation more straightforward.
Furthermore, we set $T=1$, as this eases the
computational requirements and \cite{yao_belief_2024} showed that most of
the gain can be achieved even for low values of $T$.
\begin{figure}[t]
\centering
\hspace*{-6mm}
@@ -2004,7 +2067,7 @@ This motivates the next subsection, in which we replace the inner
ylabel={Per-round-LER},
% extra description/.code={
% \node[rotate=90, anchor=south]
% at ([xshift=10mm]current axis.east)
% at ()
% {Warm s. (---), Cold s. (- - -)};
% },
]
@@ -2044,7 +2107,9 @@ This motivates the next subsection, in which we replace the inner
\end{axis}
\end{tikzpicture}
\caption{Comparison of window sizes for $F=1$.}
\caption{\red{Lorem ipsum dolor sit amet, consectetur adipiscing
elit, sed do eiusmod tempor incididunt}}
\label{fig:bpgd_w}
\end{subfigure}%
\hfill%
\begin{subfigure}{0.5\textwidth}
@@ -2113,14 +2178,125 @@ This motivates the next subsection, in which we replace the inner
\end{axis}
\end{tikzpicture}
\caption{Comparison of step sizes for $W=5$.}
\caption{\red{Lorem ipsum dolor sit amet, consectetur adipiscing
elit, sed do eiusmod tempor incididunt}}
\label{fig:bpgd_f}
\end{subfigure}
\caption{
\red{\lipsum[2]}
}
\label{fig:bpgd_wf}
\end{figure}
% [Experimental parameters] Figure 4.10
\Cref{fig:bpgd_wf} shows the per-round \ac{ler} of \ac{bpgd}
sliding-window decoding as a function of the physical error rate.
In both panels the dashed curves correspond to cold-start
sliding-window decoding and the solid curves to the
corresponding warm-start decoding, where the warm start carries over both
the \ac{bp} messages and the decimation information of the overlap
region as described in
\Cref{subsec:Warm-Start Belief Propagation with Guided Decimation Decoding}.
The maximum number of inner \ac{bp} iterations was set to
$n_\text{iter} = 5000$.
This value was chosen to be at least as large as the number of
\acp{vn} in any single window, since with one \ac{bp} iteration
between consecutive decimations ($T = 1$ in the notation of
\Cref{alg:bpgd}) this is the maximum number of inner iterations
that can occur before every \ac{vn} in the window has been decimated.
A preliminary investigation showed that \ac{bpgd} only delivers its
intended performance gain once most \acp{vn} have actually been decimated,
which motivated this choice.
The physical error rate was swept from $p = 0.001$ to $p = 0.004$
in steps of $0.0005$.
\Cref{fig:bpgd_w} sweeps over the window size with
$W \in \{3, 4, 5\}$ at fixed step size $F = 1$, and
\Cref{fig:bpgd_f} sweeps over the step size with
$F \in \{1, 2, 3\}$ at fixed window size $W = 5$.
% [Description] Figure 4.10
In both panels, every curve again exhibits the expected monotonic
increase of the per-round \ac{ler} with the physical error rate.
Across both panels and across all parameter choices, the warm-start
curves lie above the corresponding cold-start curves, i.e.,
the warm-start variant performsworse than its cold-start counterpart.
This is the opposite of what we observed for plain \ac{bp}, where
warm-start improved upon cold-start at every parameter setting.
The gap between the warm- and cold-start curves additionally widens
as the physical error rate decreases:
at the lowest sampled rate $p = 0.001$, the per-round \ac{ler} of the
warm-start runs is more than two orders of magnitude above that of
the corresponding cold-start runs.
In \Cref{fig:bpgd_w}, larger window sizes yield lower per-round
\acp{ler} for both warm- and cold-start, and the spacing between the
cold-start curves shrinks as $W$ grows.
In \Cref{fig:bpgd_f}, the cold-start curves follow the previously seen
ordering with $F = 1$ at the bottom and $F = 3$ at the top.
The warm-start curves, however, exhibit the opposite ordering:
$F = 1$ now yields the highest per-round \ac{ler}, $F = 2$ lies below
it, and $F = 3$ is the lowest of the three warm-start curves.
% [Interpretation] Figure 4.10
The fact that warm-start sliding-window decoding now performs worse
than its cold-start counterpart is surprising in light of the results
for plain \ac{bp}, where the warm-start modification was uniformly beneficial.
The dependence on the window size in \Cref{fig:bpgd_w} is, on its own,
consistent with the same explanation that we gave for
\Cref{fig:whole_vs_cold}: larger windows expose the inner decoder to
a larger fraction of the constraints encoded in the detector error
matrix at the time of decoding, and this benefits both warm- and
cold-start decoding.
The dependence on the step size in \Cref{fig:bpgd_f}, however, is the
opposite of the corresponding dependence under plain \ac{bp}
(\Cref{fig:bp_f_over_p}): for warm-start, smaller $F$ now hurts
rather than helps, even though smaller $F$ implies a larger overlap
in both cases.
This inversion provides a clue to what is going wrong.
Recall from
\Cref{subsec:Warm-Start Belief Propagation with Guided Decimation Decoding}
that the warm start for \ac{bpgd} carries over not only the \ac{bp}
messages on the edges of the overlap region but also the decimation
information.
Because we run with an iteration budget large enough to decimate
every \ac{vn} in a window, by the time window $\ell$ ends, all
of its \acp{vn} have already been hard-decided.
For the \acp{vn} that lie in the overlap region with window $\ell + 1$
this hard decision is then carried into the next window through the
warm-start initialization, and the next window thus begins decoding
with a substantial fraction of its \acp{vn} already frozen, before
its own parity checks have had any chance to influence the
corresponding bit estimates.
This identifies one of two competing effects on the warm-start performance.
The larger the overlap, the more such prematurely frozen \acp{vn} the
next window inherits, which hurts performance.
On the other hand, a larger window still exposes the inner decoder to
a larger set of constraints, which helps performance.
The two effects together are consistent with what we observe in
\Cref{fig:bpgd_wf}.
Increasing $W$ at fixed $F$ enlarges both the overlap and the window
itself, and the benefit due to the larger $W$ dominates.
Decreasing $F$ at fixed $W$, by contrast, enlarges only the overlap
without enlarging the window, so the freezing effect is no longer
offset and warm-start performance worsens with smaller $F$.
% [Thread] Test hypothesis by carying number of iterations
The hypothesis from the previous paragraph is straightforward to test.
If the warm-start regression in \Cref{fig:bpgd_wf} is indeed caused by
the decimation state being carried across the window boundary, then
reducing the maximum number of inner \ac{bp} iterations
$n_\text{iter}$ should reduce the maximum number of \acp{vn} that can
be decimated before window $\ell$ commits, and the warm-start
performance should approach that of warm-start under plain \ac{bp} as
$n_\text{iter}$ is lowered.
We therefore now vary $n_\text{iter}$ at fixed window parameters and
fixed physical error rate.
\begin{figure}[t]
\centering
\hspace*{-6mm}
@@ -2191,7 +2367,9 @@ This motivates the next subsection, in which we replace the inner
\end{axis}
\end{tikzpicture}
\caption{Comparison of window sizes for $F=1$.}
\caption{\red{Lorem ipsum dolor sit amet, consectetur adipiscing
elit, sed do eiusmod tempor incididunt}}
\label{fig:bpgd_iter_W}
\end{subfigure}%
\hfill%
\begin{subfigure}{0.48\textwidth}
@@ -2262,16 +2440,120 @@ This motivates the next subsection, in which we replace the inner
\end{axis}
\end{tikzpicture}
\caption{
Comparison of step sizes for $W=5$.
}
\caption{\red{Lorem ipsum dolor sit amet, consectetur adipiscing
elit, sed do eiusmod tempor incididunt}}
\label{fig:bpgd_iter_F}
\end{subfigure}
\caption{
\red{\lipsum[2]}
}
\label{fig:bpgd_iter}
\end{figure}
% [Experimental parameters] Figure 4.11
\Cref{fig:bpgd_iter} shows the per-round \ac{ler} of \ac{bpgd}
sliding-window decoding as a function of the maximum number of inner
\ac{bp} iterations $n_\text{iter}$.
The dashed colored curves correspond to cold-start sliding-window
decoding and the solid colored curves to warm-start, again carrying
over both the \ac{bp} messages and the channel \acp{llr} on the
overlap region.
The physical error rate is fixed at $p = 0.0025$ and the iteration
budget is swept over $n_\text{iter} \in \{32, 128, 256, 512, 1024,
1536, 2048, 2560, 3072, 3584, 4096\}$.
\Cref{fig:bpgd_iter_W} sweeps over the window size with
$W \in \{3, 4, 5\}$ at fixed step size $F = 1$, and
\Cref{fig:bpgd_iter_F} sweeps over the step size with
$F \in \{1, 2, 3\}$ at fixed window size $W = 5$.
% [Description] Figure 4.11
For low iteration budgets, all curves in both panels behave similarly
to the plain-\ac{bp} curves in
\Cref{fig:bp_w_over_iter,fig:bp_f_over_iter}.
The per-round \ac{ler} decreases gradually with $n_\text{iter}$, and
the warm-start curves lie below their cold-start counterparts at
matching window parameters.
As $n_\text{iter}$ continues to grow, however, the cold-start curves
undergo a sharp drop, after which they lie roughly an order of
magnitude below the warm-start curves, and eventually settle into a
flat plateau.
The warm-start curves first reach a minimum at an intermediate
iteration count, then turn upwards, and finally also approach a
plateau, albeit at a substantially higher per-round \ac{ler}.
The warm-start curves are also less smooth than the cold-start ones
at certain points.
In \Cref{fig:bpgd_iter_W}, the iteration count at which the
cold-start curves drop sharply increases with the window size, from
roughly $n_\text{iter} \approx 2000$ for $W = 3$, to
$\approx 2500$ for $W = 4$, to $\approx 3000$ for $W = 5$.
The corresponding warm-start curves reach their minima at
approximately the same iteration counts, and from there onwards begin
to worsen.
At the largest sampled iteration budget, the cold-start curves have
plateaued at per-round \acp{ler} of order $10^{-3}$ while the
warm-start curves have grown to per-round \acp{ler} above
$4 \times 10^{-2}$.
In \Cref{fig:bpgd_iter_F}, the cold-start curves drop sharply at
roughly the same iteration count for all three step sizes, while
the warm-start curves now show a clear reordering as $n_\text{iter}$
grows.
At low iteration budgets the warm-start ordering matches the
cold-start ordering, with $F = 1$ best and $F = 3$ worst, but at the
largest iteration budget this ordering is fully inverted: warm-start
$F = 1$ is now the worst and $F = 3$ the best.
% [Interpretation] Figure 4.11
The cold-start behavior matches the preliminary investigation that
motivated our choice of $n_\text{iter} = 5000$ in \Cref{fig:bpgd_wf}.
At low iteration budgets the inner decoder has not yet had time to
decimate a substantial fraction of the \acp{vn}, so its behavior
remains close to that of plain \ac{bp}.
Once the iteration budget is large enough for the decimation effects
to become pronounced, the per-round \ac{ler} drops sharply and
\ac{bpgd} delivers its intended performance gain.
Once every \ac{vn} in a window has been decimated, no further
iterations can change the outcome, which is why each cold-start curve
reaches a flat plateau.
The warm-start curves exhibit the same two regimes, but with the
opposite outcome in the second one, which is exactly what our earlier
hypothesis predicts.
At low $n_\text{iter}$, decimation has not yet taken hold and the
warm-start initialization carries forward only the \ac{bp} messages
in any meaningful sense, so the warm-start variant outperforms its
cold-start counterpart for the same reason as in the plain-\ac{bp}
investigation.
As $n_\text{iter}$ grows past the point where decimation begins to
matter, the decimation information carried over starts to impede the
decoding performance.
The same mechanism explains the inversion of the step-size ordering
in \Cref{fig:bpgd_iter_F}.
At low iteration budgets, the ordering is set by the same overlap
argument as for plain \ac{bp}: smaller $F$ implies a larger overlap
between consecutive windows, more shared messages, and therefore
better warm-start performance.
At large iteration budgets, the ordering is set by the premature hard
decisions of the \acp{vn}.
We do not have a definitive explanation for the roughness visible in some
of the warm-start curves and limit ourselves to noting it.
% [Thread] Turn to previous way of warm-start
The natural consequence of the previous diagnosis is to drop the
problematic part of the warm-start initialization for \ac{bpgd} and
to carry over only the \ac{bp} messages on the edges of the overlap
region, as in \Cref{fig:messages_tanner}, while leaving the channel
\acp{llr} of the next window in their original cold-start state.
Note that some information about the previous window's decimation
state is still implicitly carried over through the \ac{bp} messages,
since the decimation decisions were made based on the messages themselves.
\begin{figure}[t]
\centering
\hspace*{-6mm}
@@ -2340,7 +2622,9 @@ This motivates the next subsection, in which we replace the inner
\end{axis}
\end{tikzpicture}
\caption{Comparison of window sizes for $F=1$.}
\caption{\red{Lorem ipsum dolor sit amet, consectetur adipiscing
elit, sed do eiusmod tempor incididunt}}
\label{fig:bpgd_msg_W}
\end{subfigure}%
\hfill%
\begin{subfigure}{0.5\textwidth}
@@ -2409,14 +2693,73 @@ This motivates the next subsection, in which we replace the inner
\end{axis}
\end{tikzpicture}
\caption{Comparison of step sizes for $W=5$.}
\caption{\red{Lorem ipsum dolor sit amet, consectetur adipiscing
elit, sed do eiusmod tempor incididunt}}
\label{fig:bpgd_msg_F}
\end{subfigure}
\caption{
\red{\lipsum[2]}
}
\label{fig:bpgd_msg}
\end{figure}
% [Experimental parameters] Figure 4.12
\Cref{fig:bpgd_msg} repeats the experiment of \Cref{fig:bpgd_wf}
with the modified warm-start procedure that carries over only the
\ac{bp} messages.
All other experimental parameters are unchanged: the maximum number
of inner \ac{bp} iterations is $n_\text{iter} = 5000$, and the
physical error rate is swept from $p = 0.001$ to $p = 0.004$ in steps
of $0.0005$.
The cold-start curves (dashed) are identical to those in
\Cref{fig:bpgd_wf}.
The warm-start curves are shown with solid lines.
\Cref{fig:bpgd_msg_W} sweeps over the window size with
$W \in \{3, 4, 5\}$ at fixed step size $F = 1$, and
\Cref{fig:bpgd_msg_F} sweeps over the step size with
$F \in \{1, 2, 3\}$ at fixed window size $W = 5$.
% [Description] Figure 4.12
The warm-start curves now lie below their cold-start counterparts
across both panels and across the entire physical error rate range,
in contrast to \Cref{fig:bpgd_wf}.
In \Cref{fig:bpgd_msg_W}, larger window sizes again yield lower
per-round \acp{ler} for both warm- and cold-start, and the warm-start
advantage over cold-start is more pronounced for $W \in \{4, 5\}$
than for $W = 3$, where the warm- and cold-start curves nearly coincide.
In \Cref{fig:bpgd_msg_F}, smaller step sizes again yield lower
per-round \acp{ler} for both warm- and cold-start, and the warm-start
advantage over cold-start is most pronounced for $F = 1$ and shrinks
as $F$ grows.
% [Description] Interpretation 4.12
Removing the channel \acp{llr} from the warm-start initialization lifts
the warm-start regression observed in \Cref{fig:bpgd_wf},
and warm-start now consistently outperforms cold-start.
The dependence on the window size and the step size also recovers
the qualitative behavior we observed for plain \ac{bp} in
\Cref{fig:whole_vs_cold_vs_warm,fig:bp_f_over_p}: a larger overlap
between consecutive windows, achieved either by enlarging $W$ or by
decreasing $F$, both improves the absolute decoding performance and
increases the warm-start advantage over cold-start.
This is consistent with the original effective-iterations picture.
Without the premature hard decisions from carried-over decimation
information, the warm-start initialization once again amounts to
additional \ac{bp} iterations on the \acp{vn} of the overlap region,
and the larger the overlap, the more such effective iterations are gained.
% [Thread] As before, view max iter behavior
Finally, we repeat the iteration-budget sweep of \Cref{fig:bpgd_iter}
with the message-only warm-start procedure.
This serves both to verify that the premature hard decision effect
does not reappear at any iteration count and to compare the warm- and
cold-start curves across the entire range of $n_\text{iter}$ available to us.
\begin{figure}[t]
\centering
\hspace*{-6mm}
@@ -2487,7 +2830,9 @@ This motivates the next subsection, in which we replace the inner
\end{axis}
\end{tikzpicture}
\caption{Comparison of window sizes for $F=1$.}
\caption{\red{Lorem ipsum dolor sit amet, consectetur adipiscing
elit, sed do eiusmod tempor incididunt}}
\label{fig:bpgd_msg_iter_W}
\end{subfigure}%
\hfill%
\begin{subfigure}{0.48\textwidth}
@@ -2558,13 +2903,76 @@ This motivates the next subsection, in which we replace the inner
\end{axis}
\end{tikzpicture}
\caption{
Comparison of step sizes for $W=5$.
}
\caption{\red{Lorem ipsum dolor sit amet, consectetur adipiscing
elit, sed do eiusmod tempor incididunt}}
\label{fig:bpgd_msg_iter_F}
\end{subfigure}
\caption{
\red{\lipsum[2]}
}
\label{fig:bpgd_msg_iter}
\end{figure}
% [Experimental parameters] Figure 4.13
\Cref{fig:bpgd_msg_iter} repeats the experiment of
\Cref{fig:bpgd_iter} with the modified warm-start procedure that
carries over only the \ac{bp} messages.
All other experimental parameters are unchanged: the physical error
rate is fixed at $p = 0.0025$ and the iteration budget is swept over
$n_\text{iter} \in \{32, 128, 256, 512, 1024, 1536, 2048, 2560,
3072, 3584, 4096\}$.
The cold-start curves (dashed) are identical to those in
\Cref{fig:bpgd_iter}.
\Cref{fig:bpgd_msg_iter_W} sweeps over the window size with
$W \in \{3, 4, 5\}$ at fixed step size $F = 1$, and
\Cref{fig:bpgd_msg_iter_F} sweeps over the step size with
$F \in \{1, 2, 3\}$ at fixed window size $W = 5$.
% [Description] Figure 4.13
The warm-start curves now again lie consistently below their cold-start
counterparts across both panels and across the entire range of
$n_\text{iter}$, contrary to \Cref{fig:bpgd_iter}.
The warm-start curves furthermore track the overall shape of the
corresponding cold-start curves closely, including the iteration
count at which they drop sharply and the level at which they plateau.
The warm-start improvement over cold-start grows with the window size
in \Cref{fig:bpgd_msg_iter_W} and shrinks with the step size in
\Cref{fig:bpgd_msg_iter_F}, with the largest gap visible at $W = 5$
and at $F = 1$, respectively.
% [Interpretation] Figure 4.13
These observations match our expectations.
With only the \ac{bp} messages carried over, the warm-start
initialization no longer freezes any \acp{vn} in the next window
The dependence of this benefit on $W$ and $F$ also recovers the
pattern observed for plain \ac{bp} in
\Cref{fig:whole_vs_cold_vs_warm,fig:bp_f_over_p}:
larger overlap, achieved by larger $W$ or smaller $F$, yields more
effective extra iterations and therefore a larger warm-start gain.
% BPGD conclusion
We conclude our investigation into the performance of warm-start
sliding-window decoding under \ac{bpgd} by summarizing our findings.
Warm-starting the inner decoder still provides a consistent
performance gain when the inner decoder is upgraded from plain
\ac{bp} to its guided-decimation variant, but only if some care is
taken in choosing what to carry over.
Passing the channel \acp{llr} along with the \ac{bp} messages,
as suggested by naively carrying over the warm-start idea to \ac{bpgd},
leads to premature hard decisions on \acp{vn} in the overlap region.
This leads to warm-start initialization actually worsening the
performance compared to cold-start initialization.
Restricting the warm start to the \ac{bp} messages alone removes
this effect and recovers a consistent warm-start improvement over
cold-start that follows the same behavior as for plain \ac{bp} with
regard to overlap.
A second observation specific to \ac{bpgd} is that its iteration
requirements are substantially larger than those of plain \ac{bp}:
the per-round \ac{ler} drops sharply only once the iteration budget
is on the order of the number of \acp{vn} in each window.