490 likes | 675 Views
Distributed Fair Scheduling in a Wireless LAN. Nitin Vaidya , Texas A&M University Victor Bahl , Microsoft Research Seema Gupta , now with Cisco MobiCom 2000. Distributed Scheduling : What & Why. Medium Access Control. Wireless medium is a broadcast medium
E N D
Distributed Fair Scheduling in a Wireless LAN Nitin Vaidya, Texas A&M University Victor Bahl, Microsoft Research Seema Gupta, now with Cisco MobiCom 2000
Medium Access Control • Wireless medium is a broadcast medium • Transmissions by multiple nodes can interfere • Need medium access control (MAC) • Many proposals • Centralized • Distributed
Centralized Protocols • Base station coordinates access to the wireless channel Node 1 Node 2 Base Station Node 3 Node n
Distributed Protocols • All nodes have identical responsibilities Node 1 Node 2 Wireless LAN Node 3 Node n
Disadvantages of Centralized Approach • If a node cannot talk to the base station, it cannot transmit to any other nodes • Base station needs to keep track of state of other nodes • Hard to use failure-prone nodes as coordinators in centralized protocols
Fairness • Packets to be transmitted belong to several flows • Each flow is assigned aweight • Bandwidth assigned to each backlogged flow is proportional to its weight
Fairness Three flows with weights 2, 1, 1 Allocated bandwidth Backlogged flows:
Flow 1 Output link Flow 2 Flow n Fair Queueing • Many centralized fair queueing protocols exist • WFQ, WF2Q, SCFQ, SFQ, … • Scheduler needs to know state of all flows
Our Objectives • Fully distributed fair scheduling protocol • All nodes have identical responsibilities • Nodes do not need to be aware of each other’s state • Maintain compatibility / resemblance with an existing standard • specifically, IEEE 802.11 Distributed Coordination Function
Proposed Approach Combination of • IEEE 802.11 Distributed Coordination Function (DCF) • Carrier sense / collision avoidance • A centralized fair queueing protocol
Basic Carrier Sense Approach • A node wishing to transmit waits until channel is sensed as idle, and then transmits • If two nodes are waiting to transmit, they will collide • Collision avoidance mechanism needed to avoid this
IEEE 802.11 Distributed Coordination Function • Collision avoidance mechanism: When transmitting a packet, choose a backoff interval in the range [0,cw] • cw is contention window • Count down the backoff interval when medium is idle • When backoff interval reaches 0, transmit 0 cw
B1 = 25 B1 = 5 wait data data wait B2 = 10 B2 = 20 B2 = 15 802.11 DCF Example B1 and B2 are backoff intervals at nodes 1 and 2 cw = 31
Self-Clocked Fair Queueing (SCFQ)[Golestani] • A centralized fair scheduling protocol • But more amenable for a distributed implementation than many others • The steps involved in deriving proposeddistributed protocol starting from SCFQ are given in the paper • virtual time, start/finish tags • implementation does not need virtual time or tags
Distributed Fair Scheduling (DFS) • Node with smallest “length/weight” should transmit first • Caveat: This is a somewhat imprecise statement. DFS (implicitly) compares so-called virtual finish tags, which are a function of length/weight • See paper for details on the finish tags • Backoff intervals used as a way to distributedly determine whose “length/weight” is smaller
Distributed Fair Scheduling (DFS) • Choose backoff interval = packet length / weight packet length = 5 weight = 1/3 backoff interval = 5 / (1/3) = 15 slots
B1 = 10 B1 = 5 B1 = 15 wait wait Collision ! data data B2 = 5 B2 = 5 B2 = 5 Distributed Fair Scheduling (DFS) Packet length = 15 Weight of node 1 = 1 ====> B1 = 15 / 1 = 15 Weight of node 2 = 3 ====> B2 = 15 / 3 = 5
Collisions • Collisions occur when two nodes count down to 0 simultaneously • In centralized fair queueing, ties can be broken without causing “collisions” • To reduce the possibility of collisions: Backoff interval = Scaling_Factor * length / weight * random number with mean 1
Backoff Interval • Initial formula: Length / weight = 15 / 1 = 15 • Scaling_factor * length / weight * random number =4 * 15 / 1 * [0.9,1.1] = [54,66] 0 15
Backoff Interval 802.11 0 Proposed DFS 0
Collisions Resolution • Collision occurs when two nodes count down to 0 simultaneously • Counting to 0 implies that it is a given node’s “turn” to transmit • To reduce “priority” reversals, a small backoff interval is chosen after the first collision • Backoff interval increased exponentially on further collisions
Impact of Small Weights • Backoff interval: Scaling_factor * length / weight * random number • Backoff intervals can become large when weights are small • Large backoff intervals may degrade performance (time wasted in counting down)
Impact of Small Weights • Recall: Backoff intervals are being used to compare “length/weight” • Intuition: Any non-decreasing function of lenghth/weight may be used to obtain backoff intervals
Alternative Mappings Chosen backoff interval Linear mapping SQRT EXP Scaling_factor * length / weight * random number
Alternative Mappings • Advantage • smaller backoff intervals • less time wasted in counting down when weights of all backlogged flows are small • Disadvantage • backoff intervals that are different on a linear scale may become identical on the compressed scale • possibility for greater number of collisions
Performance Evaluation • Using modified ns-2 simulator: 2 Mbps channel • Number of nodes = N • Number of flows = N/2 • Odd-numbered nodes are destinations, even-numbered nodes are sources • Unless otherwise specified: • flow weight = 1 / number of flows • backlogged flows with packet size 584 bytes (including UDP/IP headers) • Scaling_Factor = 0.02
Fairness Index • Fairness measured as a function of (throughput T / weightf) for each flowf over an interval of time • Unless specified, the interval is 6 seconds
Throughput / Weight Variation Across Flows (with 16 Flows) 802.11 Flatter curve is fairer DFS is fairer Throughput / Weight Flow destination identifier
Throughput - Fairness Trade-Off 802.11 Aggregate throughput (all flows combined) Number of flows
Throughput - Fairness Trade-Off Fairness index 802.11 Number of flows
Scaled 802.11 • Fairness of 802.11 can be improved by using larger backoff intervals • Is DFS fairer simply because it uses large backoff intervals ? • Scaled 802.11 = 802.11 which uses backoff interval range comparable with DFS
Short-Term Fairness Narrow distribution is fairer DFS is fairer DFS Frequency Scaled 802.11 802.11 Number of packets transmitted by a flow (over 0.04 second windows)
Fairness versus Sampling Interval Size(24 flows) DFS Scaled 802.11 Fairness index 802.11 Interval Size
Alternative Mappings for Backoff Intervals • See additional data in the paper • EXP and SQRT improve throughput compared to LINEAR mapping when allbackloggedflows havelowweights • but not too impressively • If at least one backlogged flow has a high weight, not much benefit
Conclusions(supporting arguments for some conclusions not presented in the talk: please see the paper) • DFS improves fairness compared to 802.11 and Scaled 802.11 • Alternative mappings somewhat beneficial • No distributed fair scheduling protocol may accurately emulate work-conserving centralized protocols (unless clocks are synchronized)
Conclusions • Possible to augment DFS with other techniques to improve fairness in presence of transmission errors • see Seema Gupta’s M.S. thesis • No performance cost even if weight assigned to a flow is changed on a per-packet basis • Execution complexity of centralized protocols would increase • Possible to handle multiple flows per node
Other Potential Applications of DFS • Wired LANs • Wireless multi-hop networks • see our 1999 Microsoft Research technical report for some initial ideas
Issues for Further Work DFS is only the first step towards practical fairness: • How to choose parameters such as Scaling_Factor ? • Failure to choose reasonable values can degrade throughput or short-term fairness • How to choose flow weights ? • Let upper layer specify dynamically, or • Static assignment based on static criteria • Ad hoc network-related issues
Thank you! www.cs.tamu.edu/faculty/vaidya
Thank you! www.cs.tamu.edu/faculty/vaidya
Flow throughput Impact of Packet Size Three flows with different packet sizes 802.11 584 328 200 Packet size (bytes)
Impact of Scaling Factor(six flows with weights 1/2,1/4,1/8,1/16,1/32,1/32) DFS Fairness index Scaling Factor
Impact of Scaling Factor(six flows with weights 1/2,1/4,1/8,1/16,1/32,1/32) Aggregate throughput DFS Scaling factor
Related Past Work • Centralized fair queueing on wired links [Bennett,Demers,Parekh] • Centralized fair queueing in wireless environments, taking location-dependent errors into account [Bharghavan,Ramanathan,Zhang] • Distributed Real-time scheduling [Sobrinho] • Distributed Priority-based scheduling
Backoff Interval • Scaling factor • Small number : May result in more collisions • Large number: Larger overhead • Random number range • Small range will cause more collisions between synchronized nodes • How to choose these adaptively ? • This paper punts the issue • But heuristic solutions are easy to define • Heuristics yet to be evaluated