← back to projects

/// project

Distributed Systems Snapshot Algorithm

Based on Lamport & Chandy (1985), ”Distributed Snapshots: Determining Global States of Distributed Systems”

  • C
  • Distributed Systems
  • TCP/IP
  • Docker
  • Kubernetes
  • Concurrency
  • Multi-Threaded
  • Systems
  • Implemented the classic Chandy-Lamport consistent global snapshot algorithm in C, exploring correctness properties under asynchronous, out-of-order message delivery across a distributed cluster.
  • Engineered low-level systems primitives from scratch: custom binary serialization/deserialization, linked-list–based FIFO message queues, and full-duplex TCP/UDP channels — enabling precise control over protocol semantics.
  • Designed a distributed state machine and validated snapshot consistency under adversarial conditions (message reordering, concurrent state transitions) using Docker-based multi-node test environments.
  • Implemented multi-threaded execution in C using mutexes and condition variables to safely coordinate concurrent message processing and state transitions without data races.