1 / 45

Efficient Error Estimating Coding: Feasibility and Applications

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.

marina
Télécharger la présentation

Efficient Error Estimating Coding: Feasibility and Applications

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

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 2010 SIGCOMM [Best Paper] Session: wireless and measurement Presenter: Louwang

  2. One of Typical Problem in Packet-Switch network Packet Loss

  3. Background: Error Correcting Codes 1 0 • Error correcting codes play fundamental roles in communication systems: decode encode 1 1 1 0 1 1 0 0 0 0 0 0 1 0 sender receiver network Philosophy behind over 50 years of research on error correcting codes: Only want to deal with entirely correct data

  4. 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. EEC: New Tradeoffs Weaker functionality Smaller overhead Stronger functionality Larger overhead error estimating codes error correcting codes

  6. EEC – Why is it interesting? large redundancy overhead small redundancy overhead error estimating codes error correcting codes • 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 • (n) • 2% can only correct rather small # errors (e.g., 24 errors out of 12000 bits)

  7. EEC – Why is it interesting? small computational overhead large computational overhead error estimating codes error correcting codes • Pure software implementation can support all 802.11a/g data rates on typical hardware platform today • 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

  8. EEC – Why is it interesting? stronger functionality weaker functionality error estimating codes error correcting codes • Estimate the number of errors • Provable estimation quality • No assumption needed on error correlation or independence

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

  10. Example Scenario: Streaming Video destination router • Source adds forward error correction • Can recover a packet if BER below some threshold • Router forwards all packets (even if partially correct) source 1 1 0 0 1 1 0 0 0 0 1 1 decode 1 1 0 0 1 1 1 1 0 0 1 1 1 0 1 1

  11. Streaming Video: How can EEC help? destination router • 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 source 1 1 0 0 0 0 0 0 0 0 1 1 decode 1 1 0 0 1 1 1 1 0 0 1 1 decoding failure

  12. 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. 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. 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. 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 16

  16. 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. 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. 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: • Wireless channel selection • Transmission power selection • Directional antenna orientation selection • Routing in multi-hop wireless networks …

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

  20. 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. Naïve Sampling Using Pilot Bits data bit 4 slots erroneous out of 12 slots Xerroneous slot X X X X • Problem: Ineffective for small p • p = 0.01: needs roughly 100 pilot bits to see one error • BER is usually a small value… pilot bit p estimated to be 1/3 X X X X need enough errors on the pilot bits to estimate properly

  22. Use a Parity Bit to Sample a Group of Bits data bit 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 parity bit (EEC bit) Parity bit for a group of 4 data bits

  23. Challenges • Parity information is limited -- Cannot even distinguish 1 error from 3 errors in the group • Parity bits themselves may be erroneous • Error prob of an parity bit and error prob of data bits in the group are correlated Data bits error prob higher X X X X Data bits error prob lower X X X X

  24. Start to Design efficient EEC

  25. 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. Probability of have x errors in a group with 15 data bits

  27. Key step1: parity information is sufficient when p is small enough • 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.

  28. The Question is … • How do we know whether P0 is small enough?

  29. 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. 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. Putting the above ideas together…

  32. Single-level EEC Each EEC bit is the parity bit of a group of randomly selected data bits (all groups have the same size). data bits EEC bits EEC Encoding on Sender packet permute • 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))

  33. 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. Evaluation

  35. 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.

  36. Interference Scenario 6 link under three different transmission power levels (5dBm, 10dBm, and 15dBm) Sending rate: 1500bytes / 30s

  37. Walking scenario • Distance: 90 meters • Duration: 90 s • 5 times for each setting • Sender walking around the receiver

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

  39. 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

  40. 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)

  41. 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:

More Related