540 likes | 663 Views
ZipTx : Harnessing Partial Packets in 802.11 Networks. Nate Kushman Kate Ching-Ju Lin, Dina Katabi. Wasteful to throw away all correct bytes. Current wireless is all-or-nothing. A packet that fails the CRC test is discarded. Much prior work trys to leverage partial packets.
E N D
ZipTx: Harnessing Partial Packets in 802.11 Networks Nate Kushman Kate Ching-Ju Lin, Dina Katabi
Wasteful to throw away all correct bytes Current wireless is all-or-nothing A 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
Problem • 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
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
Measurement Environment Indoor Testbed OutdoorTestbed • 35 nodes • Bitrates 6Mb/s 54 Mb/s • RSSI 1-34 • 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/s Correct Bytes at 48Mb/s 35x No Rate Adaptation Dramatic Gains
Why Does Rate Adaptation Matter? Say you can adapt the bit rate Correct Pkts at 48Mb/s Correct Bytes at 48Mb/s
Why Does Rate Adaptation Matter? Say you can adapt the bit rate Correct Pkts at 48Mb/s Correct Bytes at 48Mb/s Correct Pkts at 36Mb/s Gain is about 25%; Much smaller than no autorate
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 Envelope of Correct Pkts Envelope of Correct Bytes Rate Adaptation Limited Gain (about 25%)
Where Do the Gains Come From? Partial Packets allow an increase of one bit-rate
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 3.5x gain Much larger gains outdoors
Where Do the Outdoor Gains Come From? Most Gains Are Not From Jumping Up Bit-Rates
ZipTx For 802.11 gains vary from 25% up to 3x How do we get them today?
ZipTx Modifies the Madwifi Driver From Application Kernel Driver Correct Partial Packets Auto-Rate Maximizes Correct bytes To Hardware
How Does ZipTx Correct Partial Packets? A software-solution has to choose between: • Block-by-block CRC’s • Coding Need to recover incorrect bits But, we don’t know which bits are incorrect! Distributed Errors Coding is Better
How Much Coding? 90% Need to look at percentages of byte-errors in packets ~5% Erasures • Correcting x errors requires 2x parity • We need 20% parity 60% partial pkts Want No Overhead For Fully Correct Packets 35% correct
How Does ZipTx Send Packets? No Ack Still Requires 20% Overhead for 65% of Packets
How Does ZipTx Send Packets? Overhead = 0*.35 + .06*.5 + .2*.15 = 5% 85% have less than 3% byte-errors Send a small amount of parity first, and only if still undecodable send the rest Coded packets are piggybacked on next packet
Modified Auto-Rate • Leverage existing SampleRate algorithm • But maximize throughput after correcting partial packets
Experimental Setup • 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 =
Typical Indoor WLANs In indoor WLANs, ZipTx gain is 10-20%
Outdoor Environment Outdoors, ZipTx average gain is about 2x
Mobility Experiment Repeatedly, walk down the hall and back
Mobility Experiment Ziptx provides auto-rate algorithm a margin of error
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