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