1
Embedded Networks Laboratory
Interference-Aware Fair Rate Control in Wireless Sensor Networks (IFRC)
Sumit Rangwala
Ramakrishna Gummadi, Ramesh Govindan, Konstantinos Psounis
2
Embedded Networks Laboratory
Problem Definition• 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”
11
13 14 15
17 1918
12
2120
Neighbor10
16
f20
f19
f15
f11
f13
3
Embedded Networks LaboratoryMotivation: 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
4
Embedded Networks Laboratory
Assumptions• CSMA MAC (without
RTS/CTS)• Link-layer
retransmissions• Routing Tree • One flow originating per
node
11
13 14 15
17 1918
12
2120
Neighbor10
16
f20
f19
f15
f11
f13
Assumptions consistent with current practice in sensornets
5
Embedded Networks Laboratory
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.
fi
fj
A
B
m
n
Flows that affect each others' rate may not traverse a common link or node
6
Embedded Networks Laboratory
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
11
13 14
16
15
17 1918
12
2120
Neighbor
Child/Parent
b
c
d
e
f
a
• 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
• 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
• 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)
7
Embedded Networks Laboratory
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
11
13 14
16
15
17 1918
12
2120
Neighbor
Child/Parent
a b
c
d
e
f
For CSMA and many-to-one trafficpotential interferer (ni) includes
– neighbors of ni
– neighbors of parent(ni)– Descendents of all the above nodes
8
Embedded Networks Laboratory
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
Packet transmitted until queue is empty (with retransmission)
Queue at each node
IFRC adapts rate of flow originating at a node, not the rate of flows traversing the node
9
Embedded Networks Laboratory
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
10
Embedded Networks Laboratory
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
11
Embedded Networks Laboratory
Congestion SharingRule 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
11
13 14
16
15
17 1918
12
2120
Neighbor
Child/Parent
These rules are sufficient to signal all potential interferers
12
Embedded Networks Laboratory
Parameter Selection• Additive Increase
– δ = rate of increase• Analytically characterize δ to ensure stability
,8 0UF
K jjFs
UK 21
2
9
Queue Threshold
Queue Threshold
Avg. depth of the tree
Network size and topology
13
Embedded Networks Laboratory
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
35
1
4
8
6
714
10111213 918
20
21
16 1524 1726 22252728
30
31
23
32
36 34
29
35 3339 373841 4042
2
19
4th Floor
Base Station
14
Embedded Networks Laboratory
TopologyBase Station
15
Embedded Networks Laboratory
Per Flow Goodput and Packet Reception
Average goodput as well as the instantaneous goodput is fair
16
Embedded Networks Laboratory
Comparison with Optimal
IFRC achieves 60-80% of the optimal fair rate
IFRC achieves 80% of the optimal fair rate
IFRC achieves 60% of the optimal fair rate
17
Embedded Networks Laboratory
Rate Adaptation and Instantaneous Queue Length
Not a single drop due to queue overflow
Max Buffer Size = 64
18
Embedded Networks Laboratory
Weighted Fairness• IFRC works without modification
– Sending rate = weight* rlocal pkts/sec
w = 1 w = 1w = 2
IFRC assigns rate proportional to node weight
19
Embedded Networks Laboratory
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.
20
Embedded Networks Laboratory
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
21
Embedded Networks Laboratory
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
22
Embedded Networks Laboratory
Backup Slides
23
Embedded Networks Laboratory
Definition: Fair and Efficient Allocation
• fi flow originating from node i• Fi flows routed through node I
1. At each node i, define Ғi to 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.
2. Allocate to each flow in Ғi a fair and efficient share of the nominal bandwidth B. Denote by fl,i the rate allocated at node i to flow l.
3. Repeat this calculation for each node.
4. Assign to fl the minimum of fl,i over all nodes i.
10
11
13 14
16
15
17 1918
12
2120
Neighbor
Child/Parent
24
Embedded Networks Laboratory
Related Work• 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)]
Unlike prior work, we precisely identify the set of potential interferers
These heuristics don’t precisely identify the set of potential interferers
25
Embedded Networks Laboratory
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
L U U + I U + 3I/2
Local Congestion
Local Congestion
26
Embedded Networks Laboratory
Rate Adaptation• Slow start
– Starts with rate = rinit – Every 1/ rate sec
• rate = rate + Φ
• Slow start ends when – node itself get congested– constrained by other nodes to reduce its rate
• Congestion sharing
27
Embedded Networks Laboratory
Congestion Detection andRate Adaptation
ri remains unchanged
L U
every 1/ri secri = ri+δ/ri
ri = ri /2
U + I U + 3I/2
ri = ri /2 ri = ri /2
every 1/ri secri = ri+δ/ri
Rate adaptation with changing queue size
28
Embedded Networks Laboratory
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 station only 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.
29
Embedded Networks Laboratory
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)
ir min,2
nnFj log
08UFj
jFs
U2
1
2
9
,i
ii rrr
)(
)())(
1(tr
trtr
tri
ii
i
30
Embedded Networks Laboratory
Evaluation (Tree)
31
Embedded Networks Laboratory
Parameters Used
32
Embedded Networks Laboratory
Comparison with Optimal
Max Queue Length
IFRC achieves 60-80% of the optimal fair rate
33
Embedded Networks Laboratory
Node Addition
Nodes join
34
Embedded Networks Laboratory
Node Deletion
Nodes leave
35
Embedded Networks LaboratoryIFRC (No Link Layer
Retransmissions)
36
Embedded Networks Laboratory
Subset of node • Special case of weighted fairness
– nodes with no data to send ≡ weight = 0
37
Embedded Networks Laboratory
Multiple Sink (Trees)
Base Stations