Distributed Discrete-Event Simulation

Stub. Event-driven simulation and the challenges/correctness issues of distributing it; conservative simulation (never process an event out of order, at the cost of blocking); and optimistic simulation / Time Warp (process eagerly, roll back on causality violation), tracked via global virtual time.

· 1 min read · 139 words

Simulating a system with many interacting components in parallel, where each component processes a stream of timestamped events, is really a distributed-ordering problem in disguise: a processor can’t safely process an event until it’s sure no earlier-timestamped event will still arrive on any incoming channel. Conservative simulation enforces this directly (and can deadlock/block waiting for a guarantee), while optimistic simulation (Time Warp) processes eagerly and rolls back when a late event proves it was wrong — bounded by a global virtual time below which no rollback can ever be needed again, so state can safely be garbage-collected.

Outline (TODO — flesh out each)

  • Event-driven simulation
  • Distributing a simulation — the challenges, correctness issues
  • Conservative simulation
  • Optimistic simulation and Time Warp
  • Global virtual time

← All notes