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

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

  • View
    215

  • Download
    0

Embed Size (px)

Citation preview

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

Shuchi Chawla, Carnegie Mellon University19

Questions?