Presentation is loading. Please wait.

Presentation is loading. Please wait.

Active Queue Management Rong Pan Cisco System EE384y Spring Quarter 2006.

Similar presentations


Presentation on theme: "Active Queue Management Rong Pan Cisco System EE384y Spring Quarter 2006."— Presentation transcript:

1 Active Queue Management Rong Pan Cisco System EE384y Spring Quarter 2006

2 2 Outline Queue Management –Drop as a way to feedback to TCP sources –Part of a closed-loop Traditional Queue Management –Drop Tail –Problems Active Queue Management –RED –CHOKe –AFD

3 3 Queue Management: Drops/Marks - A Feedback Mechanism To Regulate End TCP Hosts End hosts send TCP traffic -> Queue size Network elements, switches/routers, generate drops/marks based on their queue sizes Drops/Marks: regulation messages to end hosts TCP sources respond to drops/marks by cutting down their windows, i.e. sending rate

4 4 TCP+Queue Management - A closed-loop control system  Queue Management _ N C _  q Time Delay + + - 1 W/R p 0.5 +

5 5 Drop Tail - problems Lock out Full queue Bias against bursty traffic Global synchronization

6 6 Max Queue Length Tail Drop Queue Management Lock-Out

7 7 Tail Drop Queue Management Full-Queue Only drop packets when queue is full –long steady-state delay

8 8 Max Queue Length Bias Against Bursty Traffic

9 9 Max Queue Length Tail Drop Queue Management Global Synchronization

10 10 Drop from front on full queue Drop at random on full queue  both solve the lock-out problem  both have the full-queues problem Alternative Queue Management Schemes

11 11 Solve tail-drop problems –no lock-out behavior –no global synchronization –no bias against bursty flow Provide better QoS at a router –low steady-state delay –lower packet dropping Active Queue Management Goals

12 12 Random Early Detection (RED) yes Drop the new packet end Admit packet with a probability p end AvgQsize > Max th ? yes Arriving packet no Admit the new packet end AvgQsize > Min th ? no

13 13 RED Dropping Curve min t h max t h 0 Average Queue Size Drop Probability 1 max p

14 14 Effectiveness of RED - Lock-Out & Global Synchronization Packets are randomly dropped Each flow has the same probability of being discarded

15 15 Drop packets probabilistically in anticipation of congestion –not when queue is full Use q avg to decide packet dropping probability: allow instantaneous bursts Effectiveness of RED - Full-Queue & Bias against bursty traffic

16 16 What QoS does RED Provide? Lower buffer delay: good interactive service –q avg is controlled to be small Given responsive flows: packet dropping is reduced –early congestion indication allows traffic to throttle back before congestion Given responsive flows: fair bandwidth allocation

17 17 Bad News - unresponsive end hosts tcp udp tcp Connectionless; Best-Effort The Internet

18 18 Scheduling & Queue Management What routers want to do? –isolate unresponsive flows (e.g. UDP) –provide Quality of Service to all users Two ways to do it –scheduling algorithms: e.g. FQ, CSFQ, SFQ –queue management algorithms: e.g. RED, FRED, SRED

19 19 FQ vs. RED Hard/Expensive to implement Isolation from non- adaptive flows FQ RED No isolation from non-adaptive flows Easy to implement

20 20 Active Queue Manament With Enhancement to Fairness Provide isolation from unresponsive flows Be as simple as RED FIFO

21 21 yes Drop the new packet end Admit packet with a probability p end AvgQsize > Max th ? yes RED Arriving packet no Admit the new packet end AvgQsize > Min th ? no yes no Drop both matched packets end Draw a packet at random from queue Flow id same as the new packet id ? yes Drop the new packet end Admit packet with a probability p end no AvgQsize > Max th ? no CHOKe

22 22 Random Sampling from Queue A randomly chosen packet more likely from the unresponsive flow Adversary can’t fool the system UDP flow

23 23 Comparison of Flow ID Compare the flow id with the incoming packet –more acurate –Reduce the chance of dropping packets from a TCP- friendly flows.

24 24 Dropping Mechanism Drop packets (both incoming and matching samples ) –More arrival -> More Drop –Give users a disincentive to send more

25 25 1Mbps 10MbpsS(2) S(m) S(m+n) m TCP Sources S(m+1) n UDP Sources D(2) D(m) D(m+n) m TCP Sinks D(m+1) n UDP Sinks D(1) 10Mbps Simulation Setup S(1)

26 26 Network Setup Parameters l 32 TCP flows, 1 UDP flow l All TCP’s maximum window size = 300 l All links have a propagation delay of 1ms l FIFO buffer size = 300 packets l All packets sizes = 1 KByte l RED: (min th,max th ) = (100,200) packets

27 27 32 TCP, 1 UDP (one sample) 23.0% 74.1% 99.6%

28 28 32 TCP, 5 UDP (5 samples)

29 29 How Many Samples to Take? min th M ax th R1R1 R2R2 RkRk l Different samples for different Qlen avg – # samples  when Qlen avg close to min th – # samples  when Qlen avg close to max th avg

30 30 32 TCP, 5 UDP (self- adjusting)

31 31 Analytical Model discards from the queue permeable tube with leakage

32 32 Fluid Analysis l N: the total number of packets in the buffer l L i (t): the survial rate for flow i packets L i (t)  t - L i (t +  t)  t = i  t L i (t)  t /N - dL i (t)/dt = i L i (t) N L i (0) = i (1-p i ) L i (D) = i (1-2p i )

33 33 Model vs Simulation - multiple TCPs and one UDP 1/(1+e)

34 34 Fluid Model - Multiple samples L i (t)  t - L i (t +  t)  t = M i  t L i (t)  t /N - dL i (t)/dt = M i L i (t) N L i (0) = i (1-p i ) M L i (D) = i (1-p i ) M - M i p i l Multiple samples are chosen

35 35 Two Samples - multiple TCPs and one UDP

36 36 Two Samples - multiple TCPs and two UDP

37 37 What If We Use a Small Amount of State?

38 38 AFD: Goal Approximate equal bandwidth allocation –Not only AQM, approximate DRR scheduling –Provide soft queues in addition to physical queues Keep the state requirement small Be simple to implement

39 39 AFD Algorithm: Details (Basic Case: Equal Share) Di = Drop Probability for Class i Qref 1-D i DiDi Qlen Arriving Packets If M i > Mfair : D i > 0 such that M i (1-D i ) = Mfair If M i  Mfair : No Drop (D i = 0) M i = Arrival estimate for Class i (Bytes over interval T s ) Mfair = Mfair - a (Qlen - Qref) + b (Qlen_old - Qref) Fair Share Class i

40 40 AFD Algorithm: Details (General Case) Di = Drop Probability for Class i Qref 1-D i DiDi Qlen Arriving Packets If M i > Mfair : D i > 0 such that M i (1-D i ) = F(Mfair,Min i,Max i,W i, …) If M i  F(Mfair,Min i,Max i,W i, …): No Drop (D i = 0) M i = Arrival estimate for Class i (Bytes over interval T s ) Mfair = Mfair - a (Qlen - Qref) + b (Qlen_old - Qref) Fair Share Class i

41 41 Not Per-Flow State Fraction of flows State requirement on the order of # of unresponsive flows

42 42 AFD Solution: Details Based on 3 simple mechanisms –estimate per “class” arrival rate counting per “class” bytes over fixed intervals ( T s ) potential averaging over multiple intervals –estimate deserved departure rate (so as to achieve the proper bandwidth allocation for the class) Observation and averaging of queue length as measure of congestion Functional definition of “fair share” based on fairness criterion –perform probabilistic dropping (pre-enqueue) to drive arrival rate to equal desired departure rate

43 43 Mixed Traffic with Different Levels of Unresponsiveness

44 44 Drop Probabilities (note differential dropping)

45 45 Different Number of TCP Flows in Each Class Class 1 5 TCP Flows 050150200100time Class 2 10 TCP Flows 050150200100time Class 3 15 TCP Flows 050150200100time Class 4 20 TCP Flows 050150200100time

46 46 Different Class Throughput Comparison

47 47 Queue Length

48 48 Mfair

49 49 AFD Implementation Issues Monitor Arrival Rate Determine Drop Probability Maximize Link Utilization

50 50 Arrival Monitoring Keep a counter for each class –Count the data arrivals (in bytes) of each class in 10ms interval: arv i Arrival rate of each class is updated every 10ms –m i = m i (1-1/2 c )+arv i –c determines the average window

51 51 Implementing the Drop Function If M i  Mfair then D i = 0 Otherwise, rewrite the drop function as Suppose we have predetermined drop levels, find the one such that D i * M i = (M i – Mfair)

52 52 Implementing the Drop Function Suppose m i = 100, m fair = 62.0 => D i = 0.380, 0.01.0 Di We choose the higher value using binary search 0.375 0.406 Drop levels are: 1/32, 1/16, 3/32…

53 53 FQ RED Simplicity Fairness AFD - Summary Equal share is approximated in a wide variety of settings The state requirement is limited CHOKeAFD Ideal

54 54 Summary Traditional Queue Management –Drop Tail, Drop Front, Drop Random –Problems: lock-out, full queue, global synchronization, bias against bursty traffic Active Queue Management –RED: can’t handle unresponsive flows –CHOKe: penalize unresponsive flows –AFD: provides approximate fairness with limited states


Download ppt "Active Queue Management Rong Pan Cisco System EE384y Spring Quarter 2006."

Similar presentations


Ads by Google