Title: Interference-Aware Fair Rate Control in Wireless Sensor Networks
1Interference-Aware Fair Rate Control in Wireless
Sensor Networks by Sumit Rangwala, Ramakrishna
Gummadi, Ramesh Govindan and Konstantinos
Psounis in ACM SIGCOMM 2006
2What is the paper about ?
- In a sensor network, multiple sensors try to send
data to a base station or sink -- this could
result in congestion en route. - No end-to-end mechanism to enforce congestion
control. - Congestion control method needs to be
lightweight, fair and efficient. - Towards this, the authors propose IFRC -- which
stands for Interference-Aware Fair Rate control - IFRC controls source sending rates so as to
provide fair share of the bandwidth to the
sources while ensuring high efficiency.
3Contributions
- Design of the new congestion control method IFRC
-- exploits the tree like structure that is
constructed in sensor networks. - Provide some analysis of what are the right
parameters to use with IFRC for ensuring
stability and fast convergence - Implement IFRC in a real sensor network and
conduct a thorough performance evaluation.
4Roadmap
- Why IFRC ?
- Related Work in Brief
- IFRC Design
- Parameter selection in IFRC
- Some details on the experimentation and results.
5Problem Statement -- why IFRC?
- Ensure that each sending source gets a fair share
of the bandwidth -- data from all parts of the
sensor network received by the base-station at
the same time, maintain efficiency. - Seek to achieve max-min fairness -- the minimum
rate with which a source can send is maximized. - Assign to each flow at least the most congested
fair share. - At the same time, allow flows that pass through
less restrictive contention regions to send at
higher rates. - Improves overall efficiency.
- Note that the above tasks require
interference-awareness.
6An Example
- Consider Link lt16 -- 14gt.
- Links that interfere with this link are
- lt 20 -- 16gt, lt21--16gt, lt14 --12gt, lt17 -- 14gt
since they are directly incident. - lt13-11gt, lt12-10gt since they interfere
- This implies any flow that goes through any of
these links shares capacity with 16. - This includes flows originating from 16, 20, 21,
14, 13, 17, 12, 15, 18, 19. - These form the set of interferers.
- Thus, if Node 16 was the congested node, all of
these originators should not generate packets at
a rate higher than that of 16. - Notice that Node 11 is not a potential
interferer. So it can generate packets at a
higher rate.
7Impact of MAC and routing
- Routing affects tree construction.
- Thus, quality of tree is determined by this --
although IFRC can work on any routing protocol. - A link state scheme can provide the construction
of a tree with more reliable links and this is
what the authors use. - MAC layer reliability is assumed when performing
the higher layer rate control. - Authors use retransmissions at the MAC layer to
ensure reliability. - With a limited number of retransmissions, their
experiments show that packets are reliably
transported.
8Related Work
- Distributed RED -- by Gerla et al. -- each node
computes the drop probability based on queue
states of all nodes contending for channel - Backpressure -- upon congestion, stall packets
that are trying to get through -- eventually
packets are stalled at the source -- CODA
(Campbell et al) and Fusion (Hari Balakrishnan). - ESRT (Akyldiz) -- closed loop control. Depending
on the sensor readings received, base-station
could either ask the sources to either increase
or decrease rates. - Other work -- read paper.
9Some definitions
- Fi - set of flows routed through node i
- includes flow generated by node i -- fi
- Assume that nodes have a nominal rate -- B
- Fi -- union of Fi and all sets Fj, where j is
either a neighbor of i or a neighbor of is
parent.
10IFRC Design
- Three components
- Congestion Detection
- Signaling
- Rate adaptation
11Measuring Congestion Levels
- Queue state indicative of congestion
- If MAC layer congestion exists (contention),
this results in increased queue sizes. - At each node, IFRC maintains a queue and
computes the weighted moving avg. of queue length
-- this is the measure of congestion. - avgq (1- wq) avgq wq instq
- If average queue size gt U, queue is congested.
- Then multiplicative decrease is invoked -- node
halves its current rate ri. - It then increases this additively.
- Node however, remains in a congested state until
average queue size falls below a lower threshold
L.
12Congestion Thresholds
- In practice a single threshold may be too coarse.
- Halving ri may still leave the node in a
congested state. - Multiple thresholds are employed. For some small
integer k, - U(k) U (k-1) I/2k-1
- When average queue size is increasing node halves
its rate ri whenever any U(k) is crossed (for any
k). - Thus, rate halving becomes aggressive and the
queue starts to drain.
13Signaling
- Each node explicitly transmits its queue length
to its potential interferers. - Somewhat tricky since the interferers could be
more than one hop away. - In each outgoing packet, a node indicates its
current rate ri and its average queue length
using which, other nodes can infer is congestion
state. - Nodes may forward such packets or overhear them
in promiscuous modes. - Note here that some of the nodes may not hear
this.
14Congestion Sharing
- In order to enable convergence to the fair rate,
IFRC introduces two rules - Rule 1 ri cannot exceed rj, the rate of is
parent j. - Rule 2 Whenever a congested neighbor j of i
crosses a congestion threshold U(k) for any k, i
sets its rate to the lower of ri and rj. The same
rule is applied for the most congested child l
of neighbor of i. - Why do these rules work ?
15Effects of the rules
- If there is a congested node i, from rule 1, all
of its children will reduce their rates to ri. - From rule 2, all of is neighbors (including its
parent) will set their rates to ri. - Following this, is parents neighbors (from rule
2) will also set their rates to ri. - The process continues recursively -- the parents
neighbors children etc. begin to set their rates
to ri. - It is easy to verify that the recursion process
has all of the desired interferers reducing their
rates to that of i.
16Note
- ri is the average rate -- not the instantaneous
rate. - Also note that this is the rate at which i
generates traffic and does not include forwarding
traffic. - Instantaneous rate may be affected by MAC layer
transmission scheduling etc. -
17Additive Increase
- Every 1/ri seconds, a node i, increases its rate
by d/ri. - Remember that a node does rate halving
successively when it enters the congestion state
-- it stops the halving when it exits that state. - However, when a node hears that its own rate is
higher than that of its parent, a neighbor or a
neighbors child (as specified in the rules), it
sets its rate appropriately. However, it does not
enter a congested state itself. -
18Slow Start
- Nodes start with an initial rate rinit.
- IFRC implements a multiplicative rate increase
initially -- similar to TCPs slow start. - Node i would add f to its rate every 1/ri
seconds. - It exists the slow start phase if one of three
conditions is satisfied - Node i becomes congested -- it has to then halve
its rate. - If node is rate exceeds that of its parent, it
sets its rate to that of its parent and transits
to additive increase. - Finally, if it is constrained by congestion
sharing (rules), it transits to the rate of the
constraining node and transits to additive
increase. - Slow start behavior also invoked when rate goes
below rinit.
19Base Station Behavior
- Unique -- does not source traffic.
- Uses a rate rb and adapts this in response to the
rates of its children. - It uses a slightly different algorithm.
- Base station decreases its rate only when any of
its children j, cross U(k) for any k. - It does not decrease its rate when any of its
non-child neighbors or any child of a neighbor is
congested. - I wont go into details -- but note that the
initial value rb should be high enough so that
the children are not affected by the configured
value.
20Extensions
- Authors discuss how
- weighted fairness can be accommodated
- multiple sinks can be accommodated
- Look at paper for details.
21Parameter Selection
- The authors do not analyze the impact of all the
values. - The main parametric value that they study is d,
the rate at which additive increase occurs. - This is important since there is no closed loop
feedback like with TCP. - Let rmin,i, rmax,i and r st,i be the minimum rate
of node i, the maximum rate of node i, and the
maximum sustainable rate of node i.
22Analyzing the AIMD behavior
- Note that the AIMD behavior is dictated by
-
- It is easy to see that this is a linear function
with slope d i.e., ri(t) dt. - Thus, the behavior may be visualized as
23- For stability, the amount of data transmitted
when ri is above rst should be no more than the
unexploited transmission opportunity when ri is
below rst. or in other words, rst,i gt (rmin,i
rmax,i)/ 2. - Also note that since the multiplicative factor is
1/2, rmax 2 rmin. - Thus, one obtains
24- To avoid jumping from rmin,ito rmax,i in one
step, d/rmin,i ltlt rmin,i and thus, d e rmin,i2
, where e is a small number. - In order to compute the right value of d, it is
enough to compute the right value for e. - The excess number of packets that a node will
send when it is congested is equal to the area of
the shaded region shown
This area is simply given by (rmax,i -
rst,i)2/2d.
25- Consider a congested node j. Let Iij be an
indicator function that is 1 if node is packets
pass through j and zero otherwise. - Then, the total accumulated packets at j is
- Note here -- the basis for this is an assumption
that ri values change in synchrony at all nodes
-- something that the authors prove via
experimentation. - The above expression also assumes that the
service time of a queue is independent of
congestion. This is not true -- congestion
increases service times. Thus, instead of Iij,
the authors use a function fij.
26- In order for the node to signal congestion
- In order to prevent multiple congestion signals
i.e., to prevent multiple multiplicative
decreases
27Latency effects
- Up to here, the impact of the delay incurred in
the propagation of congestion updates was
ignored. - Assume that by the time node js update reaches
node i, node i performed si rate updates
(increases). Also assume that the rate at node i
was rst,i when node j got congested. - We need that
28- Without loss of generality, the authors assume
that the values of r st,i, r min,i, and r max,i
are the same for all i. They further replace si
with an average value s.
- Then, the inequalities can be simplified (refer
paper) to obtain
where,
29- Furthermore, the ratio of rst,i to rmin, i ranges
between 1.5 and 2. - The 1.5 value comes from
and because
- The higher value comes because rmax 2 x rmin
gt rst.
Thus
and
30What does this mean ?
- In sparse networks or networks with low
contention, Fj is small and the first inequality
determines e. - In dense networks with high contention Fj is high
and second inequality limits e. - The authors argue for the tree structure Fj can
be set to n log n. (Read paper).
31Sample Experiments.
32Sample Results Goodput
- Red bar indicates packets/second that were
transmitted from a given node and the green
indicates packets/per second that were received
from that node. - Blue bar -- base station overhead.
33Sample Results -- Rate adaptation
- Note -- all nodes act in synchrony
- Slow start and AIMD behavior evident.
34Other experiments
- Show fairness in the presence of multiple sinks.
- Validate the choice of e they show that for
higher values system becomes unstable. - They show that link layer retransmissions are the
reason why goodput is fair. In the absence of
such retransmissions, goodput varies among
various nodes although the number of transmitted
packets remain same. - Demonstrate viability with weighted fairness.
35