220 likes | 233 Views
PPR: Partial Packet Recovery. Brad Karp UCL Computer Science. CS 4038 / GZ06 23 rd January, 2008. Is it efficient to retransmit entire packet? How much of packet is actually corrupted in practice?. Packet Corruption in Wireless MACs. 802.11 and 802.15.4 use per-packet CRC
E N D
PPR: Partial Packet Recovery Brad Karp UCL Computer Science CS 4038 / GZ06 23rd January, 2008
Is it efficient to retransmit entire packet? How much of packet is actually corrupted in practice? Packet Corruption in Wireless MACs • 802.11 and 802.15.4 use per-packet CRC • Receiver recomputes CRC; drops whole packet if doesn’t match • Protects against data corruption by collisions, interference • 802.11 and 802.15.4 do link-layer retransmission of whole packets • Recovers faster than transport layer • CRC failures at receiver are relatively frequent • Collisions: RTS/CTS don’t work so well in practice • Bit errors: can’t predict them, so would need too much redundancy to guarantee error-free channel
Anatomy of a Collision • Recall: receiver only can decode bits correctly when SNR (SINR) above some threshold • Insight: provided senders in range of receiver, only concurrently received portions of packets should be corrupted! P1 OK corrupted corrupted OK P2 time (at receiver)
Goal: Only Retransmit Corrupted Bits • How can receiver know which bits corrupted, which received correctly? • Will receiver be ableto detect salvageable packet at all during a collision? • Today’s radios must receive a special preamble bit sequence correctly to detect start of packet • How can receiver efficiently express which bits should be retransmitted? • ACK itself costs bandwidth; want ACK + rexmt’ed bits to be smaller than whole packet!
SoftPHY: Identifying Corrupted Bits • Idea: PHY can supply MAC not only with decoded data bits, but also degree ofconfidence in data bits’ correctness “Uncertainty” [Figure: Kyle Jamieson]
Background: Direct Sequence Spread Spectrum (DSSS) Transmitter • Sender’s PHY receives packet bits from MAC • PHY maps every b bits of packet into B-bit (aka B-chip) codeword • Because B > b, space of codewords sparsely populated • PHY divides each codeword into series of k-bit symbols (k >= 1) • Radio transmits series of symbols; for packet size of T bits, TB/bk symbols transmitted • 802.15.4 (common sensor “mote” radio): • b = 4, B = 32, k = 2 • i.e., 4 bits in packet sent as 16 channel symbols of 2 bits each
802.11b/g use DSSS and OFDM-DSSS; work similarly Background: DSSS Receiver • Receiver demodulates signal • Demodulator recovers each successive symbol independently • Channel decoder maps each successive codeword-sized group of symbols (i.e., in 802.15.4, 16 symbols, or 32 chips) to closest valid codeword • Closest: minimal Hamming distance; valid codeword differing in fewest number of bits from demodulated codeword • Idea: for each codeword, use value of this Hamming distance as measure of confidence in corresponding packet data bits’ correctness
Will threshold always correctly identify whether block is received without error? Receive:11101101000111000011010110100010 C1: 11101101100111000011010100100010 Receive:11001101000111010111011110110111 C1: 11101101100111000011010100100010 SoftPHY for DSSS Radios:Hamming Distance Example • SoftPHY passes hint about confidence level in every 4-bit block in packet up to MAC, along with data • Uses threshold η: presumes 4-bit block correct when hint < η, incorrect when hint > η Uncertainty: 2 Uncertainty: 9 [Figure: Kyle Jamieson]
Accuracy of Threshold-Based Confidence Metric • At η = 2, few misclassifications of codeword correctness
Postamble Decoding:Detecting Packets During Collisions • Recall: radio hardware only detects packet upon receipt of preamble containing reserved bit sequence • Receiver can’t hear P2’s preamble! P1 OK corrupted corrupted OK P2 preamble
Postamble Decoding (cont’d) P1 OK corrupted postamble • Postamble: add copy of preamble and packet header at end of packet • When postamble detected, packet has already passed by! • Must buffer recently received samples at all times • Upon detecting postamble, retrieve buffered header just before it, to learn packet length • Retrieve previous packet in its entirety corrupted OK P2
PP-ARQ:Retransmitting Partial Packets • SoftPHY indicates which bits likely to be correct, which corrupted • Postamble increases probability of detecting colliding packets • Need link-layer reliability protocol that allows receiver to send ACKs that request partial retransmissions of packets • Problem: how to minimize size of partial ACKs?
Codewords are in fact correct or incorrect Two possibilities for mistakes Labeling a correct codeword “bad” Labeling an incorrect codeword “good” “Good” bits “Bad” bits PP-ARQ Protocol • Assuming hints correct, which ranges to ask for? • Dynamic programming problem • Forward and feedback channels [Slide: Kyle Jamieson]
Sender: Telos Tmote Sky sensor node Radio: CC2420 DSSS/MSK (Zigbee) Modified to send postambles Receiver: USRP software radio with 2.4 GHz RFX 2400 daughterboard Despreading, postamble synchronization, demodulation SoftPHY implementation [moteiv.com] [ettus.com] Implementation PP-ARQ: trace-driven simulation using data from above [Slide: Kyle Jamieson]
25 senders 6 receivers Experimental design • Live wireless testbed experiments • Senders transmit 101-byte packets, varying traffic rate • Evaluate raw PPR throughput • Evaluate SoftPHY and postamble improvements • Trace-driven experiments • Evaluate end-to-end PP-ARQ performance • Internet packet size distribution • 802.11-size preambles [Slide: Kyle Jamieson]
Preamble Checksum Checksum Checksum Preamble PP-ARQ performance comparison • Packet CRC (no postamble) • Fragmented CRC (no postamble) • Tuned against traces for optimal fragment size [Slide: Kyle Jamieson]
Throughput improvement 2.3-2.8x [Slide: Kyle Jamieson]
PP-ARQ retransmissions are short [Slide: Kyle Jamieson]
25% improvement over fragmented [Slide: Kyle Jamieson]
PP-ARQ retransmissions are short [Slide: Kyle Jamieson]
PP-ARQ feedback overhead is low 802.11 ACK size [Slide: Kyle Jamieson]
Conclusion • Mechanisms for recovering correct bits from parts of packets • SoftPHY interface (PHY-independent) • Postamble decoding • PP-ARQ improves throughput 2.3–2.8x over ARQ with whole-packet CRCs • Great example of howsoftware radio enables experimentation with new ideas in wireless systems! • Software radio can’t yet support online PP-ARQ implementation; latency of processing too great to send ACKs back in timely fashion