The snapshot algorithm is an algorithm used in distributed systems for recording a consistent global state of an asynchronous system. It is also known as "Chandy-Lamport Algorithm for the determination of consistent global states."
According to one of the authors' website, "The distributed snapshot algorithm described here came about when I visited Chandy, who was then at the University of Texas in Austin. He posed the problem to me over dinner, but we had both had too much wine to think about it right then. The next morning, in the shower, I came up with the solution. When I arrived at Chandy's office, he was waiting for me with the same solution." Leslie Lamport.
It was defined in a paper titled "Distributed Snapshots: Determining Global States of a Distributed System"
The assumptions of the algorithm are as follows:
The algorithm works using marker messages. Each process that wants to initiate a snapshot records its local state and sends a marker on each of its outgoing channels. All the other processes, upon receiving a marker, record their local state, the state of the channel from which the marker just came as empty, and send marker messages on all of their outgoing channels. If a process receives a message after having recorded its local state, it records the state of the incoming channel from which the marker came as carrying all the messages received since it first recorded its local state.
Some of the assumptions of the algorithm can be facilitated using a more reliable communication protocol such as TCP/IP. The algorithm can be adapted so that there could be multiple snapshots occurring simultaneously.
The snapshot algorithm works like so:
From this, the observor builds up a complete snapshot: a saved state for each process and all messages "in the ether" are saved.
This article is licensed under the GNU Free Documentation License.
It uses material from the
"Snapshot algorithm".
Home Page • arts • business • computers • games • health • hospitals • home • kids & teens • news • physicians • recreation• reference • regional • science • shopping • society • sports • world