• No results found

Active Queue Management (AQM) based Internet Congestion Control

N/A
N/A
Protected

Academic year: 2021

Share "Active Queue Management (AQM) based Internet Congestion Control"

Copied!
29
0
0

Loading.... (view fulltext now)

Full text

(1)

Active Queue Management (AQM)

based Internet Congestion Control

October 1 2002

Seungwan Ryu

([email protected])

PhD Student of IE Department

University at Buffalo

(2)

Contents



Internet Congestion Control



Active Queue Management (AQM)



Control-Theoretic design of AQM



Performance Evaluation



Summary and Issues for Further study



(3)

I. Internet Congestion Control



Internet Traffic Engineering



What is Congestion ?



Congestion Control and Avoidance



TCP Congestion Control



Active Queue management (AQM)



(4)

Internet Traffic Engineering



Measurement:

for reality check



Experiment:

for Implementation Issues



Analysis:



Bring fundamental understanding of systems



May loose important facts because of simplification



Simulation:



Complementary to analysis: Correctness, exploring complicate model



(5)

What is Congestion ?



What is congestion ?



The aggregate demand for bandwidth exceeds

the available capacity of a link.



What will be occur ?



Performance Degradation

• Multiple packet losses

• Low link utilization (low Throughput)

• High queueing delay

(6)

What is congestion ? (2)

Congestion Control

Open-loop control

• Mainly used in circuit

switched network (GMPLS)

Closed-loop control

• Mainly used in packet switched network • Use feedback information: global & local

Implicit feedback control

• End-to-end congestion control • Examples:

TCP Tahoe, TCP Reno, TCP Vegas, etc.

Explicit feedback control

• Network-assisted congestion control • Examples:

IBM SNA, DECbit, ATM ABR, ICMP source quench, RED, ECN

(7)

Congestion Control and Avoidance



Two approaches of handling Congestion



Congestion Control (Reactive)

Play

after

the network is overloaded



Congestion Avoidance (Proactive)

(8)

Paradigms of the Current Internet



Paradigms:



For design and Operation: “Keep it simple”



Design principle of TCP:

“Do not ask the network to do what you can do yourself”



These paradigms are aimed for best-effort service



As the Internet evolves and grows in size and number of users, the network has experienced performance

degradation such as more packet drop



In addition, service evolves to a variety of services



(9)

TCP Congestion Control



Uses end-to-end congestion control



Uses implicit feedback

• e.g., time-out, triple duplicated ACKs, etc.



Uses window based flow control

cwnd = min (pipe size, rwnd)

• self-clocking

• slow-start and congestion avoidance



Examples:

(10)

TCP Congestion Control (2)



Slow-start and Congestion Avoidance

 W+1 RTT Congestion Avoidance W*/2 RTT    Slow Start W* cwnd Time

(11)

TCP Congestion Control (3)



TCP Tahoe



Use slow start/congestion avoidance



Fast retransmit: an enhancement



detect packet (segments) drop by three duplicate ACKs



W = W/2, and enter congestion avoidance



TCP Reno (fast recovery)



Upon receiving three duplicate ACKs



ssthresh = W/2, and retransmit missing packets



Upon receiving next ACK: W = ssthresh



(12)

TCP Congestion Control (4)



TCP SACK (Selected Acknowledgement)



TCP (Tahoe) sender can only know about a single lost per RTT



SACK option provides better recovery from multiple losses



The sender can transmit all lost packets



But those packets may have already been received



Operation



Add SACK option into TCP header



The receiver sends back SACK to sender to inform the reception of the packet



(13)

Other Approaches : Pricing



Smart-market [Mackie-Mason 1995]



A price is set for each packet depends on the level of demand for bandwidth



Admit packets with bid prices that exceed the cut-off value



The cut-off is determined by the marginal cost



Paris metro pricing (PMP) [Odlyzko]



To provide differentiated services



The network is partitioned into several logical separate channels with different prices



With less traffic in channel with high price, better QoS would be provided.

(14)

Other approaches (2): Optimization



Concept



Network resource allocation problem

:

 User problems  Network problems 

User problem sends bandwidth request with price



Network problem allocate bandwidth to each users by solving NLP



User problem



Users can be distinguished by a utility function



A user wants to maximize its benefit (utility - cost)



Network problem



maximize aggregate utilities subject to the link capacity constraints



Then, it can be formulated to a Non-linear programming (NLP) problem

(15)

Other approaches (3): Fairness



Two fairness issues



Fair bandwidth sharing: network-centric



Fair packet drop (mark): user-centric



Fair bandwidth sharing



Max-min fair [Bertsekas, 1992]:



No rate can be increased without simultaneous decreasing other rate which is already small



provides equal treatment to all flows



Proportional fair [Kelly 1998]



A feasible set of rates are non-negative and the aggregate rate is not greater than link capacity and the aggregate of proportional change is zero or

negative



(16)

II. Active Queue Management (AQM)



Internet Congestion Control



Active Queue Management (AQM)



Control-Theoretic design of AQM



Performance Evaluation



Summary and Issues for Further study



(17)

Active Queue Management (AQM)



What is AQM?



Examples of AQM: RED and Variants



(18)

Active Queue Management (AQM)



Performance degradation in current TCP Congestion

Control



Multiple packet loss



Low link utilization



Congestion collapse



The role of the router becomes important



Control congestion effectively in networks



(19)

AQM (2)



Problems with current router algorithm



Use FIFO based tail-drop (TD) queue management



Two drawbacks with TD: lock-out, full-queue



Lock-out: a small number of flows monopolize usage of buffer capacity



Full-queue: The buffer is always full (high queueing delay)



Possible solution: AQM



Definition:

A group of FIFO based queue management mechanisms to support end-to-end congestion control in the Internet

(20)

AQM (3)



Goals of AQM



Reducing the average queue length:



Decreasing end-to-end delay



Reducing packet losses:



More efficient resource allocation



Methods:



Drop packets before buffer becomes full



Use (exponentially weighted) average queue length as an

congestion indicator



(21)

AQM (4)



Random Early Detection (RED)



Use network algorithm to detect incipient congestion



Design goals:

• minimize packet loss and queueing delay

• avoid global synchronization

• maintain high link utilization

• removing bias against bursty source



Achieve goals by

• randomized packet drop

(22)

RED

P         Q W avg W avgQ =(1− Q) Q + Q    ≤ < ≤ − − < = Q th th Q th th th th Q th Q d avg avg avg p avg P max 1 max min min max min min 0 max

(23)

AQM (5) : BLUE



Algorithm

Upon packet loss

if (now - last_update >freeze_t) Pm = pm + d1

last_update = now upon link idle

if (now - last_update >freeze_t) Pm = pm - d2

last_update = now



Concept



To avoid drawbacks of RED

• Parameter tuning problem

• Actual queue length fluctuation



Decouple congestion control from queue length



Use only loss and idle event as an indicator



Maintains a single drop prob., pm



Drawback



Can not avoid some degree of multiple packet loss and/or low utilization

(24)

AQM (6) : SRED



Algorithm



ith arriving packet is compared with a

randomly selected one from Zombie list



Hit = 1, if they are from same flow = 0, if NOT



p(i)=hit frequency=(1-α)p(i-1)+αHit



p(i)-1: estimator of # of active flows



Packet drop probability



Concept



stabilize queue occupancy



use actual queue length



Penalize misbehaving flows



Drawbacks



P(i)-1 is not a good estimator for

heterogeneous traffic



Parameter tuning problem: Psred, Pzap, etc.



Stabilize queue occupancy when traffic load is high.



What happen when traffic load is low ?     < < ≤ < ≤ = B q B q B p B q B p psred ) 6 / 1 ( 0 ) 3 / 1 ( ) 6 / 1 ( ) 4 / 1 ( ) 3 / 1 ( max max ) )) ( 256 ( 1 , 1 min( * 2 i P P Pzap sred × =

(25)

AQM (7) : ARED



Adapt aggresiveness of RED according to the traffic

load change



adapt maxp based on queue behavior



Operation



Increase maxp when avgQ crosses above maxth



Decrease maxp when avgQ crosses below minth



(26)

More about AQM



Responsive (TCP) vs. unresponsive flows (UDP)



RED fail to regulate unresponsive flows



UDP do not adjust sending rate upon receiving congestion signal



UDP flows consumes more bandwidth than fair share



FRED [Lin & Morris, 1997]



Tracks the # of packets in the queue from each flow



maintain logical queues for each active flows in a FIFO queue



Fair share for a flow is calculated dynamically



Unresponsive flows are identified and penalized



Drop packets proportional to bandwidth usage



See TCP-friendly website

(27)

More about AQM (2)



Supporting QoS and DiffServ with AQM



Try to support a multitude of transport protocol (TCP, UDP, etc.)



Classify several types of services rather than one best-effort service.



Then, apply different AQM control to each services classes.



Examples:



RIO (RED In and Out) [Clark98]



(28)

More about AQM (3)



RIO (RED in and out) [Clark 1998]



Separate flows into two classes: IN and OUT service profile



Router maintains two different statistics for each service profiles.



Different parameters and average queue lengths



Avgs: for IN packet: avgIN, for OUT profile: avgTOTAL



When congested, apply different control to each classes

Pmax_IN

1

Drop Prob.

avg

Pmax_OUT

Minth_OUT Maxth_OUT

= Minth_IN

(29)

More about AQM (4)



CBT [Floyd 1995]



packets are classified into several classes



maintain a single queue but allocate fraction of capacity to each class



Apply AQM (RED) based control to each class



Once a class occupies its capacity, discard all

arriving packets



Drawbacks



Fairness problem in case of changing traffic mix



static threshold setting



Total utilization can be fluctuated



Dynamic-CBT [Chung2000]



Track the number of active flows of each class



dynamically adjust threshold values of each class

References

Related documents

Ngulube, P. Research procedures used by Master of Information Studies students at the University of Natal in the period 1982 to 2002 with special reference to their

Conclusion: It is possible to improve AB-use and preserve ABs as useful drugs in Norway. • Reduce total and broad spectrum

In Absentia Registration: $1,754 per academic quarter (15% of Tuition &amp; the Student Services Fee plus Health Insurance) Nonresident Alien students must also pay NRST ($5,034),

How to apply: Applications are accepted during the following periods: December 1st - February 28th; March 1st - May 31st; June 1st - August 31st; September 1st - November 31st

[r]

ภูเก็ต ไดจัดโครงการสงเสริมเบี้ยยังชีพสําหรับ ผูดอยโอกาส คนพิการ ผูสูงอายุ และผูปวยโรคเอดส โครงการจัดงานวันสตรีสากล โครงการจัดงานวัน ผูสูงอายุจังหวัดภูเก็ต

ความเป็นมา มหาวิทยาลัยเทคโนโลยีราชมงคลรัตนโกสินทร์ ได้รับงบประมาณครุภัณฑ์รายการ ระบบควบคุมและ บริหารประสิทธิภาพภายในองค์กรด้วยเทคโนโลยีนวัตกรรมสมัยใหม่ จ านวน ๑ ระบบ วงเงิน

With a 40% increase in the number of cancer patients in the past five years at the existing cancer center location — a figure attributable mostly to early detection and innovative