~/talk

Deterministic systems: Why and how-to?

Talkat GeeCON Prague 2023 · 2023-10-19..10-20· [software-architecture]
links:none on file
links:none on file
slides:none on file

Advocates a concrete one-writer state machine pattern: record every input to a durable journal, apply events to a single-threaded core, take periodic snapshots, and keep a replica for non‑blocking snapshotting and failover. Uses a ring buffer (Disruptor) for ordered delivery, verifies determinism via replay tests and JCStress, and measures with JMH; production numbers include ~100,000 orders/sec and ~80 µs edge roundtrips. Warns about non‑reproducible calls (DB, time, random), journaling I/O bottlenecks, and suggests CPU pinning and sharding.

AI-written summary · about

  1. 0:00Introduction to talk
  2. 1:15Context of our work
  3. 3:02Why deterministic systems
  4. 5:55Benefits of determinism
  5. 8:00Non-determinism in systems
  6. 9:45Single-threaded state updates
  7. 12:12Journaling and snapshots
  8. 16:27Handling software updates
  9. 17:30Testing determinism
  10. 18:13Common pitfalls
  11. 20:43Concurrency is hard
  12. 23:15Single thread vs multiple threads
  13. 25:25Blocking calls and I/O
  14. 27:55Thread isolation and CPU pinning
  15. 30:01Why single-thread updates are better
  16. 31:26Summary of benefits
  17. 32:52Q&A session
~/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.