Date of Award

Spring 6-3-2025

Document Type

Thesis (Undergraduate)

Department

Computer Science

First Advisor

Siddhartha Jayanti

Abstract

We consider a family of near-optimal randomized multiprocessor implementations for the union-find problem due to Jayanti and Tarjan–known as the Jayanti-Tarjan Randomized-Linking (JT-RL) union-find objects–and provide the first formal and fully machine-verified proof of their strong linearizability (i.e., correctness). Their algorithms are efficient both in theory and in practice: numerous benchmarking works demonstrate that they perform faster, or as fast, as all other known implementations for the union-find object on both CPUs and GPUs.

The correctness of the JT-RL algorithms is subtle, which motivates the need for formal verification. To this end, we first specify the JT-RL objects in TLA+, a formal specification language. We then provide a machine-verified proof of their strong linearizability, an extremely desirable property for concurrent algorithms which guarantees (among other things) that any algorithm A, deterministic or randomized, can use a JT-RL object in the place of an atomic union-find object without affecting the behaviors produced by A.

Our proof, written in TLA+ and verified using TLAPS, is intricate---spanning over 16,000 lines and organized into 20 theorems. Further, our modelling of the object, and of the corresponding proof, introduces many novel methods---including type isomorphisms, modelling randomness, and using nondeterminism to weaken specifications---which could aid future machine-verification efforts. Finally, because the proof is machine-certified, engineers can deploy these efficient union-find implementations with a robust guarantee of their correctness, enabling their widespread use without the need to reason explicitly over their possible behaviors.

Share

COinS