Ditto - A System for Opportunistic Caching in Multi-hop Mesh Networks Fahad Rafique Dogar Joint work...

34
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

Transcript of Ditto - A System for Opportunistic Caching in Multi-hop Mesh Networks Fahad Rafique Dogar Joint work...

Page 1: Ditto - A System for Opportunistic Caching in Multi-hop Mesh Networks Fahad Rafique Dogar Joint work with: Amar Phanishayee, Himabindu Pucha, Olatunji.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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