Addressing Slot Drift in Decentralized Collision Free Access Schemes for WLANs Wunan Gong and David Malone Hamilton Institute, NUI Maynooth, Ireland. 20 November 2012 TDMA vs. CSMA • TDMA has no collisions. • Someone needs to schedule TDMA. • CSMA has collisions. • No coordination required. Both are a mess if slots are unclear. Counting Down (20us) Someone else transmits, stop counting! Transmissions (~500us) Data and then ACK Collision followed by timeout In 802.11 the slot lengths are a mess, but carrier sense saves us. Hybrid TDMA/CSMA Recent proposals for 802.11-like MACs that combine CSMA and TDMA. 1. L-BEB, CSMA/ECA, (Barcelo, . . . ) 2. SRB (Yong, . . . ) 3. ZC (Lee, Walrand) These proposals are like Reservation ALOHA, but adapted for carrier sense. 802.11’s DCF • After transmission choose rand(0,CW − 1). • Wait until medium idle. • Count down in slots. • Transmit when get to 0 (if you have a packet). • If ACK then CW ← CWmin else CW ← 2CW . L-BEB • After unsuccessful choose rand(0,CW − 1) otherwise CW /2. • Wait until medium idle. • Count down in slots. • Transmit when get to 0 (if you have a packet). • If ACK then CW ← CWmin else CW ← 2CW . Gives an idea of a cycle. Station 1’s view 1 2 3 4 5 6 7 8 1 2 3 4 TX 7 8 1 2 3 4 TX Station 2’s view 5 TX 5 6 7 8 1 2 3 4 TX ZC • After unsuccessful TX choose random free slot from previous cycle, otherwise otherwise same slot in next round. • Wait until medium idle. • Count down in slots. • Transmit when get to your slot. DCFA Decentralized Collision-Free Access. • Can be much better than DCF. • Complications with many stations. • Collision/noise confusion. • Some 802.11e aspects a little tricky. • How important is slot counting? Slot Drift 8 DCF ZC L−MAC 7.5 System Goodput(Mb) 7 6.5 6 5.5 5 4.5 4.0 0 1 2 3 4 5 6 slot drift probability % 7 Cycle len C = 16, number of stations N = 16. 8 9 10 Why would slots drift? Exposed/hidden nodes could cause problems, but also: • Sensing Errors: the 802.11 standard requires only a 90% CCA detection for 9us slots; • clock errors: different clock rates lead to different slot boundaries; • hardware/software miscounting look at primitives available on Broadcom hardware. How to improve this? Help MAC make better decisions. • Global View Synchronisation: Provide a benchmark against which slots can be counted. • Smart Collision Free: Use global view to partition the free slots. GVS 1. On TX we announce our notion of slot number. 2. On every announcement, record the offset. 3. If we see two announcements of same offset, renumber. Two types of renumbering: initialisation (index-shifting) and stable (index-keeping). SCF • Improvement to ZC. • Needs to identify collisions. • Partitions free slots. 1 1 Idle slot 2 2 Colliding slot 3 4 Success slot 3 5 GVS Effectiveness 1 0.9 0.8 GVS−ZC 2% GVS−SCF 2% GVS−ZC 5% GVS−SCF 5% 0.7 CDF 0.6 GVS−ZC 10% GVS−SCF10% 0.5 0.4 0.3 0.2 0.1 0 2 N = C = 16 4 6 8 10 12 14 Number of stations with the most common view in a slot 16 SCF Effectiveness Average Convergence Speed (Number of Slots) 300 250 200 150 ZC, C=N=16 100 SCF,C=N=16 ZC,C=N=32 SCF,C=N=32 50 1 No slot drift. 4 8 12 16 20 24 28 Number of Stations with the most common view 32 Performance 7.8 ZC SCF GVS−ZC GVS−SCF DCF 7.5 system goodput (Mb) 7 6.5 6 5.5 5 4.5 0 N = C = 16 1 2 3 4 5 6 slot drift probability % 7 8 9 10 Conclusion • Nice DCFA algorithms available. • Depends on well-defined slots. • GVS: Helps correct slot drift. • SCF: Helps ZC choose slots. • Probably not the best you can do. • How common is slot drift? • Implement all this?