Title: A Practical Algorithm for Constructing Oblivious Routing Schemes
1A Practical Algorithm for Constructing Oblivious
Routing Schemes
- Marcin Bienkowski
- Miroslaw Korzeniowski
- Harald Räcke
2Problem Definition
Virtual Circuit Routing Problem
- given a graph describing a
computer network - input sequence
of routing requests - select a system of paths between and for
each request - each request routed fractionally over the paths
chosen for it - cost-measure congestion, i.e., the maximum load
of an edge
3Problem Definition
- online algorithm
- online algorithm must specify each path-system
without knowingfuture requests - compare congestion of the online-algorithm to the
optimal offline congestion for - oblivious algorithm
- the system of paths chosen for a request cannot
depend on any other request
4Related Work
- algorithms for specific networks
- Maggs, Meyer auf der Heide, Vöcking and
Westermann 1997Bartal, Leonardi 1997 - lower bound of for the competitive
ratio in the mesh - logarithmic upper bounds for many specific
networks as e.g., hypercubic networks, meshes... - non-polynomial algorithm for general networks
- Räcke 2002
- polylogarithmic ( ) upper bound
for general networks
5Related Work
- optimal algorithm
- Azar, Cohen, Fiat, Kaplan, Räcke 2003
- optimal competitive ratio for oblivious algorithm
- based on linear programming and the Ellipsoid
algorithm with a separation oracle
6Results
- Improvement on Räckes result from 2002
- Simplified proof for the upper
bound on the competitive ratio - competitive polynomial-time
algorithm for general graphs - competitive polynomial-time
algorithm for planar graphs
7Related Work
- a better result
- Harrelson, Hildrum, Rao 2003
- a competitive polynomial-time
algorithm based on decomposition
8Hierarchical Decomposition
9Hierarchical Routing Scheme
?
if offline has congestion 1 we only send messages
along this virtual edge
t
s
10Questions
- Decomposition
- How is the partitioning done?
- Routing Scheme
- How are intermediate nodes chosen?
- How are routing paths between intermediate nodes
chosen?
11Choosing Intermediate Nodes (1)
- Probability distribution for choosing blue
intermediate node of cluster - weight function is the bandwidth of
edges connecting to nodes outside of
12Choosing Intermediate Nodes (2)
- Probability distribution for choosing white
intermediate node of cluster , whose
subclustering is - weight function is the bandwidth of
edges connecting to nodes in other
sub-clusters
13Choosing Routing Paths (1)
14Choosing Routing Paths (2)
15Choosing Routing Paths (3)
- The decomposition has to fulfill
- tree height is
- throughput property for each cluster and its
subclusters - for CMCF-problem with demands
- the solution of the flow must satisfy each
demand and produce a congestion of at most
16A Bad-Case Example
- No clustering of the following example can
fulfill the throughput property
17Precondition
- A set fulfills the precondition iff for
each - such that
18Decomposition Theorem
- Theorem
- We can partition any cluster that fulfills
the precondition into subclusters such that
- fulfills the throughput property
- for each we have
- each fulfills the precondition
19Illustration of the Algorithm
- We divide the cluster into single-node
subclusters - If there is no solution for the flow we find a
witness for this fact - we merge it
- .... and cut it to fulfill the
precondition - We can round an ugly set losing logarithmic
factor
capacity of edges bet- ween different
clusters decreases
20Precondition Lemma
- Lemma
- A cluster can be partitioned into
subclusters such that - each fulfills the precondition
-
- A partitioning
- exists for
- can be computed in polynomial time for
-
21Future Work
- Is there a class of networks for which adaptive
online algorithms are asymptotically better than
oblivious algorithms? - How low can we make the competitive ratio?
? - How to repair the structure of the tree quickly
if the graph changes?
22A Practical Algorithm for Constructing Oblivious
Routing Schemes
- Thank you for your attention
23Flows and Cuts
- Concurrent Multicommodity Flow and Sparsest Cut
General graphs
Existence
Planar graphs
CMCF
SparsestCut
Computed Cut
24CMCF, SparsestCut - definition
- Concurrent MultiCommodity Flow problem
- Deliver some fraction of each demand
- Respect the edges capacities
- To maximize the smallest delivered fraction of
a demand - If each demand satisfied with ratio then we
can route with congestion
25Fulfilling the precondition
- .
-
-
- amortize the new created capacity
against edges in - an edge is used at most times for
amortization since