Strider : Automatic Rate Adaptation & Collision Handling

advertisement
Strider : Automatic Rate Adaptation
& Collision Handling
Aditya Gudipati & Sachin Katti
Stanford University
1
Motivation : Rate Adaptation
Wireless channel strength varies rapidly
• Passive schemes:
SNR (dB)
30
• infer from packet loss rates
• Inaccurate estimates
25
20
15
• Active schemes:
10
5
0
0
2000
4000
6000
8000
10000
10 s
Time (Milliseconds)
Source: VJB’09
• Feedback packets at the rate
the channel is changing
• Incur overheads
• To maximize throughput, we have to estimate
channel and adjust bit rate.
Due to overhead both approaches reduce
throughput in rapidly varying channels
2
Motivation : Collision Handling
Collisions lead to wasted transmissions
• Passive schemes:
• Exponential backoff
• Inaccurate estimates
• Active schemes:
• RTS - CTS
• Incur overheads
• To maximize throughput, we need to avoid
collisions entirely.
Due to overhead both approaches reduce
throughput in high contention scenarios
3
Motivation
Conventional wisdom says that this overhead
and the consequent reduction in throughput is
unavoidable
4
Strider
• Optimal throughput in both scenarios (no overhead)
• Rateless – handles varying channels
• Senders do not estimate channel strength
• Single encoding algo generates stream of coded packets
• Continuous transmissions till receiver decodes
• Collision Resilient – handles collisions
• Decodes all component packets in a collision
• Achieves same throughput as omniscient collision-free
scheduler
5
Background : Channel Coding
• Redundancy added to correct bit errors
• ‘b’ data bits mapped to ‘c’ coded bits (c>b)
• code rate = (b/c)
• Ideally this code can correct (c-b)/2 bit errors
• Typical convolutional code rates : 1/2, 2/3, 3/4
• Lower code rate
• Higher resilience to errors
• Lower throughput
6
Background : Modulation
• Map channel coded bits to constellation points
-b
-a
(0,0) (0,1)
a
b
(1,1) (1,0)
7
Background : Demodulation
• Attenuation and additive noise from channel
• To demodulate, map to closest constellation point
-b
-a
(0,0) (0,1)
a
b
(1,1) (1,0)
Wireless
Channel
-b
-a
a
b
NN
8
Background : Demodulation
• 4-PAM to BPSK reduces errors for the same noise
• Sparser Constellation => Lesser Bit Errors
-a
a
(0)
(1)
Wireless
Channel
-a
a
N
Minimum Distance between constellation
points determines error rate
9
Intuition
• Assuming fixed channel code
• Low SNR, increase minimum distance
• High SNR, decrease minimum distance
• Current schemes change the constellation
explicitly based on channel strength estimate
• Causes tradeoff between accuracy and overhead
Can we adjust minimum distance without
explicitly estimating channel strength?
10
Minimum Distance Transformer (MDT)
Data
Fixed Channel
Code
Coded
bits
Modulator
Coded
Symbols
Minimum Distance
Transformer (MDT)
Channel
Decoded
bits
Decoder for
fixed Channel
Code
Demodulated
bits
MDT
Demodulator
Received
Symbols
11
Minimum Distance Transformer (MDT)
• Send M linear combinations of K BPSK symbols
• Mapping from K dimensional space to M
dimensional space
• Min. Dist. can be controlled by controlling K, M
12
Minimum Distance Transformer (MDT)
• Send M linear combinations of K BPSK symbols
• Min. Dist. can be controlled by controlling M
K = 2, M = 1
Tx1 : cB1 + dB2
2d
B1
-1
1
B2
-1
1
-c-d
(B1 = -1
B2 = -1)
2(c-d)
-c+d
(B1 = -1
B2 = 1)
c-d
(B1 = 1
B2 = -1)
2d
Tx1
c+d
(B1 = 1
B2 = 1)
c = 0.89 ; d = 0.45
c2 + d2=1
13
Minimum Distance Transformer (MDT)
• Send M linear combinations of K BPSK symbols
• Min. Dist. can be controlled by controlling M
K = 2, M = 2
Tx1 : cB1 + dB2
2d
B1
-1
1
B2
-1
1
c = 0.89 ; d = 0.45
c2 + d2=1
-c-d
(B1 = -1
B2 = -1)
2(c-d)
-c+d
(B1 = -1
B2 = 1)
c-d
(B1 = 1
B2 = -1)
2d
Tx1
c+d
(B1 = 1
B2 = 1)
Tx2 : dB1 + cB2
Tx2
-c-d
(B1 = -1
B2 = -1)
-c+d
(B1 = 1
B2 = -1)
c-d
(B1 = -1
B2 = 1)
c+d
(B1 = 1
B2 = 1)
14
Minimum Distance Transformer (MDT)
• Send M linear combinations of K BPSK symbols
• Min. Dist. can be controlled by controlling M
Tx1 : cB1 + dB2
Tx
Tx12::cB
dB11++dB
cB22
K = 2, M = 2
B1
-1
1
B2
-1
1
c = 0.89 ; d = 0.45
c2 + d2=1
Tx2
Tx1
Tx2 : dB1 + cB2
Tx2Tx1
15
Minimum Distance Transformer (MDT)
• Send M linear combinations of K BPSK symbols
• Min. Dist. can be controlled by controlling M
Tx1 : cB1 + dB2
Tx2 : dB1 + cB2
K = 2, M = 2
B1
-1
1
B2
-1
1
c = 0.89 ; d = 0.45
c2 + d2=1
Minimum
Tx2
(-c+d, c-d)
(B1 = -1 , B2 = 1)
(c+d, c+d)
(B1 = 1 , B2 = 1)
Tx1
(c-d, -c+d)
Distance
(Bwith
(-c-d, increases
-c-d)
1 = 1 , Bincreasing
2 = -1)
(Btransmissions
1 = -1 , B2 = -1)
16
Naïve Decoder
• Compare against all possible outputs (2K – for K
BPSK symbols)
Rx : cB + dB + n
1
1
2
1
Rx2 : dB1 + cB2 + n2
Rx2
(-c+d, c-d)
(B1 = -1 , B2 = 1)
(c+d, c+d)
(B1 = 1 , B2 = 1)
Reception
Rx1
(-c-d, -c-d)
(B1 = -1 , B2 = -1)
(c-d, -c+d)
(B1 = 1 , B2 = -1)
17
Practical Challenges
• MDT automatically adjusts the minimum
distance of the constellation
• Decoding complexity is exponential
How to design a technique which has LINEAR
time complexity?
18
Key Insight
• Decode one BPSK symbol at a time
• Takes linear complexity
• However, all other symbols act as interference
Rx1 : cB1 + dB2 + n1
Receiver pretends
Rx2 : dB1 + cB2 + n2
B2 was never sent
Rx
2
(-c+d, c-d)
(B1 = -1 , B2 = 1)
Reception
(-c, -d)
(B1 = -1)
(-c-d, -c-d)
(B1 = -1 , B2 = -1)
(c+d, c+d)
(B1 = 1 , B2 = 1)
(c, d)
(B1 = 1)
Rx1
(c-d, -c+d)
(B1 = 1 , B2 = -1)
19
Consequences of Ignoring!!
• While decoding B1, B2 is ignored
• B2 acts as interference, makes B1’s decoding harder
Rx1 : cB1 + dB2 + n1
Rx2 : dB1 + cB2 + n2
Rx2
(-c+d, c-d)
(B1 = -1 , B2 = 1)
Reception
(-c, -d)
(B1 = -1)
(-c-d, -c-d)
(B1 = -1 , B2 = -1)
(c+d, c+d)
(B1 = 1 , B2 = 1)
(c, d)
(B1 = 1)
Rx1
(c-d, -c+d)
(B1 = 1 , B2 = -1)
20
Accounting for interference
• B2 acts as interference : Allocate more power to B1
Rx1 : cB1 + dB2 + n1
Rx2 : dB
cB11 ++ dB
cB2 + n2
Rx2
(-c+d, c-d)
(B1 = -1 , B2 = 1)
(c+d, c+d)
(B1 = 1 , B2 = 1)
(c-d, c-d)
(B1 = 1 , B2 = -1)
Reception
(-c+d, -c+d)
(B1 = -1 , B2 = 1)
(-c-d, -c-d)
(B1 = -1 , B2 = -1)
Rx1
(c-d, -c+d)
Reception
(B1 = 1 , B2 = -1)
21
Accounting for interference
• B2 acts as interference : Allocate more power to B1
Receiver pretends
B2 was never sent
Rx1 : cB1 + dB2 + n1
Rx2 : cB1 + dB2 + n2
Rx2
(c, c)
(B1 = 1)
Rx1
(-c, -c)
(B1 = How
-1) Reception
to decode
B2?
22
Stripping Decoder
• Once B1 is decoded, we can subtract it
• Decode B2
Rx1 : cB1 + dB2 + n1
Rx2 : cB1 + dB2 + n2
• No interference !!!
(c, c)
(B1 = 1)
(d, d)
(B2 = 1)
Rx2
(Reception – contribution of B1)
(-d, -d)
(B2 = -1)
(-c, -c)
(B1 = -1) Reception
Power
Allocation
Rx1
Unequal
is necessary
for Strider to work optimally.
23
Systematic Power Allocation
• First transmission = R1*B1 + R2*B2
• Received Symbol = R1*B1 + R2*B2 + n
• Estimate of B1 = (Received Symbol)/ R1
• SINR seen by B1 = R12 / (R22 + σ2)
• Successful Decoding of B1 : SINR (B1)> Threshold
• Estimate of B2 = (Received Symbol – R1B1)/ R2
• SINR seen by B2 = R22 / ( σ2)
24
Characteristics
• 3 inequalities, 3 unknowns (R1,R2, σ)
• SINR seen by B1 = R12 / (R22 + σ2) > Threshold
• SINR seen by B2 = R22 / ( σ2) > Threshold
• Power constraint : R12 + R22 <= 1
• Strider’s characteristics
• Calculation of the power allocation is offline
• Power allocation parameters are static and fixed
• Decoding complexity is constant multiple of current
decoding complexity
• Asymptotically approaches capacity
25
Architecture
Data
Fixed Channel
Code
Coded
bits
Modulator
Coded
Symbols
Minimum Distance
Transformer (MDT)
Channel
Decoded
bits
Decoder for
Fixed Channel
Code
Demodulated
bits
Demodulator
(Highest energy)
+
∑
Received
Symbols
-
26
Implementation
• K =33 blocks , length of block = 1500 bits
• Base static code : 1/5 rate code & QPSK
• OFDM Phy implementation in GNURadio (MIT)
• USRP2/RFX2400 platform
• 6.25 MHz channel
27
Other Approaches Compared
• Omniscient Scheme
• Perfect advance channel knowledge
• Picks best Wifi bitrate that maximizes throughput
• Soft-Rate (Sigcomm’09)
• State of the art rate adaptation protocol
• Estimates BER of packet at receiver and feeds it back
• Pick bitrate based on BER
28
Throughput (bits/s/Hz)
Testbed : Unknown SNR vs Throughput
Throughput Comparison : Unknown SNR
5
4.5
4
3.5
3
2.5
2
Omniscient
1.5
1
Strider
0.5
0
5
8
11
14
17
20
23
Strider achieves nearly same throughput as the
omniscient schemeSNR
over(in
thedB)
entire SNR range.
29
Trace driven Emulation
• Stanford RUSK channel sounder
• High precision channel measurement
• Continuous channel state information
• 2.426 GHz to 2.448 GHz
• Each trace: 100000 measurements over 100 sec
• 10 mobility traces at walking speed ~ 3 mph
30
Normalized Avg. Throughput
Mobility
1.2
Performance Comparison : Varying Mobility
Strider
SoftRate
1
0.8
0.6
0.4 Strider performs well even
in very fast fading
scenarios
0.2
0
3
10
20
Human Speeds
40
60
80
Vehicular Speeds
160
300
Very Fast Fading
Simulated Speed (in mph)
31
Collision Resilient
• Collision Resilient
• Decode component packets from a collision
• Implemented on USRP2/RFX2400 nodes
• Compared to omniscient collision-free scheduler
• Avoids collisions : Senders take turns to transmit
• Perfect advance channel knowledge
Strider achieves same throughput as omniscient
collision-free scheduler without any knowledge
of possible collisions
32
Conclusion
• Optimal throughput without overhead in
• rapidly varying channels
• high contention scenarios
• Rateless – handles varying channels
• Single encoding algorithm generates coded packets
• Continuous stream of packets till receiver decodes
• Collision Resilient – handles collisions
• Decodes all component packets in a collision
33
Download