mirror of
https://github.com/lux-apps/papers.git
synced 2026-10-30 18:15:21 +00:00
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.
40 lines
2.2 KiB
TeX
40 lines
2.2 KiB
TeX
\section{Introduction}
|
|
|
|
%% ============================================================================
|
|
|
|
Consensus protocols in distributed systems impose strict requirements on their transport layer: sub-millisecond message delivery, deterministic tail latency, and authenticated channels. A single GC pause exceeding the consensus timeout---typically 100ms to 2s---can trigger view changes, leader rotation, or chain stalls. In production Lux deployments, we observed that gRPC's protobuf deserialization path triggers 12 allocations per message, causing GC pauses of 200--800$\mu$s every 5,000--8,000 messages \cite{zapwire}.
|
|
|
|
ZAP was designed to eliminate this failure mode. The protocol uses pre-allocated arena buffers, fixed-layout binary encoding, and zero-copy reads to achieve a hot path with zero heap allocations. This paper quantifies ZAP's performance advantage across multiple dimensions and competing protocols.
|
|
|
|
\subsection{Protocols Under Test}
|
|
|
|
\begin{table}[h]
|
|
\centering
|
|
\caption{Protocol characteristics summary}
|
|
\label{tab:protocols}
|
|
\begin{tabular}{llllll}
|
|
\toprule
|
|
\textbf{Protocol} & \textbf{Encoding} & \textbf{Transport} & \textbf{Copy} & \textbf{Codegen} & \textbf{Language} \\
|
|
\midrule
|
|
ZAP & Binary/fixed & TCP & Zero & No & Go \\
|
|
gRPC & Protobuf & HTTP/2 & Full & Yes & Go \\
|
|
Protobuf-mux & Protobuf & QUIC/TCP & Full & Yes & Go \\
|
|
JSON-RPC & JSON & HTTP/1.1 & Full & No & Go \\
|
|
Cap'n Proto & Binary/ptr & TCP & Zero & Yes & Go \\
|
|
FlatBuffers & Binary/vtable & TCP & Zero & Yes & Go \\
|
|
QUIC & Binary & UDP/QUIC & Full & No & Go \\
|
|
\bottomrule
|
|
\end{tabular}
|
|
\end{table}
|
|
|
|
\subsection{Contributions}
|
|
|
|
\begin{enumerate}
|
|
\item A controlled benchmark suite covering six performance dimensions across seven protocols, all implemented in Go for fair comparison.
|
|
\item Quantification of GC pause impact on consensus timeout probability as a function of allocation rate.
|
|
\item Demonstration that ZAP's arena-based design provides predictable tail latency under sustained load, with p99 $\leq$ 20$\mu$s on loopback.
|
|
\item Scalability analysis showing linear throughput to 100K concurrent connections.
|
|
\end{enumerate}
|
|
|
|
%% ============================================================================
|