Interference-Aware Fair Rate Control in Wireless

Interference-Aware Fair Rate Control
in Wireless Sensor Networks
by
Sumit Rangwala, Ramakrishna Gummadi,
Ramesh Govindan and Konstantinos Psounis
in ACM SIGCOMM 2006
What 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.
Contributions



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.
Roadmap





Why IFRC ?
Related Work in Brief
IFRC Design
Parameter selection in IFRC
Some details on the experimentation and results.
Problem 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.
An Example


Consider Link <16 -- 14>.
Links that interfere with this link are:




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.



< 20 -- 16>, <21--16>, <14 --12>, <17 -- 14>
since they are directly incident.
<13-11>, <12-10> since they interfere
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.
Impact 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.
Related 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.
Some 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 i’s parent.
IFRC Design

Three components



Congestion Detection
Signaling
Rate adaptation
Measuring 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 > 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.
Congestion 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.
Signaling

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 i’s congestion state.
Nodes may forward such packets or overhear them in
promiscuous modes.

Note here that some of the nodes may not hear this.
Congestion Sharing




In order to enable convergence to the fair rate, IFRC
introduces two rules:
Rule 1: ri cannot exceed rj, the rate of i’s 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 ?
Effects 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 i’s neighbors (including its parent) will
set their rates to ri.
Following this, i’s parent’s neighbors (from rule 2) will
also set their rates to ri.
The process continues recursively -- the parent’s
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.
Note
 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.
Additive 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 neighbor’s child (as
specified in the rules), it sets its rate appropriately.
However, it does not enter a “congested” state itself.
Slow Start




Nodes start with an initial rate rinit.
IFRC implements a multiplicative rate increase initially -similar to TCP’s 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 i’s 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.
Base 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 won’t 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.
Extensions

Authors discuss how



weighted fairness can be accommodated
multiple sinks can be accommodated
Look at paper for details.
Parameter 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.
Analyzing 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:



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 > (rmin,i + rmax,i)/ 2.
Also note that since the multiplicative factor is 1/2, rmax = 2 rmin.
Thus, one obtains:



To avoid jumping from rmin,ito rmax,i in one step, d/rmin,i <<
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.


Consider a congested node j. Let Iij be an indicator
function that is 1 if node i’s 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.

In order for the node to signal congestion:

In order to prevent multiple congestion signals i.e.,
to prevent multiple multiplicative decreases:
Latency effects



Up to here, the impact of the delay incurred in the
propagation of congestion updates was ignored.
Assume that by the time node j’s 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:

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,


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 > rst.
Thus:
and
What 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).
Sample Experiments.
Sample 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.
Sample Results -- Rate
adaptation
• Note -- all nodes act in synchrony
• Slow start and AIMD behavior evident.
Other 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.

Comments ?