1 / 35

The Importance of Being Opportunistic

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? Alice Bob’s packet Bob’s packet Alice’s packet Alice’s packet Current Approach

emily
Download Presentation

The Importance of Being Opportunistic

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. The Importance of Being Opportunistic Sachin Katti Dina Katabi, Wenjun Hu, Hariharan Rahul, and Muriel Medard

  2. Bandwidth is scarce in wireless Can we send more while consuming less bandwidth?

  3. Alice Bob’s packet Bob’s packet Alice’s packet Alice’s packet Current Approach • Requires 4 transmissions • Can we do it in 3 transmissions? Relay Bob

  4. Alice Bob’s packet Bob’s packet Alice’s packet Alice’s packet A Network Coding Approach Relay Bob 3 transmissions instead of 4  Save bandwidth

  5. Network Coding • Routers mix bits in packets, potentially from different flows • Theoretically shown to achieve capacity for multicast • No concrete results for unicast case

  6. Min-Cost Flow Optimization Find the routing, which dictates the encoding How to apply network coding? State-of-the Art R • Multicast S R • Given Sender & Receivers • Given Flow Rate & Capacities R

  7. How to apply network coding? In Practice State-of-the Art • Unicast • Multicast • Many Unknown Changing Sender & Receivers • Given Sender & Receivers • Unknown and bursty flow rate • Given flow rate & capacities Min-Cost Flow Optimization ? Find the routing, which dictates the encoding

  8. How to apply network coding? In Practice State-of-the Art • Unicast • Multicast • Many Unknown Changing Sender & Receivers • Given Sender & Receivers • Unknown and bursty flow rate • Given flow rate & capacities Min-Cost Flow Optimization Opportunism Find the routing, which dictates the encoding

  9. Opportunism (1) Opportunistic Listening: • Every node listens to all packets • It stores all heard packets for a limited time

  10. Opportunism (1) Opportunistic Listening: • Every node listens to all packets • It stores all heard packets for a limited time A D B

  11. Opportunism (1) Opportunistic Listening: • Every node listens to all packets • It stores all heard packets for a limited time • 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

  12. Opportunism (2) Opportunistic Coding: • Each node uses only local information • Use your favorite routing protocol • To send packet p to neighbor A, XOR p with packets already known to A • Thus, A can decode • But how to benefit multiple neighbors from a single transmission?

  13. Efficient Coding Arrows show next-hop A D C B

  14. Efficient Coding Bad Coding C will get RED pkt but A can’t get BLUE pkt Arrows show next-hop A D C B

  15. Efficient Coding Better Coding Both A & C get a packet Arrows show next-hop A D C B

  16. Efficient Coding Best Coding A, B, and C, each gets a packet Arrows show next-hop A D C B To XOR n packets, each next-hop should have the n-1 packets encoded with the packet it wants

  17. 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 • If I receive a packet I assume all nodes closer to sender have received it

  18. Putting It Together A C D B

  19. Putting It Together A C D B

  20. Putting It Together A C D B • Don’t reorder packets in a flow  Keeps TCP happy • No scheduling  No packet is delayed

  21. B heard S’s transmission Beyond Fixed Routes • Piggyback on reception report to learn whether next-hop has the packet • cancel unnecessary transmissions D A B S No need for A transmission S transmits Route Chosen by Routing Protocol Opportunistic Routing [BM05]

  22. A E F B C D O K G N M Opportunism • Unicast • Flows arrive and leave at any time • No knowledge of rate • No assumption of smooth traffic C K

  23. Performance

  24. Emulation Environment • We use Emstar • “Real code” simulator • 802.11 radios • Power Level: 200mW • 11Mbps bit rate • Simulated radio channel

  25. Alice Bob’s packet Bob’s packet Alice’s packet Alice’s packet Recall Our Simple Experiment XOR Relay Bob 3 transmissions instead of 4  25% throughput increase

  26. No Coding XOR Throughput (KB/s) Practical artifacts make network coding perform poorly • Network coding requires broadcast • But 802.11 broadcast has no backoff  more collisions 330 KB/s 270 KB/s

  27. 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 Pseudo Broadcast Piggyback on 802.11 unicast which has synchronous Acks and backoff • Each XOR-ed packet is sent to the MAC address of one of the intended receivers Our Solution:

  28. XOR with Pseudo-Broadcast Improves Throughput XOR with Pseudo-Broadcast Throughput (KB/s) 495 KB/s No Coding XOR 330 KB/s 270 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

  29. Larger experiment • 100 nodes • 800mx800m • Senders and receivers are chosen randomly • Metric: Total Throughput of the Network

  30. Opportunistic Coding vs. Current Network Throughput (KB/s) Opp. Coding Our Scheme Opp. Coding (no guessing) No Coding No Coding A Unicast Network Coding scheme that works well in realistic situations No. of flows

  31. Alice Preliminary Implementation Results • Linux Kernel • 802.11 MAC • Click Elements (part of Roofnet) • Only Opportunistic Coding & Pseudo Broadcast (No opportunistic Listening) Relay Bob

  32. Implementation Results Ratio of throughput with coding to without coding Network Coding Doubles the Throughput

  33. Conclusion • First implementation of network coding in a wireless network • Learned Lessons • Be opportunistic (greed is good!) • Can do a good job with multiple unicast • 5x higher throughput in congested networks • Preliminary implementation results show throughput doubles

  34. The Wireless Environment Multi-hop wireless networks (e.g., Roofnet)

  35. Opportunistic Coding vs. Current Network Throughput (KB/s) Our Scheme No Coding A Unicast Network Coding scheme that works well in realistic situations No. of flows

More Related