Exploiting MAC layer diversity in wireless networks Vivek Raghunathan (joint work with Min Cao, P. R. Kumar) Coordinated Science Laboratory University of Illinois, Urbana-Champaign
Interference Management MAC Fading Mitigation PHY tx rx Motivation • Two fundamental issues in wireless networks • Fading • small scale signal variation due to multi-path reflections. • Interference management • which combination of users can transmit simultaneously? • Traditional approach: layered separation of functionality • Fading mitigated in PHY using diversity coding. • Interference management solved in MAC using random access or scheduling.
g Rx Tx good state (G) bad state (B) ICMP ECHO REQUEST broadcast b Fading effects at the MAC layer: an experimental study … • Experimental testbed on a tabletop using 3M 1181 Cu tape to reduce range. • Measurement methodology • Broadcast ICMP ECHO REQUEST and log received sequence using tcpdump. • Channel in one of two states: • During time interval when an in-order sequence of packets is received, channel is “good”. • Else, channel is “bad”. • Measure durations of “good” and “bad” states.
Prob(Fading Timescale < X) Prob(Fading Timescale < X) Timescale X (ms) Timescale X (ms) 10 100 10 100 1 1 Fast fading relative to 802.11 Slow fading relative to 802.11 Fading is seen at the MAC layer … • Fading may even interact with 802.11 handshaking timescale (1500 bytes at 1 Mbps = 12 ms).
Channel 1 Channel 10 Tx 1 Rx 1 Tx 2 Rx 2 Fading is independent across channels … • Tx 1, Tx 2 collocated; Rx 1, Rx 2 collocated; Tx 1 and Tx 2 broadcast 29 byte ICMP ECHO REQUEST on Channel 1 and 10 respectively. • Let X(t), Y(t) be channel state (bad = 0/good = 1) across (Tx 1, Rx 1) and (Tx 2, Rx 2). • Cross-correlation of a run: • In all runs, in (-0.004, 0.2718). • Mean of | | = 0.05548. • There is very little statistical correlation between the fading across orthogonal channels.
Main Idea: opportunistic harnessing of diversity • In practice, link conditions to different wireless receivers vary in time, space and frequency. We need to exploit this! • Both fading and interference provide different forms of MAC diversity. • Treat fading and interference in a unified manner at the MAC layer. • Exploit MAC diversity and preferentially transmit on each frequency to the receiver with the “best” fading and interference conditions. MAC Diversity Pick the best link conditions
B A C F B F B D B D A A A C C E C E G G Ch 1 A B Ch 2 Ch 1 A B Ch 2 Ch 1 A B C D Ch 1 A B C D Ch 2 Ch 2 Varying link conditions provide different forms of diversity • Multi-receiver fading diversity • Multi-receiver interference diversity • Multi-channel fading diversity • Multi-channel interference diversity
RTS RTS RTS CTS CTS CTS DATA DATA ACK ACK Ch 1 Ch 1 A B Ch 1 Ch 2 A B A B Ch 2 Ch 2 Packet 1 goes through on attempt 1 on ch 2 Packet 2 fails on attempt 1 on ch 2 Packet 2 succeds on attempt 2 on ch 1 A subtle form of fading diversity … • Fading that occurs at 802.11 timescale provides a new form of diversity across transmission attempts. • On lossy fading links, exploiting this diversity provides huge reduction in exponential backoff cost.
Network layer per neighbor queuing Link layer Exploit multi-channel and multi-receiver diversity from fading and interference Scheduler MAC Exploit transmit attempt diversity ch 1 fading + interference aware floor acquisition fading + interference aware floor acquisition ch 11 Dynamic binding Link condition estimation PHY DB-MCMAC: Architecture • Assumptions1) Multiple channels and interfaces • 2) Single rate network.
T CWXch1 CWYch1 CWXch2 CWYch2 X Y RTS RTS CTS CTS DATA ACK probe failure CWB2.u/d Ch 1 A B Ch 1 CWB2/d Ch 2 A B CWB2 Ch 2 probe success CWB2/d Packet 1 succeeds on attempt 1 on ch 2 Packet 2 fails on attempt 1 on ch 2 Link condition estimation • Use a set of contention windows and backoff timers on a per channel, per receiver basis. • CWjk is a unified measure of transmitter-side channel fading state information (CSI) and receiver interference conditions to receiver j on channel k. • Four-way handshake acts like a probe and is used to adapt CWjk to track the link conditions.
T CWXch1 CWYch1 CWXch2 CWYch2 X Y Ch 1 idle Time Floor acquisition • Fading and interference-aware floor acquisition • Preferentially select receivers with better fading and interference conditions on each channel. DATAXch1 RTSXch1 BVXch1 fires; Freeze BVYch1 CTSXch1 ACKXch1 Unfreeze BVYch1 BVXch1 := uni(0, CWXch1/d) BVYch1 := uni(0, CWYch1) BVXch1 := uni(0, CWXch1) • pull a pkt P from X’s queue • bind to ch 1 • start four-phase handshake
T CWXch1 CWYch1 CWXch2 CWYch2 X Y Ch 1 idle Ch 2 idle Time Time Dynamic binding • Keep attempting across channels. • Never statically bind a packet to a channel. • pull a pkt P • from X’s queue • Bind P to ch 1 • start 4-phase • handshake Handshaking Timeout! Unfreeze BVYch1 BVXch1 := uni(0, u.CWXch1) Unbind P from ch 1 and place in X’s queue DATAXch1 RTSXch1 CTSXch1 BVXch1 fires; Freeze BVYch1 BVYch1 := uni(0, CWYch1) BVXch1 := uni(0, CWXch1) BVXch2 fires; Freeze BVYch2 • pull pkt P from X’s queue • Bind P to ch 2 BVYch2 := uni(0, CWYch2) BVXch2 := uni(0, CWXch2)
ch 1 UDP tx UDP rx 0 1 ch k 0 1 2 3 ns-2 performance evaluation: fading diversity • Multi-receiver diversity 200-350% gains with 3 receivers. • Multi-channel diversity 15-150% gains with 3 channels. SB: static binding DB: dynamic binding
Distributed Opportunistic Scheduling (DOS)* • Multi-user/time diversity • Fading causes quality of links to fluctuate • Some links are better than others at a given time • Let the good links transmit, and at high data rate Distributed Opportunistic Scheduling for Ad-hoc Communications:An Optimal Stopping Approach, D. Zheng, W. Ge, J. Zhang, MobiHoc'07
DOS Mechanism • Transmitter contends for the medium, e.g. RTS • Receiver measures channel quality • If channel is good • Receiver replies CTS with desired data rate • Data transmission follows • Else receiver does not reply; contention continues Poor channel Good channel time Collision Successful probing Data transmission Idle
Tradeoff in DOS • Tradeoff • More channel probing, better channel condition, higher data rate • Less channel probing, more useful time for data • What is the optimal stopping time? • Time to think the channel is good and transmit • To maximize network throughput • Optimal stopping rule for throughput maximization is presented