efficient error estimating coding: feasibility and applications
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 PresentationTRANSCRIPT
![Page 1: Efficient Error Estimating Coding: Feasibility and Applications](https://reader036.vdocuments.us/reader036/viewer/2022062323/5681642e550346895dd5f626/html5/thumbnails/1.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062323/5681642e550346895dd5f626/html5/thumbnails/2.jpg)
One of Typical Problem in Packet-Switch network
Packet Loss
2
![Page 3: Efficient Error Estimating Coding: Feasibility and Applications](https://reader036.vdocuments.us/reader036/viewer/2022062323/5681642e550346895dd5f626/html5/thumbnails/3.jpg)
3
![Page 4: Efficient Error Estimating Coding: Feasibility and Applications](https://reader036.vdocuments.us/reader036/viewer/2022062323/5681642e550346895dd5f626/html5/thumbnails/4.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062323/5681642e550346895dd5f626/html5/thumbnails/5.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062323/5681642e550346895dd5f626/html5/thumbnails/6.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062323/5681642e550346895dd5f626/html5/thumbnails/7.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062323/5681642e550346895dd5f626/html5/thumbnails/8.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062323/5681642e550346895dd5f626/html5/thumbnails/9.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062323/5681642e550346895dd5f626/html5/thumbnails/10.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062323/5681642e550346895dd5f626/html5/thumbnails/11.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062323/5681642e550346895dd5f626/html5/thumbnails/12.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062323/5681642e550346895dd5f626/html5/thumbnails/13.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062323/5681642e550346895dd5f626/html5/thumbnails/14.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062323/5681642e550346895dd5f626/html5/thumbnails/15.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062323/5681642e550346895dd5f626/html5/thumbnails/16.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062323/5681642e550346895dd5f626/html5/thumbnails/17.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062323/5681642e550346895dd5f626/html5/thumbnails/18.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062323/5681642e550346895dd5f626/html5/thumbnails/19.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062323/5681642e550346895dd5f626/html5/thumbnails/20.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062323/5681642e550346895dd5f626/html5/thumbnails/21.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062323/5681642e550346895dd5f626/html5/thumbnails/22.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062323/5681642e550346895dd5f626/html5/thumbnails/23.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062323/5681642e550346895dd5f626/html5/thumbnails/24.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062323/5681642e550346895dd5f626/html5/thumbnails/25.jpg)
Start to Design efficient EEC
25
![Page 26: Efficient Error Estimating Coding: Feasibility and Applications](https://reader036.vdocuments.us/reader036/viewer/2022062323/5681642e550346895dd5f626/html5/thumbnails/26.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062323/5681642e550346895dd5f626/html5/thumbnails/27.jpg)
Probability of have x errors in a group with 15 data bits
27
![Page 28: Efficient Error Estimating Coding: Feasibility and Applications](https://reader036.vdocuments.us/reader036/viewer/2022062323/5681642e550346895dd5f626/html5/thumbnails/28.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062323/5681642e550346895dd5f626/html5/thumbnails/29.jpg)
The Question is …
• How do we know whether P0 is small enough?
29
![Page 30: Efficient Error Estimating Coding: Feasibility and Applications](https://reader036.vdocuments.us/reader036/viewer/2022062323/5681642e550346895dd5f626/html5/thumbnails/30.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062323/5681642e550346895dd5f626/html5/thumbnails/31.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062323/5681642e550346895dd5f626/html5/thumbnails/32.jpg)
Putting the above ideas together…
32
![Page 33: Efficient Error Estimating Coding: Feasibility and Applications](https://reader036.vdocuments.us/reader036/viewer/2022062323/5681642e550346895dd5f626/html5/thumbnails/33.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062323/5681642e550346895dd5f626/html5/thumbnails/34.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062323/5681642e550346895dd5f626/html5/thumbnails/35.jpg)
35
![Page 36: Efficient Error Estimating Coding: Feasibility and Applications](https://reader036.vdocuments.us/reader036/viewer/2022062323/5681642e550346895dd5f626/html5/thumbnails/36.jpg)
36
![Page 37: Efficient Error Estimating Coding: Feasibility and Applications](https://reader036.vdocuments.us/reader036/viewer/2022062323/5681642e550346895dd5f626/html5/thumbnails/37.jpg)
Evaluation
37
![Page 38: Efficient Error Estimating Coding: Feasibility and Applications](https://reader036.vdocuments.us/reader036/viewer/2022062323/5681642e550346895dd5f626/html5/thumbnails/38.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062323/5681642e550346895dd5f626/html5/thumbnails/39.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062323/5681642e550346895dd5f626/html5/thumbnails/40.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062323/5681642e550346895dd5f626/html5/thumbnails/41.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062323/5681642e550346895dd5f626/html5/thumbnails/42.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062323/5681642e550346895dd5f626/html5/thumbnails/43.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062323/5681642e550346895dd5f626/html5/thumbnails/44.jpg)
44
![Page 45: Efficient Error Estimating Coding: Feasibility and Applications](https://reader036.vdocuments.us/reader036/viewer/2022062323/5681642e550346895dd5f626/html5/thumbnails/45.jpg)
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