Checking Improving TCP and Voice Performance using a 802.11e testbed David Malone, Ian Dangerfield Anthony Ng & Doug Leith, Hamilton Institute 20 January 2006 1 802.11b TCP Performance 12 uploads 6 up, 6 down 12 TCP Uploads to AP for 180 sec 6 Uploads and 6 Downloads for 180 sec 1200 1200 1000 800 Throughput(kbits/sec) Throughput(kbits/sec) 1000 600 400 200 0 800 600 400 200 1 2 3 4 5 6 7 8 STA id 9 10 11 0 12 1 2 3 4 5 Have proposed fixes, want to test in practice. 2 6 7 8 STA id 9 10 11 12 802.11(e) Summary • After TX choose rand(0, CW − 1). • Wait until medium idle for DIFS(50µs), • While idle count down in slots (20µs). • TX when counter gets to 0, ACK after SIFS (10µs). • If ACK then CW = CWmin else CW∗ = 2. Ideally produces even distribution of packet transmissions. In 11e have multiple queues. Each has own CWmin , DIFS(aka AIFS) and can have TXOP. 3 Why use a testbed? • Can we believe ns? Bugs: aCCATime, virtual collisions. • Can we believe the standard? • Can we believe models? • What are the practical issues? 4 Testbed setup Number of identical stations (Linux) connection to AP (Linux hostap). 1× AP Dell GX 280 2.8Ghz P4 12× STA Soekris net4801 266Mhz 586 WLAN D-Link DWL-G520 Atheros AR5212 Cards have external antenna, PCI interface, Madwifi driver with local patches for 11e parameter setting. MGEN and iperf used for traffic generation. 5 6 Practical Issue: Calibration UDP up TCP up 11 STAs Upload To AP UDP 11 STAs Upload To AP 700 1500 600 Throughput(kbits/sec) Throughput(kbits/sec) 500 400 300 1000 500 200 100 0 1 2 3 4 5 6 STA id 7 8 9 10 0 11 Small changes until well behaved. 7 1 2 3 4 5 6 STA id 7 8 9 10 11 Validation Relative Throughput against TXOP parameter Relative Throughput against AIFS parameter 5.5 30 Analytical Model Experimental Results 5 25 4 Relative Throughput Relative Throughput 4.5 3.5 3 2.5 20 15 10 2 5 1.5 1 0 1000 2000 3000 4000 TXOP in unit of us 5000 6000 7000 Relative Throughput against CWmin 20 18 Analytical Model Experimental Results 16 Relative Throughput 14 12 10 8 6 4 2 0 −3 −2 −1 0 1 2 3 CWmin Shift (0 corresponds to the default CWmin 32) 4 0 0 5 10 15 AIFS in unit of 20us timeslot 20 25 Measure relative performance of two saturated flows while varying TXOP, AIFS and CWmin . Compare to well-known models. 8 Proposed settings AIFS CWmin (slots) AP TXOP (packets) Upload ACKs 0 4 1 Download data 4 32 nd wireless Download ACKs 0 32 1 station Upload data 4 32 1 Derived using analytical modeling and ns. Will they work in practice? 9 Before 12 uploads 6 up, 6 down 12 TCP Uploads to AP for 180 sec 6 Uploads and 6 Downloads for 180 sec 1200 1200 1000 800 Throughput(kbits/sec) Throughput(kbits/sec) 1000 600 400 200 0 800 600 400 200 1 2 3 4 5 6 7 8 STA id 9 10 11 0 12 10 1 2 3 4 5 6 7 8 STA id 9 10 11 12 After 12 uploads 6 up, 6 down 12 TCP Uploads to AP for 180 sec 6 Uploads and 6 Downloads 600 700 600 500 Throughput(kbits/sec) Throughput(kbits/sec) 500 400 300 200 400 300 200 100 0 100 1 2 3 4 5 6 7 8 STA id 9 10 11 0 12 11 1 2 3 4 5 6 7 8 STA id 9 10 11 12 Voice • Voice is quite different to TCP. • Has a loss and delay requirement. • Low rate vs. high rate. • Aim to protect voice from saturated sources. • AIFS is the obvious parameter. • (simulation says 4, model says 6 to be safe). 12 Unprioritised Voice Throughput Delay 70 30000 60 Average Delay (seconds x 10-6) 25000 50 Throughput (kbps) Unpriotised Station Delay bound for queue stability 40 30 20 20000 15000 10000 5000 10 Unpriotised Station Ideal Throughput 90% Throughput 0 0 2 4 6 0 8 10 12 14 16 18 Number of competing stations 0 2 4 6 8 10 12 Number of competing stations 13 14 16 18 Measuring Delay • Want to measure one-way MAC delay. • Tried NTP for a laugh. • Tried simultaneously observable broadcasts. • Transmission not complete until MAC ACK. • Hardware supports interrupt after ACK. 14 Validation 1600 Median delay (seconds x 10-6) 1400 1200 1000 800 600 400 Long preamble Fit line: 11.0012Mbps x + 484.628us Short preamble Fit line: 11.0016Mbps x + 292.565us 200 0 0 200 400 600 800 1000 1200 Packet size (bytes, excluding headers) 15 1400 4000 16000 1400 1400 3500 14000 600 1500 400 1000 Mean delay (us) 800 2000 Throughput x delay (bytes) Mean delay (us) 1000 2500 1200 12000 0 500 0 1000 1500 2000 2500 3000 3500 4000 4500 35000 Mean delay (us) 1000 25000 800 20000 600 15000 400 10000 200 5000 Throughput x Mean delay (Station 2) Mean delay (Station 2) 300 400 CWmin value second station 500 0 600 Throughput x delay (bytes) 1200 30000 200 2 4 6 0 8 10 AIFS value of second station 1400 100 200 Throughput x Mean delay (Station 2) Mean delay (Station 2) 0 40000 0 400 0 TXOP value for station 1 0 600 6000 2000 Throughput x Mean delay (Station 1) Mean delay (Station 1) 0 800 8000 4000 200 500 1000 10000 Throughput x delay (bytes) 1200 3000 Measure relative performance of two saturated flows while varying TXOP, AIFS and CWmin . Check Throughput * delay has expected value. 16 AIFS Impact Throughput Delay 70 30000 60 Average Delay (seconds x 10-6) 25000 50 Throughput (kbps) Unpriotised Station Competitors AIFS = 4 Competitors AIFS = 6 Delay bound for queue stability 40 30 20 Unpriotised Station Competitors AIFS = 4 Competitors AIFS = 6 Ideal Throughput 90% Throughput 10 0 0 2 4 6 20000 15000 10000 5000 0 8 10 12 14 16 18 Number of competing stations 0 2 4 6 8 10 12 Number of competing stations 17 14 16 18 Delay Distribution AIFS 0 AIFS 6 100 Percentage of packets (less than associated delay) Percentage of packets (less than associated delay) 100 80 60 40 1 competing station 6 competing stations 12 competing stations 18 competing stations Interpacket time 20 0 0 20000 40000 60000 80000 80 60 40 1 competing station 6 competing stations 12 competing stations 18 competing stations Interpacket time 20 0 100000 Delay (seconds x 10-6) 0 20000 40000 60000 Delay (seconds x 10-6) 18 80000 100000 Autocorrelation 1 Unpriotized, 1 competing station Unpriotized, 6 competing stations Unpriotized, 12 competing stations Unpriotized, 18 competing stations AIFS = 4, 1 competing station AIFS = 4, 6 competing stations AIFS = 4, 12 competing stations AIFS = 4, 18 competing stations AIFS = 6, 1 competing station AIFS = 6, 6 competing stations AIFS = 6, 12 competing stations AIFS = 6, 18 competing stations 0.8 autocorrelation 0.6 0.4 0.2 0 -0.2 0 5 10 15 number of packets 19 20 25 30 Conclusions • Small operational testbed. • Hardware seems to behave as expected. • Radio issues can be amplified by other issues. • 11e can be used to combat MAC/TCP issues. • 11e can be used to help voice out. • Further looking at mixed voice/data and voic only networks. 20