binary self - stabilization by: sukumar ghosh presented by: ilan cohen

24
Binary Self - Stabilization By: Sukumar Ghosh Presented By: Ilan Cohen

Post on 21-Dec-2015

227 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Binary Self - Stabilization By: Sukumar Ghosh Presented By: Ilan Cohen

Binary Self - Stabilization

By: Sukumar Ghosh

Presented By: Ilan Cohen

Page 2: Binary Self - Stabilization By: Sukumar Ghosh Presented By: Ilan Cohen

Our Goal:

Show an algorithm for self-stabilization with Only Two States.

Unfortunately:

There is no deterministic Algorithm for

A ring with only two state.

Page 3: Binary Self - Stabilization By: Sukumar Ghosh Presented By: Ilan Cohen

Global criteria for the legitimate states

In each legitimate state, one privilege is present. In each legitimate state, each possible move

would again bring the system to a legitimate state.

Each privilege is present in at least one legitimate state.

For any pair of legitimate states, there exists a sequence of move transferring the system from one to another.

Page 4: Binary Self - Stabilization By: Sukumar Ghosh Presented By: Ilan Cohen

Few Simple Cases:

P1P0P0 : if (s[0],s[1])=(b,¬b) then s[0] := ¬b fi

P1: if (s[0],s[1])=(b,b) then s[1] := ¬b fi

P0 P1

P2

P0 : if (s[0],s[1],s[2])=(b,b,¬b) then s[0]:= ¬b fi

P1: if (s[0],s[1]) = (b,¬b) then s[1] := b fi

P2: if (s[1],s[2]) = (b,b) then s[2] := ¬b fi

P2 P1

P0

P3 P0 : if (s[0],s[1]) = (b,¬b) then s[0]:= ¬b fi

P1: if (s[1],s[2],s[3])=(b,b,¬b) then s[1]:= ¬b fi

P2: if (s[0],s[1],s[2])=(b,b,¬b) then s[2]:= b fi

P3: if (s[2],s[3]) = (b,b) then s[3] := ¬b fi

Page 5: Binary Self - Stabilization By: Sukumar Ghosh Presented By: Ilan Cohen

A general system:

P0

P1

P2

P3

P4

P5

P6

P2n-3

P2n-2

P2n-1

The bottom

machine

The top

machine

The x- machines

The y-

machines

Page 6: Binary Self - Stabilization By: Sukumar Ghosh Presented By: Ilan Cohen

The Algorithm For each x-machine 2i,i1..n-1

If (s[2i-2],s[2i-1],s[2i],s[2i+1]) = (b,b,¬b,b) then s[2i]:= b fi For each y-machine 2i-1,i1..n-1

If (s[2i-2],s[2i-1],s[2i],s[2i+1]) = (b,b,b,¬b) then s[2i-1]:=¬b fi For the bottom machine 0

If (s[0],s[1]) = (¬b,b) then s[0]:= b fi For the bottom machine 2n-1

If (s[2n-1],s[2n-2]) = (b,b) then s[2n-1]:=¬b fi

Page 7: Binary Self - Stabilization By: Sukumar Ghosh Presented By: Ilan Cohen

Correctness criteria Symobls

pX,pY,pT,pB denote the privileges of the x-machines ,y – machines ,Top and Bottom machine.

For Machine i, (i+2) and (i-2) are right and left neighbor

Precondition →i Post condition will be used to present the changes cause when machine i makes a move.

Page 8: Binary Self - Stabilization By: Sukumar Ghosh Presented By: Ilan Cohen

Lemma 1:No DeadlockLet’s say s[2n-1]=b

If ¬pT holds s[2n-2]= ¬b ,if (¬pX[2i] ¬pY[2i-1])i1..n-1

then (s[2i-1] s[2i-2]) s[1] s[0] pB is true.

P2n-4 P2n-2

P2n-3

P2n-1

P2n-6

P2n-5

¬b

b

¬b1

b1

¬b2

b2

Page 9: Binary Self - Stabilization By: Sukumar Ghosh Presented By: Ilan Cohen

Lemma 2.

No two adjacent machines cansimultaneous privileges

b

b

b

¬b

For each x-machine 2i,i1..n-1

If (s[2i-2],s[2i-1],s[2i],s[2i+1]) = (b,b,¬b,b) then s[2i]:= b fi

For each y-machine 2i-1,i1..n-1

If (s[2i-2],s[2i-1],s[2i],s[2i+1]) = (b,b,b,¬b) then s[2i-1]:=¬b fi

b

¬b

P2i P2i+2P2i-2

P2i-1P2i-3 P2i+1

Page 10: Binary Self - Stabilization By: Sukumar Ghosh Presented By: Ilan Cohen

Lemma 3. Propagation of pX let s[2i]=b then

1. pX[2i] ((s[2i+2],s[2i+3])=(b,¬b))2i¬pX[2i] pX[2i+2]

2. pX[2i] (s[2i+2]=s[2i+3]) 2i ¬pX[2i] ¬pX[2i+2]

3. pX[2i]((s[2i+2],s[2i+3])=(¬b,b)2i¬pX[2i] pY[2i+1]

b

¬b

For each x-machine 2i,i1..n-1

If (s[2i-2],s[2i-1],s[2i],s[2i+1]) = (b,b,¬b,b) then s[2i]:= b fi

For each y-machine 2i-1,i1..n-1

If (s[2i-2],s[2i-1],s[2i],s[2i+1]) = (b,b,b,¬b) then s[2i-1]:=¬b fi

P2i P2i+2

P2i+1 P2i+3

¬b

Page 11: Binary Self - Stabilization By: Sukumar Ghosh Presented By: Ilan Cohen

Lemma 4. Propagation of pY let s[2i+1]=b then

1. pY[2i+1]((s[2i-1],s[2i-2])=(b,b))2i+1pY[2i-1] ¬pY[2i+1]

2. pY[2i+1](s[2i-1] s[2i-2])2i+1 ¬pY[2i-1] ¬pY[2i+1]

3. pY[2i+1]((s[2i-1],s[2i-2])=(¬b,¬b))2i+1pX[2i] pY[2i+1]

For each x-machine 2i,i1..n-1

If (s[2i-2],s[2i-1],s[2i],s[2i+1]) = (b,b,¬b,b) then s[2i]:= b fi

For each y-machine 2i-1,i1..n-1

If (s[2i-2],s[2i-1],s[2i],s[2i+1]) = (b,b,b,¬b) then s[2i-1]:=¬b fi

b b

b

P2i+1P2i-1

P2i-2 P2i

¬b

Page 12: Binary Self - Stabilization By: Sukumar Ghosh Presented By: Ilan Cohen

Lemma 5 (Collision of privileges)Let pX[2i] pY[2i+3] hold, then regardless of the

order in which machines 2i and 2i+3 make their moves, and either pX[2i+2] or pY[2i+1]

P2i P2i+2

P2i+1 P2i+3

Page 13: Binary Self - Stabilization By: Sukumar Ghosh Presented By: Ilan Cohen

Lemma 6 (Reflection of privileges)(a) If pX[2n-2] 2n-2 pT then pT2n-1 pY[2n-3]

(b) If pY[1] 1 pB then pB0 pX[2]

b

b

b

¬b

For each x-machine 2i,i1..n-1

If (s[2i-2],s[2i-1],s[2i],s[2i+1]) = (b,b,¬b,b) then s[2i]:= b fi For each y-machine 2i-1,i1..n-1

If (s[2i-2],s[2i-1],s[2i],s[2i+1]) = (b,b,b,¬b) then s[2i-1]:=¬b fi

For 0 machine

If (s[0],s[1]) = (¬b,b) then s[0]:=b fi

¬b

P0

P2

P1 P3

¬b

Page 14: Binary Self - Stabilization By: Sukumar Ghosh Presented By: Ilan Cohen

Theorem 7.Within three successive moves by the machine 2i, machine(2i+2) must move at least once.

Let’s notice between two successive moves by machine 2i The states of all three neighbors must change.Let’s divide for three cases according to lemma 3.1. pX[2i] ((s[2i+2],s[2i+3])=(b,¬b))2i¬pX[2i] pX[2i+2]

b

¬b

b

¬b

For each x-machine 2i,i1..n-1

If (s[2i-2],s[2i-1],s[2i],s[2i+1]) = (b,b,¬b,b) then s[2i]:= b fi

For each y-machine 2i-1,i1..n-1

If (s[2i-2],s[2i-1],s[2i],s[2i+1]) = (b,b,b,¬b) then s[2i-1]:=¬b fi

P2i P2i+2

P2i+1 P2i+3

¬b

Page 15: Binary Self - Stabilization By: Sukumar Ghosh Presented By: Ilan Cohen

Theorem 7. contWithin three successive moves by the machine 2i, machine(2i+2) must move at least once.

2. pX[2i] ((s[2i+2],s[2i+3])=(¬b,¬b))

b

¬b

¬b

¬b

For each x-machine 2i,i1..n-1

If (s[2i-2],s[2i-1],s[2i],s[2i+1]) = (b,b,¬b,b) then s[2i]:= b fi

For each y-machine 2i-1,i1..n-1

If (s[2i-2],s[2i-1],s[2i],s[2i+1]) = (b,b,b,¬b) then s[2i-1]:=¬b fi

P2i P2i+2

P2i+1 P2i+3

¬b

b b

b

Page 16: Binary Self - Stabilization By: Sukumar Ghosh Presented By: Ilan Cohen

Theorem 8.Within three successive moves by the machine (2i+1), machine (2i-1) must move at least once.

Proof. Starting from Lemma 4, this can be proved exactly in the same way.

b

b

For each x-machine 2i,i1..n-1

If (s[2i-2],s[2i-1],s[2i],s[2i+1]) = (b,b,¬b,b) then s[2i]:= b fi

For each y-machine 2i-1,i1..n-1

If (s[2i-2],s[2i-1],s[2i],s[2i+1]) = (b,b,b,¬b) then s[2i-1]:=¬b fi

P2i-2 P2i

P2i-1 P2i+1

¬b

Page 17: Binary Self - Stabilization By: Sukumar Ghosh Presented By: Ilan Cohen

Theorem 9.In an infinite sequence of moves, every machine must move infinitely often.

Proof. Lemmas 3-6 show that the total number of privileges is nonincreasing.

Theorem 7 establishes the fact after a bounded number (at most two)

of moves by an x-machine it’s privilege is transfer to the right neighbor.

Similarly , it follows from theory 8 that after a bounded number of

moves by an y-machine it’s privilege is transfer to the left neighbor.

According to lemma 6, a pX is converted to a pY when the top machine moves, and pY converted to pX when the bottom machine moves.

Therefore in a infinite sequence of moves, each machine must move infinitely often.

Page 18: Binary Self - Stabilization By: Sukumar Ghosh Presented By: Ilan Cohen

Theorem 10.If exactly one machine of moves has a privilege then the system is stabilized

Proof. Lemmas 3-6 show that the total number of privileges is nonincreasing,

Also following from lemma 1 (no deadlock) , at least one privilege

always exists. It follows from Theorem 9 That in an infinite sequence

of moves every machine move infinitely often.

Thus the one privilege remain the only one and passes from machine

to machine.

Page 19: Binary Self - Stabilization By: Sukumar Ghosh Presented By: Ilan Cohen

Theorem 11.This Algorithm guarantees self-stabilization.

Proof. We need to demonstrate that in a finite number of moves, the number

of privileges is reduced to one.

Lemmas 3-6 show that the total number of privileges is nonincreasing.

Theorem 7 establishes the fact after a bounded number (at most two)

of moves by an x-machine it’s privilege is transfer to the right neighbor.

Similarly , it follows from theory 8 that after a bounded number of

moves by an y-machine it’s privilege is transfer to the left neighbor.

According to lemma 6, a pX is converted to a pY when the top machine moves, and pY converted to pX when the bottom machine moves.

Page 20: Binary Self - Stabilization By: Sukumar Ghosh Presented By: Ilan Cohen

Theorem 11.ContThis Algorithm guarantees self-stabilization.

Under these circumstances, it is inevitable that as long as

more than one privileges , the condition pX[2i] PY[2i+3]

hold for some I According to Lemma 5, this always leads

to the negation of one of the two privileges,

Thus the number of privileges is reduced to 1 and

according to Therefore the system is stabilized.

Page 21: Binary Self - Stabilization By: Sukumar Ghosh Presented By: Ilan Cohen

Example N=8:

0

1

0

1

1

0

0

For each x-machine 2i,i1..n-1If (s[2i-2],s[2i-1],s[2i],s[2i+1]) = (b,b,¬b,b) then s[2i]:= b fi For each y-machine 2i-1,i1..n-1If (s[2i-2],s[2i-1],s[2i],s[2i+1]) = (b,b,b,¬b) then s[2i-1]:=¬b fi For the bottom machine 0If (s[0],s[1]) = (¬b,b) then s[0]:= b fi For the bottom machine 2n-1If (s[2n-1],s[2n-2]) = (b,b) then s[2n-1]:=¬b fi

P1

P2

P0

P4

P3 P5

P6

P7

1

10

0

0

0

0 0

1

111

1

1 1 1

Page 22: Binary Self - Stabilization By: Sukumar Ghosh Presented By: Ilan Cohen

Remarks In this algorithm every general machine is required to

read the states of three of its neighbor, the required atomicity is therefore large.

This article proved for central demon, because of the property of noninterference (Lemma 2), it is tempting to conclude that the proposed algorithm works with distributed algorithm, however because of the large atomicity this issue if far more complex and needs careful examination.

This Topology appear to be the sparsest topology in which self-stabilization is possible with binary machine and deterministic moves.

Page 23: Binary Self - Stabilization By: Sukumar Ghosh Presented By: Ilan Cohen
Page 24: Binary Self - Stabilization By: Sukumar Ghosh Presented By: Ilan Cohen

References

G.M. Brown , M.G. gouda and C.L. Wu, Token systems that self-stabilize.

J.E. Burns M.G. Gouda and R. Miller , On relaxing interleaving assumption.