Interference-Aware Fair Rate Control in Wireless Sensor Networks PowerPoint PPT Presentation

presentation player overlay
About This Presentation
Transcript and Presenter's Notes

Title: Interference-Aware Fair Rate Control in Wireless Sensor Networks


1
Interference-Aware Fair Rate Control in Wireless
Sensor Networks by Sumit Rangwala, Ramakrishna
Gummadi, Ramesh Govindan and Konstantinos
Psounis in ACM SIGCOMM 2006
2
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.

3
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.

4
Roadmap
  • Why IFRC ?
  • Related Work in Brief
  • IFRC Design
  • Parameter selection in IFRC
  • Some details on the experimentation and results.

5
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.

6
An 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.

7
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.

8
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.

9
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 is
    parent.

10
IFRC Design
  • Three components
  • Congestion Detection
  • Signaling
  • Rate adaptation

11
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 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.

12
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.

13
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 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.

14
Congestion 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 ?

15
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 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.

16
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.

17
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
    neighbors child (as specified in the rules), it
    sets its rate appropriately. However, it does not
    enter a congested state itself.

18
Slow 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.

19
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 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.

20
Extensions
  • Authors discuss how
  • weighted fairness can be accommodated
  • multiple sinks can be accommodated
  • Look at paper for details.

21
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.

22
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

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

27
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 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
30
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).

31
Sample Experiments.
32
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.

33
Sample Results -- Rate adaptation
  • Note -- all nodes act in synchrony
  • Slow start and AIMD behavior evident.

34
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.

35
  • Comments ?
Write a Comment
User Comments (0)
About PowerShow.com