- 79 Views
- Uploaded on
- Presentation posted in: General

Interference-Aware Fair Rate Control in Wireless Sensor Networks (IFRC)

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Interference-Aware Fair Rate Control in Wireless Sensor Networks (IFRC)

Sumit Rangwala

Ramakrishna Gummadi, Ramesh Govindan, Konstantinos Psounis

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”

f11

f13

f15

f19

f20

Neighbor

10

11

12

13

14

15

17

18

19

16

20

21

- 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

- Led to congestion

f11

f13

f15

f19

f20

Neighbor

- CSMA MAC (without RTS/CTS)
- Link-layer retransmissions
- Routing Tree
- One flow originating per node

10

11

12

13

14

15

17

18

19

16

20

21

Assumptions consistent with current practice in sensornets

fi

fj

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

A

m

n

B

Flows that affect each others' rate may not traverse a common link or node

- Transmission rate along 16 →14
- Dependent on traffic on various other links
- 20 → 16, 21 → 16, 14 → 12
- 17 →14, 13 →11, 12 →10

- Dependent on traffic on various other links

10

Neighbor

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

- Dependent on traffic on various other links

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

- Dependent on traffic on various other links

- 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

- Dependent on traffic on various other links

Child/Parent

f

11

12

e

c

13

14

15

d

- 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

- … is affected by rate of:

16

17

18

19

a

b

20

21

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

Neighbor

Child/Parent

f

11

12

e

c

13

14

15

d

For CSMAand many-to-one traffic

potential interferer (ni) includes

- neighbors of ni
- neighbors of parent(ni)
- Descendents of all the above nodes

16

17

18

19

a

b

20

21

- 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

Queue at each node

Packet transmitted until queue is empty (with retransmission)

IFRC adapts rate of flow originating at a node,

not the rate of flows traversing the node

- Congestion Detection
- Based on queue length calculated as
qavg = wq * qinst + (1- wq) * qavg

- Thresholding

- Based on queue length calculated as
- Rate Adaptation
- Every 1/rate sec (Additive Increase)
rate= rate + δ/ rate

- On local congestion (Multiplicative Decrease)
rate= rate/2

- Every 1/rate sec (Additive Increase)

- Each node piggybacks on every transmitted packet
- Its own rate (rlocal) and its congestion state
- Rate and congestion state of its most congested child

Rule 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

Neighbor

Child/Parent

11

12

13

14

15

16

17

18

19

20

21

These rules are sufficient to signal all potential interferers

Queue Threshold

Network size and topology

Avg. depth of the tree

Queue Threshold

- Additive Increase
- δ = rate of increase

- Analytically characterize δ to ensure stability

32

4

31

42

41

40

39

38

37

36

35

34

33

3

30

5

29

6

2

21

20

7

1

28

27

25

19

18

16

14

13

12

9

8

26

24

23

22

15

11

17

10

4th Floor

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

- 40 node testbed
- Each experiment was conducted for an hour

Base Station

Base Station

Average goodput as well as the instantaneous goodput is fair

IFRC achieves 80% of the optimal fair rate

IFRC achieves 60% of the optimal fair rate

IFRC achieves 60-80% of the optimal fair rate

Max Buffer Size = 64

Not a single drop due to queue overflow

- IFRC works without modification
- Sending rate = weight* rlocalpkts/sec

w = 1

w = 2

w = 1

IFRC assigns rate proportional to node weight

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

- Node 4,5 and 6 get greater (but equal) rates

- 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

- 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

- Tinyos contrib

Backup Slides

- fiflow originating from node i
- Fiflows routed through node I
- At each node i, define Ғito 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.

- Allocate to each flow in Ғia fair and efficient share of the nominal bandwidth B. Denote by fl,ithe rate allocated at node i to flow l.
- Repeat this calculation for each node.
- Assign to flthe minimum of fl,i over all nodes i.

10

Neighbor

Child/Parent

11

12

13

14

15

16

17

18

19

20

21

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

- 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

Local Congestion

L

U

U + I

U + 3I/2

Local Congestion

- Slow start
- Starts with rate = rinit
- Every 1/ ratesec
- rate= rate + Φ

- Slow start ends when
- node itself get congested
- constrained by other nodes to reduce its rate
- Congestion sharing

every 1/ri sec

ri = ri+δ/ri

ri = ri /2

ri = ri /2

ri = ri /2

L

U

U + I

U + 3I/2

every 1/ri sec

ri = ri+δ/ri

ri remains unchanged

Rate adaptation with changing queue size

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

- Decreases rbase stationonly when a child of base station is congested.

- Additive increase
- Constraint on ε
- U0 and U1 based on [Floyd et al.]
- Rule of thumb for Fj
- (n = size of network)

Max Queue Length

IFRC achieves 60-80% of the optimal fair rate

Nodes join

Nodes leave

- Special case of weighted fairness
- nodes with no data to send ≡ weight = 0

Base Stations