~/talk

Distributed systems showdown — TLA + vs real code

Talkat Hydra 2021 · 2021-06-15..06-18· [distributed-systems, testing]
slides:none on file

Built a minimalist BookKeeper-style distributed log both as a TLA+ model and as a Java Maelstrom/Jepsen prototype; TLA+ uses two specs (~300 and ~1,000 lines) and TLC explores millions of states and found the defect in ~20s by producing an exact error trace, while the Java model (52 files, ~6,000 LOC, single‑threaded event loop, many CompletableFutures) requires local invariants that crash the node to surface bugs and only reproduces that same bug via Maelstrom after days of stochastic runs.

AI-written summary · about

  1. 0:00Start
  2. 7:54What Properties Should Our Models Have
  3. 9:16Tla Plus Is a Specification Language
  4. 11:01What Is a State
  5. 12:15Safety Properties
  6. 13:02Liveness
  7. 14:32Maelstrom
  8. 23:13State Enumeration versus Simulation
  9. 26:21Segmented Log
  10. 31:15Segment Life Cycle
  11. 35:06Single Threaded Event Loop
  12. 38:22Invariants
  13. 41:30Model Checking Wins and Fails
  14. 42:29Error Trace
  15. 49:48Final Thoughts
  16. 51:39Challenges
  17. 52:25Battle in the State Space
  18. 59:03What's Next
  19. 1:07:09Pitfalls
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.