1 / 33

Strider : Automatic Rate Adaptation & Collision Handling

Strider : Automatic Rate Adaptation & Collision Handling. Aditya Gudipati & Sachin Katti Stanford University. Motivation : Rate Adaptation. Wireless channel strength varies rapidly To maximize throughput, we have to estimate channel and adjust bit rate. Passive schemes:

Download Presentation

Strider : Automatic Rate Adaptation & Collision Handling

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Strider : Automatic Rate Adaptation& Collision Handling AdityaGudipati & SachinKatti Stanford University

  2. Motivation : Rate Adaptation • Wireless channel strength varies rapidly • To maximize throughput, we have to estimate channel and adjust bit rate. • Passive schemes: • infer from packet loss rates • Inaccurate estimates • Active schemes: • Feedback packets at the rate the channel is changing • Incur overheads Source: VJB’09 10 s Due to overhead both approaches reduce throughput in rapidly varying channels

  3. Motivation : Collision Handling • Collisions lead to wasted transmissions • To maximize throughput, we need to avoid collisions entirely. • Passive schemes: • Exponential backoff • Inaccurate estimates • Active schemes: • RTS - CTS • Incur overheads Due to overhead both approaches reduce throughput in high contention scenarios

  4. Motivation Conventional wisdom says that this overhead and the consequent reduction in throughput is unavoidable

  5. 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

  6. 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

  7. Background : Modulation • Map channel coded bits to constellation points -a (0,1) a (1,1) b (1,0) -b (0,0)

  8. Background : Demodulation • Attenuation and additive noise from channel • To demodulate, map to closest constellation point Wireless Channel -a (0,1) a (1,1) b (1,0) a b -b -a -b (0,0) N N

  9. Background : Demodulation • 4-PAM to BPSK reduces errors for the same noise • Sparser Constellation => Lesser Bit Errors Wireless Channel a (1) a -a (0) -a N Minimum Distance between constellation points determines error rate

  10. 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?

  11. Minimum Distance Transformer (MDT) Coded Symbols Coded bits Minimum Distance Transformer (MDT) Fixed Channel Code Data Modulator Channel MDT Demodulator Decoder for fixed Channel Code Decoded bits Demodulated bits Received Symbols

  12. 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

  13. 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 Tx1 2d 2(c-d) 2d B1 -1 1 c+d (B1 = 1 B2 = 1) c-d (B1 = 1 B2 = -1) -c-d (B1 = -1 B2 = -1) -c+d (B1 = -1 B2 = 1) B2 1 -1 c = 0.89 ; d = 0.45 c2 + d2=1

  14. 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 Tx1 2d 2(c-d) 2d B1 -1 1 c+d (B1 = 1 B2 = 1) -c+d (B1 = -1 B2 = 1) c-d (B1 = 1 B2 = -1) -c-d (B1 = -1 B2 = -1) B2 1 -1 Tx2 : dB1 + cB2 c = 0.89 ; d = 0.45 c2 + d2=1 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)

  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 Tx1 : cB1 + dB2 Tx2 Tx1 B1 -1 1 B2 1 -1 Tx2 : dB1 + cB2 Tx1 c = 0.89 ; d = 0.45 c2 + d2=1 Tx2

  16. 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 Tx2 B1 (c+d, c+d) (B1 = 1 , B2 = 1) -1 1 (-c+d, c-d) (B1 = -1 , B2 = 1) B2 1 -1 √2(2 (c-d)) Tx1 c = 0.89 ; d = 0.45 c2 + d2=1 (c-d, -c+d) (B1 = 1 , B2 = -1) Minimum Distance increases with increasing transmissions (-c-d, -c-d) (B1 = -1 , B2 = -1)

  17. Naïve Decoder • Compare against all possible outputs (2K – for K BPSK symbols) Rx1 : cB1 + dB2 + n1 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)

  18. 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?

  19. Key Insight • Decode one BPSK symbol at a time • Takes linear complexity • However, all other symbols act as interference Rx1 : cB1 + dB2 + n1 Rx2 : dB1 + cB2 + n2 Receiver pretends B2 was never sent Rx2 (c+d, c+d) (B1 = 1 , B2 = 1) (-c+d, c-d) (B1 = -1 , B2 = 1) (c, d) (B1 = 1) Reception (-c, -d) (B1 = -1) Rx1 (c-d, -c+d) (B1 = 1 , B2 = -1) (-c-d, -c-d) (B1 = -1 , B2 = -1)

  20. 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) (-c+d, c-d) (B1 = -1 , B2 = 1) (c, d) (B1 = 1) Reception (-c, -d) (B1 = -1) Rx1 (c-d, -c+d) (B1 = 1 , B2 = -1) (-c-d, -c-d) (B1 = -1 , B2 = -1)

  21. Accounting for interference • B2 acts as interference : Allocate more power to B1 Rx1 : cB1 + dB2 + n1 Rx2 : dB1 + cB2 + n2 Rx1 : cB1 + dB2 + n1 Rx2 : cB1 + dB2 + 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) Rx1 (c-d, -c+d) (B1 = 1 , B2 = -1) Reception (-c-d, -c-d) (B1 = -1 , B2 = -1)

  22. Accounting for interference • B2 acts as interference : Allocate more power to B1 Rx1 : cB1 + dB2 + n1 Rx2 : cB1 + dB2 + n2 Receiver pretends B2 was never sent Rx2 (c, c) (B1 = 1) Rx1 (-c, -c) (B1 = -1) How to decode B2? Reception

  23. Stripping Decoder • Once B1 is decoded, we can subtract it • Decode B2 • No interference !!! Rx1 : cB1 + dB2 + n1 Rx2 : cB1 + dB2 + n2 (c, c) (B1 = 1) Rx2 (d, d) (B2 = 1) (Reception – contribution of B1) (-d, -d) (B2 = -1) Rx1 (-c, -c) (B1 = -1) Unequal Power Allocation is necessary for Strider to work optimally. Reception

  24. 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)

  25. 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

  26. Architecture Coded Symbols Coded bits Minimum Distance Transformer (MDT) Fixed Channel Code Data Modulator Channel + Received Symbols Decoder for Fixed Channel Code Decoded bits Demodulator (Highest energy) ∑ Demodulated bits -

  27. 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

  28. Other Approaches Compared • Omniscient Scheme • Perfect advance channel knowledge • Picks best Wifibitrate 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

  29. Testbed : Unknown SNR vs Throughput Throughput Comparison : Unknown SNR Throughput (bits/s/Hz) Strider achieves nearly same throughput as the omniscient scheme over the entire SNR range. SNR (in dB)

  30. 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

  31. Mobility Performance Comparison : Varying Mobility Normalized Avg. Throughput Strider performs well even in very fast fading scenarios Human Speeds Vehicular Speeds Very Fast Fading Simulated Speed (in mph)

  32. 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

  33. 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

More Related