Jointly Optimal Routing & Caching for Arbitrary Network - - PowerPoint PPT Presentation

jointly optimal routing caching for arbitrary network
SMART_READER_LITE
LIVE PREVIEW

Jointly Optimal Routing & Caching for Arbitrary Network - - PowerPoint PPT Presentation

Jointly Optimal Routing & Caching for Arbitrary Network Topologies Stratis Ioannidis and Edmund Yeh ICN 2017 A Caching Network Webserver User ? User nodes generate requests for content items with certain arrival rates Jointly Optimal


slide-1
SLIDE 1

Jointly Optimal Routing & Caching for Arbitrary Network Topologies

Stratis Ioannidis and Edmund Yeh ICN 2017

slide-2
SLIDE 2

A Caching Network

Jointly Optimal Routing and Caching 1

User nodes generate requests for content items with certain arrival rates

?

λ

User Webserver

slide-3
SLIDE 3

A Caching Network

Jointly Optimal Routing and Caching 2

Requests are routed towards a designated server ? User Webserver

?

λ

slide-4
SLIDE 4

Jointly Optimal Routing and Caching 3

?

A Caching Network

Nodes have caches with finite capacities User

?

λ

Webserver

slide-5
SLIDE 5

Jointly Optimal Routing and Caching 4

?

A Caching Network

User Routers have caches with finite capacities

?

λ

Webserver

slide-6
SLIDE 6

Jointly Optimal Routing and Caching 5

Requests terminate early upon a cache hit ?

A Caching Network

User

?

λ

Webserver

slide-7
SLIDE 7

Jointly Optimal Routing and Caching 6

Design network so that expected routing costs are minimized.

Goal

User ? Webserver 5 4 6 3 4 3 3 10 10 1 1 2 2 10 6 7

slide-8
SLIDE 8

Jointly Optimal Routing and Caching 7

Joint Optimization

User ?

q Both caching and routing decisions are part of

  • ptimization

Caching decisions Routing decisions Webserver

?

λ

slide-9
SLIDE 9

Jointly Optimal Routing and Caching 8

Additional Challenge

Challenge: Caching and routing algorithm should be q adaptive, and q distributed.

User ? Caching decisions Routing decisions Webserver

slide-10
SLIDE 10

Jointly Optimal Routing and Caching 9

Fixed Routing Setting

User ?

q Routes are given, e.g.: q determined by BGP, OSPF, etc. q Route to Nearest Server (RNS) q Only caching decisions are part of optimization

Caching decisions Webserver [Ioannidis, Yeh, SIGMETRICS 2016]

slide-11
SLIDE 11

qShould we jointly optimize caching and routing? Is RNS sufficient? qCan we devise algorithms that: 1) have performance guarantees? 2) are distributed and adaptive? Challenges/Questions

Jointly Optimal Routing and Caching 10

slide-12
SLIDE 12

q Mathematical model for joint optimization of routing & caching

q Source-routing q Hop-by-hop

q RNS is arbitrarily suboptimal q A distributed, adaptive algorithm within 1-1/e factor from

  • ptimal

q Evaluation over 14 network topologies:

q Routing costs reduced by factor 103 compared to RNS.

Our Contributions

Jointly Optimal Routing and Caching 11

slide-13
SLIDE 13

qModel qMain Results

qRNS is suboptimal qOffline Algorithm qDistributed, Adaptive Algorithm

qEvaluation Overview

Jointly Optimal Routing and Caching 12

slide-14
SLIDE 14

qModel qMain Results

qRNS is suboptimal qOffline Algorithm qDistributed, Adaptive Algorithm

qEvaluation Overview

Jointly Optimal Routing and Caching 13

slide-15
SLIDE 15

Model: Network

Jointly Optimal Routing and Caching 14

Network represented as a directed, bi-directional graph G(V, E)

G(V, E)

slide-16
SLIDE 16

Model: Edge Costs

Jointly Optimal Routing and Caching 15

Each edge has a cost/weight

G(V, E)

5

Edge costs:

wuv

wuv, (u, v) ∈ E

(u, v) ∈ E

slide-17
SLIDE 17

Model: Node Caches

Jointly Optimal Routing and Caching 16

Node has a cache with capacity

G(V, E)

v ∈ V

cv ∈ N

Node capacities: cv, v ∈ V Edge costs:

wuv, (u, v) ∈ E

slide-18
SLIDE 18

Model: Cache Contents

Jointly Optimal Routing and Caching 17

G(V, E)

C={

}

Node capacities: cv, v ∈ V Edge costs:

Items stored and requested form the item catalog C

wuv, (u, v) ∈ E

slide-19
SLIDE 19

Model: Cache Contents

Jointly Optimal Routing and Caching 18

G(V, E)

C={

}

Node capacities: cv, v ∈ V Edge costs:

For and , let v ∈ V

i ∈ C

xvi = ( 1, 0,

wuv, (u, v) ∈ E

if stores

  • .w.

v

i

Then, for all , v ∈ V X

i∈C

xvi ≤ cv Caching Strategy of :

xv = [xvi]i∈C

v ∈ V

Caching strategy: xv = [xvi]i∈C

slide-20
SLIDE 20

Model: Designated Sources

Jointly Optimal Routing and Caching 19

G(V, E)

C={

}

Node capacities: cv, v ∈ V Edge costs:

For each and , there exists a set of nodes (the designated servers of ) that permanently store .

i ∈ C

wuv, (u, v) ∈ E

Si ⊂ V i i

I.e., if then

v ∈ Si xvi = 1

Caching strategy: xv = [xvi]i∈C

slide-21
SLIDE 21

Model: Requests

Jointly Optimal Routing and Caching 20

G(V, E)

C={

}

Node capacities: cv, v ∈ V Edge costs:

A request is a pair such that:

wuv, (u, v) ∈ E

q is an item in q is the source node of the request.

i

C

?

(i, s)

s ∈ V

s

Caching strategy: xv = [xvi]i∈C

slide-22
SLIDE 22

Model: Demand

Jointly Optimal Routing and Caching 21

G(V, E)

C={

}

Node capacities: cv, v ∈ V Edge costs:

wuv, (u, v) ∈ E

? Demand : set of all requests

R

Request arrival process is Poisson with rate

(i, s)

λ(i,s)

s

?

λ

Caching strategy: xv = [xvi]i∈C Demand: λ(i,s), (i, s) ∈ R

slide-23
SLIDE 23

Jointly Optimal Routing and Caching 22

Routing Variant I : Source Routing

Source node generating request selects entire path that request should follow.

User ? ? ?

slide-24
SLIDE 24

Jointly Optimal Routing and Caching 23

Routing Variant II: Hop-By-Hop Routing

Each node selects only next-hop in the path.

User ? ? ? ?

slide-25
SLIDE 25

Source Routing: Routing Strategy

Jointly Optimal Routing and Caching 24

G(V, E)

C={

}

Node capacities: cv, v ∈ V Edge costs:

For each request let be a set of possible paths the request can follow do a node in

wuv, (u, v) ∈ E

?

(i, s)

P(i,s) Si

s

Caching strategy: xv = [xvi]i∈C Demand: λ(i,s), (i, s) ∈ R

P(i,s)

Set of possible paths:

slide-26
SLIDE 26

Source Routing: Routing Strategy

Jointly Optimal Routing and Caching 25

G(V, E)

C={

}

Node capacities: cv, v ∈ V Edge costs:

wuv, (u, v) ∈ E

?

P(i,s)

Routing strategy : probability distribution over

r(i,s)

X

p∈P(i,s)

r(i,s),p = 1

r(i,s),p ≥ 0, p ∈ P(i,s)

s

Caching strategy: xv = [xvi]i∈C Demand: λ(i,s), (i, s) ∈ R Routing strategy:

r(i,s) = [r(i,s),p]p∈P(i,s)

P(i,s)

Set of possible paths:

slide-27
SLIDE 27

Source Routing: Routing Costs

Jointly Optimal Routing and Caching 26

G(V, E)

C={

}

Node capacities: cv, v ∈ V Edge costs:

wuv, (u, v) ∈ E

?

P

p∈P(i,s) r(i,s),p

P|p|−1

k=1 wpk+1pk

Qk

k0=1(1 − xpk0i)

Expected routing cost: Upper bound:

P

p∈P(i,s)

P|p|−1

k=1 wpk+1pk

Caching Gain: P

p∈P(i,s)

P|p|−1

k=1 wpk+1pk

h 1 − r(i,s),p Qk

k0=1(1 − xpk0i)

i

s

Caching strategy: xv = [xvi]i∈C Demand: λ(i,s), (i, s) ∈ R Routing strategy:

r(i,s) = [r(i,s),p]p∈P(i,s)

P(i,s)

Set of possible paths:

slide-28
SLIDE 28

Caching Gain Maximization

Jointly Optimal Routing and Caching 27

G(V, E)

C={

}

Node capacities: cv, v ∈ V Edge costs:

wuv, (u, v) ∈ E

R: demand

5 3 4 6 ?

Maximize:

MaxCG

Subject to:

X

i∈C

xvi = cv for all v ∈ V xvi ∈ {0, 1} for all and v ∈ V

i ∈ C

xvi = 1

for all and

v ∈ Si

i ∈ C

F(r, X) = X

(i,s)∈R

λ(i,s) X

p∈P(i,s) |p|−1

X

k=1

wpk+1pk " 1 − r(i,s),p

k

Y

k0=1

(1 − xpk0i) #

r(i,s),p ∈ [0, 1]

p ∈ P(i,s) (i, s) ∈ R

,

for all

X

p∈P(i,s)

r(i,s),p = 1 for all

(i, s) ∈ R

s

Caching strategy: xv = [xvi]i∈C Demand: λ(i,s), (i, s) ∈ R Routing strategy:

r(i,s) = [r(i,s),p]p∈P(i,s)

P(i,s)

Set of possible paths:

slide-29
SLIDE 29

Jointly Optimal Routing and Caching 28

Fixed Routing Setting (e.g., RNS)

User ? Caching decisions Webserver

|P(i,s)| = 1, ∀(i, s) ∈ R

qNP-hard qOffline algorithm achieves 1-1/e approximation qDistributed, adaptive algorithm achieving 1-1/e approximation

[Shanmugam et al. 2013] [Shanmugam et al. 2013] [Ioannidis & Yeh 2016]

slide-30
SLIDE 30

qModel qMain Results

qRNS is suboptimal qOffline Algorithm qDistributed, Adaptive Algorithm

qEvaluation Overview

Jointly Optimal Routing and Caching 29

slide-31
SLIDE 31

Jointly Optimal Routing and Caching 30

Is Joint Optimization Really Necessary?

User ? Why not just use shortest path routing towards the nearest designated server?

slide-32
SLIDE 32

Is Joint Optimization Really Necessary?

Jointly Optimal Routing and Caching 31

Shortest path routing to nearest server is arbitrarily suboptimal.

slide-33
SLIDE 33

RNS is Suboptimal

Jointly Optimal Routing and Caching 32

M

1

M

s t 2 c = 1 c = 1

= = 0.5

λ

?

λ

?

requests per sec Shortest path for both

slide-34
SLIDE 34

Routing to Nearest Server is Suboptimal

Jointly Optimal Routing and Caching 33

M

1

M

s t 2 c = 1 c = 1

= = 0.5

λ

?

λ

?

requests per sec

Irrespective of caching decision, cost under shortest path routing is Θ(M)

? ?

slide-35
SLIDE 35

M

1

M

s t 2 c = 1 c = 1

Routing to Nearest Server is Suboptimal

Jointly Optimal Routing and Caching 34

= = 0.5

λ

?

λ

?

requests per sec

Irrespective of caching decision, cost under shortest path routing is

? ?

Cost under split routing strategy is .

O(1)

Shortest path routing to nearest server is arbitrarily suboptimal. Θ(M)

slide-36
SLIDE 36

Key Intuition

Jointly Optimal Routing and Caching 35

Increasing path diversity creates more caching opportunities.

?

slide-37
SLIDE 37

Offline Algorithm

Jointly Optimal Routing and Caching 36

Maximize:

MaxCG

Subject to:

X

i∈C

xvi = cv for all v ∈ V

for all and

v ∈ V

i ∈ C

xvi = 1

for all and

v ∈ Si

i ∈ C

F(r, X) = X

(i,s)∈R

λ(i,s) X

p∈P(i,s) |p|−1

X

k=1

wpk+1pk " 1 − r(i,s),p

k

Y

k0=1

(1 − xpk0i) #

r(i,s),p ∈ [0, 1]

p ∈ P(i,s) (i, s) ∈ R

,

for all

X

p∈P(i,s)

r(i,s),p = 1 for all

(i, s) ∈ R

xvi ∈ {0, 1}

slide-38
SLIDE 38

Offline Algorithm

Jointly Optimal Routing and Caching 37

Maximize: Subject to:

X

i∈C

xvi = cv for all v ∈ V

for all and

v ∈ V

i ∈ C

xvi = 1

for all and

v ∈ Si

i ∈ C

F(r, X) = X

(i,s)∈R

λ(i,s) X

p∈P(i,s) |p|−1

X

k=1

wpk+1pk " 1 − r(i,s),p

k

Y

k0=1

(1 − xpk0i) #

r(i,s),p ∈ [0, 1]

p ∈ P(i,s) (i, s) ∈ R

,

for all

X

p∈P(i,s)

r(i,s),p = 1 for all

(i, s) ∈ R

xvi ∈ [0, 1]

slide-39
SLIDE 39

Offline Algorithm

Jointly Optimal Routing and Caching 38

Maximize: Subject to:

X

i∈C

xvi = cv for all v ∈ V

for all and

v ∈ V

i ∈ C

xvi = 1

for all and

v ∈ Si

i ∈ C

F(r, X) = X

(i,s)∈R

λ(i,s) X

p∈P(i,s) |p|−1

X

k=1

wpk+1pk " 1 − r(i,s),p

k

Y

k0=1

(1 − xpk0i) #

r(i,s),p ∈ [0, 1]

p ∈ P(i,s) (i, s) ∈ R

,

for all

X

p∈P(i,s)

r(i,s),p = 1 for all

(i, s) ∈ R

xvi ∈ [0, 1]

q Key idea: There exists a concave function such that

(1 − 1 e)L(r, X) ≤ F(r, X) ≤ L(r, X)

L(r, X)

slide-40
SLIDE 40

Offline Algorithm

Jointly Optimal Routing and Caching 39

Maximize: Subject to:

X

i∈C

xvi = cv for all v ∈ V

for all and

v ∈ V

i ∈ C

xvi = 1

for all and

v ∈ Si

i ∈ C r(i,s),p ∈ [0, 1]

p ∈ P(i,s) (i, s) ∈ R

,

for all

X

p∈P(i,s)

r(i,s),p = 1 for all

(i, s) ∈ R

xvi ∈ [0, 1]

q Key idea: There exists a concave function such that

(1 − 1 e)L(r, X) ≤ F(r, X) ≤ L(r, X)

L(r, X)

L(r, X) = X

(i,s)∈R

λ(i,s) X

p∈P(i,s) |p|−1

X

k=1

wpk+1pk min{1, 1 − r(i,s),p +

k

X

k0=1

xpk0i}

Follows from Goemans-Williamson inequality:

  • 1 − 1

e

  • max
  • 1,

X

i

yi ≤ 1 − Y

i

(1 − yi) ≤ max

  • 1,

X

i

yi , for all yi ∈ [0, 1]

slide-41
SLIDE 41

Offline Algorithm

Jointly Optimal Routing and Caching 40

Maximize: Subject to:

X

i∈C

xvi = cv for all v ∈ V

for all and

v ∈ V

i ∈ C

xvi = 1

for all and

v ∈ Si

i ∈ C r(i,s),p ∈ [0, 1]

p ∈ P(i,s) (i, s) ∈ R

,

for all

X

p∈P(i,s)

r(i,s),p = 1 for all

(i, s) ∈ R

xvi ∈ [0, 1]

q Offline Algorithm: q Step 1: Solve relaxed convex optimization problem q Step 2: Round caching solution via pipage rounding [Ageev and Sviridenko 2004]

L(r, X) = X

(i,s)∈R

λ(i,s) X

p∈P(i,s) |p|−1

X

k=1

wpk+1pk min{1, 1 − r(i,s),p +

k

X

k0=1

xpk0i}

Theorem: Resulting solution is within 1-1/e from the optimal solution to MaxCG

slide-42
SLIDE 42

Distributed, Adaptive Algorithm

Jointly Optimal Routing and Caching 41

Each node maintains the following state information:

C={

}

v

0.5 0.9 0.6

s

r(i,s)

0.1 0.5 0.4

r = [r(i,s)](i,s)∈R X = [xv]v∈V

s

r(i,s)

q Each source maintains routing probabilities

xv

v xv = [xvi]i∈C

q Each cache maintains caching probabilities routing probabilities: caching probabilities:

slide-43
SLIDE 43

Distributed, Adaptive Algorithm

Jointly Optimal Routing and Caching 42

Time is slotted.

C={

}

v

0.5 0.9 0.6

s

r(i,s)

0.1 0.5 0.4

xv

v

q Each cache estimates

s

q Each source estimates rr(i,s)L(r, X)

rxvL(r, X)

During each timeslot: via control packets exchanged between nodes during timeslot

r = [r(i,s)](i,s)∈R X = [xv]v∈V

routing probabilities: caching probabilities:

slide-44
SLIDE 44

Distributed, Adaptive Algorithm

Jointly Optimal Routing and Caching 43

At the end of a timeslot, all nodes adapt their state:

C={

}

v

0.5 0.9 0.6

s

r(i,s)

0.1 0.5 0.4

xv

v

q Each cache :

s

q Each source :

xv ΠDv(xv + γk\ rxvL(r, X))

Stochastic Projected Gradient Ascent (PGA)

r(i,s) ΠDr(i,s) (r(i,s) + γk \ rr(i,s)L(r, X))

r = [r(i,s)](i,s)∈R X = [xv]v∈V

routing probabilities: caching probabilities:

slide-45
SLIDE 45

Distributed, Adaptive Algorithm

Jointly Optimal Routing and Caching 44

At the end of a timeslot:

C={

}

v

0.5 0.9 0.6

s

r(i,s)

0.1 0.5 0.4

xv v

q Each cache reshuffles its contents independently according to

s

q Each source routes packets independently according to

r(i,s)

xv r = [r(i,s)](i,s)∈R X = [xv]v∈V

routing probabilities: caching probabilities:

slide-46
SLIDE 46

Theorem: For , under Projected Gradient Ascent, the randomized allocation and the randomized routing strategy at timeslot are such that: where is an optimal solution to the offline problem.

Convergence

Jointly Optimal Routing and Caching 45

γk = 1/ √ k

Xk rk k

lim

k→∞ E[F(r, X)] ≥ (1 − 1

e)F(r∗, X∗)

(r∗, X∗)

slide-47
SLIDE 47

qModel qMain Results

qRNS is suboptimal qOffline Algorithm qDistributed, Adaptive Algorithm

qEvaluation Overview

Jointly Optimal Routing and Caching 46

slide-48
SLIDE 48

Experiments

Jointly Optimal Routing and Caching 47

Graph |V | |E| |C| |R| cycle 30 60 10 100 grid-2d 100 360 300 1K hypercube 128 896 300 1K expander 100 716 300 1K erdos-renyi 100 1042 300 1K regular 100 300 300 1K watts-strogatz 100 400 300 1K small-world 100 491 300 1K barabasi-albert 100 768 300 1K geant 22 66 10 100 abilene 9 26 10 90 dtelekom 68 546 300 1K | cv |P(i,s)| 2 2 3 30 3 30 3 30 3 30 3 30 3 2 3 30 3 30 2 10 2 10 3 30

Graph Topologies Routing Algorithms q Shortest Path (RNS) q Uniform q Dynamic routing: PGA on L for routes alone q LRU q LFU q FIFO q RR q PGA on L Caching Algorithms

slide-49
SLIDE 49

Performance Comparison

Jointly Optimal Routing and Caching 48

Ratio of expected routing cost to routing cost under our algorithm

small-world

100 101 102 103

dtelekom

cost(·) cost(PGA)

slide-50
SLIDE 50

Performance Comparison

Jointly Optimal Routing and Caching 49 LRU-S LFU-S FIFO-S RR-S PGA-S LRU-U LFU-U FIFO-U RR-U PGA-U PGA-U LRU-D LFU-D FIFO-D RR-D PGA

small-world

100 101 102 103

dtelekom

shortest path uniform dynamic routing Ratio of expected routing cost to routing cost under our algorithm

cost(·) cost(PGA)

slide-51
SLIDE 51

Performance Comparison

Jointly Optimal Routing and Caching 50 LRU-S LFU-S FIFO-S RR-S PGA-S LRU-U LFU-U FIFO-U RR-U PGA-U PGA-U LRU-D LFU-D FIFO-D RR-D PGA

small-world

100 101 102 103

dtelekom

Path diversity Ratio of expected routing cost to routing cost under our algorithm

cost(·) cost(PGA)

slide-52
SLIDE 52

Performance Comparison

Jointly Optimal Routing and Caching 51 LRU-S LFU-S FIFO-S RR-S PGA-S LRU-U LFU-U FIFO-U RR-U PGA-U PGA-U LRU-D LFU-D FIFO-D RR-D PGA

small-world

100 101 102 103

dtelekom

Optimizing Routing Ratio of expected routing cost to routing cost under our algorithm

cost(·) cost(PGA)

slide-53
SLIDE 53

Performance Comparison

Jointly Optimal Routing and Caching 52 LRU-S LFU-S FIFO-S RR-S PGA-S LRU-U LFU-U FIFO-U RR-U PGA-U PGA-U LRU-D LFU-D FIFO-D RR-D PGA

small-world

100 101 102 103

dtelekom

Jointly Optimizing Caching & Routing

cost(·) cost(PGA)

slide-54
SLIDE 54

Performance Comparison

Jointly Optimal Routing and Caching 53

cycle grid-2d hypercube expander erdos-renyi regular

100 101 102 103 LRU-S LFU-S FIFO-S RR-S PGA-S LRU-U LFU-U FIFO-U RR-U PGA-U LRU-D LFU-D FIFO-D RR-D PGA

watts-strogatz small-world barabasi-albert geant abilene dtelekom

100 101 102 103

slide-55
SLIDE 55

qRNS is suboptimal qPath diversity caching opportunities qJoint optimization with guarantees over arbitrary topologies Conclusions & Open Problems

Jointly Optimal Routing and Caching 54

Open Problems qOptimize cost rather than gain qSpeed up convergence & reduce state qIntroduce queueing delays

slide-56
SLIDE 56

Thank you!

slide-57
SLIDE 57

Gradient Estimation

Jointly Optimal Routing and Caching 56

How can nodes estimate gradient in a distributed fashion?

C={

}

yv v

Y = [yv]v∈V

0.5 0.9 0.6

s

r(i,s)

0.1 0.5 0.4

r = [r(i,s)](i,s)∈R

slide-58
SLIDE 58

Gradient Estimation

Jointly Optimal Routing and Caching 57

When request is generated, create a new control message

C={

}

?

(i, s)

Y = [yv]v∈V r = [r(i,s)](i,s)∈R

s

slide-59
SLIDE 59

Gradient Estimation

Jointly Optimal Routing and Caching 58

Forward it to a path selected u.a.r. from

C={

}

?

Y = [yv]v∈V r = [r(i,s)](i,s)∈R P(i,s)

s

slide-60
SLIDE 60

Gradient Estimation

Jointly Optimal Routing and Caching 59

C={

}

? 5 3 4 6

Y = [yv]v∈V r = [r(i,s)](i,s)∈R

r(i,s)

0.1 0.6 0.3 If is chosen, initialize counter in message to

p ∈ P(i,s)

1 − r(i,s),p

0.4

s

slide-61
SLIDE 61

Gradient Estimation

Jointly Optimal Routing and Caching 60

Forward control message over path until:

C={

}

yv v

? 5 3 4 6 0.6 0.2 0.7 0.5 0.9 0.6 0.5 0.9 0.6

p Y = [yv]v∈V r = [r(i,s)](i,s)∈R

0.4

1 − r(i,s),p +

k

X

k0=1

ypk0i > 1

s

slide-62
SLIDE 62

s

Gradient Estimation

Jointly Optimal Routing and Caching 61

Send control message over reverse path, collecting sum of edge costs.

C={

}

yv v

? 5 3 4 6 0.6 0.2 0.7 0.5 0.9 0.6 0.5 0.9 0.6

+3 +8

Each node on reverse path, sniffs upstream costs, and maintains average per item . Forward until: Average at end of slot is estimate of i ∈ C

∂L(r, Y ) ∂yvi

Upon receipt, source node averages same values to estimate ∂L(r, Y )

∂r(i,s),p

Y = [yv]v∈V r = [r(i,s)](i,s)∈R

1 − r(i,s),p +

k

X

k0=1

ypk0i > 1

slide-63
SLIDE 63

qPath to closest cache learned adaptively qOptimization of caches and paths happens jointly

qCaching decisions affect routing and vice-versa qSame control plane for both

Key Insights

Jointly Optimal Routing and Caching 62

slide-64
SLIDE 64

Jointly Optimal Routing and Caching 63

Routing Variant I : Source Routing

Source node generating request selects entire path that request should follow.

User ? ? ?

slide-65
SLIDE 65

Jointly Optimal Routing and Caching 64

Routing Variant I : Source Routing

Source node generating request selects entire path that request should follow.

User ?

slide-66
SLIDE 66

Jointly Optimal Routing and Caching 65

Routing Variant II: Hop-By-Hop Routing

Each node selects only next-hop in the path.

User ? ? ? ?

slide-67
SLIDE 67

Jointly Optimal Routing and Caching 66

Routing Variant II: Hop-By-Hop Routing

Each node selects only next-hop in the path.

User ?

slide-68
SLIDE 68

Jointly Optimal Routing and Caching 67

Routing Variant II: Hop-By-Hop Routing

Each node selects only next-hop in the path.

User ? ? ? ?

slide-69
SLIDE 69

Jointly Optimal Routing and Caching 68

Routing Variant II: Hop-By-Hop Routing

Each node selects only next-hop in the path.

User ?

slide-70
SLIDE 70

Jointly Optimal Routing and Caching 69

Routing Variant II: Hop-By-Hop Routing

Each node selects only next-hop in the path.

User ? ? ? ? ?

slide-71
SLIDE 71

Same Principles Apply to Hop-By-Hop Routing

Jointly Optimal Routing and Caching 70

0.4 0.1 0.6 0.3

yvi + 1 − r(i,v),e v v

When receives a control message, it forwards it to random edge , adding to it

e

slide-72
SLIDE 72

Randomized Placement

Jointly Optimal Routing and Caching 71

How can place exactly items in its cache, so that marginals are satisfied?

C={

}

0.5 0.9 0.6

yv

L(Y ) = X

(i,p)∈R

λ(i,p) P|p|−1

k=1 wpk+1pk min{1, Pk k0=1 yp0

ki}

v

5 3 4 6

v

cv

cv = 2

Y = [yv]v∈V

slide-73
SLIDE 73

Randomized Placement

Jointly Optimal Routing and Caching 72

Suppose that I give you a such that .

X

i∈C

yvi = cv

yv ∈ [0, 1]|C|

Is there a way to select exactly items at random, so that the probability that item is selected is ?

cv

i

yvi yv1

yv2 yv3

yv4

= 0.82 = 0.77 = 0.77 = 0.64

X

i∈C

yvi = 3

cv = 3

C = {1, 2, 3, 4}

slide-74
SLIDE 74

Randomized Placement: Sketch of Algorithm

Jointly Optimal Routing and Caching 73

µ1 µ2 µ3 µ4

1

cv = 3

yv1

yv2 yv3

yv4

Triplets: