380 likes | 547 Views
Interference-Aware Fair Rate Control in Wireless Sensor Networks (IFRC). Sumit Rangwala Ramakrishna Gummadi, Ramesh Govindan, Konstantinos Psounis. Wireless network of N nodes Data transmission over multiple hops to a single node
E N D
Interference-Aware Fair Rate Control in Wireless Sensor Networks (IFRC) Sumit Rangwala Ramakrishna Gummadi, Ramesh Govindan, Konstantinos Psounis
Wireless network of N nodes Data transmission over multiple hops to a single node “Design a distributed algorithm to dynamically allocate fair and efficient rate to each flow” f11 f13 f15 f19 f20 Problem Definition Neighbor 10 11 12 13 14 15 17 18 19 16 20 21
Motivation: A Wireless Sensor Network for Collecting Structural Vibrations • Nodes measured vibrations and transmitted it to a central node • Over multiple hops • Preconfigured rates for each flow • Led to congestion • More than an hour to receive 10 min of vibration data in a 15 node network
f11 f13 f15 f19 f20 Assumptions Neighbor • CSMA MAC (without RTS/CTS) • Link-layer retransmissions • Routing Tree • One flow originating per node 10 11 12 13 14 15 17 18 19 16 20 21 Assumptions consistent with current practice in sensornets
fi fj Challenges • Goal • Max-min allocation • Wireless Networks • Transmission rate from a node to its neighbor depends on neighborhood traffic • Flows affecting this transmission rate are not merely flows traversing a node. A m n B Flows that affect each others' rate may not traverse a common link or node
Challenges • Transmission rate along 16 →14 • Dependent on traffic on various other links • 20 → 16, 21 → 16, 14 → 12 • 17 →14, 13 →11, 12 →10 10 Neighbor • Transmission rate along 16 →14 • Dependent on traffic on various other links • 20 → 16 (a) , 21 → 16 (b), 14 → 12 (c) • 17 →14 (d), 13 →11 (e), 12 →10 (f) • Transmission rate along 16 →14 • Dependent on traffic on various other links • 20 → 16 (a) , 21 → 16 (b), 14 → 12 (c) • 17 →14 (d), 13 →11 (e), 12 →10 (f) • Transmission rate along 16 →14 • Dependent on traffic on various other links • 20 → 16 (a) , 21 → 16 (b), 14 → 12 (c) • 17 →14, 13 →11, 12 →10 Child/Parent f 11 12 e c 13 14 15 d • The rate of flows traversing 16 →14 (flows from 20, 21, and 16) • … is affected by rate of: • Flows originating from 17, 14, 13, 12, • As well as 15, 18, 19 16 17 18 19 a b 20 21
Definition: Potential Interferer Interfering links l1 interferes with a link l2 if transmission along l1 prevents • initiation of a transmission along l2 or • successful reception of a transmission along l2. Potential interferer Node n1 is a potential interferer of node n2 if • flow originating from node n1 uses a link that interferes with the link n2 → parent(n2). 10 Neighbor Child/Parent f 11 12 e c 13 14 15 d For CSMAand many-to-one traffic potential interferer (ni) includes • neighbors of ni • neighbors of parent(ni) • Descendents of all the above nodes 16 17 18 19 a b 20 21
IFRC Design • Congestion Detection • Based on avg. queue length • Congestion Sharing • To all the potential interferers • Rate Adaptation • AIMD rlocal (rate of flow from this node) Forwarding Traffic Queue at each node Packet transmitted until queue is empty (with retransmission) IFRC adapts rate of flow originating at a node, not the rate of flows traversing the node
Congestion Detection and Rate Adaptation • Congestion Detection • Based on queue length calculated as qavg = wq * qinst + (1- wq) * qavg • Thresholding • Rate Adaptation • Every 1/rate sec (Additive Increase) rate= rate + δ/ rate • On local congestion (Multiplicative Decrease) rate= rate/2
Congestion Sharing • Each node piggybacks on every transmitted packet • Its own rate (rlocal) and its congestion state • Rate and congestion state of its most congested child
Congestion Sharing Rule 1: Local rate of a node should not be greater than that of its parent (rlocal <rparent) Rule 2: For any congested neighbor or congested child of a neighbor Local rate should not be greater than the rate of the congested node (rlocal <rcongested node) 10 Neighbor Child/Parent 11 12 13 14 15 16 17 18 19 20 21 These rules are sufficient to signal all potential interferers
Queue Threshold Network size and topology Avg. depth of the tree Queue Threshold Parameter Selection • Additive Increase • δ = rate of increase • Analytically characterize δ to ensure stability
32 4 31 42 41 40 39 38 37 36 35 34 33 3 30 5 29 6 2 21 20 7 1 28 27 25 19 18 16 14 13 12 9 8 26 24 23 22 15 11 17 10 4th Floor Evaluation on Sensor Testbed • Platform • Tmote Sky • TinyOS 1.1.15 • Setup • 40 node testbed • Network diameter = 8 hops • Static routing tree • Depth of the Tree = 9 hops • Link quality varied from 66% to 96% • Each experiment was conducted for an hour Base Station
Topology Base Station
Per Flow Goodput and Packet Reception Average goodput as well as the instantaneous goodput is fair
Comparison with Optimal IFRC achieves 80% of the optimal fair rate IFRC achieves 60% of the optimal fair rate IFRC achieves 60-80% of the optimal fair rate
Rate Adaptation and Instantaneous Queue Length Max Buffer Size = 64 Not a single drop due to queue overflow
Weighted Fairness • IFRC works without modification • Sending rate = weight* rlocalpkts/sec w = 1 w = 2 w = 1 IFRC assigns rate proportional to node weight
Multiple Sink • Two base stations rooted at 1 and 41 • Nodes get rates that are fair across trees • IFRC is efficient • Node 4,5 and 6 get greater (but equal) rates • Their flows don’t traverse the most congested region.
Conclusions • Analysis of set of flows that share congestion at a node • Potential interferers • Design and implementation of low-overhead rate control mechanism • Analysis of IFRC’s steady-state behavior • Provide guidelines for parameters selection
Thank You • For more Information • http://enl.usc.edu/~srangwal/projects/ifrc.html • Code • Tinyos contrib • tinyos-1.x/contrib/usc-ifrc • ENL public CVS • http://enl.usc.edu/cgi-bin/viewcvs/viewcvs.cgi/ifrc
Definition: Fair and Efficient Allocation • fiflow originating from node i • Fiflows routed through node I • At each node i, define Ғito be the union of Fi and all sets Fj • where j is either a neighbor of i, or a neighbor of i’s parent. These flows are flows from i’s potential interferers. • Allocate to each flow in Ғia fair and efficient share of the nominal bandwidth B. Denote by fl,ithe rate allocated at node i to flow l. • Repeat this calculation for each node. • Assign to flthe minimum of fl,i over all nodes i. 10 Neighbor Child/Parent 11 12 13 14 15 16 17 18 19 20 21
Sensornets Graceful, fair, degradation under load [Hull et al. (Fusion), Wan et al. (CODA)] Centralized rate allocation [Sankarasubramaniam et al. (ESRT), Ee et al.] AIMD-based rate adaptation without congestion sharing [Woo et al.] Wireless ad-hoc networks Congestion sharing heuristics for any-to-any communication [Xu et al. (NRED)] Related Work Unlike prior work, we precisely identify the set of potential interferers These heuristics don’t precisely identify the set of potential interferers
Congestion Detection • Based on queue length calculated as EWMA qavg = wq * qinst + (1- wq) * qavg • Multiple thresholds • Lower threshold L • Upper thresholds U(k) = U(k-1) + I/2k-1 • U(0) = U Local Congestion L U U + I U + 3I/2 Local Congestion
Rate Adaptation • Slow start • Starts with rate = rinit • Every 1/ ratesec • rate= rate + Φ • Slow start ends when • node itself get congested • constrained by other nodes to reduce its rate • Congestion sharing
every 1/ri sec ri = ri+δ/ri ri = ri /2 ri = ri /2 ri = ri /2 L U U + I U + 3I/2 every 1/ri sec ri = ri+δ/ri ri remains unchanged Congestion Detection andRate Adaptation Rate adaptation with changing queue size
Base Station • Maintains rbase station, like rlocal of any other node, to share congestion across nodes • Follows the same algorithm for rate adaptation with one exception • Decreases rbase stationonly when a child of base station is congested. • It does not decreases its rate when any other neighbor is congested or any child of a neighbor is congested.
Parameter Selection (Steady State) • Additive increase • Constraint on ε • U0 and U1 based on [Floyd et al.] • Rule of thumb for Fj • (n = size of network)
Comparison with Optimal Max Queue Length IFRC achieves 60-80% of the optimal fair rate
Node Addition Nodes join
Node Deletion Nodes leave
Subset of node • Special case of weighted fairness • nodes with no data to send ≡ weight = 0
Multiple Sink (Trees) Base Stations