efficient error estimating coding: feasibility and applications

45
Efficient Error Estimating Coding: Feasibility and Applications Binbin Chen Ziling Zhou Yuda Zhao Haifeng Yu School of Computing National University of Singapore 2010 SIGCOMM [Best Paper] Session: wireless and measurement Presenter: Louwang

Upload: marina

Post on 23-Feb-2016

66 views

Category:

Documents


0 download

DESCRIPTION

Efficient Error Estimating Coding: Feasibility and Applications. Binbin Chen Ziling Zhou Yuda Zhao Haifeng Yu School of Computing National University of Singapore 2010 SIGCOMM [Best Paper] Session: wireless and measurement Presenter : Louwang. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Efficient Error Estimating Coding: Feasibility and Applications

Efficient Error Estimating Coding:Feasibility and Applications

Binbin Chen Ziling Zhou Yuda Zhao Haifeng YuSchool of Computing

National University of Singapore2010 SIGCOMM [Best Paper]

Session: wireless and measurement

Presenter: Louwang

Page 2: Efficient Error Estimating Coding: Feasibility and Applications

One of Typical Problem in Packet-Switch network

Packet Loss

2

Page 3: Efficient Error Estimating Coding: Feasibility and Applications

3

Page 4: Efficient Error Estimating Coding: Feasibility and Applications

Background: Error Correcting Codes• Error correcting codes play fundamental roles

in communication systems:

4

1 0

decode

1 1 1 0 0 0 1 0 1 0 0 0

encode

Philosophy behind over 50 years of research on error correcting codes: Only want to deal with entirely correct data

1 0

sender receiver

network

Page 5: Efficient Error Estimating Coding: Feasibility and Applications

Key Contribution• Many state-of-art designs in wireless networking

leverage partially correct packets– More on these designs later…– Look beyond error correcting codes?

• Our main contribution: Novel concept of Error Estimating Coding (EEC)– Enable the receiver to estimate the number of errors

(i.e., flipped bits) in a partially correct packet– But cannot tell the positions of the errors

5

Page 6: Efficient Error Estimating Coding: Feasibility and Applications

EEC: New Tradeoffs

6

Weaker functionalitySmaller overhead

Stronger functionalityLarger overhead

error correcting codes

error estimating codes

Page 7: Efficient Error Estimating Coding: Feasibility and Applications

EEC – Why is it interesting?

7

small redundancy overhead large redundancy overhead

error correcting codes

error estimating codes

(n) 2% can only

correct rather small # errors (e.g., 24 errors out of 12000 bits)

O(log n) E.g., 2% overhead on 1500-byte packet If only want to know whether # errors

exceeds some threshold -- just 4 bytes Can be viewed as generalized CRC

Page 8: Efficient Error Estimating Coding: Feasibility and Applications

EEC – Why is it interesting?

8

small computational overhead large computational overhead

error correcting codes

error estimating codes

Often need hardware support to be fast enough

Some codes (e.g., Reed-Solomon codes) have highly optimized software implementation

10 to 100 times slower than EEC Hard to support 802.11a/g data rates

Pure software implementation can support all 802.11a/g data rates on typical hardware platform today

Page 9: Efficient Error Estimating Coding: Feasibility and Applications

EEC – Why is it interesting?

9

weaker functionality stronger functionality

error correcting codes

error estimating codes

Estimate the number of errors Provable estimation quality No assumption needed on error

correlation or independence

Page 10: Efficient Error Estimating Coding: Feasibility and Applications

Roadmap• Applications of EEC

– What designs deal with partial packets?– How can EEC help them?

• Feasibility of Efficient EEC

10

Page 11: Efficient Error Estimating Coding: Feasibility and Applications

Example Scenario: Streaming Video

• Source adds forward error correction– Can recover a packet if BER below some threshold– Router forwards all packets (even if partially

correct)

11

source

destination

1 0 1 1 0 1

1 0 1 1

decode

1 0 1 0 0 11 0 1 0 0 1

1 0 1 1 0 1

router

Page 12: Efficient Error Estimating Coding: Feasibility and Applications

Streaming Video: How can EEC help?

• Packets with many errors cannot be recovered – router should have asked for retransmission

• BER-aware retransmission: Routers use EEC to determine whether to request retransmission– Bit Error Rate: Fraction of corrupted bits

12

source

destination

1 0 1 1 0 1

1 0 0 0 0 11 0 0 0 0 1

1 0 1 1 0 1 decode

decoding failure

router

Page 13: Efficient Error Estimating Coding: Feasibility and Applications

Summary of Experimental Results• Implementation on Soekris Net5501-70 routers

• BER-aware retransmission consistently outperforms other schemes that do not have access to BER info– In all experimental settings (e.g., with/without

interference, different link quality)– Up to 5dB gain on PSNR of the streamed video– 0.5dB gain is usually considered visually noticeable

13

Page 14: Efficient Error Estimating Coding: Feasibility and Applications

Generalization: Treat different partial packets differently

• BER-aware packet forwarding – Context: Cooperative relay– Use analog-amplify for packets with large BER– Use digital-amplify for packets with small BER

• BER-aware packet scheduling– Context: Image sensor network for emergency

response (e.g., [Kamra et al., SIGCOMM’06])– Let packets with small BER (and thus more valuable)

go through first

14

Page 15: Efficient Error Estimating Coding: Feasibility and Applications

Example Scenario: Bulk data transfer

• Leverage partial packets and correct errors end-to-end– Combining multiple partial packets[Dubois-

Ferriere et al., Sensys’05]– Use network coding as in MIXIT[Katti et al.,

SIGCOMM’08]– Destination requests extra error correcting

redundancy if needed (i.e., similar to ZipTX [Lin et al., MobiCom’08])

15

Page 16: Efficient Error Estimating Coding: Feasibility and Applications

16

Bulk data transfer: How can EEC help?

In these systems, EEC can help to do better WiFi rate adaptation Select the data rate with the best goodput Based on current tradeoff between data rates and

packet BER

The mapping between data rates and BER is the key info needed by rate adaptation EEC exactly provides the BER info at current rate

Page 17: Efficient Error Estimating Coding: Feasibility and Applications

Comparison: Previous Rate Adaptation Schemes

• Based on packet loss ratio– Coarse grained info– Need multiple packets to observe properly

• Based on signal-to-noise ratio– Indirect measure and needs training

• SoftRate [Vutukuru et al., SIGCOMM’09]: Modify physical layer to obtain BER info– Not supported by today’s commercial hardware

17

Page 18: Efficient Error Estimating Coding: Feasibility and Applications

Summary of Experimental Results• EEC-Rate implemented in MadWifi 0.9.4.

– Use per-packet BER to guide rate adaptation•

• EEC-Rate consistently outperforms state-of-art schemes based on packet loss ratio or SNR– In all experimental settings (e.g., indoor/walking/

outdoor, with/without interference)– Up to 50% higher goodput in walking scenario– Up to 130% higher goodput in outdoor scenario

18

Page 19: Efficient Error Estimating Coding: Feasibility and Applications

Generalization: Wireless carrier selection• General problem of wireless carrier selection

– Multiple wireless carriers (e.g., sending rates)– Dynamically select the carrier with the best goodput

• More examples:1.Wireless channel selection2.Transmission power selection3.Directional antenna orientation selection4.Routing in multi-hop wireless networks…

19

Page 20: Efficient Error Estimating Coding: Feasibility and Applications

Roadmap• Applications of EEC

– What designs deal with partial packets?– How can EEC help them?

• Feasibility of Efficient EEC

20

Page 21: Efficient Error Estimating Coding: Feasibility and Applications

Model• A packet holds n data bits and k EEC bits, in

n+k slots

• p fraction of the slots are erroneous– p is not a probability– Positions of erroneous slots can be arbitrary (e.g.,

fully clustered or fully spread)• Goal: Generate an estimation for p (with

certain target estimation quality)

21

Page 22: Efficient Error Estimating Coding: Feasibility and Applications

Naïve Sampling Using Pilot Bits

• Problem: Ineffective for small p– p = 0.01: needs roughly 100 pilot bits to see one error– BER is usually a small value…

22

X X XXX X XX data bit

pilot bit

4 slots erroneous out of 12 slots X erroneous slot

p estimated to be 1/3

need enough errors on the pilot bits to estimate properly

Page 23: Efficient Error Estimating Coding: Feasibility and Applications

Use a Parity Bit to Sample a Group of Bits

Hope to sample a group of 100 slots togetherUse a parity bit to sample a group of data bits

Larger group size More likely to see errorsHelps to deal with small p – Just use larger groups

23

Parity bit for a group of 4 data bits

data bit

parity bit (EEC bit)

Page 24: Efficient Error Estimating Coding: Feasibility and Applications

Challenges1. Parity information is limited -- Cannot even

distinguish 1 error from 3 errors in the group2. Parity bits themselves may be erroneous3. Error prob of an parity bit and error prob of

data bits in the group are correlated

24

X X XX

X X XX

Data bits error prob higher

Data bits error prob lower

Page 25: Efficient Error Estimating Coding: Feasibility and Applications

Start to Design efficient EEC

25

Page 26: Efficient Error Estimating Coding: Feasibility and Applications

Choose each of bits independently and uniformly randomly

• If total number of bits is 12 and we choose 4 for a parity bit. (g = 4)

26

Page 27: Efficient Error Estimating Coding: Feasibility and Applications

Probability of have x errors in a group with 15 data bits

27

Page 28: Efficient Error Estimating Coding: Feasibility and Applications

Key step1: parity information is sufficient when p is small enough

28

• The probability of having more than 1 error is always below 0.09.

• If the # of errors is even, it’s very likely # of errors is 0.

• If the # of errors is odd, it’s very likely # of errors is 1.

Page 29: Efficient Error Estimating Coding: Feasibility and Applications

The Question is …

• How do we know whether P0 is small enough?

29

Page 30: Efficient Error Estimating Coding: Feasibility and Applications

Fall when P0 is too large

• Define the probability of having odd number of errors in a group with g data bits.

• It’s exceed 0.32 when P0 = 1/g • Now the P of odd and even # of error are

comparable.

30

Page 31: Efficient Error Estimating Coding: Feasibility and Applications

Solution

• Use multiple (independent) groups of same size (Each with a parity bit)

• Be able to estimate whether the # of odd number of errors is too large.

31

Page 32: Efficient Error Estimating Coding: Feasibility and Applications

Putting the above ideas together…

32

Page 33: Efficient Error Estimating Coding: Feasibility and Applications

permuteEEC Encoding on Sender

Single-level EEC

33

data bits EEC bits

packet

On receiver, let q be the fraction of parity check failures:If q [0.25, 0.4], BER can be estimated as f(q) Here we choose s independent group. (g data bit + 1EEC bit)( f(q) = s*q / s (g+1) = q/(g+1))

Each EEC bit is the parity bit of a group of randomly selected data bits (all groups have the same size).

Page 34: Efficient Error Estimating Coding: Feasibility and Applications

Multi-level EEC• Single-level EEC succeeds only for q [0.25, 0.4]

• Multi-level EEC: log(n) levels with geometrically distributed group sizes 2, 4, 8, 16, …, n– Claim: There almost always exists some level such

that q [0.25, 0.4] on that level– Complication: With multiple levels, undesirable rare

events will be more common

34

Page 35: Efficient Error Estimating Coding: Feasibility and Applications

35

Page 36: Efficient Error Estimating Coding: Feasibility and Applications

36

Page 37: Efficient Error Estimating Coding: Feasibility and Applications

Evaluation

37

Page 38: Efficient Error Estimating Coding: Feasibility and Applications

Comparison• WIFI rate adaptation using EEC.• Robust Rate Adaptation Algorithm (RRAA)• Receiver-Based AutoRate (RBAR)• SampleRate and RRAA both adjust rates based on packet loss

statistics.• In RBAR, the receiver measures the SNR of the RTS packet

received.

38

Page 39: Efficient Error Estimating Coding: Feasibility and Applications

Interference Scenario

39

6 link under three different transmissionpower levels (5dBm, 10dBm, and 15dBm)Sending rate:1500bytes / 30s

Page 40: Efficient Error Estimating Coding: Feasibility and Applications

Walking scenario

• Distance: 90 meters

• Duration: 90 s• 5 times for

each setting• Sender walking

around the receiver

40

Page 41: Efficient Error Estimating Coding: Feasibility and Applications

41

The sender and receiver placed on the opposite sides of a busy road and are 30 meters apart.

Outdoor scenario

Page 42: Efficient Error Estimating Coding: Feasibility and Applications

Related Work: EEC and SoftPHY• SoftPHY [Jamieson et al., SIGCOMM’07]

– Physical layer exposing confidence level for each bit received– Can estimate BER – in fact, offer additional info beyond BER – Today’s commercial WiFi hardware does not provide such

functionality• EEC is a pure software solution

– Flexibility, easier to adopt or upgrade– Will be attractive for lower-end wireless devices even if SoftPHY

becomes available on future WiFi devices– But if need per-bit confidence info, EEC cannot substitute SoftPHY

42

Page 43: Efficient Error Estimating Coding: Feasibility and Applications

Conclusions• Key contribution: Error estimating coding

– Estimate the # of errors (with provable estimation quality), without correcting them

– New tradeoff between functionality and overhead

• Why is EEC interesting?– EEC functionality significantly benefits modern designs

in wireless networks– EEC overhead orders of magnitude smaller than error

correcting codes (e.g., allows highly efficient software implementation)

43

Page 44: Efficient Error Estimating Coding: Feasibility and Applications

44

Page 45: Efficient Error Estimating Coding: Feasibility and Applications

Formal Guarantees• (Rough) Theorem: For any given 0<<1 and

0<<1, using log(n) levels with O(1) EEC bits per level will ensure:

45

1])1(ˆ)1Pr[( ppp