A Probabilistic Approach for Achieving Fair Bandwidth Allocation in CSFQ

16
Presented by: Peng Wang EE Department University of Delaware A Probabilistic Approach for Achieving Fair Bandwidth Allocation in CSFQ

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

Transcript of A Probabilistic Approach for Achieving Fair Bandwidth Allocation in CSFQ

Page 1: A Probabilistic Approach for Achieving Fair Bandwidth Allocation in CSFQ

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

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

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

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

• 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

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

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

• 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

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

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

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

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

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

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

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

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 !!!