the importance of being opportunisticnms.lcs.mit.edu/~sachin/talks/copeantalk.pdfhigh performance...

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

Upload: others

Post on 01-Feb-2021

2 views

Category:

Documents


0 download

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