Deterministic Simulation Testing

A walkthrough of how and why complex infrastructure should be built with deterministic simulation, and how to make such tests as productive as possible for developers.

2021-12-20

Motivation

[draft]
2021-12-20

Scheduling

[draft]
The first and most vial requirement for deterministic simulation is to have a scheduler that controls and executes units of concurrent work. With this alone, we can build a deterministic simulated program which supports arbitrary concurrent computation, but no external system interaction.
2021-12-20

BUGGIFY

When application code provides high-level fault injection points, fuzzing becomes significantly more effective.
2022-03-01

Workloads

[draft]
Each simulation test has one or more concurrent workloads. Defining



See discussion of this page on Reddit, Hacker News, and Lobsters.