Presentation is loading. Please wait.

Presentation is loading. Please wait.

Uncoordinated Checkpointing The Global State Recording Algorithm.

Similar presentations


Presentation on theme: "Uncoordinated Checkpointing The Global State Recording Algorithm."— Presentation transcript:

1 Uncoordinated Checkpointing The Global State Recording Algorithm

2 Global State Recording CS 5204 – Operating Systems2 The Model Node properties No shared memory No global clock node channel Channel properties: FIFO loss free non­duplicating

3 Global State Recording CS 5204 – Operating Systems3 The Problem $500 $200 C1:empty C2:empty $450 $200 C1:transfer $50 C2:empty $450 $250 C1:empty C2:empty

4 Global State Recording CS 5204 – Operating Systems4 Motivation for recording a “consistent” state of the global computation: checkpointing for fault tolerance (rollback, recovery) testing and debugging monitoring and auditing Method: detecting stable properties in a distributed system via snapshots. A property is “stable” if, once it holds in a state, it holds in all subsequent states. termination deadlock garbage collection Distributed Snapshot (Global State Recording)

5 Global State Recording CS 5204 – Operating Systems5 Local State and Actions: local state: LS i message send: send(m ij ) message receive: rec(m ij ) time: time(x) send(m ij )  LS i iff time(send(m ij )) < time(LS i ) rec(m ij )  LS j iff time(rec(m ij )) < time(LS j ) Predicates: transit(LS i, LS j ) = {m ij | send(m ij )  LS i  !( rec(m ij )  LS j ) ) } inconsistent(LS i, LS j ) = {m ij | !(send(m ij )  LS i )  rec(m ij )  LS j ) } Consistent Global State:  i,  j : 1 <= i, j <= n :: inconsistent( LS i, LS j ) =  Definitions

6 Global State Recording CS 5204 – Operating Systems6 Marker­Sending Rule for a Process p: for (each channel c, incident on, and directed away from p) { p sends one marker along c after p records its state and before p sends further messages along c; } Marker­Receiving Rule for a Process q: if (q has not recorded its state) then { q records its state; q records the state of c as the empty sequence; } else { q records the state of c as the sequence of message received along c after q's state was recorded and before q received the marker along c. } Global­State­Recording Algorithm

7 Global State Recording CS 5204 – Operating Systems7 p empty q state A state C S0S0 p records its state (A) and sends marker M on channel p M empty q state A state C S1S1 before receiving the marker, q changes its state and sends message D. p M D q state A state D S2S2 q receives the marker and records its state (D) and the incoming channel as empty; q send marker M' on its outgoing channel. p empty M’ q state B state D S3S3 on receiving the marker, p records the channel as having message D p empty D q state A state D recorded state

8 Global State Recording CS 5204 – Operating Systems8 Snapshot/State Recording Example M = Marker p 500 q r c3 c4 c2 c1

9 Global State Recording CS 5204 – Operating Systems9 Snapshot/State Recording Example (Step 1) p 490 q r c3 c4 c2 c1 M

10 Global State Recording CS 5204 – Operating Systems10 Snapshot/State Recording Example (Step 2) p 490 q r c3 c4 c2 c M M 25

11 Global State Recording CS 5204 – Operating Systems11 Snapshot/State Recording Example (Step 3) p 470 q r c3 c4 c2 c1 20 M M 25

12 Global State Recording CS 5204 – Operating Systems12 Snapshot/State Recording Example (Step 4) p 490 q r c3 c4 c2 c1 M 25

13 Global State Recording CS 5204 – Operating Systems13 Snapshot/State Recording Example (Step 5) 485 p 515 q r 500 c3 c4 c2 c1


Download ppt "Uncoordinated Checkpointing The Global State Recording Algorithm."

Similar presentations


Ads by Google