S1Chen - Events

advertisement
Efficient Error Estimating Coding:
Feasibility and Applications
Binbin Chen
Ziling Zhou
Yuda Zhao
School of Computing
National University of Singapore
Haifeng Yu
Background: Error Correcting Codes
 Error correcting codes play fundamental roles in
communication systems:
sender
1 0
1 0
encode
decode
receiver
network
1 1 1 0 0 0
1 0 1 0 0 0
Philosophy behind over 50 years of research
on error correcting codes:
Only want to deal with entirely correct data
2
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
EEC: New Tradeoffs
Weaker functionality
Stronger functionality
Smaller overhead
Larger overhead
error
estimating
codes
error
correcting
codes
4
EEC – Why is it interesting?
small redundancy overhead
large 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)
5
EEC – Why is it interesting?
small computational overhead large computational overhead
error
estimating
codes
Pure software
implementation
can support all
802.11a/g data
rates on typical
hardware
platform today

error
correcting
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

6
EEC – Why is it interesting?
weaker functionality
stronger functionality
error estimating
codes

Estimate the number of errors

Provable estimation quality
error
correcting
codes
No assumption needed on error
correlation or independence

7
Roadmap
 Applications of EEC
 What designs deal with partial packets?
 How can EEC help them?
 Feasibility of Efficient EEC
8
Example Scenario: Streaming Video
router
destination
source
1 0 1 0 0 1
decode
1 0 1 1 0 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)
9
Streaming Video: How can EEC help?
router
destination
source
1 0 0 0 0 1
decode
1 0 1 1 0 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
10
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
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
12
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
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
15
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
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
Roadmap
 Applications of EEC
 More application scenarios in paper…
 Feasibility of Efficient EEC
18
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
Naïve Sampling Using Pilot Bits
4 slots erroneous out of 12 slots
X
X
X X
p estimated to be 1/3
X erroneous slot
data bit
pilot bit
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…
20
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
data bit
Parity bit for a
group of 4 data bits
parity bit
(EEC bit)
 Larger group size  More likely to see errors
 Helps to deal with small p – Just use larger
groups
21
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
X
X
X X
Data bits error prob higher
X
X
X X
Data bits error prob lower
Will leave details on these challenges to paper…
22
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
permute
EEC
Encoding
on Sender
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())
23
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
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:
Pr[(1   ) p  pˆ  (1   ) p]  1  
25
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
26
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)
27
Download