HomeDistributed & Parallel ComputingThe Chandy-Lamport Distributed Snapshot Algorithm

📸 The Chandy-Lamport Distributed Snapshot Algorithm

Explore how the Chandy-Lamport algorithm captures a consistent global snapshot of a distributed system's process states and in-flight messages, all without ever pausing execution.

Distributed & Parallel Computing3DModerate60 FPS💨 Air & Wind
chandy-lamport-snapshot-lab ↗ Open standalone

The simulator visualizes a network of processes connected by channels, showing markers propagating outward from an initiating process, each process recording its local state on first marker receipt, and channels accumulating in-flight messages until they too receive a marker, ultimately assembling into one consistent global snapshot.

🔬 What It Demonstrates

The simulator visualizes a network of processes connected by channels, showing markers propagating outward from an initiating process, each process recording its local state on first marker receipt, and channels accumulating in-flight messages until they too receive a marker, ultimately assembling into one consistent global snapshot.

🎮 How to Use

Choose a process to initiate the snapshot and watch it record its state and fire markers along every outgoing channel. Step through time to see neighboring processes receive markers, record their own states, and forward markers onward, while messages arriving on still-unmarked channels get captured as in-flight state. Continue until every channel has delivered its marker and the full snapshot is complete.

💡 Did You Know?

The Chandy-Lamport algorithm was published in 1985 by K. Mani Chandy and Leslie Lamport, the same Lamport whose earlier work on logical clocks and the happened-before relation laid the theoretical groundwork that makes reasoning about consistent global states in an unsynchronized network possible at all.

⚙ Under the hood

Explore how the Chandy-Lamport algorithm captures a consistent global snapshot of a distributed system's process states and in-flight messages, all without ever pausing execution.

distributed systemssnapshot algorithmchandy-lamportconsistent cutcheckpointingdeadlock detectioncomputer scienceconcurrency

3D · Three.js / WebGL renderer · 60 FPS target · runs fully client-side, no install

What did you find?

Add reproduction steps (optional)