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

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

Transcript of Strider : Automatic Rate Adaptation & Collision Handling Aditya Gudipati & Sachin Katti Stanford...

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