1 / 7

Fault-Tolerance in Token Ring Stabilization with Two-Phase Commit Protocol

Explore the concepts of fault-tolerance in a token ring stabilization system using a Two-Phase Commit Protocol. Understand how processes handle votes, decisions, and phases to ensure reliable operation despite faults.

Download Presentation

Fault-Tolerance in Token Ring Stabilization with Two-Phase Commit Protocol

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. Lecture 4:Fault-Tolerance Anish Arora CSE 6333

  2. Token Ring Stabilization .  .  .  …  .  . 0 1 2 N-1 N begin x.0 = x.N  x.0 := (x.0 + 1 mod 2) x.0 = x.N  x.0 := x.0 + 1 ▯ x.(i+1)  x.i  x.(i+1) := x.i end where 0  i and i < N and x.i is binary valued • Binary token ring is not stabilizing • Integer token ring is stabilizing

  3. Atomic Commitment Protocol Specification • Each process casts one of two votes, Yes or No, then reaches one of two decisions, Commit or Abort, such that a process reaches a Commit decision iff all processes voted Yes • Faults may stop or restart processes

  4. Two-Phase Commit Protocol For each process j, let • ph.j be the current phase of j; ph.j is 0 initially, 1 after j has cast its vote, and 2 after j has reached a decision • v.j be the vote of j; v.j is true iff the vote is Yes • d.j be the decision of j; d.j is true iff the vote is Yes • up.j be the current status of j; up.j is true iff j is executing

  5. Two-Phase Commit Protocol program Two-phase constant X : set of ID; c: X; var ph: array X of 0..2; up, v, d: array X of Boolean; process j: X; parameter k: X; begin j=c  up.j  ph.j = 0  ph.j , v.j := 1 , ? ▯ j=c  up.j  ph.j = 1 ∧ (l  X: up.l  ph.l = 1  v.l)  ph.j , d.j := 2 , true ▯ j=c  up.j  ph.j = 1  ( l  X: up.l  ph.l=2  (ph.l=1  v.l))  ph.j , d.j := 2, false ▯ jc  up.j ∧ ph.j = 0  (up.c  ph.c=1)  ph.j , v.j := 1 , ? ▯ jc  up.j  ph.j = 0  ¬up.c  ph.j , d.j := 2, false ▯ jc  up.j  ph.j < ph.k  (up.k  ph.k = 2)  ph.j , d.j := 2, d.k end faults F true up.j := ¬up.j

  6. Two-Phase Commit Protocol Program Two-phase is F-tolerant for S, where S = ph.c=0  (j : ph.j = 0  (ph.j = 2  d.j))  ph.c=1  (j : ph.j  2  ¬d.j)  (ph.c=2  d.c)  (j : ph.j  0  v.j  (ph.j  2  d.j))  (ph.c=2  d.c)  (j : ph.j  2  ¬d.j )

  7. Impossibility of robust commit In an asynchronous system election is impossible if even one site fails (halts) Worse, agreement on a single bit-value is impossible Fisher, Lynch, Paterson

More Related