Presentation is loading. Please wait.

Presentation is loading. Please wait.

Online Oblivious Routing Nikhil Bansal, Avrim Blum, Shuchi Chawla & Adam Meyerson Carnegie Mellon University 6/7/2003.

Similar presentations


Presentation on theme: "Online Oblivious Routing Nikhil Bansal, Avrim Blum, Shuchi Chawla & Adam Meyerson Carnegie Mellon University 6/7/2003."— Presentation transcript:

1 Online Oblivious Routing Nikhil Bansal, Avrim Blum, Shuchi Chawla & Adam Meyerson Carnegie Mellon University 6/7/2003

2 Shuchi Chawla, Carnegie Mellon University 2 The Routing Problem Have: An underlying network; Requests arrive in succession Want: A “distributed” routing algorithm minimizing congestion Congestion = max e (flow on edge e) Congestion = 2

3 Shuchi Chawla, Carnegie Mellon University 3 The Routing Problem Have: An underlying network; Requests arrive in succession Want: A “distributed” routing algorithm minimizing congestion Congestion = max e (flow on edge e) Congestion = 1 In hindsight:

4 Shuchi Chawla, Carnegie Mellon University 4 The Routing Problem Have: An underlying network; Requests arrive in succession Want: A “distributed” routing algorithm minimizing congestion Congestion = max e (flow on edge e) Congestion = 2 Competitive Ratio = 2 (cost of routing)

5 Shuchi Chawla, Carnegie Mellon University 5 Oblivious vs. Adaptive Routing  Adaptive Routing: For every request, pick a route based on all previously seen requests log-competitive centralized & distributed algos  Oblivious Routing: Pick a route for every possible request in the beginning, and use it throughout Advantages - Easy to implement (hard-code routes) - Distributed

6 Shuchi Chawla, Carnegie Mellon University 6 Oblivious Routing Algorithms  [Borodin Hopcroft ’85]: Deterministic algorithms perform very poorly  Solution: Randomized algorithms For every request, output a probability distribution on paths  a flow Henceforth, A Routing  A collection of unit flows (one for each request) Congestion = 1.5

7 Shuchi Chawla, Carnegie Mellon University 7 Oblivious Routing Algorithms  Until recently, good randomized algorithms known only for special graphs Lattices, Hypercubes [ValiantBrebner’81, Leighton’92]  [Racke’02]: For every graph, 9 an oblivious routing with congestion less than O(log 3 n)  Can we find it? [Azar et al’03]: Polytime algo to find an oblivious routing that has minimum worst case congestion In particular, achieve Racke’s bound “Min-Max Optimal Routing”

8 Shuchi Chawla, Carnegie Mellon University 8 The Min-Max Optimal Routing  Given graph G, and D – the set of demands with optimal (hindsight) congestion = 1  Min-Max Optimal Routing  G = argmin r max D (congestion of r on d) Worst case congestion of r  Azar et al find this routing in poly-time  Racke shows that in every graph, congestion of  G = O(log 3 n)

9 Shuchi Chawla, Carnegie Mellon University 9 Can we do better?  Suppose we do not get the worst case demands… - Do not want to optimize over the entire set D - In hindsight if the possible set of demands is D’, we want r * = argmin r max D’ (cong. of r on d)  Formally: Every day we get demands d t Want to minimize the objective  t (cong. of r on d t ) i.e., want congestion to always be low, but only on the observed demands d t ; not the entire set D but, allow it to be high very occassionally

10 Shuchi Chawla, Carnegie Mellon University 10 Online Oblivious Routing  Observe and serve demands every day  Each morning, pick an “Oblivious Routing of the day” based on previous demands  Based on observed trends, “adjust” the routing to better suit the observed traffic  Still oblivious – we pick the routing every day without knowing the future demands Cost(r) =  t (cong. of r on d t ) Cost(ALG) =  t (cong. of r t on d t )

11 Shuchi Chawla, Carnegie Mellon University 11 The Static Optimal Routing  Optimal Routing for the given set of demands r * = argmin r Cost(r) (Not allowed to change over time, unlike the algorithm)  We want ALG to be almost as good as the Static Optimal Routing Cost(ALG) = (1+  ) Cost(r * ) + (small factors)  Note: Min-Max Opt may not be competitive!  Static Opt is at least as good as the Min-Max Opt, but can be much better!

12 Shuchi Chawla, Carnegie Mellon University 12 Routing and Linear Programming  For given demands d, and routing r, congestion on edge e = d.r(e) We want min r 2 R max e d.r(e) or min t : t ¸ d.r(e) 8 e  R is a convex polyhedron: r should satisfy inflow=outflow at every node (except source and sink)  Therefore, given demands, the best flow is given by a linear program  How about Min-Max Opt flow? min t : t ¸ d.r(e) 8 e,d [Azar et al]: Ellipsoid with a separation oracle – compute worst case demands at every step

13 Shuchi Chawla, Carnegie Mellon University 13 Online Oblivious Routing and Online LP  Online Linear Programming At every step, pick a point x t from convex set F Receive linear cost function g t cost at step t = g t (x t )  Online Oblivious Routing At every step, pick a point r t from R Receive demands d t cost at step t = max e d t.r t (e)

14 Shuchi Chawla, Carnegie Mellon University 14 Online Oblivious Routing and Online LP  Online Linear Programming At every step, pick a point x t from convex set F Receive linear cost function g t cost at step t = g t (x t )  Online Oblivious Routing At every step, pick a point r t from R Receive demands d t and edge e t cost at step t = d t.r t (e t ) Worst congested edge

15 Shuchi Chawla, Carnegie Mellon University 15  Knowing the edge e t only hurts us OPT’s flow on edge e t is smaller than its congestion ALG’s flow on edge e t is equal to its congestion OPT’s cost decreases, while ALG’s stays the same Online Oblivious Routing and Online LP

16 Shuchi Chawla, Carnegie Mellon University 16 Solving the Online Linear Program  Based on the work of [Zinkevich’03] and [Kalai-Vempala’02]  At every step: 1. Gradient Descent Move against the cost vector gradient y t+1 = x t -  c t (Natural Learning Strategy) 2. Projection If y t+1 is infeasible, orthogonally project it back to R x t+1 = argmin x 2 F |y t+1 -x| (We use Semi-Definite Programming)

17 Shuchi Chawla, Carnegie Mellon University 17 Solving the Online Linear Program  We get the following guarantee: Cost(ALG) · Cost(OPT) + n 3  T  After n 6 /  2 steps, Cost(ALG) · (1+  ) Cost(OPT)

18 Shuchi Chawla, Carnegie Mellon University 18 Extensions  Change the routing every  days the rate of convergence slows down by a factor of   Add extra constraints to the LP: No individual day’s cost should exceed some prespecified value No individual day’s cost should cross twice the Min-Max Opt cost

19 Shuchi Chawla, Carnegie Mellon University 19 Questions?

20 Shuchi Chawla, Carnegie Mellon University 20 Can we do any better?  As time progresses, observe trends in traffic  Perhaps “adjust” the routing periodically to better suit the observed traffic  Still oblivious – we adjust the routing without seeing any future demands “Online Oblivious Routing”

21 Shuchi Chawla, Carnegie Mellon University 21 The online setting  Every morning, pick “oblivious routing of the day”  Use this for traffic throughout the day  At the end of the day, modify routing according to traffic seen during the day  Compare against the “static” optimal routing --  not allowed to change every day

22 Shuchi Chawla, Carnegie Mellon University 22 The online setting  T days  Demands on day i ! d i  Congestion of routing r i on day i C(r i,d i ) = max e (r i.d i )  Cost of algorithm on day i = C(r i,d i )/C OPT (d i ) Congestion of optimal offline routing for d i  Total cost =  T (cost on day i) Old definition of competitive ratio

23 Shuchi Chawla, Carnegie Mellon University 23 The online setting  Cost of algorithm on day i = competitive ratio of r i on d i  Total cost of algorithm =  T (cost on day i)   = argmin r  T (c. r. of r on d i )  We want cost(ALG) · (1+  ) cost(  ) + O(poly)  Racke’s result shows that cost(  ) · O(Tlog 3 n)

24 Shuchi Chawla, Carnegie Mellon University 24 Routing as Online Convex Programming  Online Convex Programming At every step, pick a point x t from convex set F Receive linear cost function g t cost at step t = g t (x t )  The Routing Problem At every step, pick a point r t from F Receive demands d t cost at step t = ( max e d t.r t (e) )/ C OPT (d t ) set of all feasible routings

25 Shuchi Chawla, Carnegie Mellon University 25 Routing as Online Convex Programming  Online Convex Programming At every step, pick a point x t from convex set F Receive linear cost function g t cost at step t = g t (x t )  The Routing Problem At every step, pick a point r t from F Receive demands d t and edge e t cost at step t = ( d t.r t (e t ) )/ C OPT (d t ) set of all feasible routings

26 Shuchi Chawla, Carnegie Mellon University 26 Routing as Online Convex Programming  Knowing the edge e t only hurts us OPT’s flow on edge e t is smaller than its congestion ALG’s flow on edge e t is equal to its congestion ALG’s new cost is higher than its original c. r.

27 Shuchi Chawla, Carnegie Mellon University 27 Why Gradient Descent?  Natural “learning” strategy  \sum_t y^t.c^t = \sum_t y^{t-1}-\eta c^{t-1}

28 Shuchi Chawla, Carnegie Mellon University 28 The Projection Step  x t+1 = argmin x 2 F |y t+1 -x|  Quadratic Program => We cannot solve this exactly  Using SDP (Ellipsoid algorithm), solve it to within a (1+  )-approximation

29 Shuchi Chawla, Carnegie Mellon University 29 Putting it all together  gradient descent gives us blah  Projection gives us blah  => we converge in blah time etc

30 Shuchi Chawla, Carnegie Mellon University 30  simplifying assumption:  henceforth assume that the in hindsight routing has congestion 1. so comp ratio = congestion of routing

31 Shuchi Chawla, Carnegie Mellon University 31 Routing Algorithms  [1985] deterministic routing is bad  solution: randomized algorithms  == prob distribution on paths  == a flow since congestion is a linear function

32 Shuchi Chawla, Carnegie Mellon University 32 The Routing Problem Have: An underlying network; Requests arrive in succession Want: A “distributed” routing algorithm minimizing congestion Congestion = max e (flow on edge e) flow Congestion = 1.5 A Routing  A collection of flows (one for each pair of nodes)

33 Shuchi Chawla, Carnegie Mellon University 33 The Oblivious Routing Problem  Determine a routing before seeing requests Congestion A (D) optimal offline cong  Competitive ratio = max D All-knowing adversary any  How well can we do without knowing the demands?  Easy to implement (hard-code routes)  Distributed

34 Shuchi Chawla, Carnegie Mellon University 34 special case algorithms  awerbuch et al’s work  lattice etc

35 Shuchi Chawla, Carnegie Mellon University 35 How good is an Oblivious Routing?  [Racke‘02] There exists an oblivious routing that is log 3 n competitive  Can we find it?  [Azar’03] We can find in polynomial time an oblivious routing that is as good as the best oblivious routing In particular, achieve Racke’s bound Use the Ellipsoid method


Download ppt "Online Oblivious Routing Nikhil Bansal, Avrim Blum, Shuchi Chawla & Adam Meyerson Carnegie Mellon University 6/7/2003."

Similar presentations


Ads by Google