Wireless Diversity: MRD Kyle Jamieson UCL Computer Science COMPM038/COMPGZ06 10 th February 2012
Today s wireless LAN (e.g., 802.11) 802.11 is associafon- based: clients first associated with APs Wireless medium is broadcast, unlike Ethernet Access points are typically dense in organizafons A client can typically reach many APs 802.11 doesn t leverage broadcast nature of wireless APs that overhear AP 1 - client frames discard them Internet AP 1 Associate AP 3 Wired Ethernet AP 2 Client 2
MulD- radio Diversity (MRD) Wireless is a challenging, high- loss medium High density of deployment: Interference Environment: Channel fading MRD: Take advantage of mulfple APs on the uplink that typically overhear a transmission APs work together to combine transmissions, reduce loss Client sfll associates with one AP, but all listen Internet AP 1 Associate AP 3 Wired Ethernet AP 2 Client 3
MRD: Design Add listen- only APs with no increase in interference AddiFonal APs should be on the same frequency Centralized controller (MRDC) filters out duplicate frames Internet Associate MRDC AP 1 AP 3 Wired Ethernet AP 2 Client 4
Cellular frequency reuse planning 802.11: three non- overlapping channels Best pracfce: Approximate Fling MRD maintains Fling, listen- only APs don t interfere APs are cheap 5
MRD: Key ideas 1. SoM selecdon: xmit succeeds if any AP receives it correctly 2. Frame combining: MRDC combines mulfple frames received with bit errors Internet Associate MRDC AP 1 AP 3 Wired Ethernet AP 2 Client 6
Are frame losses independent? FracFon of frame loss at one receiver Each link = three points FracFon of simultaneous frame loss at both receivers SoM selecdon has the potendal to improve frame loss rates 7
Errors are bursty and independent Conditional Probability 0.5 0.4 0.3 0.2 p( R1 i+k R1 i ) p( R2 i+k R2 i ) p( R1 i+k R2 i ) p( R2 i+k R1 i ) 0.1 0 10 0 10 1 10 2 10 3 k= Lag(bits) Frame combining has the potendal to improve frame loss rates (b) Bit-error conditional probabilities 8
When should the client retransmit? Retransmit on no link- layer ACK from AP 1 : doesn t work Final status of frame known only to MRDC Result is spurious retransmits Have MRDC send ACKS: high overhead Cannot disable link- layer ACKs anyway! 802.11 backoff uses link- layer ACK Internet Associate MRDC AP 1 AP 3 Wired Ethernet AP 2 Client 9
Outline 1. How to handle retransmissions in MRD? Design for common case (hopefully): no loss Request- for- acknowledgment protocol 2. How to correct simultaneous frame errors? 3. How to adapt bit rates in MRD? 4. Performance evaluafon 10
MRD protocol overview DATA IP MRD link MRDC DATA link RFA MRD- ACK DATA ACK IP MRD link MRDS DATA link 1. Synchronous ACK 2. Soj selecfon 3. Synchronous ACK loss 4. Frame combining 11
Bit- by- bit frame combining TX: 1100 1010 1100 1 0000 R1 1101 1 1010 R2 00010 1010 Possible packet CRC OK? 1100 0000 1100 0010 1100 1000 1100 1010 Corrected frame Combine failure 1. Locate bits with mismatched values. 2. Iterate through all possible bit combinafons at mismatched bit locafons, verify checksum. Problem: ExponenDal # of CRC checks in # of mismatched bits. 12
Block- based frame combining Recall: bit errors occur in bursts Divide frame into N B blocks (e.g., N B = 6) Alempt recombinafon with all possible block palerns unfl checksum passes Two corresponding erroneous blocks result in a combine failure 2 N B Need at most combining alempts Combining failure rate increases with increasing N B 13
Block based frame combining Transmit: Checksum R1: R2: Δ N B 2 Δ combinafons of Δ differing blocks (Δ < N B ) How likely is a combining failure? 14
Frame combining failure event Block numbers: 1 2 3 4 R1: R2: N 1 = { 3 } N 2 = { 2, 3 } $ % & N 1 N 2 > 0 N 1 N 2 = 0 failure success 15
Balls and bins analogy 1 2 3 4 Throw d 1 idenfcal red, d 2 idenfcal green balls in N B (disfnguishable) bins at random Place red ball in bin b :: Bit error in block b at AP 1 Place green ball in bin b :: Bit error in block b at AP 2 Frame combining error ::??? 16
Stars and bars analogy How many ways to put d idenfcal balls into N B (disfnguishable) bins? 1 2 3 4 ** *** ** As many as there are star- bar strings! # d + N B 1& # % ( = N B + d 1& % ( $ N B 1 ' $ d ' 17
Probability of a combining error Suppose: d 1 bit errors at AP 1, d 2 bit errors at AP 2, d 1, d 2 > 0 Bit errors occur independently, not in bursts choose a bin to have one green, one red p f (d 1,d 2 ) Probability of failure given d 1 errors at AP 1, d 2 errors at AP 2 N B Place remaining d 1 1 red balls $ N B + (d 1 1) 1' $ & ) N + (d B 2 1) 1' & ) % d 1 1 (% d 2 1 ( $ N B + d 1 1' $ & ) N + d 1 ' B 2 & ) % (% ( d 1 Place d 1 red balls Place remaining d 2 1 green balls d 2 Place d 2 green balls 18
Probability of frame combining failure N B N B d 1 =1 d 2 =1 p f p ( f d 1, d ) 2 Pr d 1 errors at AP 1, d 2 errors at AP 2 ( ) p f : FracFon of frames MRD can t correct out of those that can t be recovered by soj selecfon Can extend model to accommodate errors occurring in bursts p f 1 Probability of combining failure 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0 10 20 30 40 50 Burst size N B =2 N =4 B N B =6 N =8 B. N B =16 19
MRD- aware rate adaptadon Standard rate adaptafon does not work well Reacts only to link- layer losses from one receiver Uses sub- opfmal bit- rates MRD- aware rate adaptafon Reacts to losses at the MRD- layer ImplicaDon: First use muldple paths, then adapt bit rates. Compare versus convenfonal design: first adapt bit rates then use mulfple paths (AP selecfon) 20
ONOE (madwifi) + MRD rate adaptadon Algorithm (Atsushi Onoe) repeat every second, per- desfnafon: if num_tx > 0 and num_tx_ok = 0 then current_bitrate ê ; init(); return; if num_tx > 10 and num_tx_ok / num_tx < 0.5 then current_bitrate ê ; init(); return; if num_tx_ok / num_tx < 0.1 then credits ; return; if num_tx_ok / num_tx > 0.9 then credits++; if credits > 10 then current_bitrate é ; init(); init(): num_tx = num_tx_ok = 0; credits = 0; tx_callback(bool success, int txcount): num_tx = num_tx + txcount; if success then num_tx_ok++; State (per- dest) credits current_bitrate num_tx num_tx_ok Packets per Second 600 400 200 600 mrd_tx_callback(int acked): num_tx_ok = num_tx_ok + min(acked, num_tx num_t_ok); Packets per Second 400 200 Packets per Second 600 400 200 0 1 2 5.5 Bit-rate Steep 11 0 1 2 5.5 Bit-rate Gradual 11 0 1 2 5.5 Bit-rate Lossy 11 21
Outline 1. How to handle retransmissions in MRD? Design for common case (hopefully): no loss Request- for- acknowledgment protocol 2. How to correct simultaneous frame errors? 3. How to adapt bit rates in MRD? 4. Performance evaluadon 22
Experimental setup ( HIVAR ) R1 20 m L R2 802.11a/b/g implementafon in Linux (madwifi) 802.11a; auto bit rate adaptafon (MRD- modified ONOE) L transmits 100,000 1,472- byte UDP packets, 7 retries L is in mofon at walking speed, > 1 minute per trial Variants: R1, R2, MRD (5 trials each) MRD: N B = 6 blocks, soj selecfon and frame recovery 23
MRD throughput improvement 18.7 Mbps 2.3x Improvement 8.25 Mbps 24
CDF MRD maintains high bit rate Chosen link bit rate 25
Closer look at frame recovery method 65% received 35% lost at R1: not recovered 24% Frame recovery rate 49% alempt frame combining 34% 42% recovered via soj selecfon Breakdown of lost frames succeed 20% 80% fail Frame recovery method (out of all recovered losses at R1) soj selecfon via R2 85% frame combining 15% Breakdown of frame combining adempts 26
Would increasing N B help? Frame Combining Failure Rate 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 10 0 10 1 10 2 10 3 10 4 10 5 N B =6 Number of blocks N B 27
Best case for frame combining 65% received 35% lost at R1: not recovered 24% Frame recovery rate 59% alempt frame combining 34% (was 50%) 42% recovered via soj selecfon Breakdown of lost frames succeed 50% 50% fail Frame recovery method (out of all recovered losses at R1) soj selecfon via R2 71% frame combining 28% Breakdown of frame combining adempts 28
False posidves in frame combining False posidve: CRC checks, but data corrupted Each CRC check has a 2 32 probability of false posifve Recall: Δ is number of mismatched blocks, so 2 Δ checks If Δ << 32: Pr(false positive) =1 ( 1 2 32 ) 2Δ 2 Δ 32 29
Increasing N B : Would we avoid false posidves? CDF Fraction of Successfully Combined Frames 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 N B =361 N B =181 N B =91 N B =46 N B =23 N B =12 N B =6 0 0 5 10 15 20 Delta Number of mismatched blocks Δ Goal: keep Δ << 32 30
Would increasing N B help? Frame Combining Failure Rate 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 10 0 10 1 10 2 10 3 10 4 10 5 N B = 6 N B = 96 Number of blocks 31
Frame combining with N B = 91 blocks 65% received 35% lost at R1: not recovered 24% Frame recovery rate 55% alempt frame combining 34% (was 50%) 42% recovered via soj selecfon Breakdown of lost frames succeed 40% 60% fail Frame recovery method (out of all recovered losses at R1) soj selecfon via R2 75% frame combining 25% Breakdown of frame combining adempts 32
CDF Latency distribudon 10 10 10 10 10 Latency (seconds) 33
Related work Physical layer spafal diversity techniques Antenna diversity (used in 802.11b) MIMO (802.11n, 802.16e, LTE, etc.) Macro- diversity in CDMA networks Soj handover from one tower to another Retransmission with memory [Sindhu 77] OpportunisFc forwarding [Biswas 05][Jain 05] Bit rate selecfon (AARF, RBAR, OAR, SampleRate, RRAA SojRate, minstrel, others) 34