anup- xors in the air - university of california, san diego

22
UCSD CSE 291 Spring 2007 UCSD CSE 291 Spring 2007 XORs XORs in the air: Practical in the air: Practical Wireless Network Coding Wireless Network Coding By- By- Sachin Sachin Katti Katti Presented by Presented by Anup Tapadia Anup Tapadia

Upload: others

Post on 03-Feb-2022

1 views

Category:

Documents


0 download

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

TCP : no hidden nodesTCP : no hidden nodes

UCSD CSE 291 Spring 2007UCSD CSE 291 Spring 2007

UDP performanceUDP performance

UCSD CSE 291 Spring 2007UCSD CSE 291 Spring 2007

Mesh access networksMesh access networks

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 ?