ZipTx: Harnessing Partial Packets in 802.11 Networks Nate Kushman Kate Ching-Ju Lin, Dina Katabi

Preview:

Citation preview

ZipTx: Harnessing Partial Packets in 802.11 Networks

Nate KushmanKate Ching-Ju Lin, Dina Katabi

Wasteful to throw away all correct bytes

Current wireless is all-or-nothingA packet that fails the CRC test is discarded

Much prior work trys to leverage partial packets• [JB07], [WKKS07], [KKBM08], [KKRL03], HARQ, …

But…..

I only care about my 802.11 laptop

• How do we build a driver that leverages partial packets?

• What are the throughput gains in 802.11 networks?

– Given 802.11’s auto-rate tries to avoid partial packets

Problem

Contributions• Characterizing the throughput gains of partial

packets in 802.11 networks with auto-rate: Indoor WLANS:• Auto-rate is effective at eliminating partial packets• Gains are limited to 20-25%

Challenged outdoor and mobile networks:• Auto-rate is ineffective at eliminating partial packets• Allows 2-3x throughput gains

• ZipTx, an 802.11 driver that collects these gains

Indoor Testbed• 35 nodes• Bitrates 6Mb/s 54 Mb/s• RSSI 1-34

Outdoor Testbed

Measurement Environment

• 25 nodes • Bitrates 1Mb/s 11 Mb/s• RSSI 1-12

Method• Configure hardware to pass up packets failing the CRC check• At each location, cycle between all bitrates• For each bitrate, compute correct-packet-throughput and

correct-byte-throughput

Why Does Rate Adaptation Matter?Say you can’t adapt the bit rate

Why Does Rate Adaptation Matter?Say you can’t adapt the bit rate

Correct Pkts at 48Mb/s

Why Does Rate Adaptation Matter?Say you can’t adapt the bit rate

Correct Pkts at 48Mb/sCorrect Bytes at 48Mb/s

No Rate Adaptation Dramatic Gains

35x

Why Does Rate Adaptation Matter?

Correct Pkts at 48Mb/sCorrect Bytes at 48Mb/s

Say you can adapt the bit rate

Gain is about 25%; Much smaller than no autorate

Why Does Rate Adaptation Matter?Say you can adapt the bit rate

Correct Pkts at 48Mb/sCorrect Bytes at 48Mb/sCorrect Pkts at 36Mb/s

Why Does Rate Adaptation Matter?Say you can adapt the bit rate

Why Does Rate Adaptation Matter?Say you can adapt the bit rate

Why Does Rate Adaptation Matter?Say you can adapt the bit rate

Envelope of Correct Pkts

Why Does Rate Adaptation Matter?Say you can adapt the bit rate

Envelope of Correct Pkts

Why Does Rate Adaptation Matter?Say you can adapt the bit rate

Envelope of Correct Pkts

Why Does Rate Adaptation Matter?Say you can adapt the bit rate

Envelope of Correct Pkts Envelope of Correct Bytes

Why Does Rate Adaptation Matter?Say you can adapt the bit rate

Rate Adaptation Limited Gain (about 25%)

Envelope of Correct Pkts Envelope of Correct Bytes

Where Do the Gains Come From?

Where Do the Gains Come From?

Where Do the Gains Come From?

Where Do the Gains Come From?

Where Do the Gains Come From?

Where Do the Gains Come From?

Where Do the Gains Come From?

Partial Packets allow an increase of one bit-rate

Where Do the Gains Come From?

Is a gain of 25% is all that partial packets can do for 802.11?

25% is the gain in Typical Indoor WLANs

But things look different for the more challenged outdoor environment

Gains in the Outdoor Environment

2x gain

Much larger gains outdoors

3.5x gain

Where Do the Outdoor Gains Come From?

Most Gains Are Not From Jumping Up Bit-Rates

Where Do the Outdoor Gains Come From?

In outdoors, auto-rate cannot avoid partial packets

What’s the fundamental difference?

ZipTx

For 802.11 gains vary from 25% up to 3x

How do we get them today?

Kernel

Driver

To Hardware

ZipTx Modifies the Madwifi Driver

Correct Partial PacketsAuto-Rate Maximizes

Correct bytes

From Application

Need to recover incorrect bits

A software-solution has to choose between: • Block-by-block CRC’s• Coding

How Does ZipTx Correct Partial Packets?

But, we don’t know which bits are incorrect!

Distributed Errors Coding is Better

How Much Coding?Need to look at percentages of byte-errors in packets90%

35% correct

60% partial pkts

~5% Erasures

• Correcting x errors requires 2x parity• We need 20% parity

Want No Overhead For Fully Correct Packets

How Does ZipTx Send Packets?No Ack

Still Requires 20% Overhead for 65% of Packets

How Does ZipTx Send Packets?

85% have less than 3% byte-

errors

Send a small amount of parity first, and only if still undecodable send the restOverhead = 0*.35 + .06*.5 + .2*.15 = 5%

Coded packets are piggybacked on next packet

Modified Auto-Rate• Leverage existing SampleRate algorithm• But maximize throughput after correcting

partial packets

Results

• Same Indoor/Outdoor testbed• Repeatedly choose a source and destination

and perform a 1 minute transfer• Compared Drivers:– Unmodified Madwifi– ZipTx

• Metric of comparison:

Throughput gain =

ThroughputDriver Unmodified

ThroughputZiptx

Experimental Setup

Typical Indoor WLANs

In indoor WLANs, ZipTx gain is 10-20%

Typical Indoor WLANs

Outdoor Environment

Outdoors, ZipTx average gain is about 2x

Outdoor Environment

Mobility Experiment

Repeatedly, walk down the hall and back

Ziptx provides auto-rate algorithm a margin of error

Mobility Experiment

Related Work

• Packet Recovery with Soft Information– [JB07], [WSKK07], and [KKBM08]

• Packet Recover with CRCs– [GJLA06], [DEV05], and [MB05]

• Packet Recover with Coding– HARQ and [KKRL03]

Contributions• Auto-rate matters:

Typical Indoor: 20-25% Challenged Outdoor: 2x-3x Challenged Mobile: 2x-3x

• Today’s 802.11 can collect these gains using ZipTx

Backup Slides

CPU Usage

CPU usage is low practical