Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations

Presentation on theme: "Efficient Error Estimating Coding: Feasibility and Applications Binbin Chen Ziling Zhou Yuda Zhao Haifeng Yu School of Computing National University of."— Presentation transcript:

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

2 Background: Error Correcting Codes Error correcting codes play fundamental roles in communication systems: 2 10 decode 111000101000 encode Philosophy behind over 50 years of research on error correcting codes: Only want to deal with entirely correct data 10 senderreceiver network

3 Our 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

4 EEC: New Tradeoffs 4 Weaker functionality Smaller overhead Stronger functionality Larger overhead error correcting codes error estimating codes

5 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

6 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

7 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

8 Roadmap Applications of EEC What designs deal with partial packets? How can EEC help them? Feasibility of Efficient EEC 8

9 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) 9 source destination 101101 1011 decode 101001101001101101 router

10 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 101101100001100001101101 decode decoding failure router

11 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 Details in paper… 11

12 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., SIGCOMM06] ) Let packets with small BER (and thus more valuable) go through first 12

13 Example Scenario: Bulk data transfer Leverage partial packets and correct errors end-to-end Combining multiple partial packets [Dubois-Ferriere et al., Sensys05] Use network coding as in MIXIT [Katti et al., SIGCOMM08] Destination requests extra error correcting redundancy if needed (i.e., similar to ZipTX [Lin et al., MobiCom08] ) 13

14 14 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

15 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., SIGCOMM09] : Modify physical layer to obtain BER info Not supported by todays commercial hardware 15

16 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 Details in paper… 16

17 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 selection 2.Transmission power selection 3.Directional antenna orientation selection 4.Routing in multi-hop wireless networks … 17

18 Roadmap Applications of EEC More application scenarios in paper… Feasibility of Efficient EEC 18

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

20 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… 20 XXXX XXXX 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

21 Use 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)

22 Challenges 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 XXXX XXXX Data bits error prob higher Data bits error prob lower Will leave details on these challenges to paper…

23 permute EEC Encoding on Sender Single-level EEC 23 data bitsEEC 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).

24 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…see paper Various extensions…see paper 24

25 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: 25

26 EEC and SoftPHY SoftPHY [Jamieson et al., SIGCOMM07] Physical layer exposing confidence level for each bit received Can estimate BER – in fact, offer additional info beyond BER Todays 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

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

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

Similar presentations

Ads by Google