Skip to content

v0.1.0 — Initial release

Choose a tag to compare

@thatsme thatsme released this 04 Aug 14:55
· 11 commits to main since this release

Optimistic parallel discrete-event simulation (Time Warp) on the BEAM. Logical processes execute events speculatively and roll back automatically when causality is violated; the engine propagates corrections through the causal message graph, so a model implements only pure event handling and never writes rollback logic.

Included

  • Time Warp core — speculative execution, anti-messages, annihilation, automatic rollback.
  • Distributed Global Virtual Time (Mattern), fossil collection, and the output-commit quarantine.
  • Safety and tuning — deadlock-free time window, opt-in lazy cancellation, thrash circuit breaker, and a double-call purity probe.
  • Distribution — single-node and two-node, location-transparent.
  • Example models — PHOLD, DecayingPHOLD, and KeyedWindow / BufferedWindow.

Correctness

Validated against a sequential-equivalence oracle: every optimistic run produces byte-identical committed results to an in-timestamp-order execution of the same model, including under adversarial out-of-order arrival and across two nodes. An exhaustive small-scale model check exercises the GVT algorithm.

Status

Research- and engineering-quality, not production software. The container-terminal reference application that motivated the design is validated for engine correctness only and has never been calibrated against real operational data.

Implements Jefferson's Time Warp (TOPLAS, 1985) with Mattern's distributed GVT (JPDC, 1993). Licensed under Apache-2.0.