strider : automatic rate adaptation & collision handling aditya gudipati & sachin katti...
TRANSCRIPT
![Page 1: Strider : Automatic Rate Adaptation & Collision Handling Aditya Gudipati & Sachin Katti Stanford University 1](https://reader030.vdocument.in/reader030/viewer/2022032702/56649cea5503460f949b5e03/html5/thumbnails/1.jpg)
Strider : Automatic Rate Adaptation& Collision Handling
Aditya Gudipati & Sachin KattiStanford University
1
![Page 2: Strider : Automatic Rate Adaptation & Collision Handling Aditya Gudipati & Sachin Katti Stanford University 1](https://reader030.vdocument.in/reader030/viewer/2022032702/56649cea5503460f949b5e03/html5/thumbnails/2.jpg)
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
![Page 3: Strider : Automatic Rate Adaptation & Collision Handling Aditya Gudipati & Sachin Katti Stanford University 1](https://reader030.vdocument.in/reader030/viewer/2022032702/56649cea5503460f949b5e03/html5/thumbnails/3.jpg)
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
![Page 4: Strider : Automatic Rate Adaptation & Collision Handling Aditya Gudipati & Sachin Katti Stanford University 1](https://reader030.vdocument.in/reader030/viewer/2022032702/56649cea5503460f949b5e03/html5/thumbnails/4.jpg)
Motivation
4
Conventional wisdom says that this overhead and the consequent reduction in throughput is
unavoidable
![Page 5: Strider : Automatic Rate Adaptation & Collision Handling Aditya Gudipati & Sachin Katti Stanford University 1](https://reader030.vdocument.in/reader030/viewer/2022032702/56649cea5503460f949b5e03/html5/thumbnails/5.jpg)
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
![Page 6: Strider : Automatic Rate Adaptation & Collision Handling Aditya Gudipati & Sachin Katti Stanford University 1](https://reader030.vdocument.in/reader030/viewer/2022032702/56649cea5503460f949b5e03/html5/thumbnails/6.jpg)
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
![Page 7: Strider : Automatic Rate Adaptation & Collision Handling Aditya Gudipati & Sachin Katti Stanford University 1](https://reader030.vdocument.in/reader030/viewer/2022032702/56649cea5503460f949b5e03/html5/thumbnails/7.jpg)
•Map channel coded bits to constellation points
Background : Modulation
7
-b
(0,0)
-a
(0,1)
a
(1,1)
b
(1,0)
![Page 8: Strider : Automatic Rate Adaptation & Collision Handling Aditya Gudipati & Sachin Katti Stanford University 1](https://reader030.vdocument.in/reader030/viewer/2022032702/56649cea5503460f949b5e03/html5/thumbnails/8.jpg)
• 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)
![Page 9: Strider : Automatic Rate Adaptation & Collision Handling Aditya Gudipati & Sachin Katti Stanford University 1](https://reader030.vdocument.in/reader030/viewer/2022032702/56649cea5503460f949b5e03/html5/thumbnails/9.jpg)
• 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
![Page 10: Strider : Automatic Rate Adaptation & Collision Handling Aditya Gudipati & Sachin Katti Stanford University 1](https://reader030.vdocument.in/reader030/viewer/2022032702/56649cea5503460f949b5e03/html5/thumbnails/10.jpg)
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?
![Page 11: Strider : Automatic Rate Adaptation & Collision Handling Aditya Gudipati & Sachin Katti Stanford University 1](https://reader030.vdocument.in/reader030/viewer/2022032702/56649cea5503460f949b5e03/html5/thumbnails/11.jpg)
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)
![Page 12: Strider : Automatic Rate Adaptation & Collision Handling Aditya Gudipati & Sachin Katti Stanford University 1](https://reader030.vdocument.in/reader030/viewer/2022032702/56649cea5503460f949b5e03/html5/thumbnails/12.jpg)
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
![Page 13: Strider : Automatic Rate Adaptation & Collision Handling Aditya Gudipati & Sachin Katti Stanford University 1](https://reader030.vdocument.in/reader030/viewer/2022032702/56649cea5503460f949b5e03/html5/thumbnails/13.jpg)
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
![Page 14: Strider : Automatic Rate Adaptation & Collision Handling Aditya Gudipati & Sachin Katti Stanford University 1](https://reader030.vdocument.in/reader030/viewer/2022032702/56649cea5503460f949b5e03/html5/thumbnails/14.jpg)
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
![Page 15: Strider : Automatic Rate Adaptation & Collision Handling Aditya Gudipati & Sachin Katti Stanford University 1](https://reader030.vdocument.in/reader030/viewer/2022032702/56649cea5503460f949b5e03/html5/thumbnails/15.jpg)
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
![Page 16: Strider : Automatic Rate Adaptation & Collision Handling Aditya Gudipati & Sachin Katti Stanford University 1](https://reader030.vdocument.in/reader030/viewer/2022032702/56649cea5503460f949b5e03/html5/thumbnails/16.jpg)
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
![Page 17: Strider : Automatic Rate Adaptation & Collision Handling Aditya Gudipati & Sachin Katti Stanford University 1](https://reader030.vdocument.in/reader030/viewer/2022032702/56649cea5503460f949b5e03/html5/thumbnails/17.jpg)
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
![Page 18: Strider : Automatic Rate Adaptation & Collision Handling Aditya Gudipati & Sachin Katti Stanford University 1](https://reader030.vdocument.in/reader030/viewer/2022032702/56649cea5503460f949b5e03/html5/thumbnails/18.jpg)
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?
![Page 19: Strider : Automatic Rate Adaptation & Collision Handling Aditya Gudipati & Sachin Katti Stanford University 1](https://reader030.vdocument.in/reader030/viewer/2022032702/56649cea5503460f949b5e03/html5/thumbnails/19.jpg)
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
![Page 20: Strider : Automatic Rate Adaptation & Collision Handling Aditya Gudipati & Sachin Katti Stanford University 1](https://reader030.vdocument.in/reader030/viewer/2022032702/56649cea5503460f949b5e03/html5/thumbnails/20.jpg)
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)
![Page 21: Strider : Automatic Rate Adaptation & Collision Handling Aditya Gudipati & Sachin Katti Stanford University 1](https://reader030.vdocument.in/reader030/viewer/2022032702/56649cea5503460f949b5e03/html5/thumbnails/21.jpg)
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
![Page 22: Strider : Automatic Rate Adaptation & Collision Handling Aditya Gudipati & Sachin Katti Stanford University 1](https://reader030.vdocument.in/reader030/viewer/2022032702/56649cea5503460f949b5e03/html5/thumbnails/22.jpg)
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?
![Page 23: Strider : Automatic Rate Adaptation & Collision Handling Aditya Gudipati & Sachin Katti Stanford University 1](https://reader030.vdocument.in/reader030/viewer/2022032702/56649cea5503460f949b5e03/html5/thumbnails/23.jpg)
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.
![Page 24: Strider : Automatic Rate Adaptation & Collision Handling Aditya Gudipati & Sachin Katti Stanford University 1](https://reader030.vdocument.in/reader030/viewer/2022032702/56649cea5503460f949b5e03/html5/thumbnails/24.jpg)
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)
![Page 25: Strider : Automatic Rate Adaptation & Collision Handling Aditya Gudipati & Sachin Katti Stanford University 1](https://reader030.vdocument.in/reader030/viewer/2022032702/56649cea5503460f949b5e03/html5/thumbnails/25.jpg)
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
![Page 26: Strider : Automatic Rate Adaptation & Collision Handling Aditya Gudipati & Sachin Katti Stanford University 1](https://reader030.vdocument.in/reader030/viewer/2022032702/56649cea5503460f949b5e03/html5/thumbnails/26.jpg)
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)
-
+∑
![Page 27: Strider : Automatic Rate Adaptation & Collision Handling Aditya Gudipati & Sachin Katti Stanford University 1](https://reader030.vdocument.in/reader030/viewer/2022032702/56649cea5503460f949b5e03/html5/thumbnails/27.jpg)
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
![Page 28: Strider : Automatic Rate Adaptation & Collision Handling Aditya Gudipati & Sachin Katti Stanford University 1](https://reader030.vdocument.in/reader030/viewer/2022032702/56649cea5503460f949b5e03/html5/thumbnails/28.jpg)
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
![Page 29: Strider : Automatic Rate Adaptation & Collision Handling Aditya Gudipati & Sachin Katti Stanford University 1](https://reader030.vdocument.in/reader030/viewer/2022032702/56649cea5503460f949b5e03/html5/thumbnails/29.jpg)
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
![Page 30: Strider : Automatic Rate Adaptation & Collision Handling Aditya Gudipati & Sachin Katti Stanford University 1](https://reader030.vdocument.in/reader030/viewer/2022032702/56649cea5503460f949b5e03/html5/thumbnails/30.jpg)
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
![Page 31: Strider : Automatic Rate Adaptation & Collision Handling Aditya Gudipati & Sachin Katti Stanford University 1](https://reader030.vdocument.in/reader030/viewer/2022032702/56649cea5503460f949b5e03/html5/thumbnails/31.jpg)
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
![Page 32: Strider : Automatic Rate Adaptation & Collision Handling Aditya Gudipati & Sachin Katti Stanford University 1](https://reader030.vdocument.in/reader030/viewer/2022032702/56649cea5503460f949b5e03/html5/thumbnails/32.jpg)
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
![Page 33: Strider : Automatic Rate Adaptation & Collision Handling Aditya Gudipati & Sachin Katti Stanford University 1](https://reader030.vdocument.in/reader030/viewer/2022032702/56649cea5503460f949b5e03/html5/thumbnails/33.jpg)
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