the importance of being opportunisticnms.lcs.mit.edu/~sachin/talks/copeantalk.pdfhigh performance...
TRANSCRIPT
-
High PerformanceSwitching and RoutingTelecom Center Workshop: Sept 4, 1997.
The Importance of Being Opportunistic
Sachin Katti
Dina Katabi, Wenjun Hu, Hariharan Rahul, and Muriel Medard
-
Bandwidth is scarce in wireless
Can we send more while consuming less bandwidth?
-
Current Approach
BobAlice
Relay
A lice’s packet B ob’s packet
B ob’s packet A lice’s packet
• Requires 4 transmissions
• Can we do it in 3 transmissions?
-
A Network Coding Approach
BobAlice
Relay
A lice’s packet B ob’s packet
B ob’s packet A lice’s packet
3 transmissions instead of 4 Save bandwidth
-
Network Coding
• Routers mix bits in packets, potentially from different flows
• Theoretically shown to achieve capacity for multicast
• No concrete results for unicast case
-
How to apply network coding?
• MulticastS R
R
R
• Given Sender & Receivers
• Given Flow Rate & Capacities
State-of-the Art
Min-Cost Flow Optimization
Find the routing, which dictates the encoding
-
How to apply network coding?
• Multicast
• Given Sender & Receivers
• Given flow rate & capacities
State-of-the Art
Min-Cost Flow Optimization
Find the routing, which dictates the encoding
• Unicast• Many Unknown Changing Sender & Receivers • Unknown and bursty flow rate
In Practice
?
-
How to apply network coding?
• Multicast
• Given Sender & Receivers
• Given flow rate & capacities
State-of-the Art
Min-Cost Flow Optimization
Find the routing, which dictates the encoding
In Practice
Opportunism
• Unicast• Many Unknown Changing Sender & Receivers • Unknown and bursty flow rate
-
Opportunism (1)Opportunistic Listening:
o Every node listens to all packetso It stores all heard packets for a limited time
-
Opportunism (1)Opportunistic Listening:
o Every node listens to all packetso It stores all heard packets for a limited time
D
A
B
-
Opportunism (1)Opportunistic Listening:
o Every node listens to all packetso It stores all heard packets for a limited time
o Node sends Reception Reports to tell its neighbors what packets it heard • Reports are annotations to packets • If no packets to send, periodically send reports
-
Opportunism (2)
Opportunistic Coding:o Each node uses only local informationo Use your favorite routing protocolo To send packet p to neighbor A, XOR p
with packets already known to A• Thus, A can decode
o But how to benefit multiple neighbors from a single transmission?
-
Efficient Coding
Arrows show next-hop
D
A
B
C
-
Efficient Coding
Arrows show next-hop
D
A
B
C
Bad Coding
C will get RED pkt but A can’t get B LU E pkt
-
Efficient Coding
Arrows show next-hop
D
A
B
C
Better Coding
Both A & C get a packet
-
Efficient Coding
Arrows show next-hop
D
A
B
C
Best Coding
A, B, and C, each gets a packet
To XOR n packets, each next-hop should have the n-1 packets encoded with the packet it wants
-
But how does a node know what packets a neighbor has?
• Reception Reports
• But reception reports may get lost or arrive too late
• Use Guessing o If I receive a packet I assume all nodes
closer to sender have received it
-
Putting It Together
D
A
BC
-
D
A
BC
Putting It Together
-
D
A
BC
• D on’t reorder packets in a flow Keeps TCP happy• No scheduling No packet is delayed
Putting It Together
-
Beyond Fixed Routes
BA DS
Route Chosen by Routing Protocol
B heard S ’s transm ission
S transmits No need for A transmission
Opportunistic Routing [BM05]• Piggyback on reception report to learn whether
next-hop has the packet• cancel unnecessary transmissions
-
Opportunism
• Unicast
• Flows arrive and leave at any time
• No knowledge of rate
• No assumption of smooth traffic
O
GN
A
C
K
M
EF
BDC
K
-
Performance
-
Emulation Environment• We use Emstar
o “R eal code” sim ulatoro 802.11 radioso Power Level: 200mWo 11Mbps bit rateo Simulated radio channel
-
Recall Our Simple Experiment
XOR
BobAlice
Relay
3 transmissions instead of 4 25% throughput increase
A lice’s packet B ob’s packet
B ob’s packet A lice’s packet
-
• Network coding requires broadcast• But 802.11 broadcast has no backoff more
collisions
0
100
200
300
400
500
1
No CodingXOR
Throughput (KB/s)
270 KB/s
Practical artifacts make network coding perform poorly
330 KB/s
-
Pseudo Broadcast
Piggyback on 802.11 unicast which has synchronous Acks and backoffo Each XOR-ed packet is sent to the MAC
address of one of the intended receivers
Our Solution:
• Ideally, design a back-off scheme for broadcast channels
• In practice, we want a solution that works with off-the-shelf 802.11 drivers/cards
-
XOR with Pseudo-Broadcast Improves Throughput
0
100
200
300
400
500
1
No CodingXOR
XOR with Pseudo-Broadcast
Throughput (KB/s)
330 KB/s270 KB/s
495 KB/s
Improvement is more than 25% because 802.11 MAC gives nodes equal bandwidth shares• Without coding, relay needs twice as much bandwidth• With coding, all nodes need equal bandwidth
-
Larger experiment
• 100 nodes
• 800mx800m
• Senders and receivers are chosen randomly
• Metric: Total Throughput of the Network
-
Opportunistic Coding vs. Current
No Coding
Our Scheme
Network Throughput (KB/s)
0
200
400
600
800
1000
1200
1 4 7 10 13 16 19 22 25 28 31 34 37 40 43 46 49 52 55 58No. of flows
A Unicast Network Coding scheme that works well in realistic situations
Opp. Coding
Opp. Coding (no guessing)
No Coding
-
Preliminary Implementation Results• Linux Kernel• 802.11 MAC• Click Elements (part of Roofnet)• Only Opportunistic Coding & Pseudo
Broadcast (No opportunistic Listening)
Alice
Relay
Bob
-
Implementation Results
1
1.2
1.4
1.6
1.8
2
1 2 5.5 11802.11 Bit Rates (Mb/s)
Ratio of throughput with coding to without coding
Network Coding Doubles the Throughput
-
Conclusion• First implementation of network coding
in a wireless network
• Learned Lessonso Be opportunistic (greed is good!)o Can do a good job with multiple unicast o 5x higher throughput in congested networkso Preliminary implementation results show
throughput doubles
-
The Wireless EnvironmentMulti-hop wireless networks (e.g., Roofnet)
-
Opportunistic Coding vs. Current
0
200
400
600
800
1000
1200
1 4 7 10 13 16 19 22 25 28 31 34 37 40 43 46 49 52 55 58
No Coding
Our Scheme
Network Throughput (KB/s)
No. of flowsA Unicast Network Coding scheme that works
well in realistic situations