Page 1
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
Page 2
1
Outline
Introduction
Prior Work
Solution Design
Experimental Results
Conclusion & Future Work
Travis Mick, Reza Tourani, Satyajayant Misra MuNCC: Multi-hop Neighborhood Collaborative Caching
Page 3
1
Outline
Introduction
Prior Work
Solution Design
Experimental Results
Conclusion & Future Work
Travis Mick, Reza Tourani, Satyajayant Misra MuNCC: Multi-hop Neighborhood Collaborative Caching
Page 4
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
Page 5
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
Page 6
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
Page 7
4
Outline
Introduction
Prior Work
Solution Design
Experimental Results
Conclusion & Future Work
Travis Mick, Reza Tourani, Satyajayant Misra MuNCC: Multi-hop Neighborhood Collaborative Caching
Page 8
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
Page 9
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
Page 10
6
On-path caching has minimal overhead.
ContentProvider
Consumer
On-pathReplica
Travis Mick, Reza Tourani, Satyajayant Misra MuNCC: Multi-hop Neighborhood Collaborative Caching
Page 11
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
Page 12
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
Page 13
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
Page 14
9
Hash routing maximizes diversity.
ContentProvider
DesignatedReplica
Consumer
Travis Mick, Reza Tourani, Satyajayant Misra MuNCC: Multi-hop Neighborhood Collaborative Caching
Page 15
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
Page 16
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
Page 17
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
Page 18
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
Page 19
12
Outline
Introduction
Prior Work
Solution Design
Experimental Results
Conclusion & Future Work
Travis Mick, Reza Tourani, Satyajayant Misra MuNCC: Multi-hop Neighborhood Collaborative Caching
Page 20
13
MuNCC consists of four major components.
Cache StateExchange
NeighborhoodForwarding
ErrorReduction
DiversityEnhancement
Travis Mick, Reza Tourani, Satyajayant Misra MuNCC: Multi-hop Neighborhood Collaborative Caching
Page 21
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
Page 22
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
Page 23
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
Page 24
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
Page 25
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
Page 26
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
Page 27
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
Page 28
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
Page 29
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
Page 30
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
Page 31
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
Page 32
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
Page 33
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
Page 34
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
Page 35
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
Page 36
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
Page 37
20
Outline
Introduction
Prior Work
Solution Design
Experimental Results
Conclusion & Future Work
Travis Mick, Reza Tourani, Satyajayant Misra MuNCC: Multi-hop Neighborhood Collaborative Caching
Page 38
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
Page 39
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
Page 40
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
Page 41
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
Page 42
24
Outline
Introduction
Prior Work
Solution Design
Experimental Results
Conclusion & Future Work
Travis Mick, Reza Tourani, Satyajayant Misra MuNCC: Multi-hop Neighborhood Collaborative Caching
Page 43
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
Page 44
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
Page 45
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
Page 46
26
Thank you!
[email protected]
Funded by US National Science Foundation and US Dept. of Defense.Travis Mick, Reza Tourani, Satyajayant Misra MuNCC: Multi-hop Neighborhood Collaborative Caching
Page 47
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
Page 48
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
Page 49
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
Page 50
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
Page 51
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
Page 52
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