Blog
Notes on building a deterministic execution engine — the decisions, and the ones that turned out wrong.
-
A determinism tool whose own output was not deterministic
· 2 min read
The regression diff printed its differences in a different order on every run, because it iterated a Go map. For the one package whose job is proving determinism, that is not cosmetic.
-
Adding parallelism to an engine whose whole point is determinism
· 3 min read
Fan-out is easy. Fan-out that gives the same answer regardless of which branch finishes first, and refuses rather than arbitrates when two branches disagree, took longer.