Efficient Error Estimating Coding: Feasibility and Applications Binbin Chen Ziling Zhou Yuda Zhao...

27
Efficient Error Estimating Efficient Error Estimating Coding: Coding: Feasibility and Applications Feasibility and Applications Binbin Chen Ziling Zhou Yuda Zhao Haifeng Yu School of Computing National University of Singapore

Transcript of Efficient Error Estimating Coding: Feasibility and Applications Binbin Chen Ziling Zhou Yuda Zhao...

Page 1: Efficient Error Estimating Coding: Feasibility and Applications Binbin Chen Ziling Zhou Yuda Zhao Haifeng Yu School of Computing National University of.

Efficient Error Estimating Coding:Efficient Error Estimating Coding:Feasibility and ApplicationsFeasibility and Applications

Binbin Chen Ziling Zhou Yuda Zhao Haifeng Yu

School of Computing

National University of Singapore

Page 2: Efficient Error Estimating Coding: Feasibility and Applications Binbin Chen Ziling Zhou Yuda Zhao Haifeng Yu School of Computing National University of.

Background: Error Correcting CodesBackground: Error Correcting Codes Error correcting codes play fundamental roles in

communication systems:

2

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 3: Efficient Error Estimating Coding: Feasibility and Applications Binbin Chen Ziling Zhou Yuda Zhao Haifeng Yu School of Computing National University of.

Our Key ContributionOur 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

3

Page 4: Efficient Error Estimating Coding: Feasibility and Applications Binbin Chen Ziling Zhou Yuda Zhao Haifeng Yu School of Computing National University of.

EEC: New TradeoffsEEC: New Tradeoffs

4

Weaker functionality

Smaller overhead

Stronger functionality

Larger overhead

error correcting codes

error estimating codes

Page 5: Efficient Error Estimating Coding: Feasibility and Applications Binbin Chen Ziling Zhou Yuda Zhao Haifeng Yu School of Computing National University of.

EEC – Why is it interesting?EEC – Why is it interesting?

5

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 6: Efficient Error Estimating Coding: Feasibility and Applications Binbin Chen Ziling Zhou Yuda Zhao Haifeng Yu School of Computing National University of.

EEC – Why is it interesting?EEC – Why is it interesting?

6

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 7: Efficient Error Estimating Coding: Feasibility and Applications Binbin Chen Ziling Zhou Yuda Zhao Haifeng Yu School of Computing National University of.

EEC – Why is it interesting?EEC – Why is it interesting?

7

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 8: Efficient Error Estimating Coding: Feasibility and Applications Binbin Chen Ziling Zhou Yuda Zhao Haifeng Yu School of Computing National University of.

RoadmapRoadmap

Applications of EEC What designs deal with partial packets?

How can EEC help them?

Feasibility of Efficient EEC

8

Page 9: Efficient Error Estimating Coding: Feasibility and Applications Binbin Chen Ziling Zhou Yuda Zhao Haifeng Yu School of Computing National University of.

Example Scenario: Streaming VideoExample 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)

9

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 10: Efficient Error Estimating Coding: Feasibility and Applications Binbin Chen Ziling Zhou Yuda Zhao Haifeng Yu School of Computing National University of.

Streaming Video: How can EEC help?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

10

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 11: Efficient Error Estimating Coding: Feasibility and Applications Binbin Chen Ziling Zhou Yuda Zhao Haifeng Yu School of Computing National University of.

Summary of Experimental ResultsSummary 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

Details in paper…

11

Page 12: Efficient Error Estimating Coding: Feasibility and Applications Binbin Chen Ziling Zhou Yuda Zhao Haifeng Yu School of Computing National University of.

Generalization: Generalization: Treat different partial packets differentlyTreat 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

12

Page 13: Efficient Error Estimating Coding: Feasibility and Applications Binbin Chen Ziling Zhou Yuda Zhao Haifeng Yu School of Computing National University of.

Example Scenario: Bulk data transfer 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])

13

Page 14: Efficient Error Estimating Coding: Feasibility and Applications Binbin Chen Ziling Zhou Yuda Zhao Haifeng Yu School of Computing National University of.

14

Bulk data transfer: How can EEC help?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 15: Efficient Error Estimating Coding: Feasibility and Applications Binbin Chen Ziling Zhou Yuda Zhao Haifeng Yu School of Computing National University of.

Comparison: Previous Rate Adaptation SchemesComparison: 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

15

Page 16: Efficient Error Estimating Coding: Feasibility and Applications Binbin Chen Ziling Zhou Yuda Zhao Haifeng Yu School of Computing National University of.

Summary of Experimental ResultsSummary 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

Details in paper…16

Page 17: Efficient Error Estimating Coding: Feasibility and Applications Binbin Chen Ziling Zhou Yuda Zhao Haifeng Yu School of Computing National University of.

Generalization: Wireless carrier selectionGeneralization: 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 selection

2.Transmission power selection

3.Directional antenna orientation selection

4.Routing in multi-hop wireless networks

17

Page 18: Efficient Error Estimating Coding: Feasibility and Applications Binbin Chen Ziling Zhou Yuda Zhao Haifeng Yu School of Computing National University of.

RoadmapRoadmap

Applications of EEC More application scenarios in paper…

Feasibility of Efficient EEC

18

Page 19: Efficient Error Estimating Coding: Feasibility and Applications Binbin Chen Ziling Zhou Yuda Zhao Haifeng Yu School of Computing National University of.

ModelModel 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)

19

Page 20: Efficient Error Estimating Coding: Feasibility and Applications Binbin Chen Ziling Zhou Yuda Zhao Haifeng Yu School of Computing National University of.

Naïve Sampling Using Pilot BitsNaï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…

20

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 21: Efficient Error Estimating Coding: Feasibility and Applications Binbin Chen Ziling Zhou Yuda Zhao Haifeng Yu School of Computing National University of.

Use a Parity Bit to Sample a Group of BitsUse a Parity Bit to Sample a Group of Bits Hope to sample a group of 100 slots together

Use a parity bit to sample a group of data bits

Larger group size More likely to see errors

Helps to deal with small p – Just use larger groups

21

Parity bit for a group of 4 data bits

data bit

parity bit

(EEC bit)

Page 22: Efficient Error Estimating Coding: Feasibility and Applications Binbin Chen Ziling Zhou Yuda Zhao Haifeng Yu School of Computing National University of.

ChallengesChallenges

1. Parity information is limited -- Cannot even distinguish 1 error from 3 errors in the group

2. Parity bits themselves may be erroneous

3. Error prob of an parity bit and error prob of data bits in the group are correlated

22

X X XX

X X XX

Data bits error prob higher

Data bits error prob lower

Will leave details on these challenges to paper…

Page 23: Efficient Error Estimating Coding: Feasibility and Applications Binbin Chen Ziling Zhou Yuda Zhao Haifeng Yu School of Computing National University of.

permuteEEC Encoding on Sender

Single-level EECSingle-level EEC

23

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)

(see paper for the closed-form of f())

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

Page 24: Efficient Error Estimating Coding: Feasibility and Applications Binbin Chen Ziling Zhou Yuda Zhao Haifeng Yu School of Computing National University of.

Multi-level EECMulti-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…see paper

Various extensions…see paper

24

Page 25: Efficient Error Estimating Coding: Feasibility and Applications Binbin Chen Ziling Zhou Yuda Zhao Haifeng Yu School of Computing National University of.

Formal GuaranteesFormal Guarantees

(Rough) Theorem: For any given 0<<1 and 0<<1, using log(n) levels with O(1) EEC bits per level will ensure:

25

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

Page 26: Efficient Error Estimating Coding: Feasibility and Applications Binbin Chen Ziling Zhou Yuda Zhao Haifeng Yu School of Computing National University of.

EEC and SoftPHYEEC 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

26

Page 27: Efficient Error Estimating Coding: Feasibility and Applications Binbin Chen Ziling Zhou Yuda Zhao Haifeng Yu School of Computing National University of.

27

ConclusionsConclusions

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)