Presentation is loading. Please wait.

Presentation is loading. Please wait.

Distributed, Self-stabilizing Placement of Replicated Resources in Emerging Networks Bong-Jun Ko, Dan Rubenstein Presented by Jason Waddle.

Similar presentations


Presentation on theme: "Distributed, Self-stabilizing Placement of Replicated Resources in Emerging Networks Bong-Jun Ko, Dan Rubenstein Presented by Jason Waddle."— Presentation transcript:

1 Distributed, Self-stabilizing Placement of Replicated Resources in Emerging Networks Bong-Jun Ko, Dan Rubenstein Presented by Jason Waddle

2 Overview 1.Problem Resource allocation in a network 2.Solution Asynchronous distributed coloring protocol 3.Analysis 1.Convergence 2.Quality of approximation 3.Performance

3 Resource Allocation Distribute resources in a network fairly, homogenously – all resource types nearby each node –File replica distribution –Distributed computation –Channel allocation in wireless networks

4 Requirements Scalable Dynamic Asynchronous –Don’t assume coordinated clocks Symmetric –Every node runs same algorithm, no special roles Local –Nodes use only local information –Avoid long-distance communication

5 Resource Allocation Model Network: undirected connected graph G = (V,E), |V| = n Edge weights w(e) for e 2 E –Model latency Colors  = {c 1, c 2, …, c k } –Model resources Vertex color function C : V !  –Assignment of resources to nodes

6 Example Network 10 5 17 8 2 10

7 Multiple Resources? 10 5 17 8 2 10

8 Yes. 10 5 17 8 2 10 0 0 0

9 Notation (1/2) Distance d(x,y) = sum of weights on shortest path from x to y –symmetric color of node x at time t: C t (x) distance to color at time t: d t (x,c i ) –d t (x,c i ) = min v {d(x,v) | C t (v) = c i } –d t (x,C t (x)) = 0 –d t (x,c i ) = 1 if no node has color c i

10 Notation (2/2) Distance to closest node of same color at time t:  t (x) –  t (x) = min v {d t (x,v) | C t (x) = C t (v) and v  x}

11 Optimizated Coloring (1/2) Want to assign colors to optimize one of: –Minimize max x max i  C t (x) d t (x,c i ) So nobody has it bad –Minimize  x  i  C t (x) d t (x,c i ) Good on average –Maximize  x  t (x) Separate resources of same type

12 Optimized Coloring (2/2) These problems are NP-Hard even with global information –so we’ll approximate

13 Asynchronous Distributed Coloring Protocol (ADC) Decentralized asynchronous protocol Each node –maintains information about colors of nearby nodes –changes its own color to contribute to optimization –without causing deadlock or livelock

14 Local Information Nodes are working with old, possibly faulty information d’ t (x,c i ) is the distance to the closest node with color c i that node x knows of Similarly,  ’ t (x) is the nearest known node of the same color

15 Stability Node x is locally stable at time t if d’ t (x,c i ) ·  ’ t (x) for all 1 · i · k –x perceives that all other colors closer to x than any other node of x’s color Node x is stable at time t if d t (x,c i ) ·  t (x) for all 1 · i · k –all other colors actually are closer to x than any other node of x’s color The graph coloring is stable when all nodes are stable

16 Color Change Rule (1/2) Locally stable nodes don’t change color a locally unstable node x will try to change to color c i that satisfies d’ t (x,c i ) ¸ d’ t (x,c j ) for all 1 · j · k –x changes to furthest color –increases  ’ t (x), decreases  i d’ t (x,c i ) –does not increase max i d t (x,c i )

17 Color Change Rule (2/2) x y

18 x y

19 Distance Propagation Use modified Bellman-Ford, Colored Bellman- Ford (CBF) –maintain distances for closest two nodes of each of the k colors –updates sent to neighbors when local distance estimates change CBF messages quickly stop after graph becomes stable Side-benefit: how to route to each color How does it handle distance increases?

20 CBF Lag x y d’(x,c 1 ) = 5 d’(x,c 2 ) = 1 5

21 CBF Lag x y d’(y,c 1 ) = 5 d’(y,c 2 ) = 1 5

22 CBF Lag x y 5

23 x y 5 CBF

24 CBF Lag x y d’(x,c 1 ) = 1 d’(x,c 2 ) = 5 5

25 Asynchronous Color Change Need to prevent livelock and deadlock Need to guarantee progress –want  t’ (x) >  t (x) when x changes color between times t and t’

26 Monotonicity Can show that  t ’(x) >  t (x) when x changes from c 1 to c 2 if we have: 1.there is a node other than x at distance  ’ t (x) from x that is color c 1 at time t’ –ensuring  t (x) ·  ’ t (x) 2.there is no node of color c 2 within distance  ’ t (x) of x at time t’ –ensuring  t (x,c 2 ) >  ’ t (x) –Protocol should provide these guarantees

27 Asynchronous Color Change 3-way handshake to change color Four types of messages 1.request – x: I want to be color c 2 2.accept – y: x change to c 2 is OK 3.reject – z: x change to c 2 is not OK 4.decision – x: I did not change to c 2

28 Asynchronous Color Change When x wants to change from c 1 to c 2 i.e., when  ’ t (x) < d’ t (x,c 2 ) –x sends a request to all nodes at distance  t (x) or less: x’s time disk –contains x, c 1, c 2, z of color c 1 –asks one c 1 node, z, to stay c 1 –asks nobody to change to c 2

29 Asynchronous Color Change When y receives request(x,c 1,c 2,z) Reject if: –y is color c 2 –y=z (i.e., x thinks y is color c 1 ) but y is not color c 1 Accept otherwise, until y receives decision: –y prohibited from changing to c 2 –if y = z, y prohibited form changing from c 1

30 Asynchronous Color Change if any node rejects, x aborts color change if all nodes accept, c changes color in both cases, x sends a decision message indicating the choice

31 Livelock / Deadlock x and y are both color c 1, both want to change color just reject each other? prevent each other from improving: livelock hold others’ request until they get their own accept/reject? deadlock cannot just break ties –  ’ t (x) < d(x,y) <  ’ t (y)

32 Livelock / Deadlock Impose a strict ordering on nodes Keep outstanding requests in three sets: –stalling: requests that don’t conflict –master: conflicting requests with higher priority –slave: conflicting requests less priority

33 Node State Diagram Stalled Moving

34 Node State Diagram Stalled Moving request(y): if bad, reject else accept, y ! stalling

35 Node State Diagram Stalled Moving Unstable, no conflict REQUEST

36 Node State Diagram Stalled Moving Request(y) & Conflict if y > x, accept and y ! master else y ! slave

37 Node State Diagram Stalled Moving All accepted & master empty: reject all slaves, send decision If rejected: accept all slaves, send decision

38 Convergence (1/3) Map network state to vectors –V(t) = lexicographically ordered: V(t) = V(t’) = V(t) < V(t’) means 9 j, v j < w j and v i = w i for 1 · i < j

39 Convergence (2/3) if x is the only node that changes color between times t and t’ then V(t) < V(t’) protocol guarantees monotonicity: –  t (x) <  t’ (x) if another node y has  t (y) >  t’ (y) then  t (y) >  t (x) –only values “right” of  t (x) in V(t) decrease hence V(t) < V(t’)

40 Convergence (3/3) x y

41 x y

42 Quality of Approximation (1/3) Define the super-optimal distance –d opt (x) = the distance to the kth closest node to x (including x) –if those k nodes have different colors, x can reach all colors in distance at most d opt (x) if the coloring is stable, then d t (x,c i ) · 3d opt (x) for all x and c i –this bound is tight

43 Quality of Approximation (2/3) y d opt (y) = 1 d(y,c 3 ) = 3

44 Quality of Approximation (3/3) Let D k (x) be the minimum distance from x to a node that is k hops from x –then d t (x,c i ) · D k (x) for all c i  C(x)  t (x) ¸ d opt (x) in a stable coloring

45 Performance Measured by simulation Graph built by adding edges uniformly –extra random edges added until graph is connected Edge weights uniform from [1,10] Average degree between 4.5 and 5.5 For given parameters, test 100 random graphs and take the average

46 Convergence Time

47 Color Changes / Node

48 Messages / Node

49 Max d(x,c i ) / d opt

50 Max d(x,c i ) / d opt CD

51  x) / d opt (x)


Download ppt "Distributed, Self-stabilizing Placement of Replicated Resources in Emerging Networks Bong-Jun Ko, Dan Rubenstein Presented by Jason Waddle."

Similar presentations


Ads by Google