Download presentation
Presentation is loading. Please wait.
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
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.