anup- xors in the air - university of california, san diego
TRANSCRIPT
UCSD CSE 291 Spring 2007UCSD CSE 291 Spring 2007
XORsXORs in the air: Practical in the air: PracticalWireless Network CodingWireless Network Coding
By- By- SachinSachin KattiKatti
Presented by Presented by –– Anup Tapadia Anup Tapadia
UCSD CSE 291 Spring 2007UCSD CSE 291 Spring 2007
BackgroundBackground
Alice BobRelay
Require 4 transmissions
UCSD CSE 291 Spring 2007UCSD CSE 291 Spring 2007
XOR Network CodingXOR Network Coding
Alice BobRelay
Require 3 transmissions
XORXOR XOR
UCSD CSE 291 Spring 2007UCSD CSE 291 Spring 2007
COPECOPE(Coding Opportunistically)(Coding Opportunistically)
Consider multiple Consider multiple unicastunicast flows flows–– Generalize Alice-Bob scenarioGeneralize Alice-Bob scenario
Exploits Shared Nature of WirelessExploits Shared Nature of WirelessMediumMedium–– Store Overheard Packets for Short TimeStore Overheard Packets for Short Time–– These packets are used for decodingThese packets are used for decoding
perspective packetsperspective packets First to implement Wireless NetworkFirst to implement Wireless Network
Coding in the real worldCoding in the real world
UCSD CSE 291 Spring 2007UCSD CSE 291 Spring 2007
Opportunistic CodingOpportunistic Coding
Overhear neighborsOverhear neighbors’’ transmissions transmissions Store these packets in a bufferStore these packets in a buffer
Packet Pool Packet Pool for a short timefor a short time Report the packet pool info. toReport the packet pool info. to
neighborsneighbors Determine what packets to code basedDetermine what packets to code based
on the info.on the info. Send encoded packetsSend encoded packets
UCSD CSE 291 Spring 2007UCSD CSE 291 Spring 2007
Opportunistic CodingOpportunistic Coding
Three ways to get neighbor stateThree ways to get neighbor state–– Reception reportReception report–– GuessGuess
Based on ETX metric (delivery probability)Based on ETX metric (delivery probability) Estimate the probability that packets areEstimate the probability that packets are
overheardoverheard Decide on a combined probability threshold(0.8)Decide on a combined probability threshold(0.8)
–– The neighbor is the previous hop of theThe neighbor is the previous hop of thepacketpacket
UCSD CSE 291 Spring 2007UCSD CSE 291 Spring 2007
COPECOPE’’ss Gain Gain
Coding GainCoding Gain–– Alice-and-Bob example gains 4/3Alice-and-Bob example gains 4/3
Coding+MACCoding+MAC Gain Gain–– Due to Mac fairness, relay node is theDue to Mac fairness, relay node is the
bottleneck and throughput is ½bottleneck and throughput is ½–– With COPE, throughput is 1With COPE, throughput is 1–– Coding+MacCoding+Mac Gain = 2 Gain = 2
UCSD CSE 291 Spring 2007UCSD CSE 291 Spring 2007
Topology and gainsTopology and gains
2 2
Coding Gain Coding+MAC gain
1.6 4
1.33 2
UCSD CSE 291 Spring 2007UCSD CSE 291 Spring 2007
COPE DesignCOPE Design
Coding AlgorithmCoding Algorithm–– Take the packet at the head of its output queueTake the packet at the head of its output queue–– Never delay packets (if can not code, simplyNever delay packets (if can not code, simply
send it)send it)–– Categorize larger packets and small packetsCategorize larger packets and small packets–– Code packets headed for the different Code packets headed for the different nexthopsnexthops
Two virtual queues for each neighbor: large and smallTwo virtual queues for each neighbor: large and small M neighbors M neighbors 2M virtual queues 2M virtual queues
UCSD CSE 291 Spring 2007UCSD CSE 291 Spring 2007
COPE DesignCOPE Design
DecodingDecoding–– Packet id: A 32-bit hash of Packet id: A 32-bit hash of srcsrc IP and IP and
Seq. no.Seq. no.–– XOR the encoded packet with theXOR the encoded packet with the
corresponding stored packets to getcorresponding stored packets to getnative packetnative packet
–– Store the native packet in packet poolStore the native packet in packet pool
UCSD CSE 291 Spring 2007UCSD CSE 291 Spring 2007
COPE DesignCOPE Design
Pseudo BroadcastPseudo Broadcast–– Cons of broadcastCons of broadcast
Unreliable due to no ACKUnreliable due to no ACK Lack of Lack of backoffbackoff
–– Piggy back on Piggy back on unicastunicast Set one of intended node as Mac addressSet one of intended node as Mac address List all others in COPE header (between MACList all others in COPE header (between MAC
and IP header)and IP header) Receiver: if it is on the list, decode theReceiver: if it is on the list, decode the
packet, else store the packet in its poolpacket, else store the packet in its pool
UCSD CSE 291 Spring 2007UCSD CSE 291 Spring 2007
COPE DesignCOPE Design
Hop by hop Hop by hop ACKsACKs–– Asynchronous Asynchronous AcksAcks–– Each of native packet schedules an eventEach of native packet schedules an event
for retransmissionfor retransmission–– Re-Re-enqueueenqueue the packet if no the packet if no AckAck within T within T
seconds.seconds.–– AcksAcks added in COPE header added in COPE header
UCSD CSE 291 Spring 2007UCSD CSE 291 Spring 2007
COPE DesignCOPE Design
COPE headerCOPE header–– Indicate what packets are encodedIndicate what packets are encoded–– Report senderReport sender’’s packet pool infos packet pool info–– Acknowledge what packets the sender recdAcknowledge what packets the sender recd
UCSD CSE 291 Spring 2007UCSD CSE 291 Spring 2007
ExperimentsExperiments
TestbedTestbed–– 20 Nodes20 Nodes–– 2 floors2 floors
ExperimentsExperiments–– Pick random sender and receiverPick random sender and receiver–– Transfers based on real measurementsTransfers based on real measurements–– Flow arrival Flow arrival poissonpoisson
UCSD CSE 291 Spring 2007UCSD CSE 291 Spring 2007
Results SummaryResults Summary
3-4x gain with random UDP flows3-4x gain with random UDP flows Coding+MACCoding+MAC gain significant when no gain significant when no
congestion control.congestion control. For mesh network with gateway sink,For mesh network with gateway sink,
COPE throughput is 5%-70% better.COPE throughput is 5%-70% better. Hidden terminals: Not enough codingHidden terminals: Not enough coding
opportunities with TCP.opportunities with TCP.
UCSD CSE 291 Spring 2007UCSD CSE 291 Spring 2007
Throughput gain for different topologiesThroughput gain for different topologies
UCSD CSE 291 Spring 2007UCSD CSE 291 Spring 2007
TCP ProblemTCP Problem
Only 2-3 % average gain.Only 2-3 % average gain. Bottleneck nodes never see enoughBottleneck nodes never see enough
traffic to use coding.traffic to use coding. Few coding opportunities arise andFew coding opportunities arise and
hence same performance as withouthence same performance as withoutcoding.coding.
Jitter at lower layers creates TCPJitter at lower layers creates TCPmisunderstandings.misunderstandings.
UCSD CSE 291 Spring 2007UCSD CSE 291 Spring 2007
ProblemsProblems
Experiments run well only on networksExperiments run well only on networkswithout hidden nodeswithout hidden nodes
Works with Omni antenna onlyWorks with Omni antenna only Limited applicability in mesh accessLimited applicability in mesh access
networks due to asymmetric flow of trafficnetworks due to asymmetric flow of traffic TCP does not gain much throughput. TheyTCP does not gain much throughput. They
dondon’’t talk about TCP jitter re-orderingt talk about TCP jitter re-orderingsolutionsolution
UCSD CSE 291 Spring 2007UCSD CSE 291 Spring 2007
ConclusionConclusion
COPE: a new approach to wirelessCOPE: a new approach to wireless Noticeable throughput improvementNoticeable throughput improvement
for certain topologies.for certain topologies. First implementation of networkFirst implementation of network
coding to wireless networkscoding to wireless networks SimpleSimple Applications ?Applications ?