Presentation is loading. Please wait.

Presentation is loading. Please wait.

A Polynomial-time Tree Decomposition for Minimizing Congestion

Similar presentations


Presentation on theme: "A Polynomial-time Tree Decomposition for Minimizing Congestion"— Presentation transcript:

1 A Polynomial-time Tree Decomposition for Minimizing Congestion
Chris Harrelson Kirsten (Kris) Hildrum Satish Rao

2 Multicommodity flow T2 T1 S1 T3 Congestion = 2 S3 S2
Cloud is a graph. (Undirected graph) Sources, Sinks. Route flow from source to sink. Show paths. Notice two paths use same edge. Define congestion. NP-hard to compute minimum congestion paths, but can get a log n approximation (Leighton Rao). Transition: We want something harder – oblivious routing.

3 Oblivious Routing T2 T1 S1 T3 S3 S2 Show paths for flows.
Measure of success is comparison to optimal. S3 S2

4 Problem Description Given A weighted graph
Find oblivious routing scheme That is, a set of paths for each Si Ti pair Competitive Analysis  For any set of demands, bound ratio of our congestion to congestion of optimal flow

5 Some results Leiserson ’85 – Fat trees implies O(log n) on grids
Räcke ’02 – Ratio of O(log3 n), but construction not polytime Bienkowski, Korzeniowski, and Räcke ‘03 – O(log4 n) construction and simpler O(log3 n) existence Harrelson,H,Rao ‘03 O(log2 n log log n) construction Azar, Cohen, Fiat, Kaplan and Räcke ‘03 – Linear program to find optimal oblivious scheme, not hierarchical Azar – No new bound, but give optimal scheme, and appeal to Raecke to for bound on ratio. Remember to say that at time of submission, ours was essentially the same as theirs.

6 Algorithm Outline Edge weights are size of cut

7 Tree provides lower bound
Each node of the tree is a group of nodes in graph Congestion on tree is lower bound for congestion on graph Need to mimic tree on graph with low congestion Best tree has smallest cuts

8 Example decomposition and tree
V S1 S2 S3 S4 3 2 1 4 5 6 7 S3 6 7 1 S4 2 4 5 S2 3 S1 Next slide: Using the tree

9 Ti If I had a title, this slide would be “using the tree” Si

10 Algorithm Decompose graph into clusters A step moves flow from border of one cluster to border of parent cluster First to border of sibling clusters Then to border of parent The rest of this talk: creating clusters that allow for this flow with low-congestion Result for O(log3 n) Better accounting for O(log2n log log n)

11 Need Uniform border flow
Let w(u) be the border weight of u. Then the flow from u to v is: Border nodes can all communicate. If k border nodes, each sends flow of 1/k to every border node. Getting rid of border nodes makes the problem easier. Decompose, and check if we can route the flow, if not fix decomposition.

12 Main Tool: Flow or Cut Given a set of demands we can find either
A way of routing the demands with congestion O(log2 n), or A cut such that (Follows from eg. Leighton-Rao) No flow exists with congestion, Red = demand, black = graph

13 Merging Need Uniform flow between border nodes
Start with nodes in sets of their own Is there a uniform border flow with congestion O(log2 n) ? Yes, done No, find cut Merge smaller side, repeat Number of border nodes decreases Start with a set and we are going to refine it. One level partition. Very optimistic. Everyone is a border node. Previous talk enforced an additional condition on After merge, this is a good cut; only want to sent one unit of flow out, and have one edge to do so.

14 But What If… Border nodes from higher levels still border nodes after merge Make no progress! Called: Bad Child Event Child said “No Way” to parent.

15 Bandwidth sets Child can’t do anything
Give up and send offending cut back to parent Solves child’s problem, but creates problem for higher level decomposition Could happen repeatedly! Cut, flow gap. Gave our children freedom, and they disobeyed. Need other colors. Green node will be border node will be upper level one, now extra blue nodes need to talk. The red nodes could talk, but new blue node, We fail, so make cut at upper level, cloud of clouds, with new blue nodes. My advisor calls this a bad child event, but maybe “bad parent event” would be better, since the parent has given the child an impossible task. P

16 Border Nodes from Bad Children
Bad Child Event creates new border nodes By construction, red nodes can talk to red nodes in other pieces Use max flow on smaller side to connect light blue to red Number of new border nodes is factor of log n smaller than number of old If max flow doesn’t work, we can find a cut where it does. Move border in picture? Mention pileup. Number of new nodes is *much smaller*

17 Bounding Pileup from Bad Child Events
extra load for every bad child event Only log n bad child events Total pileup: Lots more red nodes than black nodes because of the way we set our congestion bounds.

18 Total congestion Max flow: O(log n)
2 each time edge in max flow In max flow at most log n times Each child is at most ½ of parent, so O(log n) depth One multicommodity flow per level, each with congestion O(log2 n) Total: O(log3 n) + O(log n) = O(log3 n) Can get O(log2 n log log n) by charging based on piece size

19 Observations Bottom partition has done a lot more work!
allow more congestion in this case Better accounting Worst case no better So sum congestion over all levels

20 Getting down to (log2n log log n)
Need Uniform flow between border nodes Start with nodes in sets of their own Is there a uniform border flow with congestion O(log2 n) ? Yes, done No, find cut Merge smaller side, repeat Number of border nodes decreases δ(S)log n Start with a set and we are going to refine it. One level partition. Very optimistic. Everyone is a border node. Previous talk enforced an additional condition on After merge, this is a good cut; only want to sent one unit of flow out, and have one edge to do so. S

21 New edge congestion If P is parent, and S is current set, allow congestion If an edge is in sets S0 to Sm, then total congestion is

22 Overload from bad child events
O(log3 n) O(log2 log log n) On a bad child event, new border nodes route via original border nodes Number of new nodes was 1/log n, so to bound overload: Same scheme, but number of new border nodes is With each division, |P|/|S| increases Total of log n possible divisions  Overload still bounded

23 Conclusions/Future Work
Applications to preconditioners Maggs, Miller, Parekh, Ravi and Wu Notes Decomposition that makes internal connections approximately equal to external connections Use for finding communities in graphs? “That’s nice, but the answer should be log n.” (Edith Cohen) Mention R. We sent this paper to Cohen, and this is what she said…

24 The End


Download ppt "A Polynomial-time Tree Decomposition for Minimizing Congestion"

Similar presentations


Ads by Google