Download presentation
Presentation is loading. Please wait.
Published byCody Sutton Modified over 9 years ago
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)
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.