ditto - a system for opportunistic caching in multi-hop mesh networks fahad rafique dogar joint work...
TRANSCRIPT
![Page 1: Ditto - A System for Opportunistic Caching in Multi-hop Mesh Networks Fahad Rafique Dogar Joint work with: Amar Phanishayee, Himabindu Pucha, Olatunji](https://reader035.vdocuments.site/reader035/viewer/2022062422/56649ef45503460f94c07acf/html5/thumbnails/1.jpg)
Ditto - A System for Opportunistic Caching in Multi-hop Mesh Networks
Fahad Rafique Dogar
Joint work with: Amar Phanishayee, Himabindu Pucha, Olatunji Ruwase, and Dave Andersen
Carnegie Mellon University
![Page 2: Ditto - A System for Opportunistic Caching in Multi-hop Mesh Networks Fahad Rafique Dogar Joint work with: Amar Phanishayee, Himabindu Pucha, Olatunji](https://reader035.vdocuments.site/reader035/viewer/2022062422/56649ef45503460f94c07acf/html5/thumbnails/2.jpg)
Wireless Mesh Networks (WMNs)
2
Cost Effective
Greater Coverage
•Testbeds: RoofNet@MIT, MAP@Purdue, …
•Commercial: Meraki•100,000 users of San Francisco ‘Free the Net’ service
![Page 3: Ditto - A System for Opportunistic Caching in Multi-hop Mesh Networks Fahad Rafique Dogar Joint work with: Amar Phanishayee, Himabindu Pucha, Olatunji](https://reader035.vdocuments.site/reader035/viewer/2022062422/56649ef45503460f94c07acf/html5/thumbnails/3.jpg)
Throughput Problem in WMNs
3
•Interference
•GW becomes a bottleneck
P1P3
![Page 4: Ditto - A System for Opportunistic Caching in Multi-hop Mesh Networks Fahad Rafique Dogar Joint work with: Amar Phanishayee, Himabindu Pucha, Olatunji](https://reader035.vdocuments.site/reader035/viewer/2022062422/56649ef45503460f94c07acf/html5/thumbnails/4.jpg)
Exploiting Locality through Caching
4
On-Path + Opportunistic Caching -> Ditto
P1
P2
P3
Path of the transfer: Alice, P1, P3, GW
P1 and P3 perform on-path caching
P2 can perform opportunistic caching
![Page 5: Ditto - A System for Opportunistic Caching in Multi-hop Mesh Networks Fahad Rafique Dogar Joint work with: Amar Phanishayee, Himabindu Pucha, Olatunji](https://reader035.vdocuments.site/reader035/viewer/2022062422/56649ef45503460f94c07acf/html5/thumbnails/5.jpg)
Ditto: Key Contributions
• Built an opportunistic caching system for WMNs• Insights on opportunistic caching– Is it feasible?– Key factors
• Ditto’s throughput comparison with on-path and no caching scenarios– Up to 7x improvement over on-path caching– Up to 10x improvement over no caching
5
Evaluation on two testbeds
![Page 6: Ditto - A System for Opportunistic Caching in Multi-hop Mesh Networks Fahad Rafique Dogar Joint work with: Amar Phanishayee, Himabindu Pucha, Olatunji](https://reader035.vdocuments.site/reader035/viewer/2022062422/56649ef45503460f94c07acf/html5/thumbnails/6.jpg)
Outline
• Challenge and Opportunity• Ditto Design• Evaluation• Related Work
6
![Page 7: Ditto - A System for Opportunistic Caching in Multi-hop Mesh Networks Fahad Rafique Dogar Joint work with: Amar Phanishayee, Himabindu Pucha, Olatunji](https://reader035.vdocuments.site/reader035/viewer/2022062422/56649ef45503460f94c07acf/html5/thumbnails/7.jpg)
Challenge for Opportunistic Caching• Wireless networks experience high loss rates– Usually dealt with through link layer retransmissions
• Overhearing node also experiences losses
7
1
1
2
2P1
P3
Unlike P1, P2 cannot ask for retransmissions
Successful overhearing of a large file is unlikelyP2
Main Challenge: Lossy overhearing
![Page 8: Ditto - A System for Opportunistic Caching in Multi-hop Mesh Networks Fahad Rafique Dogar Joint work with: Amar Phanishayee, Himabindu Pucha, Olatunji](https://reader035.vdocuments.site/reader035/viewer/2022062422/56649ef45503460f94c07acf/html5/thumbnails/8.jpg)
More Overhearing Opportunities
8
Reduces the problem of lossy overhearing
Path of the transfer: Alice, P1, P3,…
P2 may benefit from multi-hop transfersP2
P1
P3
![Page 9: Ditto - A System for Opportunistic Caching in Multi-hop Mesh Networks Fahad Rafique Dogar Joint work with: Amar Phanishayee, Himabindu Pucha, Olatunji](https://reader035.vdocuments.site/reader035/viewer/2022062422/56649ef45503460f94c07acf/html5/thumbnails/9.jpg)
Outline
• Challenge and Opportunity– Lossy Overhearing– Multiple Opportunities to Overhear
• Ditto Design– Chunk Based Transfers– Ditto Proxy– Sniffer
• Evaluation• Related Work
9
![Page 10: Ditto - A System for Opportunistic Caching in Multi-hop Mesh Networks Fahad Rafique Dogar Joint work with: Amar Phanishayee, Himabindu Pucha, Olatunji](https://reader035.vdocuments.site/reader035/viewer/2022062422/56649ef45503460f94c07acf/html5/thumbnails/10.jpg)
Chunk Based Transfers• Motivation– Lossy overhearing -> smaller caching granularity
• Idea– Divide file into smaller chunks (8 – 32 KB)– Use chunk as a unit of transfer
• Ditto uses Data Oriented Transfer (DOT)1 system for chunk based transfers
1 Tolia et al, An Architecture for Internet Data Transfer. NSDI 2006.
10
![Page 11: Ditto - A System for Opportunistic Caching in Multi-hop Mesh Networks Fahad Rafique Dogar Joint work with: Amar Phanishayee, Himabindu Pucha, Olatunji](https://reader035.vdocuments.site/reader035/viewer/2022062422/56649ef45503460f94c07acf/html5/thumbnails/11.jpg)
Data Oriented Transfer (DOT)
11
chunkID3chunkID3
chunkID1chunkID1chunkID2chunkID2Foo.txtFoo.txtFoo.txtFoo.txt
Cryptographic Hash
App App Request – foo.txt
Response: chunk ids{A,B,C}
DOT
chunk ids
Receiver Sender
DOT
chunk ids
Chunk Request
Chunk Response
Chunking
DOT Transfer
![Page 12: Ditto - A System for Opportunistic Caching in Multi-hop Mesh Networks Fahad Rafique Dogar Joint work with: Amar Phanishayee, Himabindu Pucha, Olatunji](https://reader035.vdocuments.site/reader035/viewer/2022062422/56649ef45503460f94c07acf/html5/thumbnails/12.jpg)
An Example Ditto Transfer
12
App App Same as DOT
DOT
chunk ids
Chunk request
DOT
chunk ids
Chunk response
request
response
request
response
Receiver Sender
Ditto Proxy Ditto Proxy
![Page 13: Ditto - A System for Opportunistic Caching in Multi-hop Mesh Networks Fahad Rafique Dogar Joint work with: Amar Phanishayee, Himabindu Pucha, Olatunji](https://reader035.vdocuments.site/reader035/viewer/2022062422/56649ef45503460f94c07acf/html5/thumbnails/13.jpg)
Ditto Proxy
13
Next-Hop based on routing table
information
Separate TCP connection on
each hop
On-Path Caching
Opportunistic Caching
![Page 14: Ditto - A System for Opportunistic Caching in Multi-hop Mesh Networks Fahad Rafique Dogar Joint work with: Amar Phanishayee, Himabindu Pucha, Olatunji](https://reader035.vdocuments.site/reader035/viewer/2022062422/56649ef45503460f94c07acf/html5/thumbnails/14.jpg)
Sniffer
14
P1
P2 (Overhearing)
P3Path of the transfer: Alice, P1, P3,…
•TCP stream identification through (Src IP, Src Port, Dst IP, Dst Port)
•Placement within the stream based on TCP sequence number
•Next Step: Inter-Stream Chunk Reassembly
![Page 15: Ditto - A System for Opportunistic Caching in Multi-hop Mesh Networks Fahad Rafique Dogar Joint work with: Amar Phanishayee, Himabindu Pucha, Olatunji](https://reader035.vdocuments.site/reader035/viewer/2022062422/56649ef45503460f94c07acf/html5/thumbnails/15.jpg)
Inter-Stream Chunk Reassembly
15
Look for Ditto header
Chunk Boundaries
Exploits multiple overhearing opportunity
![Page 16: Ditto - A System for Opportunistic Caching in Multi-hop Mesh Networks Fahad Rafique Dogar Joint work with: Amar Phanishayee, Himabindu Pucha, Olatunji](https://reader035.vdocuments.site/reader035/viewer/2022062422/56649ef45503460f94c07acf/html5/thumbnails/16.jpg)
Outline
• Challenges and Opportunities• Ditto Design• Evaluation– Testbeds– Experimental Setup– Key Results– Summary
• Related Work
16
![Page 17: Ditto - A System for Opportunistic Caching in Multi-hop Mesh Networks Fahad Rafique Dogar Joint work with: Amar Phanishayee, Himabindu Pucha, Olatunji](https://reader035.vdocuments.site/reader035/viewer/2022062422/56649ef45503460f94c07acf/html5/thumbnails/17.jpg)
Emulab Wireless Testbed
17
![Page 18: Ditto - A System for Opportunistic Caching in Multi-hop Mesh Networks Fahad Rafique Dogar Joint work with: Amar Phanishayee, Himabindu Pucha, Olatunji](https://reader035.vdocuments.site/reader035/viewer/2022062422/56649ef45503460f94c07acf/html5/thumbnails/18.jpg)
MAP Campus Testbed (Purdue Univ.)
18
Gateway
![Page 19: Ditto - A System for Opportunistic Caching in Multi-hop Mesh Networks Fahad Rafique Dogar Joint work with: Amar Phanishayee, Himabindu Pucha, Olatunji](https://reader035.vdocuments.site/reader035/viewer/2022062422/56649ef45503460f94c07acf/html5/thumbnails/19.jpg)
Experimental SetupMode 802.11 b
Rate Auto
Other Parameters
Default
Routing Static
Cross Traffic No
Cache Eviction No
File Sizes 1-5 MB
Chunk Sizes 8KB, 16KB, 32KB19
![Page 20: Ditto - A System for Opportunistic Caching in Multi-hop Mesh Networks Fahad Rafique Dogar Joint work with: Amar Phanishayee, Himabindu Pucha, Olatunji](https://reader035.vdocuments.site/reader035/viewer/2022062422/56649ef45503460f94c07acf/html5/thumbnails/20.jpg)
Evaluation Scenarios
• Measuring Overhearing Effectiveness
P1P2
GWP3
• Each observer reports the number of chunks successfully reconstructed
• Each node becomes a receiver
Transfer
ReceiverObserver
Observer
20
Example
Observer Receiver
Transfer
![Page 21: Ditto - A System for Opportunistic Caching in Multi-hop Mesh Networks Fahad Rafique Dogar Joint work with: Amar Phanishayee, Himabindu Pucha, Olatunji](https://reader035.vdocuments.site/reader035/viewer/2022062422/56649ef45503460f94c07acf/html5/thumbnails/21.jpg)
Reconstruction Efficiency
21
Around 60% of the observers don’t
reconstruct anything
Around 30% of the observers reconstruct at least 50% chunks
![Page 22: Ditto - A System for Opportunistic Caching in Multi-hop Mesh Networks Fahad Rafique Dogar Joint work with: Amar Phanishayee, Himabindu Pucha, Olatunji](https://reader035.vdocuments.site/reader035/viewer/2022062422/56649ef45503460f94c07acf/html5/thumbnails/22.jpg)
Reconstruction Efficiency
22
Around 50% observers are able to reconstruct at least 50% chunks
![Page 23: Ditto - A System for Opportunistic Caching in Multi-hop Mesh Networks Fahad Rafique Dogar Joint work with: Amar Phanishayee, Himabindu Pucha, Olatunji](https://reader035.vdocuments.site/reader035/viewer/2022062422/56649ef45503460f94c07acf/html5/thumbnails/23.jpg)
23
Zooming In --- Campus Testbed
![Page 24: Ditto - A System for Opportunistic Caching in Multi-hop Mesh Networks Fahad Rafique Dogar Joint work with: Amar Phanishayee, Himabindu Pucha, Olatunji](https://reader035.vdocuments.site/reader035/viewer/2022062422/56649ef45503460f94c07acf/html5/thumbnails/24.jpg)
24
![Page 25: Ditto - A System for Opportunistic Caching in Multi-hop Mesh Networks Fahad Rafique Dogar Joint work with: Amar Phanishayee, Himabindu Pucha, Olatunji](https://reader035.vdocuments.site/reader035/viewer/2022062422/56649ef45503460f94c07acf/html5/thumbnails/25.jpg)
25
Zooming In --- Campus Testbed
![Page 26: Ditto - A System for Opportunistic Caching in Multi-hop Mesh Networks Fahad Rafique Dogar Joint work with: Amar Phanishayee, Himabindu Pucha, Olatunji](https://reader035.vdocuments.site/reader035/viewer/2022062422/56649ef45503460f94c07acf/html5/thumbnails/26.jpg)
26
Shield the gateway from becoming a
bottleneck
![Page 27: Ditto - A System for Opportunistic Caching in Multi-hop Mesh Networks Fahad Rafique Dogar Joint work with: Amar Phanishayee, Himabindu Pucha, Olatunji](https://reader035.vdocuments.site/reader035/viewer/2022062422/56649ef45503460f94c07acf/html5/thumbnails/27.jpg)
Throughput Evaluation
• Leaf Nodes request the same file from the gateway– e.g: software update on all nodes
• Different request patterns:– Sequential, staggered– Random order of receivers
• Schemes– Ditto’s comparison with On-Path and E2E
27
![Page 28: Ditto - A System for Opportunistic Caching in Multi-hop Mesh Networks Fahad Rafique Dogar Joint work with: Amar Phanishayee, Himabindu Pucha, Olatunji](https://reader035.vdocuments.site/reader035/viewer/2022062422/56649ef45503460f94c07acf/html5/thumbnails/28.jpg)
Throughput Improvement in Ditto
28
Median = 540 Kbps
Campus Testbed
![Page 29: Ditto - A System for Opportunistic Caching in Multi-hop Mesh Networks Fahad Rafique Dogar Joint work with: Amar Phanishayee, Himabindu Pucha, Olatunji](https://reader035.vdocuments.site/reader035/viewer/2022062422/56649ef45503460f94c07acf/html5/thumbnails/29.jpg)
Throughput Improvement in Ditto
29
Median = 1380 Kbps
Median = 540 Kbps
Campus Testbed
![Page 30: Ditto - A System for Opportunistic Caching in Multi-hop Mesh Networks Fahad Rafique Dogar Joint work with: Amar Phanishayee, Himabindu Pucha, Olatunji](https://reader035.vdocuments.site/reader035/viewer/2022062422/56649ef45503460f94c07acf/html5/thumbnails/30.jpg)
Throughput Improvement in Ditto
30
Median = 5370 Kbps
Median = 1380 Kbps
Campus Testbed
Median = 540 Kbps
![Page 31: Ditto - A System for Opportunistic Caching in Multi-hop Mesh Networks Fahad Rafique Dogar Joint work with: Amar Phanishayee, Himabindu Pucha, Olatunji](https://reader035.vdocuments.site/reader035/viewer/2022062422/56649ef45503460f94c07acf/html5/thumbnails/31.jpg)
Evaluation SummaryMetric/Factor Insight
Proximity Nodes closer to gateway have a very high reconstruction efficiency Can shield the gateway from becoming a hotspot
Throughput Orders of magnitude improvement with Ditto
Inter-Stream Reassembly
Few multiple overhearing opportunities; 10% improvement where applicable
Chunk Size 8 - 32 KB chunk size provide good reconstruction efficiency with low overhead
31
![Page 32: Ditto - A System for Opportunistic Caching in Multi-hop Mesh Networks Fahad Rafique Dogar Joint work with: Amar Phanishayee, Himabindu Pucha, Olatunji](https://reader035.vdocuments.site/reader035/viewer/2022062422/56649ef45503460f94c07acf/html5/thumbnails/32.jpg)
Related Work
• Hierarchical Caching [Fan98, Das07,..]– Caching more effective on lossy wireless links– Ditto’s overhearing feature is unique
• Packet Level Caching [Spring00, Afanasyev08]– Ditto is purely opportunistic– Ditto exploits similarity at inter-request timescale
• Making the best of broadcast [MORE, ExOR,..]– Largely orthogonal
32
![Page 33: Ditto - A System for Opportunistic Caching in Multi-hop Mesh Networks Fahad Rafique Dogar Joint work with: Amar Phanishayee, Himabindu Pucha, Olatunji](https://reader035.vdocuments.site/reader035/viewer/2022062422/56649ef45503460f94c07acf/html5/thumbnails/33.jpg)
Conclusion
• Opportunistic caching works!– Key Ideas: Chunk based transfer, inter-stream chunk
reconstruction– Feasibility established on two testbeds– Nodes closer to the gateway can shield it from
becoming a bottleneck
• Significant benefit to end users– Up to 7x throughput improvement over on-path caching– Up to 10x throughput improvement over no caching
33