Lecture 5: RED

Post on 29-Nov-2014

1.073 views 0 download

description

 

Transcript of Lecture 5: RED

1 11 September 2009 CS5229, Semester 1 2009/10

Sally Floyd and Van Jacobson “Random Early Detection Gateway for Congestion

Avoidance” "TON, 1993

2 11 September 2009 CS5229, Semester 1 2009/10

Router’s "Queue Management

3 11 September 2009 CS5229, Semester 1 2009/10

Manages sharing of "(i) buffer space"(ii) bandwidth

4 11 September 2009 CS5229, Semester 1 2009/10

Q1: Which packet to drop "(and when to drop) ?

5 11 September 2009 CS5229, Semester 1 2009/10

Q2: Which packet to send next?

6 11 September 2009 CS5229, Semester 1 2009/10

FIFO + Drop Tail

7 11 September 2009 CS5229, Semester 1 2009/10

Keep a single queue

8 11 September 2009 CS5229, Semester 1 2009/10

Drop what/when? "Drop arriving packets "

when queue is full

9 11 September 2009 CS5229, Semester 1 2009/10

Send what? "Send the packet at "

head of queue

10 11 September 2009 CS5229, Semester 1 2009/10

Round Robin

11 11 September 2009 CS5229, Semester 1 2009/10

One queue per flow

12 11 September 2009 CS5229, Semester 1 2009/10

Drop what/when? !Drop arriving packets from "flow i when queue i is full

13 11 September 2009 CS5229, Semester 1 2009/10

Send what? "Each flow takes turn -- send the

packet at the head of the queues in a round robin manner.

14 11 September 2009 CS5229, Semester 1 2009/10

Advantages of "FIFO and Drop Tail

15 11 September 2009 CS5229, Semester 1 2009/10

Simple to implement

16 11 September 2009 CS5229, Semester 1 2009/10

Scale well"(no per-connection states)

17 11 September 2009 CS5229, Semester 1 2009/10

Reduce delay for a bursty connection"(e.g. VoIP)

18 11 September 2009 CS5229, Semester 1 2009/10

Problems with "FIFO and Drop Tail

19 11 September 2009 CS5229, Semester 1 2009/10

Problem 1!Bias against bursty traffic"

burstiness increases chances that the queue will overflow

20 11 September 2009 CS5229, Semester 1 2009/10

Problem 2!Global synchronization"

connections reduce their windows simultaneously, lowering utilization.

21 11 September 2009 CS5229, Semester 1 2009/10

Problem 3!Queue size"

higher bandwidth needs longer "queue, increasing delay. "

TCP tries to keep the queue full.

22 11 September 2009 CS5229, Semester 1 2009/10

Problem 4!No isolation against "unresponsive flows

23 11 September 2009 CS5229, Semester 1 2009/10

Random Drop

24 11 September 2009 CS5229, Semester 1 2009/10

Keep a single queue

25 11 September 2009 CS5229, Semester 1 2009/10

Drop what/when? "Drop random packet in the queue "

when queue is full

26 11 September 2009 CS5229, Semester 1 2009/10

Send what? "Send the packet at "

head of queue

27 11 September 2009 CS5229, Semester 1 2009/10

No bias against bursty traffic -- "bursty arrival causes random packets to be dropped.

28 11 September 2009 CS5229, Semester 1 2009/10

Flows with higher rate occupy more buffer spaces, have higher chance to be dropped.

29 11 September 2009 CS5229, Semester 1 2009/10

Signal flows that is congesting the network to slow down.

30 11 September 2009 CS5229, Semester 1 2009/10

Random drop recovers from congestion (full queue) by dropping packets.

31 11 September 2009 CS5229, Semester 1 2009/10

Early Random Drop

32 11 September 2009 CS5229, Semester 1 2009/10

Drop what/when? "Drop arriving packet randomly when queue is longer than a

threshold

33 11 September 2009 CS5229, Semester 1 2009/10

Early random drop avoids congestion (full queue) by dropping packets before queue is full.

34 11 September 2009 CS5229, Semester 1 2009/10

RED"Random Early Detection

35 11 September 2009 CS5229, Semester 1 2009/10

Drop what/when? !Drop arriving packet randomly when average queue length "

is above a threshold

36 11 September 2009 CS5229, Semester 1 2009/10

Differences: Use average queue length instead of instantaneous

length to absorb transient congestion.

37 11 September 2009 CS5229, Semester 1 2009/10

Differences: Dropping probability changes dynamically depending

on queue length.

38 11 September 2009 CS5229, Semester 1 2009/10

1

Dropping Probability

Average Queue Length

39 11 September 2009 CS5229, Semester 1 2009/10

foreach incoming packet X" calc average queue length" if minth < average < maxth"

calc p " drop X with probability p" else if average > maxth"

drop X

40 11 September 2009 CS5229, Semester 1 2009/10

(Instead of dropping packets, we can also mark a packet to indicate congestion)

41 11 September 2009 CS5229, Semester 1 2009/10

How to calculate average queue length?"

How to calculate drop probability?"

How to set thresholds?

42 11 September 2009 CS5229, Semester 1 2009/10

We can use exponentially weighted average. On every packet arrival:

43 11 September 2009 CS5229, Semester 1 2009/10

Large wq : A burst of packets will cause avg to increase too fast, hit the max threshold"

Small wq : avg increases too slowly and we are unable to detect initial stage of congestions.

44 11 September 2009 CS5229, Semester 1 2009/10

45 11 September 2009 CS5229, Semester 1 2009/10

46 11 September 2009 CS5229, Semester 1 2009/10

We can use exponentially weighted average. On every packet arrival:

47 11 September 2009 CS5229, Semester 1 2009/10

What if q drops to zero and no packet arrives?

m is a function of period when queue is empty

48 11 September 2009 CS5229, Semester 1 2009/10

How to calculate average queue length?"

How to calculate drop probability"

How to set thresholds?

49 11 September 2009 CS5229, Semester 1 2009/10

1

Dropping Probability

Average Queue Length

pmax

minth maxth

50 11 September 2009 CS5229, Semester 1 2009/10

51 11 September 2009 CS5229, Semester 1 2009/10

52 11 September 2009 CS5229, Semester 1 2009/10

How to calculate average queue length?"

How to calculate drop probability?"

How to set thresholds?

53 11 September 2009 CS5229, Semester 1 2009/10

maxth - minth should be sufficiently"large otherwise average queue size can oscillate beyond maxth"

“need more research” for optimal value.

54 11 September 2009 CS5229, Semester 1 2009/10

Advantages of RED

55 11 September 2009 CS5229, Semester 1 2009/10

No bias against bursty flows"Less global synchronization"

Control average queue length

56 11 September 2009 CS5229, Semester 1 2009/10

RED does not deal with unresponsive flows

57 11 September 2009 CS5229, Semester 1 2009/10

ns-2 demo

58 11 September 2009 CS5229, Semester 1 2009/10

Variations of RED

59 11 September 2009 CS5229, Semester 1 2009/10

RED biases against flow with small packet size

60 11 September 2009 CS5229, Semester 1 2009/10

We can fix this by weighting drop probability to packet size

61 11 September 2009 CS5229, Semester 1 2009/10

A router can keep one queue per flow and apply RED to each one.

62 11 September 2009 CS5229, Semester 1 2009/10

Drop probability can be weighted with the priority of the flow.

63 11 September 2009 CS5229, Semester 1 2009/10

This is known as WRED and is implemented in some Cisco routers.

64 11 September 2009 CS5229, Semester 1 2009/10

Simulation"Results

65 11 September 2009 CS5229, Semester 1 2009/10

Four TCP flows starting at time 0.2, 0.4, 0.6 and 0.8

66 11 September 2009 CS5229, Semester 1 2009/10

67 11 September 2009 CS5229, Semester 1 2009/10

Conclusion:"RED increases throughput, reduces delay, controls average queue sizes, reduces global sync, and is fairer to bursty traffic. It is deployed in routers today."

But careful tuning of parameters is needed.