Ditto : Eavesdropping for the Common Good in Multi-hop Wireless Networks

advertisement
CMU Speaking Skills Talk
Ditto:
Eavesdropping for the Common Good in
Multi-hop Wireless Networks
Amar Phanishayee
Fahad Dogar, Himabindu Pucha, Olatunji Ruwase,
Dave Andersen
Carnegie Mellon University
Carnegie Mellon University
Computer Science Department
1
Wireless Networks
Cable
Modem
Wired
Link
Wireless
Router
Wireless
Link
Access-Point Based
(Single Wireless Hop)
Carnegie Mellon University
Computer Science Department
2
Wireless Networks
Gateway
 No Infrastructure
 Cost Effective, Greater Coverage
Poor throughput
Multi-hop Wireless
(Mesh) Networks
Carnegie Mellon University
Computer Science Department
3
Hop Count Affects Throughput
0.2Mbps
0.5Mbps
3.2Mbps
Median
• Pairwise transfers in a 28 node campus testbed
• More hops  slower transfers (low throughput)
Carnegie Mellon University
Computer Science Department
4
Ditto: Key Contributions

Ditto improves throughput by reducing hop
count to acquire commonly requested data

Caching of overheard data



Also cache data on the path of a transfer
Application independent caching
Ditto improves throughput (on 2 testbeds)
Up to 7x better than on-path caching
 Up to 10x better than no caching

Carnegie Mellon University
Computer Science Department
5
Caching In Ditto Helps Speed Transfers
A2
A1
Gateway
Request
A3
Response
Cached copy
Path of the transfer:
Alice--A1--A2--Gateway
A1 and A2 -- on-path caching
A3 -- opportunistic caching
On-Path + Opportunistic Caching  Ditto
Carnegie Mellon University
Computer Science Department
6
Outline

Overview

Why poor throughput in mesh networks?

Ditto’s Design

Evaluation

Future Work
Carnegie Mellon University
Computer Science Department
7
Interference
Transmit Range:
Range in which router’s
transmission can be fully decoded
Interference Range:
Range in which router’s transmission can
interfere but may not be fully decoded
Interference: Receivers in Interference Range
cannot decode simultaneous transmissions
Carnegie Mellon University
Computer Science Department
8
Avoiding Interference:
Don’t Transmit If You Know Others Are
Transmitting one at a time avoids interference
Carnegie Mellon University
Computer Science Department
9
Subsequent Wireless Hops Interfere
D1
D2
D1
A1
A2
A3
Gateway
• Subsequent Hops Interfere
D1’s transmission from A2 to A3 stalled
• Cause for poor throughput in mesh networks
Carnegie Mellon University
Computer Science Department
10
Mesh Networks Have Poor Throughput
• Some links have a high loss rate
• Subsequent hops interfere with each other
• More hops  slower transfers (low throughput)
• Gateway is a bottleneck
Gateway
A2
A3
A1
Carnegie Mellon University
Computer Science Department
11
Outline

Overview

Why poor throughput in mesh networks?

Ditto’s Design
Opportunities to improve throughput
 How does Ditto utilize these opportunities?


Evaluation

Future Work
Carnegie Mellon University
Computer Science Department
12
Opportunities To Improve Throughput

Locality in access patterns

Many clients from different parts of the network
request the same data over time


e.g. Operating System Updates, Streaming video
Wireless routers can overhear other transfers

The positive aspect of broadcast
Looks like a job for …
Opportunistic Caching
Carnegie Mellon University
Computer Science Department
13
Challenge: Lossy Overhearing

Wireless networks have high loss rates


Loss recovery: link layer retransmissions
Overhearing node also experiences losses
Losses independent of that at Receiver
 Cannot ask for retransmissions


Successfully overhearing a large file is unlikely
A2
A1
1
22
A2
A1
1
2
1
2
A3
Carnegie Mellon University
Computer Science Department
14
Chunk Based Transfers

Lossy overhearing  cannot overhear entire file

Smaller caching granularity
Divide file into smaller chunks (8 – 32 KB)
 Use chunk as a unit of transfer


Ditto uses Data Oriented Transfer (DOT)1 for
chunk based transfers
1 Tolia et al, An Architecture for Internet Data Transfer. NSDI 2006.
Carnegie Mellon University
Computer Science Department
15
A Ditto Transfer
Cryptographic
Hash
Chunking
foo.txt
chunkID1
chunkID2
chunkID3
Receiver
Sender
Request – foo.txt
App
App
Response: chunk ids{1,2,3}
chunk ids
chunk ids
Chunk
request
request
request
DITTO
DITTO
Chunk
response
Carnegie Mellon University
Computer Science Department
Ditto
Proxy
response
Ditto
Proxy
response
16
Proxy Serves Chunk Request Directly If
Chunk In Local Cache
Chunk
Request
Proxy
Proxy
Proxy
Chunk
Response
Cache
Carnegie Mellon University
Computer Science Department
17
Proxy Routes Request Towards Gateway If
Chunk Not In Cache
Chunk
Request
Proxy
Chunk
Request
Proxy
Chunk
Response
Separate TCP
connection on
each hop
Proxy
Chunk
Response
Cache
GW Next Hop
Next-Hop based
on routing table
information
On-Path Caching
Carnegie Mellon University
Computer Science Department
18
Sniffer Module Caches Overheard Chunks
Sniffer

Overhear and reassemble streams

Identify chunks in streams

Handoff entire chunk to proxy for
caching
Proxy
Cache
Opportunistic Caching
Carnegie Mellon University
Computer Science Department
19
Outline

Overview

Why poor throughput in mesh networks?

Ditto’s Design
Why caching, overhearing?
 Chunk based transfers and caching
 How does Ditto overhear and reconstruct chunks?



Evaluation
Future Work
Carnegie Mellon University
Computer Science Department
20
Sniffer Module Reassembles Overheard
Streams
Path of the transfer: Alice – A1 – A2 …
A2
A1
A3 (Overhearing)
• Stream identification & placement within the stream
• Next Steps: identify chunk
Carnegie Mellon University
Computer Science Department
21
Chunk Identification
Path of the transfer: Alice – A1 – A2 …
Look for Ditto header
A2
Chunk Boundaries
A1
C1
A3 (Overhearing)
• What if there were losses within the overheard chunk?
Carnegie Mellon University
Computer Science Department
22
Optimization: Inter-Stream Chunk Reassembly
A2
A1
Look for Ditto header
C1
Chunk Boundaries
• Sniffer identifies the same chunk across streams
• Correlates and fills in the blanks
Carnegie Mellon University
Computer Science Department
23
Outline

Overview

Why poor throughput in mesh networks?

Ditto’s Design

Evaluation
Reconstruction Efficiency
 Transfer Throughput


Future Work
Carnegie Mellon University
Computer Science Department
24
Emulab Indoor Wireless Testbed
Carnegie Mellon University
Computer Science Department
25
MAP Campus Testbed (Purdue Univ.)
28 node
Indoor/Outdoor
Campus-wide
Mesh Network
11
Gateway
Carnegie Mellon University
Computer Science Department
26
Experiment
Can we overhear complete chunks?
Receiver
• A receiver initiates transfer
• 1MB file, 8KB chunks
• Observers report % of
chunks reconstructed
• Receiver reports throughput
• Caches are cleared & next
node becomes a receiver
• If n nodes in network,
[n* (n - 1)] observers in all
0
Observer
10
0
30
100
90
80
100
100
100
50
20
0
0
0
0
Carnegie Mellon University
Computer Science Department
0
27
Overhearing Complete Chunks Is Feasible
Around 30% of the observers
reconstruct at least 50% chunks
Complete chunks overheard (%)
For any transfer, ~30% of the nodes can overhear a large
fraction of the chunks
Carnegie Mellon University
Computer Science Department
28
Complete chunks overheard (%)
Nodes farthest from the gateway & transfer
paths overhear nothing
Carnegie Mellon University
Computer Science Department
29
31
12
19
11
Gateway
25
18
Carnegie Mellon University
Computer Science Department
30
Complete chunks overheard (%)
Nodes closer to the gateway & transfer paths
overhear effectively
Carnegie Mellon University
Computer Science Department
31
Shield the gateway
from becoming a
bottleneck
14
34
11
30
5
Gateway
Carnegie Mellon University
Computer Science Department
32
Factors Affecting Chunk Reconstruction
Factor
Insight
Proximity Nodes closer to gateway overhear more chunks.
Can shield the gateway from becoming a hotspot.
Chunk
Size
Smaller Chunk Size  Better Reconstruction
8 KB provides good reconstruction efficiency with low
overhead.
Carnegie Mellon University
Computer Science Department
33
Experiment: Throughput Evaluation
Receiver
Observer
• Leaf nodes are receivers
• A receiver initiates transfer
• reports throughput
• Next receiver downloads
the same file
Carnegie Mellon University
Computer Science Department
34
Opportunistic Caching >> On-path Caching
Receiver
On-path Caching
Overhearing &
Caching
Carnegie Mellon University
Computer Science Department
35
Throughput Improvement Using Ditto
Median
~900 Kbps
No Caching
Log Scale!
Carnegie Mellon University
Computer Science Department
36
Throughput Improvement Using Ditto
~1200Kbps
Median
~900 Kbps
No Caching
Log Scale!
Carnegie Mellon University
Computer Science Department
37
Throughput Improvement Using Ditto
~1200Kbps
~900 Kbps
9000 Kbps
Median
No Caching
Log Scale!
Opportunistic caching >> On-path caching > No caching
Carnegie Mellon University
Computer Science Department
38
Future Work

Support for mobility

Alternate proxy selection techniques

Application specific Ditto gateways
Carnegie Mellon University
Computer Science Department
39
Conclusion

Ditto improves throughput by reducing hop
count to acquire commonly requested data

Caching of overheard data



Also cache data on the path of a transfer
Chunk based transfer, inter-stream chunk
reconstruction
Ditto improves throughput (on 2 testbeds)
Up to 7x better than on-path caching
 Up to 10x better than no caching

Carnegie Mellon University
Computer Science Department
40
Thank you!
Carnegie Mellon University
Computer Science Department
41
Download