270 likes | 440 Views
Efficient Error Estimating Coding: Feasibility and Applications. Binbin Chen Ziling Zhou Yuda Zhao Haifeng Yu School of Computing National University of Singapore. Background: Error Correcting Codes. 1. 0. decode. encode. 1. 1. 1. 0. 1. 1. 0. 0. 0. 0. 0. 0. 1.
E N D
Efficient Error Estimating Coding:Feasibility and Applications Binbin Chen Ziling Zhou Yuda Zhao Haifeng Yu School of Computing National University of Singapore
Background: Error Correcting Codes 1 0 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 Error correcting codes play fundamental roles in communication systems:
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
EEC: New Tradeoffs Weaker functionality Smaller overhead Stronger functionality Larger overhead error estimating codes error correcting codes
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)
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
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
Roadmap Applications of EEC • What designs deal with partial packets? • How can EEC help them? Feasibility of Efficient EEC
Example Scenario: Streaming Video destination router 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 Source adds forward error correction • Can recover a packet if BER below some threshold • Router forwards all packets (even if partially correct)
Streaming Video: How can EEC help? destination router 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 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
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…
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
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])
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 14
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
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…
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 …
Roadmap Applications of EEC • More application scenarios in paper… Feasibility of Efficient EEC
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)
Naïve Sampling Using Pilot Bits data bit 4 slots erroneous out of 12 slots Xerroneous slot X X X X pilot bit p estimated to be 1/3 X X X X need enough errors on the pilot bits to estimate properly Problem: Ineffective for small p • p = 0.01: needs roughly 100 pilot bits to see one error • BER is usually a small value…
Use a Parity Bit to Sample a Group of Bits data bit parity bit (EEC bit) Parity bit for a group of 4 data 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
Challenges Data bits error prob higher X X X X Data bits error prob lower X X X X • Will leave details on these challenges to paper… 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
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) • (see paper for the closed-form of f())
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
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:
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
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)