core stateless fair queueing

31
1 Core Stateless Core Stateless Fair Queueing Fair Queueing Ion Stoica Ion Stoica Hui Zhang Hui Zhang Scott Shenker Scott Shenker CMU CMU CMU CMU Xerox PARC Xerox PARC

Upload: oscar-melton

Post on 31-Dec-2015

51 views

Category:

Documents


1 download

DESCRIPTION

Core Stateless Fair Queueing. Ion Stoica Hui Zhang Scott Shenker CMU CMU Xerox PARC. Document Organization. Provide a brief description and overview of Coreless Stateless Fair Queing Describe the algorithms supporting the model - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Core Stateless Fair Queueing

1

Core Stateless Fair Core Stateless Fair QueueingQueueing

Ion Stoica Ion Stoica Hui Zhang Hui Zhang Scott Scott ShenkerShenker

CMU CMU Xerox PARCCMU CMU Xerox PARC

Page 2: Core Stateless Fair Queueing

2

Document OrganizationDocument Organization

Provide a brief description and Provide a brief description and overview of Coreless Stateless Fair overview of Coreless Stateless Fair QueingQueing

Describe the algorithms supporting Describe the algorithms supporting the modelthe model

Simulations and comparisons with Simulations and comparisons with differnet loadsdiffernet loads

Conclusion and resultsConclusion and results

Page 3: Core Stateless Fair Queueing

3

IntroductionIntroduction

The purpose of this paper is to The purpose of this paper is to achieve congestion control by achieve congestion control by allocation of bandwidth in a fair allocation of bandwidth in a fair manner.manner.

The architecture proposed is a set of The architecture proposed is a set of algorithms which are simple and algorithms which are simple and inexpensive to implement on a inexpensive to implement on a contiguous portion of network with contiguous portion of network with well defined interior and edges.well defined interior and edges.

Page 4: Core Stateless Fair Queueing

4

Mechanisms for Congestion Mechanisms for Congestion Control and FairnessControl and Fairness

FIFO FIFO Drop tail strategy.Drop tail strategy. RED RED Buffer management, probabilistically Buffer management, probabilistically

drop drop packets to keep the occupancy packets to keep the occupancy between between the max and min the max and min thresholdsthresholds

FREDFRED(Flow Random early drop) Extends (Flow Random early drop) Extends RED RED to achieve fairness. to achieve fairness.

DRRDRR(Deficit Round Robin) Employs (Deficit Round Robin) Employs sophisticated weighted fair sophisticated weighted fair

queuing.queuing.

Page 5: Core Stateless Fair Queueing

5

Architecture for Core Stateless Fair Architecture for Core Stateless Fair QueuingQueuing

Edge RouterEdge Routera)a) Maintains Flow per Maintains Flow per

state.state.b)b) Label the packet Label the packet

with the rate with the rate estimateestimate

Core RouterCore Routera)a) Uses FIFO QueuingUses FIFO Queuingb)b) Probabilistic Probabilistic

droppingdroppingdepending on label, depending on label, fair rate of router fair rate of router depending on depending on aggregate trafficaggregate traffic

Page 6: Core Stateless Fair Queueing

6

Functions of Edge and Core Functions of Edge and Core RoutersRouters

Classify the packets to a flowClassify the packets to a flow Label the packetLabel the packet

Update the fair share rate estimation for Update the fair share rate estimation for the outgoing linkthe outgoing link

Update the flow rate estimationUpdate the flow rate estimation Forward the packet depending on Forward the packet depending on

dropping probability max(0,1-dropping probability max(0,1-αα/r(i))/r(i)) Relabel the packet.Relabel the packet.

Page 7: Core Stateless Fair Queueing

7

Fluid model and Packet Algorithm Fluid model and Packet Algorithm at the coreat the core

Suppose each flow arrival rate ri(t) is knownSuppose each flow arrival rate ri(t) is known If it’s fair share rate is a(t), then the service If it’s fair share rate is a(t), then the service

received by the flow at time t will be received by the flow at time t will be min(ri(t) ,a(t))min(ri(t) ,a(t))

Thus the total outgoing traffic from the Thus the total outgoing traffic from the router would be the ∑ (min(ri(t) ,a(t)) =Crouter would be the ∑ (min(ri(t) ,a(t)) =C

The fraction of packet dropped from each The fraction of packet dropped from each flow is calculated by ((ri(t) - a(t))/ ri(t).flow is calculated by ((ri(t) - a(t))/ ri(t).

Page 8: Core Stateless Fair Queueing

8

Flow Arrival rate at the edge routerFlow Arrival rate at the edge router

Use a exponential averaging system.Use a exponential averaging system. The estimated rate of arrival of each The estimated rate of arrival of each

new packet is computed from the new packet is computed from the inter arrival time, the length of the inter arrival time, the length of the packet and the previous rate which is packet and the previous rate which is thus updatedthus updated

Rnew = (1-e-Ti/K)*Li/Ti + e-Ti/K*RoldRnew = (1-e-Ti/K)*Li/Ti + e-Ti/K*Roldwhere Li is the length of the packet at tiwhere Li is the length of the packet at ti

and T is the time between packet ti-1 and tiand T is the time between packet ti-1 and ti

Page 9: Core Stateless Fair Queueing

9

Link Fair Rate EstimatorLink Fair Rate Estimator

The estimated rate is put into the label by the The estimated rate is put into the label by the edge router.edge router.

At the core router the fair rate is estimated from At the core router the fair rate is estimated from the algorithm of aggregated arrival rate and the algorithm of aggregated arrival rate and aggregated accepted rate which are updated aggregated accepted rate which are updated from each arrival of packets.from each arrival of packets.

Page 10: Core Stateless Fair Queueing

10

Link congestedLink congested

F(α)=∑min(ri(t), α(t))F(α)=∑min(ri(t), α(t))α(t) is the fair share rateα(t) is the fair share rateF is the estimated fair F is the estimated fair packet accepance rate of packet accepance rate of all the traffic.all the traffic.

Agg(n )=(1-e-T/K)*L/T + e-Agg(n )=(1-e-T/K)*L/T + e-T/K*Agg(o)T/K*Agg(o)Agg(n)The estimated Agg(n)The estimated aggregate arrival rate aggregate arrival rate F is calculated similarlyF is calculated similarly

The estimate for fair share The estimate for fair share rate is updated likerate is updated like

αnew =αold *C/Fαnew =αold *C/F

Link not congestedLink not congestedαα is said to the largest rate is said to the largest rate of any active flow r(i) and of any active flow r(i) and aggregate received traffic aggregate received traffic

Agg(n) <C during an Agg(n) <C during an interval of length Kcinterval of length Kc

Page 11: Core Stateless Fair Queueing

11

AlgorithmAlgorithm

The edge router estimates the rate usingThe edge router estimates the rate using

Rnew = (1-e-Ti/K)*Li/Ti + e-Ti/K*RoldRnew = (1-e-Ti/K)*Li/Ti + e-Ti/K*Rold

and puts in the labeland puts in the label

The core router finds the probability of dropping The core router finds the probability of dropping the packet using the fair rate estimator the packet using the fair rate estimator αα

Drop Prob=max(0,1-Drop Prob=max(0,1- αα /p.label) /p.label)

The rate estimator The rate estimator αα is updated with each packet is updated with each packet

Page 12: Core Stateless Fair Queueing

12

Label rewritingLabel rewriting

If there is congestion at core router, If there is congestion at core router, the packet labels need to be updated the packet labels need to be updated at the core router which is done byat the core router which is done by

LLnewnew = min(L = min(Loldold, , αα))

Outgoing rate is the minimum of Outgoing rate is the minimum of incoming and the fair rateincoming and the fair rate

Page 13: Core Stateless Fair Queueing

13

Weighed CSFQWeighed CSFQ

If priority is needed for certain specific If priority is needed for certain specific flows this algorithm can be updated to flows this algorithm can be updated to

include the weighs of the flows and include the weighs of the flows and thus the dropping probability of the thus the dropping probability of the packet would bepacket would beMax(0,1- Max(0,1- αα w wi/i/r(i))r(i))The sum of all weigted flow should be The sum of all weigted flow should be a solution for the link capacity.a solution for the link capacity.

∑ ∑wwii min( min(αα,r(i)/w,r(i)/wii) =C) =C

Page 14: Core Stateless Fair Queueing

14

Performance bounds for weighed Performance bounds for weighed CSFQCSFQ

During a time interval a flow can During a time interval a flow can receive excessive service due to it’s receive excessive service due to it’s weight.weight.

The excessive service can be The excessive service can be restricted to this flow by restricted to this flow by implementing a performance bound implementing a performance bound such that it cannot exceed the fair such that it cannot exceed the fair share.share.

Page 15: Core Stateless Fair Queueing

15

Choice of K for algorithmChoice of K for algorithm

e-T/Ke-T/K

A smaller K increases the system A smaller K increases the system responsiveness to rapid rate responsiveness to rapid rate fluctuationfluctuation

A larger K better filters the noise and A larger K better filters the noise and avoids potental system instability avoids potental system instability The K should be larger then delay The K should be larger then delay jitter of the flow and less then jitter of the flow and less then average duration of the flowaverage duration of the flow

Page 16: Core Stateless Fair Queueing

16

SimulationsSimulations

Compare the CSFW performance Compare the CSFW performance against 4 other algorithmsagainst 4 other algorithms

FIFO and RED do not attempt to FIFO and RED do not attempt to achieve fair bandwidth allocationachieve fair bandwidth allocation

FRED and DRR Use other FRED and DRR Use other approaches to achieve fairnessapproaches to achieve fairness

Page 17: Core Stateless Fair Queueing

17

A single 10 Mbps Link shared by N flowsA single 10 Mbps Link shared by N flows

Throughput for 32 UDP flows. The arrival rate for flow is (i+1) times larger then its fair share.

Page 18: Core Stateless Fair Queueing

18

A single congested link with1 UDP flow and 31 TCP flowsA single congested link with1 UDP flow and 31 TCP flows

Throughput when the UDP flow is sending at 10 Mbps and the rest are TCP averaged over a 10 second interval

Page 19: Core Stateless Fair Queueing

19

Normalized bandwidth of a TCP flow competing against N-1 UDP flows. Normalized bandwidth of a TCP flow competing against N-1 UDP flows. The UDP flows sending at twice their allocated rates as 2*10/NThe UDP flows sending at twice their allocated rates as 2*10/N

ResultsDRR performs well when there are less then 22 flows. CSFQ performs better with TCP burstiness as it allows packet buffering . CSFQ performs better then FRED throughout.

Page 20: Core Stateless Fair Queueing

20

Multiple congested LinkMultiple congested Link

TCP Source

Udp1 Udp-10 UdpK1 UdpK10

TCP SinkGateway Gateway

Page 21: Core Stateless Fair Queueing

21

UDP and TCP flow as a function of no of UDP and TCP flow as a function of no of congested links and Normalized throughputcongested links and Normalized throughput

a) The flow is UDP b) The flow is TCP

The UDP and TCP flow send at its fair share .909MbpsThe links are congested since all UDP send at a rate of 2MBps causing congestion which has the capacity of 10 Mbps

Page 22: Core Stateless Fair Queueing

22

Coexistence of different adaptation schemesCoexistence of different adaptation schemes 3 Receiver layered Multicast flows along with 3 Receiver layered Multicast flows along with

a TCP of each having a fair share of 1 Mbps a TCP of each having a fair share of 1 Mbps

CSFQ

FRED in this does not provide fair bandwidth allocation as RLM and TCP use different end to end congestion control algorithms

DRR FRED FIFO

RED

Page 23: Core Stateless Fair Queueing

23

On Off Flow with 19 competing TCP flowsOn Off Flow with 19 competing TCP flows

AlgorithAlgorithmm

DeliveredDelivered DroppedDropped

DRRDRR 601601 61576157

CSFQCSFQ 16801680 50785078

FREDFRED 17141714 50445044

REDRED 53225322 14361436

FIFOFIFO 54525452 13061306

The On Off perios is derived from exponential distribution of mean of 100 and 1900 ms. During the On-Off period the source sends at 10MbpsThe DRR and CSFQ show that the ON-Off source drops packets since it is limited to its fair share

Page 24: Core Stateless Fair Queueing

24

Simulation of web traffic Simulation of web traffic Interarrival times are exponentially distributed with mean of Interarrival times are exponentially distributed with mean of

.05ms and length of each transfer is from a Pareto distribution..05ms and length of each transfer is from a Pareto distribution.

AlgorithAlgorithmm

Mean Mean timetime

Std. devStd. dev

DRRDRR 2525 9999

CSFQCSFQ 6262 142142

FREDFRED 4040 174174

REDRED 592592 12741274

FIFOFIFO 840840 16951695The mean transfer time and std deviation for 60 short TCP flows in the presence of UDP flow that sends at link capacity of 10 MbpsResult CSFQ worse then FRED since it has a larger queue size.

Page 25: Core Stateless Fair Queueing

25

Large Latency modelLarge Latency model

AlgorithmAlgorithm MeanMean Std. devStd. dev

DRRDRR 60806080 6464

CSFQCSFQ 57615761 220220

FREDFRED 49744974 190190

REDRED 628628 8080

FIFOFIFO 378378 6969

The mean throughputs and std deviations for a 100 second interval for 19TCP and 1 UDp flow at link capacity of 10 Mbps. The propagation delay is 100 ms

Due to propagation delay we have to set the buffer size to be 256Kb and K,Kα,Kc to be 400 ms

Page 26: Core Stateless Fair Queueing

26

Packet relabelingPacket relabelingFlow1 10 Mbps

Flow2 10 Mbps

Flow3 10 Mbps

Sink

Gateway

Gateway10Mbps Link10 Mbps Link

Page 27: Core Stateless Fair Queueing

27

Throughput from CSFQ averaged over 10 Throughput from CSFQ averaged over 10 seconds for the 3 flows along link 2seconds for the 3 flows along link 2

TrafficTraffic Flow 1Flow 1 Flow 2Flow 2 Flow 3Flow 3

UDPUDP 3.363.36 3.323.32 3.283.28

TCPTCP 3.433.43 3.133.13 3.433.43

Page 28: Core Stateless Fair Queueing

28

Identification of Friendly and Identification of Friendly and unfriendly flows by RED and CSFQunfriendly flows by RED and CSFQ

AlgorithAlgorithmm

UDPUDP TCP1TCP1 TCP2TCP2 TCP1TCP1 TCP2TCP2

REDRED .90.9066

.280.280 .278.278 .565.565 .891.891

CSFQCSFQ .55.5544

.468.468 .478.478 .729.729 .747.747

| Simulation1 | | Simulation2 |

The throughput of one UDP and 2 TCP flows along a 1.5 Mbps link under RED and CSFQ. In first simulation 1 Mbps UDP flow and 2 TCP flowIn the second simulation we have modified TCP which opens its congestion window 3 times faster

Page 29: Core Stateless Fair Queueing

29

Achieving Fair bandwidth AllocationAchieving Fair bandwidth Allocation

Identifying FlowsIdentifying Flows

Use a fair detection algorithm to identify Use a fair detection algorithm to identify unfriendly flowsunfriendly flows

Isolating FlowsIsolating Flows

Router allocates resources separately for Router allocates resources separately for friendly and unfriendly flows.friendly and unfriendly flows.

Page 30: Core Stateless Fair Queueing

30

SummarySummary

FRED requires per packet flow classification FRED requires per packet flow classification while CSFQ does not, so the fairness can be while CSFQ does not, so the fairness can be achieved in a scalable manner.achieved in a scalable manner.

The CSFQ would comprise of high speed The CSFQ would comprise of high speed backbones and lower speed edge routers backbones and lower speed edge routers where classification and per flow operation where classification and per flow operation is done. is done.

The edge routers must be distinguishable The edge routers must be distinguishable from the core by some configuration.from the core by some configuration.

Page 31: Core Stateless Fair Queueing

31

AcknowledgementsAcknowledgements Professor Bob Kinicky WPI for valuable information and adviceProfessor Bob Kinicky WPI for valuable information and advice Ion Stoica CMU AuthorIon Stoica CMU Author Scott Shenker Xerox Author Scott Shenker Xerox Author Hui Zhang CMU Author Hui Zhang CMU Author Nagaraj Shirali For help with Jpeg graphsNagaraj Shirali For help with Jpeg graphs Choong-Soo Lee For help with Jpeg graphsChoong-Soo Lee For help with Jpeg graphs