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