Exercices (session 1)

19
Exercices (session 1) 1

Transcript of Exercices (session 1)

Page 1: Exercices (session 1)

Exercices (session 1)

1

Page 2: Exercices (session 1)

Exercice 1

2

Page 3: Exercices (session 1)

Weak Consensus AlgorithmAlgorithm of process p with input value vbegin

write (p,v) snapshot let View = ((p1,vp1),…,(pk,vpk)) /*the view of p*/ write (p,View) snapshot let W = ((p1,Viewp1),…,(pm,Viewpm)) /*the meta-view of p*/ let View* = ∩i=1,…,m Viewpi /*smallest view in meta-view*/ if for every i ∈ [1,n] such that vi ∈ View*, Viewi ∈ W holds then decide smallest value in View* else decide ⊥

end

3

Page 4: Exercices (session 1)

0 0

11

0 0

11

Input Complex

Output Complex

4

Input/Output Complexes of Weak Consensus

⊥⊥

Figure 17: Subdivision du complexe d’entrée du consensus binaire après deux étapes.

processeurs. En revanche, pour tout nombre de processeurs, le complexe de sortie du consensusbinaire n’est pas connexe. On observe alors les faits suivants :

– D’une part, l’image par une application simpliciale d’un complexe connexe étant connexe,toute application simpliciale � d’une subdivision K de I vers O doit satisfaire �(K) = C, où C

est l’une ou l’autre des deux composantes connexes de O.

– D’autre part, � doit être compatible avec �, ce qui implique en particulier que l’imagede tout simplexe issu d’une subdivision du simplexe {(p1, 0), . . . , (pn, 0)} 2 I doit avoir pourimage le simplexe {(p1, 0), . . . , (pn, 0)} 2 O, et tout simplexe issu d’une subdivision du simplexe{(p1, 1), . . . , (pn, 1)} 2 I doit avoir pour image le simplexe {(p1, 1), . . . , (pn, 1)} 2 O.

Les deux faits ci-dessus sont en contradiction, et l’application � ne peut exister, d’où il découlepar le théorème 14 qu’il est impossible de résoudre le consensus dans un modèle asynchrone sansattente. La cause de cette impossibilité est topologique : résoudre le consensus demande detransformer par subdivision un complexe connexe en un complexe non connexe, ce qui n’est paspossible.

En guise de conclusion à cette brève introduction à l’utilisation de la topologie algébriquepour l’étude de la calculabilité en distribué, observons que la connectivité n’est pas un obstacledans le cas du consensus faible, pour lequel les processeurs ont l’option de retourner ? en valeurde sortie. En effet, comme illustré sur la figure 18, cette option « reconnecte» le complexe desortie.

11

0 0

1 1

0 0

Complexe d’entrée I Complexe de sortie O

? ?

Figure 18: Complexes d’entrée et de sortie du consensus faible binaire pour deux processeurs.Les deux processeurs ne peuvent tous deux décider ?, et donc {(�,?), (•,?)} /2 O.

53

2 rounds

Page 5: Exercices (session 1)

Questions

1. In the case of 2 processes, what is the protocol complexe P1 after one write/snapshot instruction, and what is the protocol complexe P2 after two write/snapshot instructions?

2. Explain what one can map P2 to the output complex, but not P1 (for ID-oblivious algorithms).

5

Page 6: Exercices (session 1)

V*

Intuitionmy value val my view View my meta-view W

Page 7: Exercices (session 1)

Exercice 2

7

Page 8: Exercices (session 1)

Setting• Processes occupy nodes of a graph G

• Synchronous model

• Communication by messages

• No failures

Graph G is known to every process, including the position of every other process.

8

G

p1p2 p3

p6p5p4

Page 9: Exercices (session 1)

Domination Number

A dominating set in G=(V,E) is a set D ⊆ V such that every node not in D has a neighbor in D.

Definition G has dominating number d if the minimum size of a dominating set in G is d.

9

Page 10: Exercices (session 1)

Questions1. Assume m = n possible input values. Show that k-

set agreement in G requires at least r rounds where r is the smallest integer such that Gr has dominating number ≤ k.

2. Assume m = 3 possible input values. Show that 2-set agreement in G requires at least r rounds where r is the smallest integer such that Gr has dominating number ≤ 2.

10

Page 11: Exercices (session 1)

m=3 and k=2Input configuration: v1v2…vn with vi ∈ {0,1,2}

11

For every i,j, there exists process q that is not dominated by {pi,pj}.

➥ triangle for which q does not see the difference

00001122

00011122 00011222

i i,j

j

These triangles can be glued together

Page 12: Exercices (session 1)

12

11111111

01111111

0000011100000011

00000001

00000000

0000000200000022

00000222

02222222

2222222211111112

1222222201111112

00111111

00111112

1111112201111122

00222222

11222222

Page 13: Exercices (session 1)

11111111

01111111

0000011100000011

00000001

00000000

0000000200000022

00000222

02222222

2222222211111112

12222222

00111111

11111122

00222222

11222222

0 1 2Assume existence of an algorithm. ➠ Color each node by the discarded color: ➠ Remark:

Impossible

The coloring of the border nodes is forced

Claim: There must exist a triangle with the 3 colors.

Page 14: Exercices (session 1)

d=2

Sperner’s Lemma

14

Lemma Every Sperner coloring of a triangulation of an d-dimensional simplex contains a cell colored with a complete set of colors.

d=1

Page 15: Exercices (session 1)

Proof sketch

15

u• By induction on d, deg(u)

is odd • ∑v∈V(G) deg(v) = 2 |E(G)| • triangles with 1 or 2

colors induce nodes with even degrees (0 or 2)

⇩ odd number of

3-colored triangles

V(G) = { } E(G) = { }

Page 16: Exercices (session 1)

Exercice 3

16

Page 17: Exercices (session 1)

Renaming

n processes start with unique names taken from a large name space [1,N] they must decide new unique names from a name space [1,m] as small as possible. Theorem Renaming with m = 2n-1 names is possible wait-free

17

Page 18: Exercices (session 1)

Renaming AlgorithmAlgorithm for process pi with initial name xi begin

y ← 1 /* pi will try to rename itself y */ stop ← false while stop = false do

write(xi,y) in pi’s register (erasing old value) S ← snapshot all registers let S = {(xj,yj) : j ∈ J} for some J ⊆ {1,…,n} if ∄ j ∈ J∖{i} such that y = yj then

newname ← y /* pi adopts y as new name */ stop ← true

else r ← rank of xi in {xj, j ∈ J} y ← rth integer not in {yj, j ∈ J∖{i} }

end 18

Page 19: Exercices (session 1)

Questions

1. Show that no two processes decide on the same new name

2. Show that the new names are in the range [1,2n-1]

3. Show that every correct process terminates

19