220 likes | 345 Views
Scheduling Transmissions in 802.11 Networks. Ananth Rao SAHARA Retreat, Jan 2004. Motivation. Multi-hop networks based on IEEE 802.11 standards have a lot of potential Hardware is inexpensive Many interesting applications
E N D
Scheduling Transmissions in 802.11 Networks Ananth Rao SAHARA Retreat, Jan 2004
Motivation • Multi-hop networks based on IEEE 802.11 standards have a lot of potential • Hardware is inexpensive • Many interesting applications • Recently, lots of thrust from the research community (MIT, MSR, Intel..) Internet Gateway
Problem • 802.11 MAC does not perform well for multi-hop networks • Real test-beds have been plagued with performance problems (Roofnet, MSR Testbed) • Throughput (poor contention resolution) • Fairness (longer routes get very low throughput) • Goal: Improve multi-hop 802.11 throughput and fairness
Constraints • Do not want to modify the MAC protocol • Takes a lot of time and effort to standardize • Must be compatible with the 802.11 MAC • Use readily available low-cost hardware • The only control we have is: When to ask the card to send a packet • Do some form of scheduling on top of 802.11 Use an “Overlay” for the MAC Layer
RTS Protocol High Data Rate Low Data Rate Overhead (1500 bytes) CTS 802.11a 54 Mbps 6 Mbps 38% DATA 802.11b 11 Mbps 1 Mbps 40% 802.11g 54Mbps 1 Mbps 70%?? ACK Overhead of Contention-Resolution Sender Receiver
I1 I2 Hidden Terminal Problem • CTS may not be received clearly for the following reasons • Node is within interference but outside communication range • Another transmission interferes with reception of CTS (loss rates as high as 60% seen in simulations) S R
Fairness Problems • The 802.11 MAC gives roughly equal number of transmission opportunities to competing stations • This results in undesirable outcomes when • Senders use different packet sizes • Senders are transmitting at different rates • Senders are forwarding traffic from other nodes
Different Data Rates R A B
Forwarding on Behalf of Others Ethernet 1/2 1/2 1/6 1/6 1/6 1/6 1/6 1/6 This problem cannot be solved by local scheduling or queue management algorithms like WFQ
Related Work and Challenges • Collision-free MACs • A Channel Access Scheme for Large Dense Packet Radio Networks (1998), Timothy J. Shepard • Channel Access Scheduling in Ad Hoc Networks with Unidirectional Links (2001), Lichun Bao, J.J. Garcia-Luna-Aceves • New Challenges • Accurate timing not possible at the software level • Devices don’t expose all information (eg. cannot carrier-sense and obtain result) • Senders from other networks might interfere – Polling messages might be lost • No changes to physical layer (spread spectrum techniques)
Time Slots on Top of 802.11 Time • Assume local synchronization of clocks • Use coarse-grained (compared to packet transmission times) time slots • Slots maybe • Available for contention • Assigned to a particular node • If the nodes queue goes empty, the rest of the slot is open to all 1 2 3 4 5 6 7 8 0 ms 24 ms 48 ms 72 ms Groups of 8 slots each of length 3ms
C C C C C C C C C C C Amortize the Cost of Contention Resolution • Nodes that transmitted successfully in the previous slot with index “i” own the slot with probability (1-p) • Cost is amortized because • A time-slot is much longer than a packet transmission • Nodes compete for an average of 1/p slots at a time • Orthogonal to method used to resolve contention for a slot Time 1 2 3 4 5 6 7 8 C C C 0 ms C C 24 ms 48 ms 72 ms
Synchronization of Clocks Every packet in encapsulated in a new header which contains a timestamp IP hdr …. ... MAC hdr ts tsAuth tsDist Initialize() myTsAuth = myNodeId; myTsDist = 0; Recv(Packet p) tDiff = estimatedTransitTime(p); if(p.tsAuth < myTsAuth || (p.tsAuth == myTsAuth && p.tsDist < myTsDist)) { myTime = p.ts + tDiff; myTsAuth = p.tsAuth; myTsDist = p.tsDist+1; }
Competing for and Relinquishing a Slot • Use 2-hop broadcasts to request a slot or to announce giving up a slot • The probability of winning a slot is based on the current # of slots owned and the weight of the competing node • Compete for a slot on • Receiving a relinquish message • Think slot is free and no packets are seen for 0.5ms after start of a slot • Immediate neighbors may stop the broadcast if it is somebody else’s slot
Simulation Results • Qualnet Network Simulator • Commercial software from www.scalable-networks.com • Packet level simulator similar to ns2, but faster and more scalable • Models collisions, interference and contention • Use 802.11a at 54 Mbps • 20 slots of 3 ms each, p=0.05
Testbed • Hardware • ASUS Pundit barebones system • Celeron 2.4 Ghz, 256 MB • Netgear WAG511, 802.11a • Software • RH 9.0, Kernel 2.4.22 • Madwifi driver for Atheros • Click modular router
Mixed Queue FIFO SetTimeOffset LIFO SetOKSlots Click Architecture Push 1 Pull FromDevice DecapTimestamp ToDevice ContentionResolver TimeslotEnforcer EncapTimestamp Rest of the Router 1
Results (Testbed – Data Rates) With Scheduling Without Scheduling
Conclusions and Future Work • Coarse-grained scheduling on top of 802.11 is a very powerful technique to • alleviate inefficiencies of the MAC protocol in resolving contention • overcome the lack of flexibility of assigning priorities to senders • Future work • Understand the performance problems in multi-hop networks better using the test-bed • Further refine the algorithms for allocation of slots and the implementaion