Patrick Verkaik Yuvraj Agarwal, Rajesh Gupta, Alex C. Snoeren

33
1 Patrick Verkaik Yuvraj Agarwal, Rajesh Gupta, Alex C. Snoeren UCSD NSDI — April 24, 2009

Transcript of Patrick Verkaik Yuvraj Agarwal, Rajesh Gupta, Alex C. Snoeren

Page 1: Patrick Verkaik Yuvraj Agarwal, Rajesh Gupta, Alex C. Snoeren

1

Patrick Verkaik Yuvraj Agarwal, Rajesh Gupta,

Alex C. Snoeren UCSD

NSDI — April 24, 2009

Page 2: Patrick Verkaik Yuvraj Agarwal, Rajesh Gupta, Alex C. Snoeren

2

 Cell phones with WiFi + VoIP: ◦  iPhone (+ Skype, Fring, iCall, ..) ◦ T-mobile UMA and @home

 Voice over IP (VoIP) and WiFi increasingly popular

>1M downloads of Skype for iPhone in just two days

Page 3: Patrick Verkaik Yuvraj Agarwal, Rajesh Gupta, Alex C. Snoeren

3

Internet

CNN.com

802.11 AP

◦ Call quality? ◦  Impact on data users?

VoIP user

Data users

Page 4: Patrick Verkaik Yuvraj Agarwal, Rajesh Gupta, Alex C. Snoeren

4

 802.11 designed for data traffic   Substantial per-packet overheads ◦  Framing (headers, ACK) ◦ Contention (backoff, collisions)

 VoIP: ◦  Small packets ◦ High packet rate (20-100 pps) ◦ Does not respond to congestion VoIP makes inefficient use of WiFi

Page 5: Patrick Verkaik Yuvraj Agarwal, Rajesh Gupta, Alex C. Snoeren

5

 Residual capacity ◦ TCP / UDP throughput

 Mean opinion score (MOS) ◦ How audio appears to a real person ◦  Score: 1 (bad) – 5 (very good) ◦ Can be calculated based on: [Cole et al., 2001]

  Voice codec   Network packet loss, delay, jitter

Page 6: Patrick Verkaik Yuvraj Agarwal, Rajesh Gupta, Alex C. Snoeren

6

 802.11 b/g testbed: ◦  10 VoIP stations ◦ One data station

 Gradually activate more VoIP stations

TCP/UDP

VoIP AP

VoIP users

Data user

Page 7: Patrick Verkaik Yuvraj Agarwal, Rajesh Gupta, Alex C. Snoeren

7

Downlink MOS (AP→station)

Uplink MOS (station→AP)

Quantization, codec, etc.

Page 8: Patrick Verkaik Yuvraj Agarwal, Rajesh Gupta, Alex C. Snoeren

8

Measured TCP throughput

Expected from size of VoIP packets

Page 9: Patrick Verkaik Yuvraj Agarwal, Rajesh Gupta, Alex C. Snoeren

9

◦  Increases contention overhead (collisions) ◦  Measured further reduction of residual capacity

  Decrease VoIP packet rate

  Use higher speeds (802.11g, 802.11n) ◦  ‘Protection’ in the presence of older versions of 802.11 ◦  VoIP traffic too infrequent for 802.11n aggregation

  Prioritize VoIP traffic (802.11e) 802.11g + lower VoIP packet rate

MO

S

Page 10: Patrick Verkaik Yuvraj Agarwal, Rajesh Gupta, Alex C. Snoeren

10

  Downlink direction: ◦  Aggregation across multiple receivers ◦  Addresses framing and contention

overhead

AP

  Uplink direction: ◦  Prioritized TDMA (Time Division

Multiple Access) ◦  Addresses contention overhead

Page 11: Patrick Verkaik Yuvraj Agarwal, Rajesh Gupta, Alex C. Snoeren

11

  TDMA by VoIP stations: ◦  Avoids collisions by serializing channel

access ◦  Cycle of 10 TDMA slots, each 1 ms

AP

send at t=2

send at t=1

send at t=3

time

  VoIP stations must: ◦  Establish TDMA schedule ◦  Synchronize clocks ◦  Compete with non-TDMA traffic ◦  Compete with non-TDMA traffic

Page 12: Patrick Verkaik Yuvraj Agarwal, Rajesh Gupta, Alex C. Snoeren

12

channel occupied

  Problem: ◦  Non-VoIP stations unaware of TDMA ◦  May prevent VoIP stations from sending on time

4 5

TDMA slots

3.. ..

  Let VoIP stations prioritize their traffic ◦  ..by changing 802.11 contention parameters

VoIP user (TDMA)

Data user (non-TDMA)

time 6

Page 13: Patrick Verkaik Yuvraj Agarwal, Rajesh Gupta, Alex C. Snoeren

13

◦  VoIP station 5 must wait..

4 53.. .. time 6

  Data packet overruns TDMA slot 5!

◦  .. therefore stations 5 and 6 collide in slot 6

  Solution: prioritize among VoIP stations 5 and 6

VoIP user (TDMA)

Data user (non-TDMA) 1.4 ms

0.5 ms

1 ms

Page 14: Patrick Verkaik Yuvraj Agarwal, Rajesh Gupta, Alex C. Snoeren

14

Tim

e w

rt T

DM

A c

ycle

(µs

)

Station 0 1 2 3 4 5 6 7 8 9

  Experiment: ◦  CSMA/CA background data traffic ◦  Ten TDMA VoIP stations

  TDMA: ◦  10-ms cycle ◦  1-ms slots

Most transmissions should start in own or next slot

Page 15: Patrick Verkaik Yuvraj Agarwal, Rajesh Gupta, Alex C. Snoeren

15

  Downlink direction: ◦  Aggregation across multiple receivers ◦  Addresses framing and contention

overhead

AP

  Uplink direction: ◦  Prioritized TDMA (Time Division

Multiple Access) ◦  Addresses contention overhead

Page 16: Patrick Verkaik Yuvraj Agarwal, Rajesh Gupta, Alex C. Snoeren

16

AP

aggregated IP packet

VoIP packets

Voice application

aggregator

overhear overhear

Page 17: Patrick Verkaik Yuvraj Agarwal, Rajesh Gupta, Alex C. Snoeren

17

voice application

wireless card

softspeak control

iptables

Softspeak-enabled phone

AP

aggregator

de-aggregator

downlink aggregation

uplink TDMA

register IP address + port

wireless driver

Atheros, Ralink

Skype, Twinkle

TCP/IP

Page 18: Patrick Verkaik Yuvraj Agarwal, Rajesh Gupta, Alex C. Snoeren

18

  Impact of Softspeak on: ◦ Call quality ◦ Residual throughput

 TCP data traffic, 10-ms voice codec   See paper for: ◦ UDP data traffic ◦  20-ms codec ◦  Simulation results

Page 19: Patrick Verkaik Yuvraj Agarwal, Rajesh Gupta, Alex C. Snoeren

19

Downlink MOS TCP throughput (KB/s)

default TDMA aggregation softspeak

Throughput Downlink MOS Uplink MOS

When TCP downloads

5x 3.5→3.3 3.7→3.6

When TCP uploads

+50% 1 →3.5 2.9→3.8

Page 20: Patrick Verkaik Yuvraj Agarwal, Rajesh Gupta, Alex C. Snoeren

20

3x

Page 21: Patrick Verkaik Yuvraj Agarwal, Rajesh Gupta, Alex C. Snoeren

21

 Testbed with voice + Web + bulk TCP  When enabling Web traffic: ◦  Bulk TCP upload improvement disappears ◦ However combined TCP capacity improvement is

preserved

 Exactly as is the case without VoIP traffic

Page 22: Patrick Verkaik Yuvraj Agarwal, Rajesh Gupta, Alex C. Snoeren

22

  Softspeak: ◦  Protects call quality and data throughput ◦  Using TDMA and aggregation ◦  Implementable in software based on commodity

hardware

  Source code and audio samples at: ◦  http://sysnet.ucsd.edu/wireless/softspeak/

Page 23: Patrick Verkaik Yuvraj Agarwal, Rajesh Gupta, Alex C. Snoeren

23

 Abundance of prior work: ◦  Prioritizing voice, TDMA, aggregation, AP polls stations

(PCF), …

  Share one or more limitations: ◦ Targets framing or contention overhead ◦ Replaces CSMA/CA contention mechanism ◦ Requires changes to AP or WiFi hardware

Page 24: Patrick Verkaik Yuvraj Agarwal, Rajesh Gupta, Alex C. Snoeren

24

  802.11e   QoS extension   Prioritizes VoIP

Uplink MOS

802.11b+e

802.11b

TCP throughput (KB/s)

  802.11g   Higher speed

Page 25: Patrick Verkaik Yuvraj Agarwal, Rajesh Gupta, Alex C. Snoeren

25

 Goal: agree on TDMA schedule ◦ Cycle of 10 TDMA slots, each 1 ms

 However: ◦  Stations might not hear each other ◦ Unmodified access point

AP

Probe request 00:21:00:a9:1e:04

Probe request 00:21:00:23:02:02

Probe response 00:21:00:a9:1e:04

Probe response 00:21:00:23:02:02

reserved prefix

random slot#

Probe response 00:21:00:23:02:04

Probe request 00:21:00:23:02:04

Station 1 Station 2

Page 26: Patrick Verkaik Yuvraj Agarwal, Rajesh Gupta, Alex C. Snoeren

26

time channel occupied packet backoff

SIFS + (2 + random) * cwslot

SIFS + (2 + random) * cwslot

Short inter-frame space (10 µs in 802.11b)

Contention window slot (20 µs in 802.11b)

Page 27: Patrick Verkaik Yuvraj Agarwal, Rajesh Gupta, Alex C. Snoeren

27

SIFS + (1 + 0 ) * cwslot SIFS + (2 + random) * cwslot

random cwslot

SIFS

random SIFS + (2 + random) * cwslot

random=0

time

Short inter-frame space (10 µs in 802.11b)

Contention window slot (20 µs in 802.11b)

channel occupied packet

Page 28: Patrick Verkaik Yuvraj Agarwal, Rajesh Gupta, Alex C. Snoeren

28

  Station i periodically modifies its contention parameters

Slot i+2 Slot i Slot i-1 Slot i+1

Standard 802.11: SIFS + (2 + random) * cwslot

SIFS SIFS+ 1*cwslot

TDMA slot

Backoff station i

time

Page 29: Patrick Verkaik Yuvraj Agarwal, Rajesh Gupta, Alex C. Snoeren

29

  Stations need a shared time reference

 Access points send beacons ◦  E.g. every ~100ms ◦ Heard by all stations

 To synchronize: ◦ Reset TDMA clock after each beacon ◦ Note: also counters clock drift

Page 30: Patrick Verkaik Yuvraj Agarwal, Rajesh Gupta, Alex C. Snoeren

30

Tim

e w

rt T

DM

A c

ycle

(µs

)

Station 0 1 2 3 4 5 6 7 8 9

Page 31: Patrick Verkaik Yuvraj Agarwal, Rajesh Gupta, Alex C. Snoeren

31

 No retransmission for poor overhearer  Exacerbated at higher 802.11g rates  Mitigating steps: ◦  Pick specific destination as receiver:

  Have it associate at lower MAC rate   Helps if it’s a poor receiver   Note: can be dedicated device

◦  Poor receivers can simply opt out

Page 32: Patrick Verkaik Yuvraj Agarwal, Rajesh Gupta, Alex C. Snoeren

32

TCP sends TCP receives

+45% 4x

Overhearing improvements: 7%

No overhearing improvements: 20%

Page 33: Patrick Verkaik Yuvraj Agarwal, Rajesh Gupta, Alex C. Snoeren

33

TCP sends TCP receives

Uplin

k M

OS

aggregation default

TDMA softspeak

Softspeak maintains uplink MOS

Severe degradation uplink MOS