Presentation is loading. Please wait.

Presentation is loading. Please wait.

What is ’’hard’’ in distributed computing? R. Guerraoui EPFL/MIT joint work with. Delporte and H. Fauconnier (Univ of Paris)

Similar presentations


Presentation on theme: "What is ’’hard’’ in distributed computing? R. Guerraoui EPFL/MIT joint work with. Delporte and H. Fauconnier (Univ of Paris)"— Presentation transcript:

1 What is ’’hard’’ in distributed computing? R. Guerraoui EPFL/MIT joint work with. Delporte and H. Fauconnier (Univ of Paris)

2

3

4

5

6 What is ’’hard’’ in distributed computing?

7 Problem A is harder than problem B if any solution to A can be used to solve B B is said to be reducible to A

8 Black-box reductions Grey-box reductions Roadmap

9 B A Black-box reduction

10 Distributed system p1 p2 p3

11 Compare&Swap Register Queue Which one is harder?

12 In particular Register : read() and write(x) Queue : enq(x) and deq() Compare&Swap : c&s(x,y)

13 Register execution p1 p2 p3 write(a) -> ok read() -> b write(b) -> ok

14 Queue execution p1 p2 p3 enq(0) -> ok deq() -> 0 enq(1) -> ok

15 C&S execution p1 p2 p3 c&s( ,1) ->  c&s( ,2) -> 1 c&s( ,3) -> 1

16 Black-box reductions: some established results Grey-box reductions Roadmap

17 SRSW-Safe-Binary-Register MRMW-Atomic-M-Register All registers are equivalent (L86) NB. They are clearly not equivalent if we consider (memory) complexity (L86, CDG06)

18 Compare&Swap Register Queue Which one is harder?

19 The consensus benchmark One operation propose() All operations return the same value, and this has to be one of the values proposed

20 Consensus execution p1 p2 p3 prop(0) -> 0 prop(1) -> 0

21 Consensus number (H91) The consensus number of an object is the maximum number of processes among which the object implements consensus

22 Compare&Swap Register Queue Test&Set … Fetch&Add Snapshot (1) (2) ()() (3)

23 Consensus with registers? p1(0) p2(1) write(0) -> ok write(1) -> ok read() -> 0 read() -> 1

24 Consensus with registers? P(0) Q(1) write(1) -> ok read() -> 1 crash

25 Queue execution p1 p2 p3 enq(0) -> ok deq() -> 0 enq(1) -> ok

26 p1 w(0) deq() -> winner Return(0) R1 Q p2 w(1) deq() -> loser Return(0) R2 Q 2-Consensus with queues r()->0 R2

27 p1 w(0) deq() -> winner Return(0) R1 Q p2 w(1) deq() -> loser R2 Q 3-Consensus with queues? p3 w(0) deq() -> loser R1 Q

28 C&S execution p1 p2 p3 c&s( ,1) ->  c&s( ,2) -> 1 c&s( ,3) -> 1

29 P1(1) c&s( ,1) ->  Return(1) C&S P2(2) Return(1) C&S 3-Consensus with c&s c&s( ,2) -> 1 P3(3) Return(1) C&S c&s( ,3) -> 1

30 Consensus hierarchy For any integer k, there is an object with consensus number k An object with consensus number  is said to be universal

31 Black-box reductions: some established results Grey-box reductions: some new results Roadmap

32 The traditional notion of black-box reduction classifies objects, assuming these objects were available What if the objects are not available?

33 Compare&Swap Register Queue Test&Set … Fetch&Add Snapshot (1) (2) ()() (3)

34 Registers cannot implement consensus,…in an asynchronous system (FLP85,LA87,DLS86,H91)

35 Consensus with registers? p1(0) p2(1) write(0) -> ok write(1) -> ok read() -> 0 read() -> 1

36 Consensus with registers? p1(0) p2(1) write(1) -> ok read() -> 1 crash

37 Consensus with registers and a failure detector p1(0) p2(1) suspected(p1) crash Return(1)

38 Consensus with registers and a failure detector p1(0) p2(1) write(0) -> ok read() -> 0 Return(0)

39 Consensus Weakest failure detector (encapsulating timing assumptions) Register

40 Failure detector A distributed oracle that provides each process with information about the status correct/failed of other processes A failure detector is implemented with timing assumptions A failure detector A is harder than B if A can emulate B

41 Compare&Swap Queue Test&Set Fetch&Add Consensus Weakest failure detectors Register

42 Classic result (CHT92,LH94,GK04) The weakest failure detector to implement consensus (among any number of processes) with registers is 

43 (p1) p1 p2 p3 Failure detector  (p3) (p2) (p1)(p2) (p3)

44 Compare&Swap:  Register Queue? Test&Set? … ? Fetch&Add? (1) (2) (N) … ?

45 The weakest failure detector to implement any object that can solve consensus among at least 2 processes is  Less classic result (DFG05)

46 Compare&Swap Queue Test&Set Fetch&Add  Consensus All objects are equivalent

47 Step 1 Consider a pair of processes {p,q} :  {p,q} outputs at each process of {p,q} a leader (might not be in {p,q} )  {p,q} is the weakest to implement a consensus object shared by {p,q} (CHT92,LH94,GK04)

48 s q r Failure detector  {p,q} (q) (r) p (p) (r)

49  {p,q} pr q

50 Step 2 * (  {p,q}  {p,q}) = 

51 Emulating  with * (  {p,q}  {p,q}) Processes periodically exchange  {p,q} and (1) Build a digraph of leaders (2) Extract the sub-digraph of accessible leaders (3) Ouput a process in the sink of the super-digraph of strongly connected components

52 * (  {p,q}  {p,q}) p s q r

53 q->r at p if p knows r is the leader of q: Phase 1 pr q The graph might contain faulty processes

54 q is removed from p’s graph if q is not accessible from p Phase 2 pr q The graphs have only correct processes but might be different

55 p extracts the sink of its digraph of strongly connected components Phase 3 All digraphs of strongly connected components eventually have the same sink (we use here the property of  {p,q})

56 Compare&Swap Queue Test&Set Fetch&Add  Consensus (Almost) All objects are equivalent

57 If objects are given as black- boxes, they are different If we can extract from the objects the failure information needed to implement them, then they are all equivalent (and universal) Reductions (black-box vs. grey box)

58

59 Object A is harder than object B if the weakest failure detector to implement A implements B Grey-box reduction

60 B A FD(A)

61 The weakest failure detector to boost the consensus number of an object from level k to k+1 is  Conjecture (Neiger)

62 (p1) p1 p2 p3 Failure detector  (p1,p3) (p2) (p1)(p2) (p1,p3)

63 (1-set) consensus 2-consensus 1-consensus 2-set consensus Impossible

64 (1-set) consensus 2-consensus 1-consensus 2-set consensus Same weakest failure detector  Conjecture

65


Download ppt "What is ’’hard’’ in distributed computing? R. Guerraoui EPFL/MIT joint work with. Delporte and H. Fauconnier (Univ of Paris)"

Similar presentations


Ads by Google