Revisiting Partial Packet Recovery in 802.11 Wireless LANs Jin Xie, - - PowerPoint PPT Presentation

revisiting partial packet recovery in 802 11 wireless lans
SMART_READER_LITE
LIVE PREVIEW

Revisiting Partial Packet Recovery in 802.11 Wireless LANs Jin Xie, - - PowerPoint PPT Presentation

Revisiting Partial Packet Recovery in 802.11 Wireless LANs Jin Xie, Wei Hu, Zhenghao Zhang Florida State University Wireless Transmission In a wireless link, a packet may be Fully received Erased Partially received 8/3/2011


slide-1
SLIDE 1

Revisiting Partial Packet Recovery in 802.11 Wireless LANs

Jin Xie, Wei Hu, Zhenghao Zhang Florida State University

slide-2
SLIDE 2

Wireless Transmission

  • In a wireless link, a packet may be

– Fully received – Erased – Partially received

8/3/2011 2 Florida State University

slide-3
SLIDE 3

Packet Recovery

  • Erased Packets

– Sender has to retransmit the entire packet.

  • Partial Packets

– Current 802.11 will retransmit! – But partial packets often has only few errors. Whole packet retransmission is not efficient.

8/3/2011 3 Florida State University

slide-4
SLIDE 4

Partial Packet Recovery

  • Block based approach

– Example: Maranello [NSDI 2010] – Divide the packet into blocks. Retransmit the corrupted block.

  • A block is found to be corrupted if it fails the checksum test

8/3/2011 4 Florida State University

slide-5
SLIDE 5

Partial Packet Recovery

  • Error Correction based approach

– Example: ZipTx [Mobicom 2008] – Divide the packet into blocks and encode into

  • codewords. If there are errors, send parity bytes

8/3/2011 5 Florida State University

slide-6
SLIDE 6

Motivations to Revisit this Problem

  • Combining the two repair methods

– They are not mutually exclusive

8/3/2011 6 Florida State University

slide-7
SLIDE 7

Motivations to Revisit this Problem

  • Using error estimator

– Determine the optimal repair method and repair parameters – Error estimators were not available to earlier schemes

8/3/2011 7 Florida State University

slide-8
SLIDE 8

Motivations to Revisit this Problem

  • Observing the CPU

constraint

– Make sure that packet recovery does not consume too much CPU time.

  • Software decoding can be

time consuming

8/3/2011 8 Florida State University

slide-9
SLIDE 9

Our Contribution

  • Combine block-based and EC based and use

three repair methods:

– Block-retran: Traditional block retransmission. – HEC: Holistic Error Correction. Traditional error correction. – TEC: Target Error Correction.

  • Select the optimal repair method that

– Minimizes the number of bytes sent – Abide by the CPU time constraint β

8/3/2011 9 Florida State University

slide-10
SLIDE 10

Combining Block-retran and Error Correction

  • Block-retran and Error Correction have pros

and cons:

– Block-retran

  • does not need much CPU time
  • but retransmitted blocks may be corrupted and may

transmit more data

– Error Correction

  • need CPU time
  • but is more resilient to errors and need less data

8/3/2011 10 Florida State University

slide-11
SLIDE 11

Combining Block-retran and Error Correction

  • When CPU time is a constraint, it makes sense

to take advantage of both:

– For more corrupted packets, use block-retran – For more lightly corrupted packets, use HEC

  • The number of errors in a packet is estimated

by the estimator.

8/3/2011 11 Florida State University

slide-12
SLIDE 12

Code block, interleaving, and checksum block

  • Code Block:

– Divide a packet into blocks, encode each into a codeword

  • Interleaving:

– Simply a random permutation – To spread the errors evenly in the code blocks

  • So we send the same number of parity bytes for all code

blocks.

  • Checksum block:

– Divide the packet into (smaller) blocks – It is after interleaving because when retransmitting we prefer errors in clusters

8/3/2011 12 Florida State University

slide-13
SLIDE 13

Feedback of a Partial Packet

  • The checksum is not transmitted with the

data.

– Only when the packet is a partial packet, the checksum is calculated at the receiver and sent as a feedback to the sender.

  • Also in the feedback is the estimated number
  • f errors

– With which the number of parity bytes for each code block can be determined

8/3/2011 13 Florida State University

slide-14
SLIDE 14

TEC

  • In addition we have TEC:

– A partial packet often has only few error bytes. – For such packets,

  • block-retran will waste in

transmitting correct bytes.

  • EC will waste in decoding

correct code blocks.

– Why not find the error checksum block (by checksum test) then send parity bytes for this checksum block only?

2 Block-retran: Error Correction: TEC: Plus decoding 1 2 3 4 A partial packet:

8/3/2011 14 Florida State University

slide-15
SLIDE 15

HEC and TEC

  • Why not use TEC for all packets and not worry

about HEC at all?

  • The problem is that we do not know the

number of errors in each checksum block, so we actually do not know how many parity bytes to send if there are many error blocks.

8/3/2011 15 Florida State University

slide-16
SLIDE 16

HEC and TEC

  • If a packet has very few errors (no more than 3

in our implementation), it is qualified for TEC.

– There are usually very few error checksum blocks and we fit them into one codeword. – We send 10 (no more than 1 error) or 20 (no more than 3 errors) parity bytes.

  • If a packet has more errors, we have to rely on

interleaving to spread the errors evenly in all code blocks.

8/3/2011 16 Florida State University

slide-17
SLIDE 17

How do we know how corrupted the packet is?

  • Knowing which block is corrupted is easy –

failed CRC.

  • Knowing how many error bytes is difficult –
  • ne error byte and 100 error bytes both result

in a CRC failure.

  • Have to use error estimator.

8/3/2011 17 Florida State University

slide-18
SLIDE 18

AMPS

  • We are aware of two estimators, EEC

[Sigcomm 2010] and AMPS.

  • All details about AMPS, including the table

lookup implementation, getting the prior P(Y) are in: “Employing coded relay in multihop wireless networks”, http://arxiv.org/abs/1012.4136

8/3/2011 18 Florida State University

slide-19
SLIDE 19

AMPS

  • AMPS estimates the number of errors in a

packet based on the Maximum A Posteriori (MAP) criterion.

– The parity bit of multiple bytes is a sample. Multiple samples are sent in the packet header. The receiver compares the received samples and the locally calculated samples. The number of mismatches (X) reveals the error conditions (Y). – We pick Y such that P(Y|X) is maximized.

8/3/2011 19 Florida State University

slide-20
SLIDE 20

AMPS

  • Comparing with EEC [Sigcomm 2010]

– 1500-bit packet for EEC and 1500-byte packet for AMPS. – EEC uses all 10 levels with overhead 40 bytes. AMPS has overhead 8 bytes. – pEEC removes the results when EEC cannot estimate.

  • Main reason

– EEC is a heuristic with a bound, AMPS follows the MAP optimality criterion.

  • For example, EEC has a hard threshold which often leads to underestimation.

8/3/2011 20 Florida State University

slide-21
SLIDE 21

Selection of Repair Method

  • A node may receive the feedback of multiple

packets from a feedback frame.

– Which repair method to apply for each packet?

8/3/2011 21 Florida State University

slide-22
SLIDE 22

Selection of Repair Method – Some simple rules first

  • If a packet is qualified for TEC, don’t use HEC

– Means that we are always choosing between block-retran and one error correction method. Binary.

  • If the more repair data has to be sent for error

correction than with block-retran, use block- retran

– Does not happen often but could happen

8/3/2011 22 Florida State University

slide-23
SLIDE 23

Selection of Repair Method

  • For each partial packet, we have

– : the decoding time – : the transmission time for block-retran – : the transmission time for required parity bytes

  • We are given the decoding time budget

di ti gi

W

d1

2

d

t1

2

t

1

g

2

g

dn

tn

n

g

… … …

W

8/3/2011 23 Florida State University

slide-24
SLIDE 24

Selection of Repair Method

  • For packet , we define a value

and a weight

– –

  • For packet Pi we define binary variable xi:

– xi=0 means should use block-retran – xi=1 means should use error correction.

i i i

g t v  

i i

d w 

P

i i

v

i

w

8/3/2011 24 Florida State University

slide-25
SLIDE 25

Selection of Repair Method

  • As we want to minimize the total number of bytes under

the CPU time constraint, the problem can be formalized as

under the constraint that This is exactly the Knapsack problem which is NP-hard, and we adopt the standard greedy algorithm: Select the packet that has the largest ratio of value over weight for error correction.

8/3/2011 25 Florida State University

slide-26
SLIDE 26

The Decoding Time Budget

8/3/2011 26 Florida State University

slide-27
SLIDE 27

Implementation

  • We implemented our scheme within the Madwifi
  • pen source driver.
  • We call it Unite.
  • We use a link layer protocol similar to ZipTx:

– Receiver aggregates the feedback of several packets into one feedback frame to reduce the overhead – Sender has a timeout mechanism to retransmit, in case all feedbacks are lost – A partial packet is repaired twice

8/3/2011 27 Florida State University

slide-28
SLIDE 28

Experiments

8/3/2011 28 Florida State University

slide-29
SLIDE 29

Comparing with Other Drivers

  • ORIG

– Original Madwifi driver

  • BLCK

– Original Madwifi driver enhanced with block-retran

  • EOLY

– Original Madwifi driver enhanced with HEC and AMPS under CPU time constraint

  • 2RND

– Original Madwifi driver enhanced with a 2 round, fixed packet repair schedule according to ZipTx

8/3/2011 29 Florida State University

slide-30
SLIDE 30

Experiment Setup

  • Randomly choose 60 sender and receiver

locations

  • Each driver runs for 45 seconds at 54 Mbps
  • We collect per second data.
  • = 0.2.

b

8/3/2011 30 Florida State University

slide-31
SLIDE 31

Throughput Comparison

(0,20] (20, 40] (40, 60] (60, 100] 5 10 15 20 25 30 35

Partial(%) Throughput(Mbps)

ORIG 2RND BLCK EOLY UNITE

Unite achieves higher throughput than

  • ther schemes

8/3/2011 31 Florida State University

slide-32
SLIDE 32

Fine-grained Throughput Comparison

  • Comparison with ORIG

20 40 60 80 100 5 10 15 20 25 30 35

Partial(%) Throughput(Mbps)

ORIG UNITE

ORIG performance drops linearly

8/3/2011 32 Florida State University

slide-33
SLIDE 33

Fine-grained Throughput Comparison

  • Comparison with 2RND

20 40 60 80 100 5 10 15 20 25 30 35

Partial(%) Throughput(Mbps)

2RND UNITE

2RND is good when error is low, but drops fast as error goes high

8/3/2011 33 Florida State University

slide-34
SLIDE 34

Fine-grained Throughput Comparison

  • Comparison with BLCK

20 40 60 80 100 5 10 15 20 25 30 35

Partial(%) Throughput(Mbps)

BLCK UNITE

BLCK is good when error is low, but drops quickly when error is high

8/3/2011 34 Florida State University

slide-35
SLIDE 35

Fine-grained Throughput Comparison

  • Comparison with EOLY

20 40 60 80 100 5 10 15 20 25 30 35

Partial(%) Throughput(Mbps)

EOLY UNITE

EOLY follows most closely with Unite but is still worse

8/3/2011 35 Florida State University

slide-36
SLIDE 36

CPU Load Comparison

(0,20] (20, 40] (40, 60] (60, 100] 20 40 60 80 100

Partial(%) Cpu Usage(%)

ORIG 2RND BLCK EOLY UNITE

Unite does not

  • ver consume

CPU time

8/3/2011 36 Florida State University

slide-37
SLIDE 37

Repair Method Failure Ratio of Unite

(0,20] (20, 40] (40, 60] (60, 100] 5 10 15 20 25 30 35 40

Partial(%) Failure Ratio(%)

HEC TEC BLCK

Repair may fail, but Unite’s failure ratio is not high. TEC and HEC’s failure ratio is less than 0.1, meaning AMPS is doing a good job

8/3/2011 37 Florida State University

slide-38
SLIDE 38

Throughput under Different CPU Time Constraint

(0,20] (20, 40] (40, 60] (60, 100] 5 10 15 20 25 30 35

Partial(%) Throughput(Mbps)

10% 20% 30% 40% UNLIMITED

Throughput increases with more CPU time allowed

8/3/2011 38 Florida State University

slide-39
SLIDE 39

Measured CPU Load under Different CPU Constraint

(0,20] (20, 40] (40, 60] (60, 100] 10 20 30 40 50 60

Partial(%) Cpu Usage(%)

10% 20% 30% 40% UNLIMITED

CPU usage increases with more CPU time allowed; never above 50% because heavily corrupted packets are not repaired with error correction

8/3/2011 39 Florida State University

slide-40
SLIDE 40

The Choice of Repair Method Under Different CPU Constraint

10 20 30 40 UNLIMITED 200 400 600 800 1000 1200

CPU Time Constraint(%) Repair Packets(per Second) Partial(%) (40, 60]

HEC TEC BLCK

  • Majority of

packets repaired with TEC.

  • More allowed

CPU time, more HEC.

8/3/2011 40 Florida State University

slide-41
SLIDE 41

8/3/2011 41 Florida State University

Questions?