Snapshot algorithm

A snapshot algorithm is used to create a consistent snapshot of the global state of a distributed system.[1] Due to the lack of globally shared memory and a global clock, this is not trivially possible.

Example

Several computers work together in a distributed system. Each of them represents a bank account holding a certain amount of money. The participants can transfer money between their accounts by exchanging the messages.

To calculate the overall balance, just requesting the balance of each participant can lead to an incorrect result, as different accounts might be recorded before or after any transfers in progress. But a snapshot algorithm would avoid this as it makes sure to record the whole state in a point in time.

Algorithms

  • Chandy–Lamport algorithm
  • Lai–Yang algorithm
  • Spezialetti–Kearns algorithm
  • Mattern's algorithm

References

  1. Vijay K. Garg (23 May 2002). Elements of Distributed Computing. John Wiley & Sons. p. 121. ISBN 978-0-471-03600-5.


This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.