Online Oblivious Routing
Nikhil Bansal, Avrim Blum, Shuchi Chawla & Adam Meyerson
Carnegie Mellon University
6/7/2003
Shuchi Chawla, Carnegie Mellon University2
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 University3
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 = 1
In hindsight:
Shuchi Chawla, Carnegie Mellon University4
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
Competitive Ratio = 2(cost of routing)
Shuchi Chawla, Carnegie Mellon University5
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 University6
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
Shuchi Chawla, Carnegie Mellon University7
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)
Can we find it?[Azar et al’03]: Polytime algo to find an oblivious routing that has minimum worst case congestionIn particular, achieve Racke’s bound
“Min-Max Optimal Routing”
Shuchi Chawla, Carnegie Mellon University8
The Min-Max Optimal Routing
Given graph G, and D – the set of demands with optimal (hindsight) congestion = 1
Min-Max Optimal Routing G =
argminr maxD (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(log3n)
Shuchi Chawla, Carnegie Mellon University9
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 occassionally
Shuchi Chawla, Carnegie Mellon University10
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 University11
The Static Optimal Routing
Optimal Routing for the given set of demandsr* = argminr Cost(r)
(Not allowed to change over time, unlike the algorithm)
We want ALG to be almost as good as the Static Optimal RoutingCost(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!
Shuchi Chawla, Carnegie Mellon University12
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 University13
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 University14
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 and edge et cost at step t = dt.rt(et)
Worst congested edge
Shuchi Chawla, Carnegie Mellon University15
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
Online Oblivious Routing and Online LP
Shuchi Chawla, Carnegie Mellon University16
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 yt+1 = xt - ct
(Natural Learning Strategy)
2. ProjectionIf yt+1 is infeasible, orthogonally project it back to R xt+1 = argminx2F |y
t+1-x|
(We use Semi-Definite Programming)
Shuchi Chawla, Carnegie Mellon University17
Solving the Online Linear Program
We get the following guarantee:Cost(ALG) · Cost(OPT) + n3T
After n6/2 steps,Cost(ALG) · (1+) Cost(OPT)
Shuchi Chawla, Carnegie Mellon University18
Extensions
Change the routing every daysthe 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
Top Related