Files

67 lines
2.1 KiB
TeX

\documentclass[11pt,a4paper]{article}
\usepackage{../shared/luxcover}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{amsmath,amssymb,amsfonts}
\usepackage{graphicx}
\usepackage{hyperref}
\usepackage{booktabs}
\usepackage{enumitem}
\usepackage{xcolor}
\usepackage{siunitx}
\usepackage{listings}
\hypersetup{colorlinks=true,linkcolor=black,citecolor=blue,urlcolor=blue}
\lstset{
basicstyle=\ttfamily\scriptsize,
breaklines=true,
frame=single,
showstringspaces=false,
}
\title{Block-STM Optimistic Parallel Execution\\
on ZapDB MVCC}
\author{Lux Industries, Inc. \\
\texttt{[email protected]}}
\date{2026-06-03}
\begin{document}
\luxcoverpage
\begin{abstract}
LP-209 commits a wave -- a totally ordered sequence of $N$
transactions. LP-210 executes those $N$ transactions in parallel via
optimistic STM over ZapDB MVCC snapshots. The pattern is the Aptos
Block-STM \cite{blockstm2022} adapted for the ZAP buffer (immutable;
pointer-shared) and ZapDB (MVCC; $O(1)$ snapshot; content-addressed
version vectors). Each transaction is dispatched to one of $N$
goroutines; conflicts are detected at commit phase via version-vector
intersection; conflicting transactions roll back via LP-202
\texttt{txn.Discard()} and re-execute in dependency order. Speedup
$\approx \min(N\text{cores}, \text{parallelism-in-wave})$. On a
16-core box at a securities-style workload mix, projected speedup is
$\sim 12\times$ over single-threaded (design-time estimate;
end-to-end LP-210 execution not yet measured -- the 2026-06-04
quasar-matrix-bench exercised the cert ceremony, not the executor).
This paper expands on LP-210
(\texttt{lps/LP-210-block-stm.md}) with the four-phase algorithm,
the integration differences from the original Aptos Block-STM,
the cross-shard staged-prepare composition with LP-211, and the
deterministic-output proof.
\end{abstract}
\tableofcontents
\newpage
\input{sections/01-introduction}
\input{sections/02-algorithm}
\input{sections/03-zapdb-integration}
\input{sections/04-performance}
\input{sections/05-composition}
\bibliographystyle{plain}
\bibliography{biblio}
\end{document}