strider : automatic rate adaptation & collision handling aditya gudipati & sachin katti...
TRANSCRIPT
Strider : Automatic Rate Adaptation& Collision Handling
Aditya Gudipati & Sachin KattiStanford University
1
Wireless channel strength varies rapidly
• To maximize throughput, we have to estimate channel and adjust bit rate.
Motivation : Rate Adaptation
0
5
10
15
20
25
30
0 2000 4000 6000 8000 10000
Time (Milliseconds)
SNR
(dB)
10 s Source: VJB’09
2
• Passive schemes: • infer from packet loss rates• Inaccurate estimates
• Active schemes:• Feedback packets at the rate
the channel is changing• Incur overheads
Due to overhead both approaches reduce throughput in rapidly varying channels
Collisions lead to wasted transmissions
• To maximize throughput, we need to avoid collisions entirely.
Motivation : Collision Handling
3
• Passive schemes: • Exponential backoff• Inaccurate estimates
• Active schemes:• RTS - CTS• Incur overheads
Due to overhead both approaches reduce throughput in high contention scenarios
Motivation
4
Conventional wisdom says that this overhead and the consequent reduction in throughput is
unavoidable
Strider
5
• 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
Background : Channel Coding
6
• 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
•Map channel coded bits to constellation points
Background : Modulation
7
-b
(0,0)
-a
(0,1)
a
(1,1)
b
(1,0)
• Attenuation and additive noise from channel• To demodulate, map to closest constellation point
Background : Demodulation
WirelessChannel
8
-b
(0,0)
-a
(0,1)
a b-b -a
N N
a
(1,1)
b
(1,0)
• 4-PAM to BPSK reduces errors for the same noise• Sparser Constellation => Lesser Bit Errors
Background : Demodulation
WirelessChannel
9
a
(1)
-a
(0)
a-a
Minimum Distance between constellation points determines error rate
N
Intuition
10
• 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?
Minimum Distance Transformer (MDT)
11
Data Fixed Channel Code
Coded bits Modulator
Coded Symbols
Channel
MDT Demodulator
Decoder forfixed Channel
Code
Decodedbits Received
SymbolsDemodulated
bits
Minimum DistanceTransformer (MDT)
Minimum Distance Transformer (MDT)
12
• 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
Minimum Distance Transformer (MDT)
-1
-1 1
1B1
B2
c = 0.89 ; d = 0.45c2 + d2=1
Tx1
-c+d(B1 = -1B2 = 1)
c-d(B1 = 1B2 = -1)
c+d(B1 = 1B2 = 1)
-c-d(B1 = -1B2 = -1)
2(c-d)
13
2d2d
Tx1 : cB1 + dB2
• Send M linear combinations of K BPSK symbols•Min. Dist. can be controlled by controlling M
K = 2, M = 1
Minimum Distance Transformer (MDT)
-1
-1 1
1
-c-d(B1 = -1B2 = -1)
B1
B2
c = 0.89 ; d = 0.45c2 + d2=1
Tx1
Tx2
-c+d(B1 = -1B2 = 1)
c-d(B1 = 1B2 = -1)
c+d(B1 = 1B2 = 1)
-c-d(B1 = -1B2 = -1)
-c+d(B1 = 1B2 = -1)
c-d(B1 = -1B2 = 1)
c+d(B1 = 1B2 = 1)
2(c-d)
14
2d2d
Tx1 : cB1 + dB2
Tx2 : dB1 + cB2
• Send M linear combinations of K BPSK symbols•Min. Dist. can be controlled by controlling M
K = 2, M = 2
Minimum Distance Transformer (MDT)
-1
-1 1
1B1
B2
c = 0.89 ; d = 0.45c2 + d2=1
Tx1
Tx2
15
Tx1 : cB1 + dB2
Tx2 : dB1 + cB2
• Send M linear combinations of K BPSK symbols•Min. Dist. can be controlled by controlling M
K = 2, M = 2
Tx1
Tx2
Tx1 : cB1 + dB2
Tx2 : dB1 + cB2
Minimum Distance Transformer (MDT)
-1
-1 1
1B1
B2
c = 0.89 ; d = 0.45c2 + d2=1
16
• Send M linear combinations of K BPSK symbols•Min. Dist. can be controlled by controlling M
Tx1
Tx2
(-c-d, -c-d)(B1 = -1 , B2 = -1)
(-c+d, c-d)(B1 = -1 , B2 = 1)
(c-d, -c+d)(B1 = 1 , B2 = -1)
(c+d, c+d)(B1 = 1 , B2 = 1)
√2(2 (c-d))
Tx1 : cB1 + dB2
Tx2 : dB1 + cB2K = 2, M = 2
Minimum Distance increases with increasing transmissions
Naïve Decoder
17
• Compare against all possible outputs (2K – for K BPSK symbols)
Rx1
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)
(c+d, c+d)(B1 = 1 , B2 = 1)
Rx1 : cB1 + dB2 + n1
Rx2 : dB1 + cB2 + n2
Reception
Practical Challenges
18
•MDT automatically adjusts the minimum distance of the constellation• Decoding complexity is exponential
How to design a technique which has LINEAR time complexity?
Key Insight
19
• Decode one BPSK symbol at a time• Takes linear complexity• However, all other symbols act as interference
Rx1
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)
(c+d, c+d)(B1 = 1 , B2 = 1)
Rx1 : cB1 + dB2 + n1
Rx2 : dB1 + cB2 + n2
Reception(-c, -d)
(B1 = -1)
(c, d)(B1 = 1)
Receiver pretends B2 was never sent
Consequences of Ignoring!!
20
•While decoding B1, B2 is ignored• B2 acts as interference, makes B1’s decoding harder
Rx1
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)
(c+d, c+d)(B1 = 1 , B2 = 1)
Rx1 : cB1 + dB2 + n1
Rx2 : dB1 + cB2 + n2
Reception(-c, -d)
(B1 = -1)
(c, d)(B1 = 1)
Accounting for interference
21
• B2 acts as interference : Allocate more power to B1
Rx1
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)
(c+d, c+d)(B1 = 1 , B2 = 1)
Rx1 : cB1 + dB2 + n1
Rx2 : dB1 + cB2 + n2
Reception
Rx1 : cB1 + dB2 + n1
Rx2 : cB1 + dB2 + n2
(-c+d, -c+d)(B1 = -1 , B2 = 1)
(c-d, c-d)(B1 = 1 , B2 = -1)
Reception
Accounting for interference
22
Rx1
Rx2
Rx1 : cB1 + dB2 + n1
Rx2 : cB1 + dB2 + n2
Reception(-c, -c)
(B1 = -1)
(c, c)(B1 = 1)
• B2 acts as interference : Allocate more power to B1
Receiver pretends B2 was never sent
How to decode B2?
Stripping Decoder
23
• Once B1 is decoded, we can subtract it• Decode B2 • No interference !!!
Rx1
Rx2
Rx1 : cB1 + dB2 + n1
Rx2 : cB1 + dB2 + n2
Reception(-c, -c)
(B1 = -1)
(c, c)(B1 = 1)
(-d, -d)(B2 = -1)
(d, d)(B2 = 1)
(Reception – contribution of B1)
Unequal Power Allocation is necessary for Strider to work optimally.
Systematic Power Allocation
24
• First transmission = R1*B1 + R2*B2
• Received Symbol = R1*B1 + R2*B2 + n• Estimate of B1 = (Received Symbol)/ R1
• SINR seen by B1 = R12 / (R2
2 + σ2)
• Successful Decoding of B1 : SINR (B1)> Threshold• Estimate of B2 = (Received Symbol – R1B1)/ R2
• SINR seen by B2 = R22 / ( σ2)
Characteristics
25
• 3 inequalities, 3 unknowns (R1,R2, σ)• SINR seen by B1 = R1
2 / (R22 + σ2) > Threshold
• SINR seen by B2 = R22 / ( σ2) > Threshold
• Power constraint : R12 + R2
2 <= 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
Architecture
26
Data Fixed Channel Code
Coded bits Modulator
Coded Symbols
Channel
Demodulator(Highest energy)
Decoder forFixed Channel
Code
Decodedbits
ReceivedSymbols
Demodulatedbits
Minimum DistanceTransformer (MDT)
-
+∑
Implementation
27
• 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
Other Approaches Compared
28
• 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
SNR (in dB)5 8 11 14 17 20 23
0
0.5
1
1.5
2
2.5
3
3.5
4
4.5
5
Omniscient
Strider
Testbed : Unknown SNR vs Throughput
29
Strider achieves nearly same throughput as the omniscient scheme over the entire SNR range.
Thro
ughp
ut (b
its/s
/Hz)
Throughput Comparison : Unknown SNR
Trace driven Emulation
30
• 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
3 10 20 40 60 80 160 3000
0.2
0.4
0.6
0.8
1
1.2Strider SoftRate
Mobility
31
Strider performs well even in very fast fading scenarios
Nor
mal
ized
Avg
. Thr
ough
put
Simulated Speed (in mph)Human Speeds Vehicular Speeds Very Fast Fading
Performance Comparison : Varying Mobility
Collision Resilient
32
• 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
Conclusion
33
• 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