Extended Serial Safety Net: A Refined Serializability Criterion for Multiversion Concurrency Control
Atsushi Kitazawa, Chihaya Ito, Yuta Yoshida, Takamitsu Shioi
TL;DR
ESSN generalizes traditional serializability checks by framing correctness as a multiversion serialization graph problem parameterized by a visible version function (VF), a per-item version order (VO), and a known total order (KTO). It introduces a single, commit-time exclusion test that uses forward-propagated bounds (xi) to avoid false aborts that plagued SSN, while preserving multiversion serializability. The approach is DSG-based with previous-edge-only maintenance, incurring linear commit-time work and no chain traversal, and it strictly subsumes SSN, offering substantial gains for long/short mixed workloads, especially under commit-ordered KTO. Experimental results show meaningful reductions in long-transaction aborts (up to about 50% relative) when using ESSN with commit-ordered KTO and begin-snapshot reads, confirming its practical impact for modern MVCC systems.
Abstract
A long line of concurrency-control (CC) protocols argues correctness via a single serialization point (begin or commit), an assumption that is incompatible with snapshot isolation (SI), where read-write anti-dependencies arise. Serial Safety Net (SSN) offers a lightweight commit-time test but is conservative and effectively anchored on commit time as the sole point. We present ESSN, a principled generalization of SSN that relaxes the exclusion condition to allow more transactions to commit safely, and we prove that this preserves multiversion serializability (MVSR) and that it strictly subsumes SSN. ESSN states an MVSG (Multiversion Serialization Graph)-based criterion and introduces a known total order over transactions (KTO; e.g., begin-ordered or commit-ordered) for reasoning about the graph's serializability. With a single commit-time check under invariant-based semantics, ESSN's exclusion condition preserves monotonicity along per-item version chains, and eliminates chain traversal. The protocol is Direct Serialization Graph (DSG)-based with commit-time work linear in the number of reads and writes, matching SSN's per-version footprint. We also make mixed workloads explicit by defining a Long transaction via strict interval containment of Short transactions, and we evaluate ESSN on reproducible workloads. Under a commit-ordered KTO, using begin-snapshot reads reduces the long-transaction abort rate by up to approximately 0.25 absolute (about 50% relative) compared with SSN.
