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 Routing and Caching 1
A Caching Network Webserver ? User λ ? Requests are routed towards a designated server Jointly Optimal Routing and Caching 2
A Caching Network Webserver ? User λ ? Nodes have caches with finite capacities Jointly Optimal Routing and Caching 3
A Caching Network Webserver ? User λ ? Routers have caches with finite capacities Jointly Optimal Routing and Caching 4
A Caching Network Webserver ? User λ ? Requests terminate early upon a cache hit Jointly Optimal Routing and Caching 5
Goal Webserver 1 10 6 6 1 10 3 4 5 7 ? 3 4 2 3 2 10 User Design network so that expected routing costs are minimized. Jointly Optimal Routing and Caching 6
Joint Optimization Webserver Caching decisions Routing decisions ? User λ ? q Both caching and routing decisions are part of optimization Jointly Optimal Routing and Caching 7
Additional Challenge Webserver Caching decisions Routing decisions ? User Challenge: Caching and routing algorithm should be q adaptive , and q distributed. Jointly Optimal Routing and Caching 8
Fixed Routing Setting [Ioannidis, Yeh, SIGMETRICS 2016] Webserver Caching decisions ? 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 Jointly Optimal Routing and Caching 9
Challenges/Questions q Should we jointly optimize caching and routing? Is RNS sufficient? q Can we devise algorithms that: 1) have performance guarantees ? 2) are distributed and adaptive ? Jointly Optimal Routing and Caching 10
Our Contributions 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 optimal q Evaluation over 14 network topologies: q Routing costs reduced by factor 10 3 compared to RNS. Jointly Optimal Routing and Caching 11
Overview q Model q Main Results q RNS is suboptimal q Offline Algorithm q Distributed, Adaptive Algorithm q Evaluation Jointly Optimal Routing and Caching 12
Overview q Model q Main Results q RNS is suboptimal q Offline Algorithm q Distributed, Adaptive Algorithm q Evaluation Jointly Optimal Routing and Caching 13
Model: Network G ( V, E ) Network represented as a directed , bi-directional graph G ( V, E ) Jointly Optimal Routing and Caching 14
Model: Edge Costs G ( V, E ) Edge costs: w uv , ( u, v ) ∈ E 5 ( u, v ) ∈ E Each edge has a cost/weight w uv Jointly Optimal Routing and Caching 15
Model: Node Caches G ( V, E ) Edge costs: w uv , ( u, v ) ∈ E Node capacities: c v , v ∈ V Node has a cache with capacity v ∈ V c v ∈ N Jointly Optimal Routing and Caching 16
Model: Cache Contents G ( V, E ) Edge costs: w uv , ( u, v ) ∈ E Node capacities: c v , v ∈ V C = { } Items stored and requested form the item catalog C Jointly Optimal Routing and Caching 17
Model: Cache Contents G ( V, E ) Edge costs: w uv , ( u, v ) ∈ E Node capacities: c v , v ∈ V C = { } Caching strategy: x v = [ x vi ] i ∈ C i ∈ C For and , let v ∈ V ( i if stores 1 , v x vi = o.w. 0 , Caching Strategy of : v ∈ V X x v = [ x vi ] i ∈ C Then, for all , x vi ≤ c v v ∈ V i ∈ C Jointly Optimal Routing and Caching 18
Model: Designated Sources G ( V, E ) Edge costs: w uv , ( u, v ) ∈ E Node capacities: c v , v ∈ V C = { } Caching strategy: x v = [ x vi ] i ∈ C S i ⊂ V i ∈ C For each and , there exists a set of nodes (the designated servers of ) that permanently store . i i I.e., if then v ∈ S i x vi = 1 Jointly Optimal Routing and Caching 19
Model: Requests G ( V, E ) Edge costs: w uv , ( u, v ) ∈ E Node capacities: c v , v ∈ V C = { } Caching strategy: x v = [ x vi ] i ∈ C ? s ( i, s ) A request is a pair such that: q i is an item in C s ∈ V q is the source node of the request. Jointly Optimal Routing and Caching 20
Model: Demand G ( V, E ) Edge costs: w uv , ( u, v ) ∈ E Node capacities: c v , v ∈ V C = { } Caching strategy: x v = [ x vi ] i ∈ C Demand: λ ( i,s ) , ( i, s ) ∈ R ? s λ ? ( i, s ) Demand R : set of all requests λ ( i,s ) Request arrival process is Poisson with rate Jointly Optimal Routing and Caching 21
Routing Variant I : Source Routing ? ? ? User Source node generating request selects entire path that request should follow. Jointly Optimal Routing and Caching 22
Routing Variant II: Hop-By-Hop Routing ? ? ? ? User Each node selects only next-hop in the path. Jointly Optimal Routing and Caching 23
Source Routing: Routing Strategy G ( V, E ) Edge costs: w uv , ( u, v ) ∈ E Node capacities: c v , v ∈ V C = { } Caching strategy: x v = [ x vi ] i ∈ C Demand: λ ( i,s ) , ( i, s ) ∈ R Set of possible paths: P ( i,s ) ? s ( i, s ) P ( i,s ) For each request let be a set of possible paths the request can S i follow do a node in Jointly Optimal Routing and Caching 24
Source Routing: Routing Strategy G ( V, E ) Edge costs: w uv , ( u, v ) ∈ E Node capacities: c v , v ∈ V C = { } Caching strategy: x v = [ x vi ] i ∈ C Demand: λ ( i,s ) , ( i, s ) ∈ R Set of possible paths: P ( i,s ) Routing strategy: r ( i,s ) = [ r ( i,s ) ,p ] p ∈ P ( i,s ) ? s P ( i,s ) Routing strategy : probability distribution over r ( i,s ) X r ( i,s ) ,p = 1 r ( i,s ) ,p ≥ 0 , p ∈ P ( i,s ) p ∈ P ( i,s ) Jointly Optimal Routing and Caching 25
Source Routing: Routing Costs G ( V, E ) Edge costs: w uv , ( u, v ) ∈ E Node capacities: c v , v ∈ V C = { } Caching strategy: x v = [ x vi ] i ∈ C Demand: λ ( i,s ) , ( i, s ) ∈ R Set of possible paths: P ( i,s ) Routing strategy: r ( i,s ) = [ r ( i,s ) ,p ] p ∈ P ( i,s ) ? s P | p | − 1 Q k P k 0 =1 (1 − x p k 0 i ) Expected routing cost: p ∈ P ( i,s ) r ( i,s ) ,p k =1 w p k +1 p k P | p | − 1 P Upper bound: k =1 w p k +1 p k p ∈ P ( i,s ) h i P | p | − 1 Q k Caching Gain: P 1 − r ( i,s ) ,p k 0 =1 (1 − x p k 0 i ) k =1 w p k +1 p k p ∈ P ( i,s ) Jointly Optimal Routing and Caching 26
Caching Gain Maximization G ( V, E ) Edge costs: w uv , ( u, v ) ∈ E Node capacities: c v , v ∈ V C = { } 6 Caching strategy: x v = [ x vi ] i ∈ C 3 4 Demand: λ ( i,s ) , ( i, s ) ∈ R 5 R : demand ? Set of possible paths: P ( i,s ) s Routing strategy: r ( i,s ) = [ r ( i,s ) ,p ] p ∈ P ( i,s ) MaxCG | p | − 1 " k # X X X Y Maximize: F ( r, X ) = 1 − r ( i,s ) ,p (1 − x p k 0 i ) λ ( i,s ) w p k +1 p k p ∈ P ( i,s ) k =1 k 0 =1 ( i,s ) ∈ R X X r ( i,s ) ,p = 1 for all Subject to: x vi = c v for all v ∈ V ( i, s ) ∈ R p ∈ P ( i,s ) i ∈ C r ( i,s ) ,p ∈ [0 , 1] v ∈ S i x vi = 1 for all and i ∈ C for all p ∈ P ( i,s ) , ( i, s ) ∈ R x vi ∈ { 0 , 1 } for all and v ∈ V i ∈ C Jointly Optimal Routing and Caching 27
Fixed Routing Setting (e.g., RNS) Caching decisions Webserver ? |P ( i,s ) | = 1 , ∀ ( i, s ) ∈ R User [Shanmugam et al. 2013] q NP-hard [Shanmugam et al. 2013] q Offline algorithm achieves 1-1/e approximation q Distributed, adaptive algorithm achieving [Ioannidis & Yeh 2016] 1-1/e approximation Jointly Optimal Routing and Caching 28
Overview q Model q Main Results q RNS is suboptimal q Offline Algorithm q Distributed, Adaptive Algorithm q Evaluation Jointly Optimal Routing and Caching 29
Is Joint Optimization Really Necessary? ? User Why not just use shortest path routing towards the nearest designated server ? Jointly Optimal Routing and Caching 30
Is Joint Optimization Really Necessary? Shortest path routing to nearest server is arbitrarily suboptimal. Jointly Optimal Routing and Caching 31
RNS is Suboptimal t M M c = 1 c = 1 Shortest path for both 2 1 s λ λ = 0 . 5 requests per sec = ? ? Jointly Optimal Routing and Caching 32
Routing to Nearest Server is Suboptimal t Irrespective of caching decision, cost under shortest path routing is Θ ( M ) M M c = 1 c = 1 ? ? 2 1 s λ λ = 0 . 5 requests per sec = ? ? Jointly Optimal Routing and Caching 33
Routing to Nearest Server is Suboptimal t Irrespective of caching decision, cost under shortest path routing is Θ ( M ) M M c = 1 c = 1 Cost under split routing strategy is . O (1) ? ? 2 1 Shortest path routing to nearest server is arbitrarily suboptimal. s λ λ = 0 . 5 requests per sec = ? ? Jointly Optimal Routing and Caching 34
Key Intuition ? Increasing path diversity creates more caching opportunities . Jointly Optimal Routing and Caching 35
Recommend
More recommend