Traffic Managers: Active Queue Management Algorithms - PowerPoint PPT Presentation

About This Presentation
Title:

Traffic Managers: Active Queue Management Algorithms

Description:

Class C. Class B. Class A. Traffic. Classes. Drop. Scheduling. Buffer Management. 4 ... Lower priority class traffic may be dropped more frequently than higher ... – PowerPoint PPT presentation

Number of Views:432
Avg rating:3.0/5.0
Slides: 85
Provided by: mot112
Category:

less

Transcript and Presenter's Notes

Title: Traffic Managers: Active Queue Management Algorithms


1
Traffic Managers Active Queue Management
Algorithms
2
Queuing Disciplines
  • Each router must implement some queuing
    discipline
  • Queuing allocates both bandwidth and buffer
    space
  • Bandwidth which packet to serve (transmit) next
    - This is scheduling
  • Buffer space which packet to drop next (when
    required) this buffer management
  • Queuing affects the delay of a packet (QoS)

3
Queuing Disciplines
4
Active Queue Management
  • Advantages
  • Reduce packet losses
  • (due to queue overflow)
  • Reduce queuing delay

5
QoS Router
Queue management
Policer
Per-flow Queue
Scheduler
Classifier
shaper
Policer
Per-flow Queue
Per-flow Queue
Scheduler
shaper
Per-flow Queue
6
Packet Drop Dimensions
Aggregation
Single class
Per-connection state
Class-based queuing
Drop position
Tail
Head
Random location
Overflow drop
Early drop
7
Typical Internet Queuing
  • FIFO drop-tail
  • Simplest choice
  • Used widely in the Internet
  • FIFO (first-in-first-out)
  • Implies single class of traffic
  • Drop-tail
  • Arriving packets get dropped when queue is full
    regardless of flow or importance
  • Important distinction
  • FIFO scheduling discipline
  • Drop-tail drop policy (buffer management)

8
FIFO Drop-tail Problems
  • FIFO Issues (irrespective of the aggregation
    level)
  • No isolation between flows full burden on e2e
    control (e..g., TCP)
  • No policing send more packets ? get more service
  • Drop-tail issues
  • Routers are forced to have have large queues to
    maintain high utilizations
  • Larger buffers gt larger steady state
    queues/delays
  • Synchronization end hosts react to the same
    events because packets tend to be lost in bursts
  • Lock-out a side effect of burstiness and
    synchronization is that a few flows can
    monopolize queue space

9
Synchronization Problem
  • Because of Congestion Avoidance in TCP

10
Synchronization Problem
All TCP connections reduce their transmission
rate on crossing over the maximum queue size.
The TCP connections increase their tx rate using
the slow start and congestion avoidance.
The TCP connections reduce their tx rate
again. It makes the network traffic fluctuate.
Total Queue
Queue Size
Time
11
Global Synchronization Problem
Max Queue Length
Can result in very low throughput during periods
of congestion
12
Global Synchronization Problem
  • TCP Congestion control
  • Synchronization leads to bandwidth
    under-utilization
  • Persistently full queues leads to large queueing
    delays
  • Cannot provide (weighted) fairness to traffic
    flows inherently proposed for responsive flows

bottleneck rate
Aggregate load
Rate
Flow 1
Flow 2
Time
13
Lock-out Problem
Max Queue Length
  • Lock-Out In some situations tail drop allows a
    single connection or a few flows (misbehaving
    flows UDP) to monopolize queue space, preventing
    other connections from getting room in the queue.
    This "lock-out" phenomenon is often the result of
    synchronization.

14
Bias Against Bursty Traffic
Max Queue Length
During dropping, bursty traffic will be dropped
in benchs which is not fair for bursty
connections
15
Active Queue ManagementGoals
  • Solve lock-out and full-queue 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

16
RED (Random Early Detection)
  • FIFO scheduling
  • Buffer management
  • Probabilistically discard packets
  • Probability is computed as a function of average
    queue length

Discard Probability
1
0
Average Queue Length
queue_len
min_th
max_th
17
Random Early Detection(RED)
18
RED operation
Min thresh
Max thresh
Average queue length
P(drop)
1.0
MaxP
Avg length
minthresh
maxthresh
19
RED (Random Early Detection)
  • FIFO scheduling

Define Two Threshold Values
Make Use of Average Queue Length
Case 1 Average Queue Length lt Min. Thresh Value
Admit the New Packet
20
RED (Contd)
Min thresh
Max thresh
Average queue length
Case 2 Average Queue Length between Min. and
Max. Threshold Value
Admit the New Packet With Probability p
Or Drop the New Packet With Probability 1-p
21
Random Early Detection Algorithm
for each packet arrival calculate the average
queue size ave if ave minth do
nothing else if minth ave maxth
calculate drop probability p drop arriving
packet with probability p else if maxth ave
drop the arriving packet
  • ave (1 wq)ave wqq
  • P max_P(avg_len min_th)/(max_th min_th)

22
Random early detection (RED) packet drop
Average queue length
Drop probability
Maxqueue length
Forced drop
Maxthreshold
Probabilisticearly drop
Minthreshold
No drop
Time
23
Active Queue ManagementRandom Early Detection
(RED)
  • Weighted average accommodates bursty traffic
  • Probabilistic drops
  • avoid consecutive drops
  • drops proportional to bandwidth utilization
  • (drop rate equal for all flows)

24
RED Vulnerable to Misbehaving Flows
UDP blast
FIFO RED
TCP Throughput (Kbytes/Sec)
Time (seconds)
25
Effectiveness of RED- Lock-Out Global
Synchronization
  • Packets are randomly dropped
  • Each flow has the same probability of being
    discarded

26
Effectiveness of RED- Full-Queue Bias against
bursty traffic
  • Drop packets probabilistically in anticipation of
    congestion
  • Not when queue is full
  • Use qavg to decide packet dropping probability
    allow instantaneous bursts

27
What QoS does RED Provide?
  • Lower buffer delay good interactive service
  • qavg is controlled to be small
  • Given responsive flows packet dropping is
    reduced
  • Early congestion indication allows traffic to
    throttle back before congestion
  • RED provide small delay, small packet loss, and
    high throughput (when it has responsive flows).

28
Weighted RED (WRED)
  • WRED provides separate thresholds and weights for
    different IP precedences, allowing us to provide
    different quality of service to different traffic
  • Lower priority class traffic may be dropped more
    frequently than higher priority traffic during
    periods of congestion

29
WRED (Cont..)
High Priority traffic
Medium Priority traffic
Low Priority traffic
Random Dropping
30
Congestion Avoidance Weighted Random Early
Detection (WRED)
Adds Per-Class Queue Thresholds for Differential
Treatment Two Classes are Shown Any number of
classes Can Be Defined
Probability of Packet Discard
Average Queue Depth
Standard Minimum Threshold
Premium Minimum Threshold
Std and Pre Maximum Threshold
31
Problems with (W)RED unresponsive flows
32
Vulnerability to Misbehaving Flows
  • TCP performance on a 10 Mbps link under RED in
    the face of a UDP blast

33
Vulnerability to Misbehaving Flows
  • Try to look at the following example
  • Assume there is a network which is set up as

34
Vulnerability to Misbehaving Flows
35
Vulnerability to Misbehaving Flows
  • Queue Size versus Time

RED Queue Size
Global Synchronization solved
36
Unfairness of RED
An unresponsive flow occupies over 95 of
bandwidth
Unresponsive Flow (such as UDP)
32 TCP Flows 1 UDP Flow
37
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., WFQ, WRR
  • Queue management algorithms
  • e.g., RED, FRED, SRED

38
The setup and problems
  • In a congested network with many users
  • QoS requirements are different
  • Problem
  • Allocate bandwidth fairly

39
Approach 1 Network-Centric
  • Network node Fair Queueing (FQ)
  • User traffic any type
  • Problem complex implementation
  • lots of work per flow

40
Approach 2 User-Centric
  • Network node
  • simple FIFO buffer
  • active queue management (AQM) RED
  • User traffic congestion-aware (e.g. TCP)
  • Problem requires user cooperation

41
Current Trend
  • Network node
  • simple FIFO buffer
  • AQM schemes with enhancement to provide fairness
    preferential dropping packets
  • User traffic any type

42
Packet Dropping Schemes
  • Size-based Schemes
  • drop decision based on the size of FIFO queue
  • e.g. RED
  • Content-based Schemes
  • drop decision based on the current content of the
    FIFO queue
  • e.g. CHOKe
  • History-based Schemes
  • keep a history of packet arrivals/drops to guide
    drop decision
  • e.g. SRED, RED with penalty box, AFD

43
CHOKe (no state information)
44
Random Sampling from Queue
  • A randomly chosen packet more likely from the
    unresponsive flow
  • Unresponsive flows cant fool the system

45
Comparison of Flow ID
  • Compare the flow id with the incoming packet
  • More accurate
  • Reduce the chance of dropping packets from a
    TCP-friendly flows

46
Dropping Mechanism
  • Drop packets (both incoming and matching samples)
  • More arrival ? More Drop
  • Give users a disincentive to send more

47
CHOKe (Contd)
Case 1 Average Queue Length lt Min. Thresh Value
Admit the New Packet
48
CHOKe (Contd)
Min thresh
Max thresh
Case 2 Avg. Queue Length is between Min. and
Max. Threshold Values
A packet is randomly chosen from the queue to
compare with the new arrival packet
If they are from different flows, the same logic
in RED applies
If they are from the same flow, both packets
will be dropped
49
CHOKe (Contd)
Min thresh
Max thresh
Case 3 Avg. Queue Length gt Max. Threshold Value
A random packet will be chosen for comparison
If they are from different flows, the new packet
will be dropped
If they are from the same flow, both packets
will be dropped
50
Simulation Setup
51
Network Setup Parameters
  • 32 TCP flows, 1 UDP flow
  • All TCPs maximum window size 300
  • All links have a propagation delay of 1ms
  • FIFO buffer size 300 packets
  • All packets sizes 1KByte
  • RED (minth, maxth) (100,200) packets

52
32 TCP, 1 UDP (one sample)
53
32 TCP, 5 UDP (5 samples)
54
How Many Samples to Take?
  • Different samples for different Qlenavg
  • samples decrease when Qlenavg close to minth
  • samples increase when Qlenavg close to maxth

55
32 TCP, 5 UDP (self-adjusting)
56
Two Problems of CHOKe
  • Problem I
  • Unfairness among UDP flows of different rates
  • Problem II
  • Difficulty in choosing automatically how many to
    drop

57
SAC (Self Adjustable CHOKe
  • Tries to Solve the previously mentioned two
    problems

58
SAC
  • Problem 1 Unfairness among UDP flows of
    different rates (e.g., when k 1, the UDP flow 31
    (6 Mbps) has 1/3 throughput of UDP flow 32 (1
    Mbps), and when k 10 , throughput of UDP flow 31
    is almost 0).

59
SAC
  • Problem 2 Difficulty in choosing automatically
    how many to drop (when k 4, UDPs occupy most of
    the BW. When k 10, relatively good fair sharing,
    and when k 20, TCPs get most of the BW).

60
SAC
  • Solutions
  • Search from the tail of the queue for a packet
    with the same flow number and drop this packet
    instead of random dropping because the higher a
    flow rate is, the more likely its packets will
    gather at the rear of the queue.
  • The queue occupancy will be more evenly
    distributed among the flows.
  • 2. Automate the process of determining k
    according to traffic status (number of active
    flows and number of UDP flows)

61
SAC
  • Once an incoming UDP is compared with a randomly
    selected packet, if they are of the same flow, P
    is updated in this way
  • P ? (1-wp) P wp.
  • If they are of different flows, P is updated as
    follows
  • P ? (1-wp) P .
  • If P is small, then there are more competing
    flows, and we should increase the value of k.
  • Once there is an incoming packet, if it is a UDP
    packet, R is updated in this way
  • R ? (1-wr) R wr..
  • If it is a TCP packet, R is updated as follows
  • R ? (1-wr) R.
  • If R is large, then we have a large amount of UDP
    traffic, and we should increase k to drop more
    UDP packets.

62
SAC simulation
  • Throughput per flow (30 TCP flows and 2 UDP flows
    of different rate)

63
SAC simulation
  • Throughput per flow (30 TCP flows and 4 UDP flows
    of the same rate).

64
SAC simulation
  • Throughput per flow (20 TCP flows and 4 UDP flows
    of different rates)

65
  • AQM Using Partial state information

66
Congestion Management and Avoidance Goal
  • Provide fair bandwidth allocation similar to WFQ
  • Be simple to implement like RED

WFQ
Ideal
Fairness
RED
Simplicity
67
AQM Based on Capture Recapture
  • Objective achieve fairness close to that of
    max-min fairness
  • If W(f) lt C/N, then set R(f) W(f).
  • If W(f) gt C/N, then set R(f) C/N.
  • Formulation
  • Ri the sending rate of flow i
  • Di the drop probability of flow i
  • Ideally, we want
  • Ri (1 Di) Rfair (equal share)
  • Di (1 Rfair/Ri) (That is, drop the excess)

68
AQM Based on Capture-Recapture
The key question is how to estimate the sending
rate (Ri) and the fair share (Rfair) !!!
Active Queue Management
Fair allocation of BW
The estimation of the sending rate
The adjustment mechanism
Incoming packets
The estimation of the fair share
69
Capture-Recapture Models
  • The CR models were originally developed for
    estimating demographic parameters of animal
    populations (e.g., population size, number of
    species, etc.).
  • It is an extremely useful method where inspecting
    the whole state space is infeasible or very
    costly
  • Numerous models have been developed to various
    situtations
  • The CR models are being used in many diverse
    fields ranging from software inspection to
    epidemiology.
  • It is based on several key ideas animals are
    captured randomly, marked, released and then
    recaptured randomly from the population.

70
Capture-Recapture Models
  • Simple model estimate a homegeneous population
    of animals (N)
  • n1 animals are captured (marked)
  • n2 animals were recaptured, and
  • m2 of these appeared to be marked.
  • Under this simple capture recapture model (M0)
  • m2/n2 n1/N


m2
71
Capture-Recapture Models
  • The capture probability refers to the chance that
    an individual animal get caught.
  • M0 implies that the capture probability for all
    animals are the same.
  • 0 refers to constant capture probability
  • Using the Mh model, the capture probabilities
    vary by animal, sometimes for reasons like
    difference in species, sex, or age, etc..
  • h refers to heterogeneity.

72
Capture-Recapture Models
  • Estimation of N under the Mh Model is based on
    the capture frequency data f1, f2, and ft (t
    captures)
  • f1 is the number of animals that were caught only
    once,
  • f2 is the number of animals that were caught only
    twice, etc.
  • The jackknife estimator of N is computed as a
    linear combination of these capture frequencies,
    s.t.
  • N a1f1 a2f2 atft
  • where ai are coefficients which are a function
    of t.

73
AQM Based on Capture-Recapture
  • The key question is how to estimate the sending
    rate (Ri) and the fair share (Rfair) !!!
  • We use an arrival buffer to store the recently
    arrived packet headers (we can have control over
    how large the buffer is, and is a better
    representation of the nature of the flows when
    compared to the sending buffer)
  • We estimate Ri using the M0 capture-recapture
    model
  • We estimate Rfair using the Mh capture-recapture
    model (by estimating the number of active flows).

74
AQM Based on Capture-Recapture
  • Ri is estimated for every arriving packet (we can
    increase the accuracy by having multiple
    captures, or decrease it by capturing packets
    periodically)
  • If the arrival buffer is of size B, and the
    number of captured packets is Ci, then Ri R
    Ci/B where R is the aggregate arrival rate
  • Rfair may not change every single time slot (as a
    result, the capturing and the calculation of the
    number of active flows could be done
    independently of the arrival of each incoming
    packet)
  • Rfair R/(number of active flows)
  • The capture-recapture model gives us a lot of
    flexibility in terms of accuracy vs. complexity
  • The same capture-recapture can be used for
    calculating both Ri and Rfair

75
AQM Based on Capture-Recapture
Active Queue Management (Capture-Recapture)
Fair allocation of BW
The estimation of Ri by the M0 model
Di (1 Rfair/Ri)
Incoming packets
The estimation of Rfair by the Mh CR model
76
Performance evaluation
  • This is a classical setup that researchers use to
    evaluate AQM schemes (we can vary many
    parameters, responsive vs. non-responsive
    connections, the nature of responsiveness, link
    delays, etc.)

S(1)
S(1)
100Mbps
100Mbps
TCP sources
TCP sources
R1
R2
S(m)
S(m)
10Mbps
S(m1)
S(m1)
UDP sources
UDP sources
S(mn)
S(mn)
77
Performance evaluation
  • Estimation of the number of flows

78
Performance evaluation
  • Bandwidth allocation comparison between CAP and
    RED

79
Performance evaluation
  • Bandwidth allocation comparison between CAP and
    SRED

80
Performance evaluation
  • Bandwidth allocation comparison between CAP and
    RED-PD

81
Performance evaluation
  • Bandwidth allocation comparison between CAP and
    SFB

82
Normalized Measure of Performance
  • A single comparison of the fairness using a
    normalized value, where norm is defined as
  • where bi is ideal fair share, bj is the
    bandwidth received by each flow
  • Thus, BW 0 for the ideal fair sharing

83
Normalized Measure of Performance
84
Performance Evaluation Variable amount of
unresponsiveness
Write a Comment
User Comments (0)
About PowerShow.com