1 / 20

Online Oblivious Routing

Online Oblivious Routing. Nikhil Bansal, Avrim Blum, Shuchi Chawla & Adam Meyerson Carnegie Mellon University 6/7/2003. The Routing Problem. Have: An underlying network; Requests arrive in succession Want: A “distributed” routing algorithm minimizing congestion

mdupre
Download Presentation

Online Oblivious Routing

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. The Routing Problem Have:An underlying network; Requests arrive in succession Want:A “distributed” routing algorithm minimizing congestion Congestion = maxe (flow on edge e) Congestion = 2 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 = maxe (flow on edge e) In hindsight: Congestion = 1 Shuchi Chawla, Carnegie Mellon University

  4. The Routing Problem Competitive Ratio = 2 (cost of routing) Have:An underlying network; Requests arrive in succession Want:A “distributed” routing algorithm minimizing congestion Congestion = maxe (flow on edge e) Congestion = 2 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 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 Congestion = 1.5 Henceforth, A Routing  A collection of unit flows (one for each request) 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(log3n) x OPT • 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” Shuchi Chawla, Carnegie Mellon University

  8. The Min-Max Optimal Routing Worst case congestion of r • Given graph G, and D – the set of demands with optimal (hindsight) congestion = 1 • Min-Max Optimal Routing rG = argminr maxD (congestion of r on d) • Azar et al find this routing in poly-time • Racke shows that in every graph, congestion of rG = O(log3n) 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* = argminr maxD’ (cong. of r on d) • Formally: Every day we get demands dt Want to minimize the objective åt (cong. of r on dt) i.e., want congestion to always be low, but only on the observed demands dt; not the entire set D but, allow it to be high very occasionally 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 dt) Cost(ALG) = åt (cong. of rt on dt) Shuchi Chawla, Carnegie Mellon University

  11. The Static Optimal Routing • Optimal Routing for the given set of demands r* = argminr 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+e) 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! Shuchi Chawla, Carnegie Mellon University

  12. An online learning problem • Picking a good routing is similar to playing a repeated game against an adversary that supplies demands • Similar to machine learning problem of competing against the best “expert” • Too many experts (feasible routings); traditional ML algorithms do not work • Use the structure of the problem to design an efficient algorithm – LP based Shuchi Chawla, Carnegie Mellon University

  13. Routing and Linear Programming • For given demands d, and routing r, congestion on edge e = d.r(e) We want minr2R maxe 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) 8e,d • [Azar et al]: Ellipsoid with a separation oracle – compute worst case demands at every step Shuchi Chawla, Carnegie Mellon University

  14. Online Oblivious Routing and Online LP • Online Linear Programming • At every step, pick a point xt from convex set F • Receive linear cost function gt • cost at step t = gt(xt) • Online Oblivious Routing • At every step, pick a point rt from R • Receive demands dt • cost at step t = maxe dt.rt(e) Shuchi Chawla, Carnegie Mellon University

  15. Online Oblivious Routing and Online LP Worst congested edge • Online Linear Programming • At every step, pick a point xt from convex set F • Receive linear cost function gt • cost at step t = gt(xt) • Online Oblivious Routing • At every step, pick a point rt from R • Receive demands dt and edge et • cost at step t = dt.rt(et) Shuchi Chawla, Carnegie Mellon University

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

  17. Solving the Online Linear Program • Based on the work of [Zinkevich’03] and [Kalai-Vempala’02] • At every step: • Gradient Descent Move against the cost vector gradient yt+1 = xt - hct (Natural Learning Strategy) • Projection If yt+1 is infeasible, orthogonally project it back to R xt+1 = argminx2R |yt+1-x| (We use Semi-Definite Programming) Shuchi Chawla, Carnegie Mellon University

  18. Solving the Online Linear Program • We get the following guarantee: Cost(ALG) · Cost(OPT) + n3T • After n6/e2 steps, Cost(ALG) · (1+e) Cost(OPT) Shuchi Chawla, Carnegie Mellon University

  19. Extensions and Open Problems • Change the routing every D days the rate of convergence slows down by factor of D • 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 • Avoid using the SDP Open! • Purely combinatorial greedy algorithm Shuchi Chawla, Carnegie Mellon University

  20. Questions? Shuchi Chawla, Carnegie Mellon University

More Related