Interference-Aware Fair Rate Control in Wireless Sensor Networks by Sumit Rangwala, Ramakrishna...

Post on 23-Mar-2016

27 views 0 download

description

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 ?. - PowerPoint PPT Presentation

Transcript of Interference-Aware Fair Rate Control in Wireless Sensor Networks by Sumit Rangwala, Ramakrishna...

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:

< 20 -- 16>, <21--16>, <14 --12>, <17 -- 14> since they are directly incident.

<13-11>, <12-10> 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.

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 /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 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 , 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 i.e., ri(t) = t.

• 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, /rmin,i << rmin,i and thus, = rmin,i

2 , where is a small number. In order to compute the right value of , it is enough to

compute the right value for . 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/2

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 .

In dense networks with high contention Fj is high and second inequality limits .

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 ; 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 ?