Professional Documents
Culture Documents
• Problems:
– allocate bandwidth fairly
– control queue size and hence delay
2
Approach 1: Network-centric
3
Approach 2: User-centric
5
Random Early Detection (RED)
Arriving packet
6
RED Dropping Curve
Drop Probability
1
maxp
0
minth maxth
7
What QoS does RED Provide?
8
Simulation Comparison: The setup
S(1) D(1)
10Mbps 10Mbps
TCP S(2) D(2) TCP
Sources
Sinks
S(m+1) D(m+1)
UDP UDP
Sources Sinks
S(m+n) D(m+n)
9
1 UDP source and 32 TCP sources
1000
RED
UDP Throughput (Kbps)
CHOKe
800
600
400
200
0
100 1000 10000
UDP Arrival Rate (Kbps)
10
A Randomized Algorithm: First Cut
• Observe: It is likely there are more packets from the red (unresponsive)
source
• So if a randomly chosen packet is evicted, it will likely be a red packet
• Therefore, one algorithm could be:
When buffer is congested evict a randomly chosen packet
11
Comments
• Since green sources are responsive, they interpret the packet drop as
a congestion signal and back-off
12
Randomized algorithm: Second attempt
• This works: That is, it limits the maximum bandwidth the red source
can consume
13
CHOKe
RED
Arriving packet
14
Simulation Comparison: The setup
S(1) D(1)
10Mbps 10Mbps
TCP S(2) D(2) TCP
Sources
Sinks
S(m+1) D(m+1)
UDP UDP
Sources Sinks
S(m+n) D(m+n)
15
1 UDP source and 32 TCP sources
1000
RED
UDP Throughput (Kbps)
CHOKe
800
600
400
200
0
100 1000 10000
UDP Arrival Rate (Kbps)
16
A Fluid Analysis
permeable tube
with leakage
17
Setup
Li(t)
location in tube
0 t t+t D
discards from the queue
N: the total number of packets in the buffer
i: the arrival rate for flow i
Li(t): the rate at which flow i packets cross location t
18
The Equation
Li (t )
Li (t ) Li (t t ) it
N
dLi (t ) Li (t )
i
dt N
Boundary Conditions
Li (0) i (1 pi ); D
Li (t )t
Li ( D) i (1 2 pi )
pi
0
N
19
Simulation Comparison: 1UDP, 32 TCPs
350
300
250
Throughput
200
150
100 fluid model
50 CHOKe ns simulation
0
0.1 1 10
Arrival Rate
20
Complete bandwidth partitioning
21
Our approach: Exploit power laws
• Most flows are very small (mice), most bandwidth is consumed by a few large (elephant) flows: simply partition the bandwidth amongst the elephant flows
• New problem: Quickly (automatically) identify elephant flows, allocate bandwidth to them
22
Detecting large (elephant) flows
• Detection:
– Flip a coin with bias p (= 0.1, say) for heads on each arriving
packet, independently from packet to packet.
– A flow is “sampled” if one its packets has a head on it
T T T T H T H
• A flow of size X has roughly 0.1X chance of being sampled
– flows with fewer than 5 packets are sampled with prob 0.5
– flows with more than 10 packets are sampled with prob 1
• Most mice will not be sampled, most elephants will be
23
The AFD Algorithm
Data Buffer
Di
Flow Table
24
AFD vs. WRED
Test 1: TCP Traffic (1Gbps, 4 Classes)
Weight 1 Weight 2
Class 2
Class 1
400 Flows
400 Flows 160 Flows
0 15 30 45 60 time 0 15 30 45 60 time
1600 Flows
Weight 3 Weight 4
Class 4
Class 3
0 15 30 45 60 time 0 15 30 45 60 time
TCP Traffic:Throughputs Under WRED
Throughput
Ratio:13/1
TCP Traffic: Throughputs Under AFD
Throughput
Ratio:2/1 as desired
AFD’s Implementation in IOS
3.50E+07
AFD-prec1
3.00E+07
AFD-prec2
Throughput (bps)
2.50E+07 AFD-prec3
AFD-prec4
2.00E+07
AFD-prec5
1.50E+07 12.5T-prec1
12.5T-prec2
1.00E+07 12.5T-prec3
5.00E+06 12.5T-prec4
12.5T-prec5
0.00E+00
Time (sec)
Scenario 2 (100Mbps Link) With Smaller Measurement Intervals
- the longer the interval => the better rate accuracy
3.50E+07 3.50E+07
3.00E+07 3.00E+07
Throughput (bps)
Throughput (bps)
Prec1 Prec1
2.50E+07 Prec2 2.50E+07 Prec2
Prec3 Prec3
2.00E+07 Prec4 2.00E+07
Prec4
Prec5 Prec5
1.50E+07 1.50E+07
1.00E+07 1.00E+07
5.00E+06 5.00E+06
0.00E+00 0.00E+00
0 1 2 3 4 5 0 1 2 3 4 5
3.50E+07
3.50E+07
3.00E+07
Throughput (bps)
Throughput (bps)
Prec1 3.00E+07
Prec1
2.50E+07 Prec2 2.50E+07 Prec2
Prec3
2.00E+07 Prec3
Prec4 2.00E+07
Prec4
1.50E+07 Prec5
1.50E+07 Prec5
1.00E+07 1.00E+07
5.00E+06 5.00E+06
0.00E+00 0.00E+00
0 1 2 3 4 5 0 1 2 3 4 5