33
Strider : Automatic Rate Adaptation & Collision Handling Aditya Gudipati & Sachin Katti Stanford University 1

Strider : Automatic Rate Adaptation & Collision Handling Aditya Gudipati & Sachin Katti Stanford University 1

Embed Size (px)

Citation preview

Page 1: Strider : Automatic Rate Adaptation & Collision Handling Aditya Gudipati & Sachin Katti Stanford University 1

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

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

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

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

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

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

•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

• 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

• 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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