Files
papers/lux-quasar-benchmarks/sections/11-benchmark-9-pipelined-consensus.tex
zeekay abf99d05fc papers: reorganize into per-paper dirs, add Antje Worring as co-author
Restructured from flat .tex/.pdf files into per-paper subdirectories.
Added Antje Worring as co-author on all papers.
Synced PDFs to pdfs/ for download site.
2026-04-18 21:50:07 -07:00

79 lines
3.4 KiB
TeX

\section{Benchmark 9: Pipelined Consensus}
\label{sec:pipelined}
%% ============================================================================
Recent optimizations to the Quasar consensus loop introduce block pipelining and
configurable timing parameters. This section reports measured results from these
changes on Apple M1 Max (single-node solo consensus, isolating consensus-layer
throughput from network and execution).
\subsection{Timing Optimizations}
Two key changes to the consensus hot loop:
\begin{enumerate}
\item \textbf{Configurable poll loop}: The poll interval now uses \texttt{BlockTime}
instead of a hardcoded 50\,ms delay. This allows sub-millisecond block production
when the execution engine can keep up.
\item \textbf{Pipeline goroutine}: Block $N{+}1$ is built concurrently while block $N$
finalizes. The build phase (transaction selection, mempool drainage) overlaps with
the finalization phase (BLS aggregation, certificate broadcast).
\end{enumerate}
\subsection{Parameter Configurations}
\begin{table}[h]
\centering
\small
\begin{tabular}{@{}llrrrl@{}}
\toprule
\textbf{Config} & \textbf{$K$} & \textbf{Block Time} & \textbf{Round Timeout} & \textbf{Gas Limit} & \textbf{Notes} \\
\midrule
LocalParams & varied & \SI{1}{ms} & \SI{5}{ms} & \SI{1}{B} & Local dev/test \\
BurstParams & varied & \SI{1}{ms} & \SI{5}{ms} & \SI{2.1}{B} & 100M TPS theoretical ceiling \\
SoloGPUParams & 1 & \SI{1}{ms} & \SI{5}{ms} & \SI{1}{B} & Tuned for Apple Silicon \\
\bottomrule
\end{tabular}
\caption{Pipelined consensus parameter configurations. $K$ is the Snow sample size
(1 for solo validator). BlockTime of \SI{1}{ms} enables the pipeline goroutine to
produce blocks at maximum rate. BurstParams uses a \SI{2.1}{B} gas limit to accommodate
100K transactions per block.}
\label{tab:pipeline_params}
\end{table}
\subsection{Measured Results}
\begin{table}[h]
\centering
\begin{tabular}{@{}lrrrr@{}}
\toprule
\textbf{Config} & \textbf{Blocks/sec} & \textbf{Txs/block} & \textbf{Theoretical TPS} & \textbf{Hardware} \\
\midrule
SoloGPUParams ($K{=}1$) & \num{107000} & \num{47000} & \SI{5.1e9}{} & M1 Max \\
BurstParams & \num{78000} & \num{100000} & \SI{7.8e9}{} & M1 Max \\
\bottomrule
\end{tabular}
\caption{Pipelined consensus throughput. These are consensus-layer-only measurements
(no EVM execution, no signature verification). SoloGPUParams achieves \num{107000}
blocks/sec with $K{=}1$ on Apple M1 Max. Theoretical TPS = blocks/sec $\times$ txs/block.}
\label{tab:pipeline_results}
\end{table}
At \num{107000} blocks/sec, the consensus layer alone can finalize 47K-transaction blocks
faster than any execution engine can produce them. \textbf{Consensus is no longer the
bottleneck}---the constraint has shifted entirely to EVM execution and signature recovery
(see Section~\ref{sec:throughput} for end-to-end numbers).
\subsection{Implications}
The pipelined consensus results invert the traditional blockchain performance model.
In most systems, consensus limits throughput: Tendermint at $\sim$1{,}200\,TPS
(Section~\ref{sec:throughput}), Ethereum at $\sim$30\,TPS. With Quasar's pipeline,
the execution engine becomes the binding constraint. This motivates the GPU EVM
work described in the cevm paper~\cite{quasar-paper}: if consensus can finalize
\num{107000} blocks/sec, the execution engine must match that rate to avoid
becoming the new bottleneck.
%% ============================================================================