Compact Oblivious Routing Harald Rcke, Stefan Schmid Fakultt fr - - PowerPoint PPT Presentation

compact oblivious routing
SMART_READER_LITE
LIVE PREVIEW

Compact Oblivious Routing Harald Rcke, Stefan Schmid Fakultt fr - - PowerPoint PPT Presentation

Compact Oblivious Routing Harald Rcke, Stefan Schmid Fakultt fr Informatik TU Mnchen 18. Jun. 2019 Harald Rcke 1/31 Routing in Networks Input: undirected network G = (V, E) 0 18. Jun. 2019 Harald Rcke 2/31 Routing in


slide-1
SLIDE 1

Compact Oblivious Routing

Harald Räcke, Stefan Schmid

Fakultät für Informatik TU München

  • 18. Jun. 2019

Harald Räcke 1/31

slide-2
SLIDE 2

Routing in Networks

Input: ◮ undirected network G = (V, E)

  • 18. Jun. 2019

Harald Räcke 2/31

slide-3
SLIDE 3

Routing in Networks

Input: ◮ undirected network G = (V, E) ◮ source/target pairs (si, ti)

s3 t3 s1 t1 s2 t2

  • 18. Jun. 2019

Harald Räcke 2/31

slide-4
SLIDE 4

Routing in Networks

Input: ◮ undirected network G = (V, E) ◮ source/target pairs (si, ti) ◮ demand di for i-th pair

s3 t3 s1 t1 s2 t2

1 2 1

  • 18. Jun. 2019

Harald Räcke 2/31

slide-5
SLIDE 5

Routing in Networks

Input: ◮ undirected network G = (V, E) ◮ source/target pairs (si, ti) ◮ demand di for i-th pair Output: ◮ flow of value di for every pair

s3 t3 s1 t1 s2 t2

1 2 1

  • 18. Jun. 2019

Harald Räcke 2/31

slide-6
SLIDE 6

Routing in Networks

Input: ◮ undirected network G = (V, E) ◮ source/target pairs (si, ti) ◮ demand di for i-th pair Output: ◮ flow of value di for every pair

s3 t3 s1 t1 s2 t2

2 1

  • 18. Jun. 2019

Harald Räcke 2/31

slide-7
SLIDE 7

Routing in Networks

Input: ◮ undirected network G = (V, E) ◮ source/target pairs (si, ti) ◮ demand di for i-th pair Output: ◮ flow of value di for every pair

s3 t3 s1 t1 s2 t2

1

  • 18. Jun. 2019

Harald Räcke 2/31

slide-8
SLIDE 8

Routing in Networks

Input: ◮ undirected network G = (V, E) ◮ source/target pairs (si, ti) ◮ demand di for i-th pair Output: ◮ flow of value di for every pair

s3 t3 s1 t1 s2 t2

  • 18. Jun. 2019

Harald Räcke 2/31

slide-9
SLIDE 9

Routing in Networks

Input: ◮ undirected network G = (V, E) ◮ source/target pairs (si, ti) ◮ demand di for i-th pair Output: ◮ flow of value di for every pair

s3 t3 s1 t1 s2 t2

  • 18. Jun. 2019

Harald Räcke 2/31

slide-10
SLIDE 10

Oblivious Routing

◮ optimization problem: routing algorithm

demands network

path system with close to optimal cost ? ◮ difficult to implement in a distributed fashion ◮ ideally paths should be independent of demands

  • 18. Jun. 2019

Harald Räcke 3/31

slide-11
SLIDE 11

Oblivious Routing

◮ optimization problem: routing algorithm

demands network

path system with close to optimal cost ? ◮ difficult to implement in a distributed fashion ◮ ideally paths should be independent of demands

  • 18. Jun. 2019

Harald Räcke 3/31

slide-12
SLIDE 12

Oblivious Routing

◮ optimization problem: routing algorithm

demands network

path system with close to optimal cost ? ◮ difficult to implement in a distributed fashion ◮ ideally paths should be independent of demands

  • 18. Jun. 2019

Harald Räcke 3/31

slide-13
SLIDE 13

Oblivious Routing

Oblivious Routing Scheme: ◮ specifies unit flow for every source/target pair without knowing any demands ◮ when demand di appears the unit flow between si and ti is scaled by demand very natural concept

  • 18. Jun. 2019

Harald Räcke 4/31

slide-14
SLIDE 14

Oblivious Routing

Competitive ratio of algorithm A: max

demand d

  • cost(A, d)
  • pt(d)
  • 18. Jun. 2019

Harald Räcke 5/31

slide-15
SLIDE 15

Cost Measures

What do we want to optimize? load ◮ total traffic in the network ◮

e ℓ(e) · flow(e)

congestion ◮ maximum traffic along a network link ◮ maxe{flow(e)/c(e)}

add explanation for length and capacity

  • 18. Jun. 2019

Harald Räcke 6/31

slide-16
SLIDE 16

Oblivious Routing

Upper Bounds load ◮ Shortest Path Routing is oblivious ◮ ⇒ competitive ratio: 1 congestion (undirected graphs) ◮ [R. 2002] competitive ratio: O(log3 n) ◮ [Harrelson, Hildrum, Rao 2003] competitive ratio: O(log2 n log log n) ◮ [R. 2008] competitive ratio: O(log n)

  • 18. Jun. 2019

Harald Räcke 7/31

slide-17
SLIDE 17

Oblivious Routing

Lower Bounds congestion ◮ [Bartal, Leonardi 1997] competitive ratio: Ω(log n) on undirected graphs ◮ [Ene, Miller, Pachocki, Sidford, 2016] competitive ratio: Ω(n) for directed graphs

  • 18. Jun. 2019

Harald Räcke 8/31

slide-18
SLIDE 18

Compact Oblivious Routing

Try to implement path selection scheme with small routing tables. Two variants: A packet enters the network at the source with the unique name

  • f the destination.

labeled the designer of the routing scheme can assign names to the vertices of the network name-independent the node names are fixed and cannot be changed

  • 18. Jun. 2019

Harald Räcke 9/31

slide-19
SLIDE 19

Compact Routing for Load

Extensively analyzed! Parameters: space: size of largest routing table at a node in the network stretch: the competitive ratio w.r.t. cost-measure load Additional parameters: header-size, label-size.

  • 18. Jun. 2019

Harald Räcke 10/31

slide-20
SLIDE 20

Compact Routing for Load – Results

[Folklore] stretch: 1, space: O(n log n). [Thorup, Zwick 2001] stretch: 4k − 5, space: ˜ O(n1/k), labelled [Abraham, Gavoille, Malkhi, 2006] stretch: O(k), space: ˜ O(n1/k), name-independent

  • 18. Jun. 2019

Harald Räcke 11/31

slide-21
SLIDE 21

Compact Routing for Congestion

No results! Parameters: space: size of largest routing table in the network; goal: O(α(n) · deg(v)), i.e., we assume space at nodes grows proportional to degree. quality: the competitive ratio w.r.t. congestion goal: O(polylog n) label-size: the size of assigned labels goal: O(polylog n) header-size : the size of routing headers goal: O(polylog n)

  • 18. Jun. 2019

Harald Räcke 12/31

slide-22
SLIDE 22

Compact Routing for Congestion

Oblivious routing schemes with good competitive ratio: based on hierarchical decomposition ◮ [R. 2002] competitive ratio: O(log3 n) ◮ [Harrelson, Hildrum, Rao 2003] competitive ratio: O(log2 n log log n) ◮ [R., Shah, Täubig 2014] competitive ratio: O(log4 n) based on tree embedding ◮ [R. 2008] competitive ratio: O(log n)

Mark the scheme that we are using.

  • 18. Jun. 2019

Harald Räcke 13/31

slide-23
SLIDE 23

Underlying Path Selection Scheme

x r x x

x x x z x x

slide-24
SLIDE 24

Underlying Path Selection Scheme

x r x x

x x x z x x

slide-25
SLIDE 25

Underlying Path Selection Scheme

x r x x

x x x z x x

slide-26
SLIDE 26

Underlying Path Selection Scheme

x r x x

x x x z x x

slide-27
SLIDE 27

Underlying Path Selection Scheme

x r x x

x x x z x x

slide-28
SLIDE 28

Underlying Path Selection Scheme

x r x x

x x x z x x

slide-29
SLIDE 29

Underlying Path Selection Scheme

x r x x

x x x z x x

slide-30
SLIDE 30

Underlying Path Selection Scheme

x r x x

x x x z x x

slide-31
SLIDE 31

Underlying Path Selection Scheme

x r x x

x x x z x x

slide-32
SLIDE 32

Underlying Path Selection Scheme

x r x x

x x x z x x

slide-33
SLIDE 33

A Single Cluster S

Messages have following form:

  • 1. route between cluster distribution and random border edge
  • f sub-cluster, or
  • 2. route between cluster distribution and random border edge
  • f cluster
slide-34
SLIDE 34

A Single Cluster S

Messages have following form:

  • 1. route between cluster distribution and random border edge
  • f sub-cluster, or
  • 2. route between cluster distribution and random border edge
  • f cluster
slide-35
SLIDE 35

A Single Cluster S

Messages have following form:

  • 1. route between cluster distribution and random border edge
  • f sub-cluster, or
  • 2. route between cluster distribution and random border edge
  • f cluster
slide-36
SLIDE 36

A Single Cluster S

Messages have following form:

  • 1. route between cluster distribution and random border edge
  • f sub-cluster, or
  • 2. route between cluster distribution and random border edge
  • f cluster
slide-37
SLIDE 37

A Single Cluster S

CMCF-problem for cluster Every edge leaving a sub-cluster injects one unit of flow and sends it to a random of these edges.

slide-38
SLIDE 38

Competitive Ratio of Hierarchical Approach

[R. 2002] There is a hierarchical decomposition such that every CMCF-problem can be routed with congestion at most O(log2 n) inside the respective cluster. ⇒ congestion O(log3 n) for all CMCF-problems ⇒ competitive ratio O(log3 n) [Harrelson, Hildrum, Rao 2003] There is a hierarchical decomposition such that all CMCF-problems together can be routed with congestion at most O(log2 n log log n). ⇒ competitive ratio O(log2 n log log n)

  • 18. Jun. 2019

Harald Räcke 17/31

slide-39
SLIDE 39

Variant A: naive encoding of CMCF-solutions

Encode a solution to the CMCF-problem for every cluster. Every edge of the cluster-distribution gets two IDs, as it belongs to the border of two sub-clusters (or to one sub-cluster and the border of the whole cluster). Every sub-cluster has a consecutive range of IDs. A vertex of a cluster stores the ID-ranges of all sub-clusters and the ID-range for the whole cluster (border). Note that ID-ranges for different CMCF-problems are different.

  • 18. Jun. 2019

Harald Räcke 18/31

slide-40
SLIDE 40

Variant A: naive encoding of CMCF-solutions

Label node by its path from the root in the decomposition tree. Routing: ◮ given source and destination label compute path in the decomposition tree ◮ send packet to random edge incident to source s (i.e., distribute according to cluster distribution of {s}) ◮ for every upward edge ((Si, Si+1))

◮ cluster distribution of Si → border distribution of Si routed according to CMCF-solution for Si ◮ border distribution of Si → cluster distribution of Si+1 routed according to CMCF-solution for Si+1

◮ for every downward edge ((Si+1, Si))

◮ cluster distribution of Si+1 → border distribution of Si routed according to CMCF-solution for Si+1 ◮ border distribution of Si → cluster distribution of Si routed according to CMCF-solution for Si

slide-41
SLIDE 41

Variant A: naive encoding of CMCF-solutions

Encode an optimum all-to-all multicommodity flow for every cluster with precision ǫ. ◮ competitive ratio: O(height(T) log2 n) ◮ labels encode path in the decomposition tree; label size: O(height(T) log(deg(T))) ◮ header encodes path between source and target in the tree; id of target in current routing step header size: O(height(T) log(deg(T))) + O(log m) ◮ a node stores for every flow a probability distribution over

  • utgoing edges;

table size: O(m2 height(T) deg(v) log(1/ǫ)) very poor in addition it stores the ranges for sub-clusters; size: deg(T) height(T) log(m)

slide-42
SLIDE 42

Variant B: encode single-commodity flows to sub-clusters

Encode a flow from every sub-cluster border to the cluster-distribution (and back) (≤ 2 deg(T) flows for every cluster) ◮ competitive ratio: O(height(T) deg(T) log2 n) ◮ labels encode path in the decomposition tree; label size: O(height(T) log(deg(T))) ◮ header encodes path between source and target in the tree; header size: O(height(T) log(deg(T))) ◮ a node stores for every flow a probability distribution over

  • utgoing edges;

table size: O(deg(T) height(T) deg(v) log(1/ǫ))

  • 18. Jun. 2019

Harald Räcke 21/31

slide-43
SLIDE 43

Variant C: hypercube embedding (unweighted graph)

Edges are assigned IDs as in Variant A. Assume that the number

  • f IDs is 2d.

Embed d-dimensional hypercube by solving a CMCF-problem. Can be embedded with congestion O(d log2 n) as any permutation can be embedded with congestion O(log2 n). Apply randomized rounding: ◮ decompose the flow for every commodity into a distribution

  • ver paths

◮ pick a single path from this distribution ◮ with high probability the load on any edge increases by at most an additive O(log n)

  • 18. Jun. 2019

Harald Räcke 22/31

slide-44
SLIDE 44

Variant C: hypercube embedding

When routing from ID 1 to ID 2 we route along edges of the hypercube using a random intermediate destination. This induces constant expected load on an edge of the hypercube (provided the overall demand can be routed with congestion 1).

  • 18. Jun. 2019

Harald Räcke 23/31

slide-45
SLIDE 45

Variant C: hypercube embedding

d = O(log m) is dimension of cube ◮ competitive ratio: O(height(T)d log2 n) ◮ labels encode path in the decomposition tree; label size: O(height(T) log(deg(T))) ◮ header encodes path between source and target in the tree; in addition it stores intermediate target(s) in the cube header size: O(height(T) log(deg(T))) + O(d) ◮ a node stores its hypercube IDs and for every path a path-id and an outgoing edge; table size: O(height(T) deg(v)(log(m) + d log2 n · log(deg(v)))) in addition it stores the ranges for sub-clusters...

  • 18. Jun. 2019

Harald Räcke 24/31

slide-46
SLIDE 46

Variant C: hypercube embedding

Round every range to a power of 2. Sort the subclusters according to the size of their range. Let R ≤ deg(T) + 1 denote the number of ranges; (number of sub-clusters + 2). Let S ≤ log m denote the number of different range classes. We store separators between range classes, and for every separator the start ID of the range class. Requires at most O(log m · (log(deg(T)) + log m)) bits.

range of cube i-th range start id first child

slide-47
SLIDE 47

Variant D: weights 1 and W

Task: embed all-to-all flow between subset of edges Challenge: ◮ Randomized rounding of all-to-all flow generates path of weight 1. ◮ A heavy edge may see W of these paths.

slide-48
SLIDE 48

Variant D: weights 1 and W

Sub-problem Route all-to-all between subset of light vertices. Idea Use cut-matching game [KRV] to embed expander between light vertices. Cut-matching game embeds an expander as a set of polylog(n) arbitrary matchings between subsets.

s t

  • 18. Jun. 2019

Harald Räcke 27/31

slide-49
SLIDE 49

Variant D: weights 1 and W

We can store one-directional routing paths along a matching very efficiently.

s t

The paths arise from decomposing an integral single-commodity flow.

slide-50
SLIDE 50

Variant D: weights 1 and W

We can store one-directional routing paths along a matching very efficiently.

s t

The paths arise from decomposing an integral single-commodity flow.

slide-51
SLIDE 51

Variant D: weights 1 and W

We can store one-directional routing paths along a matching very efficiently.

s t

The paths arise from decomposing an integral single-commodity flow.

store separation

slide-52
SLIDE 52

Variant D: weights 1 and W

Instead of embedding a matching we embed two directional matchings in every round. This is sufficient to get an expander. Congestion O(log2 n) for every round of the cut-matching game. In this expander we embed a hypercube; this can be done with congestion O(log2 n) and path of logarithmic length (inside the expander). We can store this embedding by storing the whole path at every

  • source. In total O(log m) bits for every incident hypercube edge.
slide-53
SLIDE 53

Variant D: weights 1 and W

If the light vertices are in the majority the heavy vertices can first route to light vertices (via a multi-commodity flow) and use the hypercube there. Can also be extended to the case when the heavy vertices are in the majority.

  • 18. Jun. 2019

Harald Räcke 30/31

slide-54
SLIDE 54

Open Problems: ◮ General weighted graphs? ◮ For which graphs do we have decomposition trees with small degree? ◮ Generally, what is the loss in quality if we want to establish a multi-commodity flow solution with small routing tables? ◮ Name-independent case?

  • 18. Jun. 2019

Harald Räcke 31/31