Upload
forest
View
28
Download
0
Embed Size (px)
DESCRIPTION
A Probabilistic Approach for Achieving Fair Bandwidth Allocation in CSFQ. Presented by: Peng Wang EE Department University of Delaware. Background. Why need fairness? Ill-behaved flows consume most of the resource Well-behaved flows are starved out Three approaches for fairness - PowerPoint PPT Presentation
Citation preview
Presented by: Peng Wang
EE Department
University of Delaware
A Probabilistic Approach for Achieving Fair Bandwidth Allocation in CSFQ
BackgroundBackground
• Why need fairness?– Ill-behaved flows consume most of the resource– Well-behaved flows are starved out
• Three approaches for fairness– Stateful solution: (Fair Queueing)
• Each router maintains per-state information and operates on per-state basis• Good performance• Scalability problem
– Stateless solution: (CHOKe)• No per-flow information • Approximately fairness
– Partial State solution: (CSFQ, RAINBOW, SRED)• Partial State information• Approximately fairness (Generally better than stateless solution)• Complexity between stateful solution and stateless solution
Fair QueueingFair Queueing
Disadvantage:• Need to perform packet classification and maintain state and
buffers on per-flow basis and perform operations on per-flow basis
The CSFQ (core stateless FQ) ApproachThe CSFQ (core stateless FQ) Approach
• Goal: Achieve approximately fair bandwidth allocation• Differentiate between Edge router and Core router Edge router maintains per-flow state Core router is stateless
• Assume that flow i has arrival rate ri(t) and the fair rate is α(t).
• If ri(t) < α(t), all of its traffic is forwarded.
• If ri(t) > α(t), then a fraction (ri(t) - α(t))/ ri(t) will be dropped; each packet
of the flow is dropped with probability (1- α(t)/ri(t)).
CSFQCSFQ
• In an island of routers, edge routers measure per-flow rate and label the packets with these measures.
• Routers drop packets probabilistically based on the per-flow state in the packet header and fair share estimation
CSFQCSFQ
• The problem now becomes how to calculate the flow rate ri(t)
values and the fair rate a(t), without keeping per flow state in the core routers.
• Flow rates ri(t), are calculated at edge routers which keep per
flow state and then insert the rate value inside the packet header of packets belonging to that flow.
• Estimation of flow arrival rates:Rnew = (1-e-T/K)*l/T + e-T/K*Rold
where T = packet interarrival time
l = packet size
K = constant
CSFQ: Estimate fair rate (Heuristic)CSFQ: Estimate fair rate (Heuristic)• To estimate the fair rate α(t), an iterative procedure is used: routers meausre
aggregate arrival rate A and the aggregate accepted rate F. (arrival packets dropped packets accepted packets).
• Based on these, the fair rate a is computed periodically as:
- Uncongested: A< C at all times during a time interval of length Kc.then a is set to the maximum ri(t) during Kc
- Congested: A > C at all times during a time interval of length Kc. then anew = aold*C/F
- Normal: others
Normal UncongCong
A<C during Kc
Update α and return immediately: α=max(p.label) during Kc
A>C during Kc
Update α and return immediately:
α= α*C/F
Fig: FSM for fair share estimation in CSFQ
• Zombie List– A list of M recently seen packets
– Longer memory than the buffer alone
• Pi: Probability that arrival packet belongs to flow i
– Assume Pi doesn’t change in a limited time interval
• Hit
SRED: Some DefinitionsSRED: Some Definitions
Zombie List
n incoming packets
SRED: Estimate fair share SRED: Estimate fair share
• Symmetric case: N flows, pi = 1/N – ΣPi2 = 1/N (exact estimate) m/n=1/NN=n/m
• Asymmetric case: N ≈ 1/ ΣPi2 = n/m good estimation
Zombie List
n incoming packets
Pi
Pi: random select a packet
Hit prob for flow i:Pi2
Hit prob: ΣPi2
# of hits: m = n ΣPi2
ΣPi2=m/n 1/N=<ΣPi2< 1
n: sample size
After n packets arrives, the estimation of fair share is updated.
Fair Share = C/N
where N ≈ n/m
Simulations – Single Congested Link (ALL UDP)Simulations – Single Congested Link (ALL UDP)
0
1
2
31
10Mbps
.
.
.
i
10Mbps
32T i 1 where 0 i 31
UDPFlows
ALL UDPs: Fair Share EstimationALL UDPs: Fair Share Estimation
Ns-2.1b7a Ns-2.27
ALL UDPs: Throughput of each flowALL UDPs: Throughput of each flow
Ns-2.1b7a Ns-2.27
Simulations – Single Congested Link (ONE UDP)Simulations – Single Congested Link (ONE UDP)
0
1
2
31
10Mbps
.
.
.
TCPFlows
UDPFlow
UDP flows at 10Mbps
10Mbps
ONE UDP: Fair Share EstimationONE UDP: Fair Share Estimation
Ns-2.1b7a Ns-2.27
congested--->α=0.569266, C/F=1.010354congested--->α=0.497685, C/F=0.874257congested--->α=0.540367, C/F=1.085760congested--->α=0.531257, C/F=0.983142
congested--->α=1.165561, C/F=1.910136congested--->α=5.488898, C/F=4.709231congested--->α=10.00000, C/F=2.163037congested--->α=9.320702, C/F=0.93207
ONE UDP: Throughput of each flowONE UDP: Throughput of each flow
Ns-2.1b7a Ns-2.27
Further work:Further work:
• Make clear the confusion of NS2 version• Optimize my fair share estimation• Flows with different RTT• Multiple congested links• Web traffic
THANKS !!!