12.07.2015 Views

Unreliable Failure Detectors for Reliable Distributed Systems

Unreliable Failure Detectors for Reliable Distributed Systems

Unreliable Failure Detectors for Reliable Distributed Systems

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

240 T. D. CHANDRA AND S. TOUEGEvery procese p executes the foliowin~procedurevp4-(L,l,...VP(P]4- IJpAP t VPpropose,l){p’s estimateof the pruposed values}Phase 1: {astmchnmous rounds r~, 1< rP < n – 1}<strong>for</strong>rptltorb-lsend (rP, AP, p) to allwait until ~q : received (rp, Aq, q) or ~ ~ 9P] {que~ the ~ailum detector}nwgsP(rP] t {(rp,Aq,II)I r-+ed (rp, AQ~ q)}Apt(L, L,...,l)<strong>for</strong>k+ ltonif Vp[k] = 1 and 3(rP, Aq,q) E msgsp[rP]Vp[k] t Aq[k]with A~[k] # 1 thenAP[k] + AQ[k]Pheee 2: send VP to allwait until ~q : received VQ or q 6 ‘3P] {que~ the faike detector}lastm9gsP t {Vq I received VQ}<strong>for</strong>ktl tonif WQ G hmtnasgsp with Vq[k] = 1 then Vp[k] t 1Phase 3: decide( first non-l component of Vp)FIG.5. Solving Consensus using any Q c 9.The algorithm runs through three phases. In Phase 1, processes execute n – 1asynchronous rounds (rP denotes the current round number of process p ) duringwhich they broadcast and relay their proposed values. Each process p waits untilit receives a round r message from every process that is not in 9P, be<strong>for</strong>eproceeding to round r + 1. Note that while p is waiting <strong>for</strong> a message from q inround r, it is possible that q is added to 9P. If this occurs, p stops waiting <strong>for</strong> q‘smessage and proceeds to round r + 1.By the end of Phase 2, correct processes agree on a vector based on theproposed values of all processes. The ith element of this vector either containsthe proposed value of process pi or 1. We will show that this vector contains theproposed value of at least one process. In Phase 3, correct processes decide thefirst nontrivial component of this vector.Let R = (F, H9, 1, S, T) be any run of the algorithm in Figure 5 using9 G Y in which all correct processes propose a value. We have to show that thetermination, uni<strong>for</strong>m validity, agreement and uni<strong>for</strong>m integrity properties ofConsensus hold.Note that VP[q] is p‘s current estimate of q‘s proposed value. Furthermore,AP[q] = Uqat the end of round r if and only if p receives Vq, the value proposedby q, <strong>for</strong> the first time in round r.LEMMA 6.1.1. For all p and q, and in all phases, VP[q] is either v~ or 1.PROOF. Obvious from the algorithm. •lLEMMA 6.1.2. Eveiy correct process eventual~ reaches Phase 3.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!