XORs in The Air: Practical Wireless Network Coding - PowerPoint PPT Presentation

1 / 53
About This Presentation
Title:

XORs in The Air: Practical Wireless Network Coding

Description:

XORs in The Air: Practical Wireless Network Coding ... This Paper Seeks to Bridge the Gap' Between Network Coding, Practical Design ... – PowerPoint PPT presentation

Number of Views:61
Avg rating:3.0/5.0
Slides: 54
Provided by: cseOhi
Category:

less

Transcript and Presenter's Notes

Title: XORs in The Air: Practical Wireless Network Coding


1
XORs in The Air Practical Wireless Network Coding
Sachin Katti, Hariharan Rahul, Wenjun Hu, Dina
Katabi, Muriel Medard, Jon CrowcroftMIT CSAIL
University of Cambridge
2
Introduction - COPE
  • New Architecture For Wireless Mesh Networks
  • Routers Forward Code (Mix) Packets
  • Intelligent Mixing Improves Throughput
  • Prior Work Theoretical Multicast
  • This Study Practical Unicast

3
COPE
  • Coding Shim Between IP and MAC Layers
  • Finds Coding Opportunities
  • IDEA Benefits by Sending Multiple Packets in
    Single Transmission

4
COPE Simple Example
  • Bob Alice
  • Current Approach 4 Transmissions
  • COPE 3 Transmissions
  • Thus Allowing For Increased Throughput
  • CodingMAC

5
COPE Even Bigger Savings
  • Previous Example Obvious Throughput Gains
  • COPE Exploits Shared Nature of Wireless Medium
  • Some Nodes Overhear Transmission
  • Store These Packets for Short Time
  • Sends Data Out Telling What It Has Heard
  • This Data is Used For Opportunistic Coding

6
Opportunistic Coding
  • Each Node Uses Knowledge of What Its Neighbors
    Have (Which Packets)
  • This Data Allows For Source to Send XORed
    Packets Intelligently
  • In Other Words It Knows who Will Be Able to
    Decode The Encoded Packet
  • Allows For More Than Two Flows
  • Allows For Multiple Packets to be Coded

7
COPE 2 Key Principles (1)
  • COPE Embraces Broadcast Nature of Wireless
    Channel
  • Typically Network Designers Use Point-to-Point
  • Adaptations are Made To Use Forwarding and
    Routing Techniques Native to Wired Networking
  • COPE Exploits Radio Broadcast (Does Not Attempt
    to Hide It)

8
Why is COPE Different?
  • 1st System Architecture For Wireless Network
    Coding
  • Implementation 1st Deployment of Wireless
    Network Coding
  • Performance Study with Results of Wireless
    Network Coding

9
Summarized Findings
  • Network Coding Can Improve Wireless Throughput
  • When Congested with Mainly UDP Flows Throughput
    Gains 3 - 4x
  • For Mesh Networks Connected to Internet via AP
    Gains Depend on Total Download / Upload Traffic _at_
    AP
  • w/o Hidden Terminals TCP Throughput Increases
    about 38

10
Background
  • Famous Butterfly Example
  • All Links Can Send One Message Per Unit of Time
  • Sources Want to Hit Both Receivers
  • Coding (Again) Increases Overall Throughput

11
Background (cont.)
  • Ahlswede et al. Pioneered Network Coding
  • Routers That Mix Information Allow Communication
    to Achieve Multicast Capacity
  • Li et al. Found For Multicast Linear Codes
    Sufficient to Achieve Max Capacity Bounds

12
Background (cont.)
  • All Previous Work Theoretical Multicast
  • Some Unicast Scenarios Show Better Throughput for
    Those Scenarios
  • This Paper Seeks to Bridge the Gap Between
    Network Coding, Practical Design
  • Seeks to Provide Operational Protocol

13
COPE Overview
  • Before Getting Into The Details Know These Terms

14
COPE Overview
  • 3 Main Techniques
  • Opportunistic Listening
  • Opportunistic Coding
  • Learning Neighbor State

15
COPE OverviewOpportunistic Listening
  • Wireless is a Broadcast Medium
  • Many Chances for Nodes to Overhear
  • COPE Sets All Nodes as Promiscuous
  • They Store Overheard Packets for Time (T)
  • Default T .5 Seconds
  • Also Reception Reports Are Sent Out
  • These Are Tacked Onto Normal Output
  • Includes Seq. Number of Stored Packets

16
COPE OverviewOpportunistic Coding
  • Which Packets do we Combine to Achieve Maximum
    Throughput?
  • Simple Answer Send as Many (Native Packets) as
    Possible While Ensuring Nexthop Has Enough Info
    to Decode

17
COPE OverviewOpportunistic Coding
  • Always Seeking Largest N That Satisfies Above Rule

18
COPE OverviewLearning Neighbor State
  • Each Node Announces Its Stored Packets In
    Reception Reports
  • Sometimes Reports Dont Get Through
  • Congestion or In Times of Light Traffic
  • To Solve This Problem Intelligent Guess
  • Estimation of Probability That Neighbor Has
    Packet Based On Delivery Probability

19
COPEs Gains
  • How Beneficial is COPE?
  • Throughput Improvement Depends On
  • Coding Opportunities
  • Traffic Patterns

20
COPEs GainsCoding Gain
  • Coding Gain
  • Transmissions w/o Coding to the Minimum
    Transmissions w/ Coding
  • Remember Alice Bob?
  • Coding Gain 4/3 1.33

21
COPEs GainsCoding Gain
  • Maximum Achievable Coding Gain?
  • For Arbitrary Topologies - Open Question
  • Authors Prove
  • With Listening Certain Topologies Benefit

22
COPEs GainCoding Gain
  • Interesting to Note
  • Previous Slide Talks About Theoretical Gain
  • In Practice Gains Are Lower Due To
  • Coding Opportunities
  • Packet Header Overhead
  • Medium Losses
  • COPE Coding Gains Are Not Lost When Medium Is
    Fully Utilized (as Opposed to Opportunistic
    Routing)

23
COPEs GainCodingMAC Gain
  • Interaction Between Coding MAC
  • Beneficial Results
  • Example Bob Alice
  • MAC Divides Bandwidth Between 3
  • w/o Coding Router Sends 2 x More
  • Makes Router a Bottleneck
  • COPE Allows Routers Queue to Drain Fast
  • Coding MAC Gain of Alice Bob 2

24
COPEs GainCodingMAC Gain
  • Authors Prove

25
Making It Work - Packet Coding Algorithm
  • Packets Are Never Delayed
  • If There Is Nothing To Code With, Send Anyway
  • Preference to XOR with Similar Lengths
  • Small Packet XOR with Large Less Bandwidth
  • If One Must XOR Different Lengths - Pad
  • Never Code Packets to Same Nexthop

26
Making It Work - Packet Coding Algorithm
  • Searching For Appropriate Packets to Code is
    Efficient
  • FIFO Output Queue
  • De-queue, Small or Large?, Look at Appropriate
    Queues (Only Heads to Avoid Reordering)
  • Worst Case - Looks _at_ 2M Packets (M Neighbors)
  • Packet Reordeing Bad (TCP Thinks Congestion)
  • Doesnt Happen Much But If so They Are Put in
    Order Before Transport Layer

27
Making It Work - Packet Coding Algorithm
  • Finally Relay Nodes All Estimate Probability That
    Neighbor Has Packet Prior to Sending
  • PD Must Stay Higher Than Threshold G (G 0.8
    Default)
  • If Equation Is Above G Each Nexthop Has
    Probability G of Being Able to Decode Next Packet

28
Making It Work - Packet Decoding
  • Fairly Simple
  • Each Node Maintains a Packet Pool
  • Searches Hash Table Keyed on Packet ID
  • XORs Native Packets with Coded Packets
  • Gets Packet Meant For It (Node)

29
Making It Work -Pseudo-Broadcast
  • 802.11 Has Two MAC Modes
  • Unicast
  • Broadcast
  • Unicast
  • Packets Are Ack-ed
  • Exponential Backoff
  • Multicast
  • Un-Reliable
  • No Backoff

30
Making It Work -Pseudo-Broadcast
  • Pseudo-Broadcast
  • Piggy Backs Unicast
  • Link-Layer Destination Set to One Intended Node
  • XOR Header Added
  • Other Nodes Can Overhear Transmission
  • If Receiving Node is Nexthop - Continue
  • Else Store Packet in Buffer
  • More Reliable Than Pure Broadcast
  • Packets Have Several Tries To Get To Destination
  • Snooping Nodes Get More Chances to Update Their
    Buffers

31
Making It Work - Hop-by-Hop ACKs and
Retransmissions
  • (Again) Encoded Packets Require All Nexthops to
    Acknowledge Receipt of Native Packet
  • Packets Headed Many Places Only Link Layer
    Designated Hop Returns Synchronous ACK
  • COPE May Guess Node Has Enough Info to Decode
    When it Really Does Not

32
Making It Work - Hop-by-Hop ACKs and
Retransmissions
  • When a Node Sends an Encoded Packet It Schedules
    a Retransmission Event For Each Encoded Native
    Packet
  • If Any Packet is Not Ack-ed within Some Threshold
    (Time) That Native Packet is Encoded and Re-Sent
    Later
  • Nexthops Receive Packets and schedule an ACK Upon
    Decoding via Header (or Control Packets which are
    also Used for Reception Reports) cumulative ACKs

33
Making It Work - TCP Packet Reordering
  • Asynchronous ACKs Can Cause Packet Reordering
  • TCP May See This As Congestion
  • COPE Has Ordering Agent
  • For Each TCP Flow Ending _at_ Host
  • Maintains Packet Buffer
  • Records Last TCP Sequence Number
  • Will Not Pass On Packets to Transport Layer Until
    No Hole Exists or Timer Times Out

34
Implementation Details Packet Format
  • Variable Length Coding Header
  • Only Shaded Fields Below Required

35
Implementation Details Packet Format
  • First Block Metadata For Decoding
  • ENCODED_NUM Encoded
  • For Each Packet PKT_ID (Dest. IP Seq. )
  • MAC of Nexthop (For Each Native Packet)
  • Reception Reports
  • REPORT_NUM of Reports
  • SRC_IP Source of Reported Packets
  • Last_PKT Last Packet Heard From Source
  • Bit Map of Recently Heard Packets

36
Implementation Details Packet Format
  • Asynchronous ACKs
  • Cumulative ACKs on Per Neighbor Basis
  • Local Sequence Numbers Established
  • ACK Headers Start With of ACKs
  • Each ACK Starts with MAC of Neighbor
  • Next Each ACK Has Pointer to End of Cumulative
    ACKs
  • Finally, Bit Map Shows Missing Packets

37
Implementation Details Control Flow
38
Experimental Results
  • 20 Node Wireless Testbed
  • Following Slides Will Show
  • When Many Random UDP Flows
  • Throughput 3 - 4x Increase
  • Traffic Does Not Use Congestion Control
  • Throughput Improves - Exceeding Coding Gain
  • Mesh Network -gt Internet via Gateway
  • Throughput Improvement Between 5 - 70
  • w/o Hidden Terminals TCPs Gain Agrees With
    Expected Coding Gain

39
Experimental Results Testbed
  • 20 Node Wireless Network
  • Two Floors Connected by Open Lounge
  • Offices, Passages, Etc.
  • Paths Btw 1 6 Hops
  • Loss Rate Btw 0 - 30
  • 802.11a _at_ 6 Mb/s

40
Experimental Results Testbed
  • Nodes Ran Linux / Used Click Toolkit
  • Runs as User Space Daemon
  • Applications Interact With Daemon as Normally
    Would With Any Network Device
  • Testbed Used Srcr Routing Protocol
  • Djikstras Shortest Path Algorithm
  • Each Node Had 802.11 Card w/ Omni-Directional
    Antenna
  • 802.11 Ad Hoc Mode w/ RTS / CTS Disabled
  • udpgen ttcp Used to Generate Traffic
  • Long-live Flows Attempt to Match Internet
    Traffic

41
Metrics
  • Network Throughput
  • End-to-End Throughput
  • Throughput Gain
  • Ratio of Measured Network Throughputs With and
    Without COPE
  • What Else Might Have Been Interesting?

42
COPE in Gadget Topologies
  • Toy Topologies
  • Very Small Loss Rate No Hidden Terminals (40
    Different Runs)
  • Long-Lived TCP Flows
  • Close To Expected (Minus Overhead)

43
COPE in Gadget Topologies
  • Above Results Show That w/ Congestion Control
    Results Lean Towards Coding Gain Rather than
    CodingMAC
  • When Many Long-Lived Flows (TCP) Bottleneck
    Senders Backoff (to Avoid Drop)
  • This Leaves only Coding Gains

44
COPE in Gadget Topologies
  • Repeat of Above w/ UDP
  • CodingMAC Gains (Better Than TCP)
  • Coding Allows Downstream Routers to Avoid
    Dropping Packets Already Having Consumed
    Bandwidth

45
COPE in an Ad Hoc Network
  • Here it is 20 Node Wireless Testbed
  • TCP
  • TCP Flows Arrive w/ Poisson Process
  • Pick Sender Receiver Randomly
  • Traffic Models Internet
  • No Significant Improvement (2-3)
  • Hidden Terminals are Culprit
  • Many Retransmissions
  • Queues _at_ Bottlenecks Never Build Up
  • Therefore No Coding Gains (or Opportunities)
  • Would TCP Do Better w/o Collisions?

46
COPE in an Ad Hoc Network
  • Compressed Topology
  • Within Carrier Sense Range
  • Artificially Impose Original Loss Rates
  • Hidden Terminals No More
  • At Peak 38 Gain Over No Coding

47
COPE in an Ad Hoc Network
  • UDP (Back to Large Scale Testbed)
  • (Again) Random Sender / Receiver
  • File Size Follows Internet Studies
  • 500 Experiments

48
COPE in an Ad Hoc Network
  • Scare Coding Opp. At Low Demands
  • Demand Up / Congestion Up / Gain Up

49
COPE in a Mesh Access Network
  • Growing Interest In Accessing Internet Via
    Multi-hop Network With One (or More) Gateways
  • Nodes Divided Into 4 Sets (1 is Gateway)
  • UDP Flows (Of Course)
  • Fluctuate Upload / Download Traffic
  • Gain Goes Up as Upload Traffic Up

50
COPE in Mesh Access Network
51
Fairness
  • Channel From Source to Bottleneck Matters
  • Capture Effect (If Alices Channel is Bad Then
    Bob Might Push More Traffic)
  • If Alice Moves Slowly Away?
  • Coding Opp. Down, Throughput Down, Fairness Down
  • w/o Coding Throughput Goes Up
  • Coding Aligns Fairness Efficiency

52
Fairness
53
Conclusions
  • Coding is an Old Theme
  • COPE Has Potential to Largely Increase Network
    Throughput
  • COPE Assists Many Random UDP Flows Best
  • No Congestion Control Is a Good Thing
  • No Hidden Terminals Is Good As Well (Even for
    TCP)
  • Mesh Networks Connected to Internet via AP - COPE
    Shows Gains From 5 - 70
  • Many Extensions - Sensor Networks? Cellular?
Write a Comment
User Comments (0)
About PowerShow.com