11. One queue per flow
11 September 2009
CS5229, Semester 1 2009/10
11
12. Drop what/when? !
Drop arriving packets from "
flow i when queue i is full
11 September 2009
CS5229, Semester 1 2009/10
12
13. Send what? "
Each flow takes turn -- send the
packet at the head of the queues in
a round robin manner.
11 September 2009
CS5229, Semester 1 2009/10
13
14. Advantages of "
FIFO and Drop Tail
11 September 2009
CS5229, Semester 1 2009/10
14
16. Scale well"
(no per-connection states)
11 September 2009
CS5229, Semester 1 2009/10
16
17. Reduce delay for a bursty
connection"
(e.g. VoIP)
11 September 2009
CS5229, Semester 1 2009/10
17
18. Problems with "
FIFO and Drop Tail
11 September 2009
CS5229, Semester 1 2009/10
18
19. Problem 1!
Bias against bursty traffic"
burstiness increases chances that the queue will
overflow
11 September 2009
CS5229, Semester 1 2009/10
19
20. Problem 2!
Global synchronization"
connections reduce their windows simultaneously,
lowering utilization.
11 September 2009
CS5229, Semester 1 2009/10
20
21. Problem 3!
Queue size"
higher bandwidth needs longer "
queue, increasing delay. "
TCP tries to keep the queue full.
11 September 2009
CS5229, Semester 1 2009/10
21
22. Problem 4!
No isolation against "
unresponsive flows
11 September 2009
CS5229, Semester 1 2009/10
22
32. Drop what/when? "
Drop arriving packet randomly
when queue is longer than a
threshold
11 September 2009
CS5229, Semester 1 2009/10
32
33. Early random drop avoids
congestion (full queue) by
dropping packets before queue is
full.
11 September 2009
CS5229, Semester 1 2009/10
33
34. RED"
Random Early Detection
11 September 2009
CS5229, Semester 1 2009/10
34
35. Drop what/when? !
Drop arriving packet randomly
when average queue length "
is above a threshold
11 September 2009
CS5229, Semester 1 2009/10
35
36. Differences: Use average queue
length instead of instantaneous
length to absorb transient
congestion.
11 September 2009
CS5229, Semester 1 2009/10
36
38. Dropping Probability
1
Average Queue Length
11 September 2009
CS5229, Semester 1 2009/10
38
39. 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
11 September 2009
CS5229, Semester 1 2009/10
39
40. (Instead of dropping packets, we
can also mark a packet to indicate
congestion)
11 September 2009
CS5229, Semester 1 2009/10
40
41. How to calculate average queue
length?"
How to calculate drop probability?"
How to set thresholds?
11 September 2009
CS5229, Semester 1 2009/10
41
42. We can use exponentially weighted
average. On every packet arrival:
11 September 2009
CS5229, Semester 1 2009/10
42
43. 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.
11 September 2009
CS5229, Semester 1 2009/10
43
52. How to calculate average queue
length?"
How to calculate drop probability?"
How to set thresholds?
11 September 2009
CS5229, Semester 1 2009/10
52
53. maxth - minth should be sufficiently"
large otherwise average queue size
can oscillate beyond maxth"
“need more research” for optimal
value.
11 September 2009
CS5229, Semester 1 2009/10
53
67. 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.
CS5229, Semester 1 2009/10
11 September 2009
67