Scheduling Transmissions in Networks Ananth Rao SAHARA Retreat, Jan 2004
Motivation Multi-hop networks based on IEEE 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 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 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 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 Use an “Overlay” for the MAC Layer
Overhead of Contention-Resolution SenderReceiver RTSCTS DATA ACK 70%??1 Mbps54Mbps802.11g 40%1 Mbps11 Mbps802.11b 38%6 Mbps54 Mbps802.11a Overhead (1500 bytes) Low Data Rate High Data Rate Protocol
Hidden Terminal Problem CTS may not be received clearly for the following reasons 1.Node is within interference but outside communication range 2.Another transmission interferes with reception of CTS (loss rates as high as 60% seen in simulations) SR I1 I2
Fairness Problems The 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 Data RateThroughput Case I A11 Mbps3.09 Mbps B11 Mbps3.36 Mbps Case II A11 Mbps0.76 Mbps B1 Mbps0.76 Mbps R BA
Forwarding on Behalf of Others Ethernet 1/2 1/6 1/2 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 Time 0 ms 24 ms 48 ms 72 ms 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 Groups of 8 slots each of length 3ms
Amortize the Cost of Contention Resolution Time 0 ms 24 ms 48 ms 72 ms 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 C C CC C C CC CCC C C CC C
Synchronization of Clocks... MAC hdrtstsAuthtsDist IP hdr …. 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; } Every packet in encapsulated in a new header which contains a timestamp
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 networks.com Packet level simulator similar to ns2, but faster and more scalable Models collisions, interference and contention Use a at 54 Mbps 20 slots of 3 ms each, p=0.05
Performance in a Chain
Performance in a Multi-hop Network (Collisions)
Testbed Hardware ASUS Pundit barebones system Celeron 2.4 Ghz, 256 MB Netgear WAG511, a Software RH 9.0, Kernel Madwifi driver for Atheros Click modular router
Click Architecture EncapTimestamp DecapTimestamp TimeslotEnforcer ContentionResolver FromDevice ToDevice Mixed Queue Rest of the Router 1 1 Push Pull LIFO FIFO SetTimeOffset SetOKSlots
Results (Testbed – Data Rates) Without Scheduling With Scheduling
Results (Testbed – Chain)
Conclusions and Future Work Coarse-grained scheduling on top of 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