Proportional allocation method of the required bandwidth ...
A Probabilistic Approach for Achieving Fair Bandwidth Allocation in CSFQ
description
Transcript of A Probabilistic Approach for Achieving Fair Bandwidth Allocation in CSFQ
![Page 1: A Probabilistic Approach for Achieving Fair Bandwidth Allocation in CSFQ](https://reader036.fdocuments.net/reader036/viewer/2022062519/56814eee550346895dbc7bca/html5/thumbnails/1.jpg)
Presented by: Peng Wang
EE Department
University of Delaware
A Probabilistic Approach for Achieving Fair Bandwidth Allocation in CSFQ
![Page 2: A Probabilistic Approach for Achieving Fair Bandwidth Allocation in CSFQ](https://reader036.fdocuments.net/reader036/viewer/2022062519/56814eee550346895dbc7bca/html5/thumbnails/2.jpg)
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
![Page 3: A Probabilistic Approach for Achieving Fair Bandwidth Allocation in CSFQ](https://reader036.fdocuments.net/reader036/viewer/2022062519/56814eee550346895dbc7bca/html5/thumbnails/3.jpg)
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
![Page 4: A Probabilistic Approach for Achieving Fair Bandwidth Allocation in CSFQ](https://reader036.fdocuments.net/reader036/viewer/2022062519/56814eee550346895dbc7bca/html5/thumbnails/4.jpg)
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
![Page 5: A Probabilistic Approach for Achieving Fair Bandwidth Allocation in CSFQ](https://reader036.fdocuments.net/reader036/viewer/2022062519/56814eee550346895dbc7bca/html5/thumbnails/5.jpg)
• 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
![Page 6: A Probabilistic Approach for Achieving Fair Bandwidth Allocation in CSFQ](https://reader036.fdocuments.net/reader036/viewer/2022062519/56814eee550346895dbc7bca/html5/thumbnails/6.jpg)
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
![Page 7: A Probabilistic Approach for Achieving Fair Bandwidth Allocation in CSFQ](https://reader036.fdocuments.net/reader036/viewer/2022062519/56814eee550346895dbc7bca/html5/thumbnails/7.jpg)
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
![Page 8: A Probabilistic Approach for Achieving Fair Bandwidth Allocation in CSFQ](https://reader036.fdocuments.net/reader036/viewer/2022062519/56814eee550346895dbc7bca/html5/thumbnails/8.jpg)
• 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
![Page 9: A Probabilistic Approach for Achieving Fair Bandwidth Allocation in CSFQ](https://reader036.fdocuments.net/reader036/viewer/2022062519/56814eee550346895dbc7bca/html5/thumbnails/9.jpg)
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
![Page 10: A Probabilistic Approach for Achieving Fair Bandwidth Allocation in CSFQ](https://reader036.fdocuments.net/reader036/viewer/2022062519/56814eee550346895dbc7bca/html5/thumbnails/10.jpg)
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
![Page 11: A Probabilistic Approach for Achieving Fair Bandwidth Allocation in CSFQ](https://reader036.fdocuments.net/reader036/viewer/2022062519/56814eee550346895dbc7bca/html5/thumbnails/11.jpg)
ALL UDPs: Fair Share EstimationALL UDPs: Fair Share Estimation
Ns-2.1b7a Ns-2.27
![Page 12: A Probabilistic Approach for Achieving Fair Bandwidth Allocation in CSFQ](https://reader036.fdocuments.net/reader036/viewer/2022062519/56814eee550346895dbc7bca/html5/thumbnails/12.jpg)
ALL UDPs: Throughput of each flowALL UDPs: Throughput of each flow
Ns-2.1b7a Ns-2.27
![Page 13: A Probabilistic Approach for Achieving Fair Bandwidth Allocation in CSFQ](https://reader036.fdocuments.net/reader036/viewer/2022062519/56814eee550346895dbc7bca/html5/thumbnails/13.jpg)
Simulations – Single Congested Link (ONE UDP)Simulations – Single Congested Link (ONE UDP)
0
1
2
31
10Mbps
.
.
.
TCPFlows
UDPFlow
UDP flows at 10Mbps
10Mbps
![Page 14: A Probabilistic Approach for Achieving Fair Bandwidth Allocation in CSFQ](https://reader036.fdocuments.net/reader036/viewer/2022062519/56814eee550346895dbc7bca/html5/thumbnails/14.jpg)
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
![Page 15: A Probabilistic Approach for Achieving Fair Bandwidth Allocation in CSFQ](https://reader036.fdocuments.net/reader036/viewer/2022062519/56814eee550346895dbc7bca/html5/thumbnails/15.jpg)
ONE UDP: Throughput of each flowONE UDP: Throughput of each flow
Ns-2.1b7a Ns-2.27
![Page 16: A Probabilistic Approach for Achieving Fair Bandwidth Allocation in CSFQ](https://reader036.fdocuments.net/reader036/viewer/2022062519/56814eee550346895dbc7bca/html5/thumbnails/16.jpg)
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 !!!