200 likes | 210 Views
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
E N D
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 Congestion = maxe (flow on edge e) Congestion = 2 Shuchi Chawla, Carnegie Mellon University
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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 - hct (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
Solving the Online Linear Program • We get the following guarantee: Cost(ALG) · Cost(OPT) + n3T • After n6/e2 steps, Cost(ALG) · (1+e) Cost(OPT) Shuchi Chawla, Carnegie Mellon University
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
Questions? Shuchi Chawla, Carnegie Mellon University