Skip to main content

Avoiding faults; checkpointing compared

Short answer

Faults are avoided by good design, testing, redundancy, detection, reliable communication, and recovery. Independent checkpointing needs no coordination but can cause domino effect and requires computing a recovery line; coordinated checkpointing synchronizes checkpoints, avoids domino effect, and needs only the latest checkpoint, at the cost of coordination delay.

How do you avoid faults in DS? Compare independent checkpointing with coordinated checkpointing approach.

Avoiding faults

Faults cannot be removed completely, but they can be avoided or their effect reduced:

  • Fault avoidance: good design, formal methods, code review and testing, use of quality components and conservative operating limits.
  • Redundancy: replicated components and processes (physical redundancy, TMR, process groups); information redundancy (parity, ECC); time redundancy (retries).
  • Fault detection: heartbeats, timeouts and checksums.
  • Fault prevention in communication: reliable protocols, acknowledgements and retransmission.
  • Recovery: checkpoints and logs to restore the state.
  • Maintenance: repair and replacement of failing components.

Independent versus coordinated checkpointing

Checkpointing saves process state to stable storage so that a failed system can be rolled back to a consistent state.

PointIndependentCoordinated
CoordinationNoneNeeded (marker/2-phase)
Domino effectPossibleNone
Recovery lineMust be computedLatest checkpoint is consistent
StorageMany checkpointsOnly latest one or two
Normal-run overheadLow (but must log dependencies)Higher (blocking, messages)
Recovery costHighLow
  • Independent: each process checkpoints at its own convenience; on a failure, a consistent recovery line must be found by following dependencies, and the domino effect can push the rollback back to the start.
  • Coordinated: processes checkpoint together using a coordinator (or markers), so the latest checkpoints are always consistent; there is no domino effect, but there is a synchronization delay.

✓ Answer checked by Claude Opus 5.5 (high effort)

All Distributed System chapter 9 questions →