1 / 12

The Model

channel. node. The Model. Node properties: No shared memory No global clock. Channel properties: FIFO loss free non-duplicating. C1:transfer $50. C1:empty. C1:empty. $500. $450. $450. $200. $200. $250. C2:empty. C2:empty. C2:empty. The Problem.

santa
Télécharger la présentation

The Model

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. channel node The Model Node properties: • No shared memory • No global clock • Channel properties: • FIFO • loss free • non-duplicating

  2. C1:transfer $50 C1:empty C1:empty $500 $450 $450 $200 $200 $250 C2:empty C2:empty C2:empty The Problem

  3. Distributed Snapshot (Global State Recording) Problems: • recording a “consistent” state of the global computation • checkpointing for fault tolerance (rollback, recovery) • testing and debugging • monitoring and auditing • 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

  4. Definitions Local State and Actions: local state: LSi message send: send(mij ) message receive: rec(mij ) time: time(x) send(mij )  LSi iff time(send(mij )) < time(LSi ) rec(mij )  LSj iff time(rec(mij )) < time(LSj ) Predicates: transit(LSi , LSj ) = {mij | send(mij )  LSi !( rec(mij )  LSj ) ) } inconsistent(LSi , LSj ) = {mij | !(send(mij )  LSi )  rec(mij )  LSj ) } Consistent Global State:  i,  j : 1 <= i, j <= n :: inconsistent( LSi , LSj ) = 

  5. Global­State­Detection Algorithm 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 begin q records its state; q records the state of c as the empty sequence; end 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. Detecting a Stable Property begin record a global snapshot, S*; test for the stable property in S*; end;

  6. empty M M M S3 S0 S2 S1 q q q q p p p p empty empty M’ D state A state A state A state B state D state D state C state C empty recorded state q p D state A state D p records its state (A) and sends marker M on channel before receiving the marker, q changes its state and sends message D. q receives the marker and records its state (D) and the incoming channel as empty; q send marker M' on its outgoing channel. on receiving the marker, p records the channel as having D

  7. c1 500 500 p q c2 c4 c3 r = Marker M 500 Snapshot/State Recording Example

  8. M 10 c1 470 490 p q c2 20 c4 c3 10 r 500 Snapshot/State Recording Example (Step 1)

  9. c1 480 490 p q c2 M c4 20 M c3 10 25 r 475 Snapshot/State Recording Example (Step 2)

  10. 20 c1 480 470 p q c2 M c4 20 c3 25 r M 485 Snapshot/State Recording Example (Step 3)

  11. c1 500 490 p q c2 c4 c3 25 r M 485 Snapshot/State Recording Example (Step 4)

  12. Snapshot/State Recording Example (Step 5) c1 500 515 p q c2 c4 c3 r 485

More Related