Title: Online%20Oblivious%20Routing
1Online Oblivious Routing
- Nikhil Bansal, Avrim Blum,
- Shuchi Chawla Adam Meyerson
- Carnegie Mellon University
- 6/7/2003
2The 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
3The 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
4The 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
5Oblivious 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
6Oblivious 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)
7Oblivious Routing Algorithms
- Until recently, good randomized algorithms known
only for special graphs - Lattices, Hypercubes ValiantBrebner81,
Leighton92 - Racke02 For every graph, 9 an oblivious
routing with congestion less than O(log3n) x OPT - Can we find it?
- Azar et al03 Polytime algo to find an
oblivious routing that has minimum worst case
congestion - In particular, achieve Rackes bound
- Min-Max Optimal Routing
8The Min-Max Optimal Routing
- 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)
9Can 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
10Online 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)
11The 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) (1e) 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!
12An 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
13Routing 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 td.r(e)
8 e - R is a convex polyhedron r should satisfy
inflowoutflow 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
14Online 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)
15Online 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 and edge et
- cost at step t dt.rt(et)
16Online Oblivious Routing and Online LP
- Knowing the edge et only hurts us
- OPTs flow on edge et is smaller than its
congestion - ALGs flow on edge et is equal to its congestion
- OPTs cost decreases, while ALGs stays the same
17Solving the Online Linear Program
- Based on the work of Zinkevich03 and
Kalai-Vempala02 - At every step
- Gradient Descent
- Move against the cost vector gradient yt1
xt - h?ct - (Natural Learning Strategy)
- Projection
- If yt1 is infeasible, orthogonally project it
back to R xt1 argminx2R yt1-x - (We use Semi-Definite Programming)
18Solving the Online Linear Program
- We get the following guarantee
- Cost(ALG) Cost(OPT) n3?T
- After n6/e2 steps,
- Cost(ALG) (1e) Cost(OPT)
19Extensions 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 days cost should exceed some
prespecified value - No individual days cost should cross twice the
Min-Max Opt cost - Avoid using the SDP Open!
- Purely combinatorial greedy algorithm
20