MuNCC:Multi-hop Neighborhood Collaborative
Caching in Information-Centric Networks
Travis Mick, Reza Tourani, Satyajayant MisraNew Mexico State UniversityDept. of Computer Science
28 Sept. 2016ACM ICN, Kyoto
Travis Mick, Reza Tourani, Satyajayant Misra MuNCC: Multi-hop Neighborhood Collaborative Caching
1
Outline
Introduction
Prior Work
Solution Design
Experimental Results
Conclusion & Future Work
Travis Mick, Reza Tourani, Satyajayant Misra MuNCC: Multi-hop Neighborhood Collaborative Caching
1
Outline
Introduction
Prior Work
Solution Design
Experimental Results
Conclusion & Future Work
Travis Mick, Reza Tourani, Satyajayant Misra MuNCC: Multi-hop Neighborhood Collaborative Caching
2
The amount of cacheable content is growing...
VideoTraffic
63% ofall traffic
79% oftraffic by
2020
1.8 ZBper year
2016 Cisco VNITravis Mick, Reza Tourani, Satyajayant Misra MuNCC: Multi-hop Neighborhood Collaborative Caching
3
The ideal caching scheme has several requirements.
IdealCaching
HighHit Ratio
LowOverhead
LowLatency
ReducedCost
ImprovedQoE
Travis Mick, Reza Tourani, Satyajayant Misra MuNCC: Multi-hop Neighborhood Collaborative Caching
4
Caching encompasses several tightly-coupled problems.
AdmissionControl
ReplicaPlacement
Routing& Forwarding
StateExchange
RedundancyElimination
Travis Mick, Reza Tourani, Satyajayant Misra MuNCC: Multi-hop Neighborhood Collaborative Caching
4
Outline
Introduction
Prior Work
Solution Design
Experimental Results
Conclusion & Future Work
Travis Mick, Reza Tourani, Satyajayant Misra MuNCC: Multi-hop Neighborhood Collaborative Caching
5
Caching strategies can be broadly classified into fourcategories, each with their own shortcomings.
IndependentCaching
On-PathCoordination
NeighborhoodCoordination
GlobalCoordination
Travis Mick, Reza Tourani, Satyajayant Misra MuNCC: Multi-hop Neighborhood Collaborative Caching
5
Caching strategies can be broadly classified into fourcategories, each with their own shortcomings.
IndependentCaching
On-PathCoordination
NeighborhoodCoordination
GlobalCoordination
HighRedundancy
LimitedDiversity ? High
Overhead
Travis Mick, Reza Tourani, Satyajayant Misra MuNCC: Multi-hop Neighborhood Collaborative Caching
6
On-path caching has minimal overhead.
ContentProvider
Consumer
On-pathReplica
Travis Mick, Reza Tourani, Satyajayant Misra MuNCC: Multi-hop Neighborhood Collaborative Caching
7
On-path caching has minimal overhead; low diversity.
ContentProvider
Off-pathReplica
Consumer
Travis Mick, Reza Tourani, Satyajayant Misra MuNCC: Multi-hop Neighborhood Collaborative Caching
7
On-path caching has minimal overhead; low diversity.
ContentProvider
Off-pathReplica
Consumer
NewReplica
Travis Mick, Reza Tourani, Satyajayant Misra MuNCC: Multi-hop Neighborhood Collaborative Caching
8
Attempts have been made to improve on-path diversity.
Leave Copy Everywhere (LCE)Leave Copy Down (LCD), Move Copy Down (MCD)1.ProbCache2, Prob-PD3.
1Laoutaris, N., Che, H., & Stavrakakis, I. (2006).2Psaras, I., Chai, W. K., & Pavlou, G. (2012).3Ioannou, A., & Weber, S. (2014).
Travis Mick, Reza Tourani, Satyajayant Misra MuNCC: Multi-hop Neighborhood Collaborative Caching
9
Hash routing maximizes diversity.
ContentProvider
DesignatedReplica
Consumer
Travis Mick, Reza Tourani, Satyajayant Misra MuNCC: Multi-hop Neighborhood Collaborative Caching
9
Hash routing maximizes diversity; increases path stretch.
ContentProvider
DesignatedReplica
Consumer
ContentProvider
DesignatedReplica
Consumer
Travis Mick, Reza Tourani, Satyajayant Misra MuNCC: Multi-hop Neighborhood Collaborative Caching
10
Variants of hash routing aim to reduce path stretch.
ContentProvider
DesignatedReplica
Consumer
Asymmetric
ContentProvider
DesignatedReplica
Consumer
Multicast
Saino, L., Psaras, I., & Pavlou, G. (2013).Travis Mick, Reza Tourani, Satyajayant Misra MuNCC: Multi-hop Neighborhood Collaborative Caching
11
The neighborhood can contain diverse content.
SearchingNode
ImmediateNeighbors
2nd-hopNeighbors
3rd-hopNeighbors
DistantContentProvider
NearbyReplica
Travis Mick, Reza Tourani, Satyajayant Misra MuNCC: Multi-hop Neighborhood Collaborative Caching
12
Neighborhood caching in ICN is not well-studied.
Caching schemes utilizing Bloom filters.Radius Validation Applicability
Tortelli, M., et al. 1-hop None CCNWang, Y., et al. Arbitrary Theoretical General ICNLee, M., et al. Arbitrary Simulation IP
Wong, W., et al. Arbitrary Emulation CCN
Travis Mick, Reza Tourani, Satyajayant Misra MuNCC: Multi-hop Neighborhood Collaborative Caching
12
Outline
Introduction
Prior Work
Solution Design
Experimental Results
Conclusion & Future Work
Travis Mick, Reza Tourani, Satyajayant Misra MuNCC: Multi-hop Neighborhood Collaborative Caching
13
MuNCC consists of four major components.
Cache StateExchange
NeighborhoodForwarding
ErrorReduction
DiversityEnhancement
Travis Mick, Reza Tourani, Satyajayant Misra MuNCC: Multi-hop Neighborhood Collaborative Caching
14
Cached contents are advertised in Bloom filters.
Attenuated Bloom Filter Construction:1 Compress cache state into a Bloom filter.2 Send Bloom filter to neighbors.3 Aggregate received Bloom filters.4 Repeat h times to establish h-hop neighborhood.
Travis Mick, Reza Tourani, Satyajayant Misra MuNCC: Multi-hop Neighborhood Collaborative Caching
15
Cache summary exchange for BF construction: Step 1.
v
w x
y z
Bv
Bw Bx
By Bz
1 Compress cache state into a Bloom filter.
Travis Mick, Reza Tourani, Satyajayant Misra MuNCC: Multi-hop Neighborhood Collaborative Caching
15
Cache summary exchange for BF construction: Step 2.
v
w x
y z
Bv
Bv
Bw
Bw
Bx
BxBy
Bz
2 Send Bloom filter to neighbors.
Travis Mick, Reza Tourani, Satyajayant Misra MuNCC: Multi-hop Neighborhood Collaborative Caching
15
Cache summary exchange for BF construction: Step 3.
v
w x
y z
Bv(w ,0) = BwBv
(x ,0) = Bx
Bw(v ,0) = BvBw
(y ,0) = By
Bx(v ,0) = BvBx
(z,0) = Bz
By(w ,0) = Bw Bz
(x ,0) = Bx
3 Aggregate received Bloom filters.
Travis Mick, Reza Tourani, Satyajayant Misra MuNCC: Multi-hop Neighborhood Collaborative Caching
15
Cache summary exchange for BF construction: Step 4.
v
w x
y z
Bw ∪ Bx
Bw ∪ BxBv ∪ By
Bv ∪ By
Bv ∪ Bz
Bv ∪ BzBw
Bx
4 Repeat.
Travis Mick, Reza Tourani, Satyajayant Misra MuNCC: Multi-hop Neighborhood Collaborative Caching
15
Cache summary exchange for BF construction: Step 4.
v
w x
y z
Bv(w ,1) = Bv ∪ ByBv
(x ,1) = Bv ∪ Bz
Bw(v ,1) = Bw ∪ BxBw
(y ,1) = Bw
Bx(v ,1) = Bw ∪ BxBx
(z,1) = Bx
By(w ,1) = Bv ∪ By Bz
(x ,1) = Bv ∪ Bz
4 Repeat.
Travis Mick, Reza Tourani, Satyajayant Misra MuNCC: Multi-hop Neighborhood Collaborative Caching
16
Forwarding decisions are made based on attenuated BFs.
Implementation:Add distance flag D to interest, with default ∞.If D 6=∞, the interest is part of a neighborhood search.
If D =∞:1 Try to satisfy from cache.2 Try to satisfy in neighborhood.3 Forward toward content provider.
If D 6=∞:1 Try to satisfy in level D of neighborhood.2 Return NACK.
Travis Mick, Reza Tourani, Satyajayant Misra MuNCC: Multi-hop Neighborhood Collaborative Caching
17
Neighborhood search procedure: Scenario.
v
w x
y z
SearchingNode
TruePositive
FalsePositive
v : Wants content i .v : i 6∈ local cache
Travis Mick, Reza Tourani, Satyajayant Misra MuNCC: Multi-hop Neighborhood Collaborative Caching
17
Neighborhood search procedure: Level 1.
v
w x
y z
SearchingNode
TruePositive
FalsePositive
v : i 6∈ Bv(w ,0)
v : i ∈ Bv(x,0)
Travis Mick, Reza Tourani, Satyajayant Misra MuNCC: Multi-hop Neighborhood Collaborative Caching
17
Neighborhood search procedure: False positive.
v
w x
y z
v : Forward to x with tag D = 0x : i 6∈ local cachex : Return NACK to v
Travis Mick, Reza Tourani, Satyajayant Misra MuNCC: Multi-hop Neighborhood Collaborative Caching
17
Neighborhood search procedure: Level 2.
v
w x
y z
v : Process NACK from xv : i ∈ Bv
(w,1)v : Forward to w with tag D = 1
Travis Mick, Reza Tourani, Satyajayant Misra MuNCC: Multi-hop Neighborhood Collaborative Caching
17
Neighborhood search procedure: Next hop, level 1.
v
w x
y z
w : i ∈ Bw(y,0)
w : Forward to y with tag D = 0
Travis Mick, Reza Tourani, Satyajayant Misra MuNCC: Multi-hop Neighborhood Collaborative Caching
17
Neighborhood search procedure: Content delivery.
v
w x
y z
y : i ∈ local cachey : Deliver content to ww : Deliver content to v
Travis Mick, Reza Tourani, Satyajayant Misra MuNCC: Multi-hop Neighborhood Collaborative Caching
18
Cache churn undermines BF usefulness and is detrimentalto performance.
Eviction FalsePositive NACKs
IncreasedLatency
Travis Mick, Reza Tourani, Satyajayant Misra MuNCC: Multi-hop Neighborhood Collaborative Caching
19
Several mechanisms reduce the impact of cache churn.
HandlingChurn
GuaranteeingAdvertised
Content
PreventingRecurrent
Error
AdvancedReplacement
Strategy
Two-LevelCache
NegativeBloom Filter
NACKResponse
Travis Mick, Reza Tourani, Satyajayant Misra MuNCC: Multi-hop Neighborhood Collaborative Caching
20
Diversity is enhanced both implicitly and explicitly.
NeighborhoodAwareness
Don’t CacheIf Cached
Nearby
ImplicitDiversification
Evict IfCached
Next Door
ExplicitDiversification
Travis Mick, Reza Tourani, Satyajayant Misra MuNCC: Multi-hop Neighborhood Collaborative Caching
20
Outline
Introduction
Prior Work
Solution Design
Experimental Results
Conclusion & Future Work
Travis Mick, Reza Tourani, Satyajayant Misra MuNCC: Multi-hop Neighborhood Collaborative Caching
21
Experiment SetupSimulation Engine: Icarus 4.
Topologies: Real: WIDE (30, 33), SPRINT (604, 2268),(|V |, |E |) TISCALI (240, 810), GEANT (53, 61) 5.
Scale-free: Topo1 (250, 492), Topo2 (500, 972),Topo3 (750, 1447), Topo4 (1000, 1897).
Workloads: Stationary (Zipf, α = 0.8, N = 3 · 106),Temporal (Globetraff 6, N ≈ 2.1 · 105)
Interests Simulated: 1, 200, 000 per scenario
Cache Sizes: Equivalent to {0.25%, 0.5%, 2%, 5%}of content globally, uniformly distributed.
Parameters: Exchange every 3 minutes, BF size < 4KB, LFU.
Comparison: HR Symmetric, HR Hybrid AM, ProbCache, LCD.4Saino, L., Psaras, I., & Pavlou, G. (2014).5Spring, N., Mahajan, R., Wetherall, D. (2002).6Katsaros, K., Xylomenos, G., & Polyzos, G. (2012).
Travis Mick, Reza Tourani, Satyajayant Misra MuNCC: Multi-hop Neighborhood Collaborative Caching
22
Cache hit ratio: temporal model, real graphs.Higher hit ratio than on-path; exceeds HR in some scenarios.
0.00 0.02 0.04 0.06 0.08 0.10
Cache to population ratio
16
18
20
22
24
26
28
30
Late
ncy (
ms)
MuNCC/4/deg- HR Symm HR Hybrid AM ProbCache LCD
0.00 0.02 0.04 0.06 0.08 0.10
Cache to population ratio
0.05
0.10
0.15
0.20
0.25
0.30
Ca
ch
e h
it r
atio
GEANT (53, 61)
0.00 0.02 0.04 0.06 0.08 0.10
Cache to population ratio
0.00
0.05
0.10
0.15
0.20
0.25
0.30
Ca
ch
e h
it r
atio
TISCALI (240, 810)
0.00 0.02 0.04 0.06 0.08 0.10
Cache to population ratio
0.05
0.10
0.15
0.20
0.25
0.30
Ca
ch
e h
it r
atio
WIDE (30, 33)
0.00 0.02 0.04 0.06 0.08 0.10
Cache to population ratio
0.00
0.05
0.10
0.15
0.20
0.25
0.30
Ca
ch
e h
it r
atio
SPRINT (604, 2268)
Travis Mick, Reza Tourani, Satyajayant Misra MuNCC: Multi-hop Neighborhood Collaborative Caching
23
Latency: temporal model, real graphs.Latency very close to LCD, often lower.
0.00 0.02 0.04 0.06 0.08 0.10
Cache to population ratio
16
18
20
22
24
26
28
30
Late
ncy (
ms)
MuNCC/4/deg- HR Symm HR Hybrid AM ProbCache LCD
0.00 0.02 0.04 0.06 0.08 0.10
Cache to population ratio
20
22
24
26
28
30
32
La
ten
cy (
ms)
GEANT (53, 61)
0.00 0.02 0.04 0.06 0.08 0.10
Cache to population ratio
25
30
35
40
45
50
La
ten
cy (
ms)
TISCALI (240, 810)
0.00 0.02 0.04 0.06 0.08 0.10
Cache to population ratio
12
14
16
18
20
22
24
La
ten
cy (
ms)
WIDE (30, 33)
0.00 0.02 0.04 0.06 0.08 0.10
Cache to population ratio
18
20
22
24
26
28
30
32
34
La
ten
cy (
ms)
SPRINT (604, 2268)
Travis Mick, Reza Tourani, Satyajayant Misra MuNCC: Multi-hop Neighborhood Collaborative Caching
24
Overhead: temporal model, real graphs.
False Positive Rate Overhead Rate0.5% 0.001372 0.000497
WIDE 2% 0.000819 0.0009495% 0.000668 0.001170
0.5% 0.003139 0.000725GEANT 2% 0.002315 0.001250
5% 0.002120 0.0015270.5% 0.004133 0.000415
TISCALI 2% 0.004948 0.0008095% 0.004093 0.001139
0.5% 0.006620 0.001422SPRINT 2% 0.006979 0.002333
5% 0.004843 0.002962
FP rate: Probability that an interest experiences at least one FP.Overhead rate: BF transmissions per second by each node.
Travis Mick, Reza Tourani, Satyajayant Misra MuNCC: Multi-hop Neighborhood Collaborative Caching
24
Outline
Introduction
Prior Work
Solution Design
Experimental Results
Conclusion & Future Work
Travis Mick, Reza Tourani, Satyajayant Misra MuNCC: Multi-hop Neighborhood Collaborative Caching
25
MuNCC shows feasibility for neighborhood collaboration.
LowLatency
LowOverhead
HighHit Ratio
On-Path
HashRouting
GlobalCollaboration
Travis Mick, Reza Tourani, Satyajayant Misra MuNCC: Multi-hop Neighborhood Collaborative Caching
25
MuNCC shows feasibility for neighborhood collaboration.
LowLatency
LowOverhead
HighHit Ratio
x
MuNCC
Travis Mick, Reza Tourani, Satyajayant Misra MuNCC: Multi-hop Neighborhood Collaborative Caching
26
Future work aims to improve MuNCC’s performance.
False Positive MitigationDynamic BF sizing.Proactive eviction notification.Negative BF aggregation.
Redundancy EliminationMulti-hop consolidation.Computational overhead reduction.
Travis Mick, Reza Tourani, Satyajayant Misra MuNCC: Multi-hop Neighborhood Collaborative Caching
26
Thank you!
Funded by US National Science Foundation and US Dept. of Defense.Travis Mick, Reza Tourani, Satyajayant Misra MuNCC: Multi-hop Neighborhood Collaborative Caching
27
Any on-path node can initiate an expanding-ring search inthe neighborhood.
if D =∞ and content not in cache thenfor each level of the neighborhood, D′ ∈ [1, h − 1] do
for each neighbor p, sorted by rank doif content in BA
(p, D′−1) thenforward to p with D = D′ − 1if interest satisfied then
breakelse
forward toward content provider with D =∞
Travis Mick, Reza Tourani, Satyajayant Misra MuNCC: Multi-hop Neighborhood Collaborative Caching
28
The interest can indicate the exact cache level to index,reducing compute burden and latency at the next hop.
if D 6=∞ thenif D = 0 then
check local cacheif content not found then
send NACKelse
for each neighbor p doif content in BA
(p, D′−1) thenforward to p with D = D′ − 1if interest satisfied then
breakelse
send NACK
Travis Mick, Reza Tourani, Satyajayant Misra MuNCC: Multi-hop Neighborhood Collaborative Caching
29
Cache hit ratio: stationary model, real graphs.
0.00 0.02 0.04 0.06 0.08 0.10
Cache to population ratio
16
18
20
22
24
26
28
30
Late
ncy (
ms)
MuNCC/4/deg- HR Symm HR Hybrid AM ProbCache LCD
0.00 0.02 0.04 0.06 0.08 0.10
Cache to population ratio
0.2
0.3
0.4
0.5
0.6C
ach
e h
it r
atio
GEANT (53, 61)
0.00 0.02 0.04 0.06 0.08 0.10
Cache to population ratio
0.1
0.2
0.3
0.4
0.5
0.6
Ca
ch
e h
it r
atio
TISCALI (240, 810)
0.00 0.02 0.04 0.06 0.08 0.10
Cache to population ratio
0.2
0.3
0.4
0.5
0.6
Ca
ch
e h
it r
atio
WIDE (30, 33)
0.00 0.02 0.04 0.06 0.08 0.10
Cache to population ratio
0.1
0.2
0.3
0.4
0.5
0.6
Ca
ch
e h
it r
atio
SPRINT (604, 2268)
Travis Mick, Reza Tourani, Satyajayant Misra MuNCC: Multi-hop Neighborhood Collaborative Caching
30
Latency: stationary model, real graphs.
0.00 0.02 0.04 0.06 0.08 0.10
Cache to population ratio
16
18
20
22
24
26
28
30
Late
ncy (
ms)
MuNCC/4/deg- HR Symm HR Hybrid AM ProbCache LCD
0.00 0.02 0.04 0.06 0.08 0.10
Cache to population ratio
16
18
20
22
24
26
28
30L
ate
ncy (
ms)
GEANT (53, 61)
0.00 0.02 0.04 0.06 0.08 0.10
Cache to population ratio
20
25
30
35
40
45
La
ten
cy (
ms)
TISCALI (240, 810)
0.00 0.02 0.04 0.06 0.08 0.10
Cache to population ratio
10
12
14
16
18
20
22
24
La
ten
cy (
ms)
WIDE (30, 33)
0.00 0.02 0.04 0.06 0.08 0.10
Cache to population ratio
16
18
20
22
24
26
28
30
32
La
ten
cy (
ms)
SPRINT (604, 2268)
Travis Mick, Reza Tourani, Satyajayant Misra MuNCC: Multi-hop Neighborhood Collaborative Caching
31
Cache hit ratio: temporal model, scale-free graphs.
0.00 0.02 0.04 0.06 0.08 0.10
Cache to population ratio
16
18
20
22
24
26
28
30
Late
ncy (
ms)
MuNCC/4/deg- HR Symm HR Hybrid AM ProbCache LCD
0.00 0.02 0.04 0.06 0.08 0.10
Cache to population ratio
0.00
0.05
0.10
0.15
0.20
0.25
0.30C
ach
e h
it r
atio
Topo1 (250, 492)
0.00 0.02 0.04 0.06 0.08 0.10
Cache to population ratio
0.00
0.05
0.10
0.15
0.20
0.25
0.30
Ca
ch
e h
it r
atio
Topo2 (500, 972)
0.00 0.02 0.04 0.06 0.08 0.10
Cache to population ratio
0.00
0.05
0.10
0.15
0.20
0.25
0.30
Ca
ch
e h
it r
atio
Topo3 (750, 1447)
0.00 0.02 0.04 0.06 0.08 0.10
Cache to population ratio
0.00
0.05
0.10
0.15
0.20
0.25
0.30
Ca
ch
e h
it r
atio
Topo4 (1000, 1897)
Travis Mick, Reza Tourani, Satyajayant Misra MuNCC: Multi-hop Neighborhood Collaborative Caching
32
Latency: temporal model, scale-free graphs.
0.00 0.02 0.04 0.06 0.08 0.10
Cache to population ratio
16
18
20
22
24
26
28
30
Late
ncy (
ms)
MuNCC/4/deg- HR Symm HR Hybrid AM ProbCache LCD
0.00 0.02 0.04 0.06 0.08 0.10
Cache to population ratio
20
22
24
26
28
30
32
34
36
38L
ate
ncy (
ms)
Topo1 (250, 492)
0.00 0.02 0.04 0.06 0.08 0.10
Cache to population ratio
25
30
35
40
45
50
La
ten
cy (
ms)
Topo2 (500, 972)
0.00 0.02 0.04 0.06 0.08 0.10
Cache to population ratio
30
35
40
45
50
55
60
La
ten
cy (
ms)
Topo3 (750, 1447)
0.00 0.02 0.04 0.06 0.08 0.10
Cache to population ratio
30
35
40
45
50
55
60
La
ten
cy (
ms)
Topo4 (1000, 1897)
Travis Mick, Reza Tourani, Satyajayant Misra MuNCC: Multi-hop Neighborhood Collaborative Caching