The UNIVERSITY UNIVERSITY of of NORTH CAROLINA NORTH CAROLINA The Making AQM Work Making AQM Work at at CHAPEL HILL CHAPEL HILL Outline Outline • • Background: Router-based congestion control Background: Router-based congestion control Making AQM Work: Making AQM Work: – Active Queue Management Active Queue Management – – – Explicit Congestion Notification Explicit Congestion Notification An Efficient Alternative to ECN An Efficient Alternative to ECN • State of the art in active queue management (AQM) State of the art in active queue management (AQM) • – Control theoretic – Control theoretic v v . traditional randomized dropping AQM . traditional randomized dropping AQM Long Le, Jay Aikat, Kevin Jeffay, and Don Smith Long Le, Jay Aikat, Kevin Jeffay, and Don Smith • Do AQM schemes work? Do AQM schemes work? • – An empirical study of the effect of AQM on web performance – An empirical study of the effect of AQM on web performance • Analysis of AQM performance Analysis of AQM performance • October October 2003 2003 – The case for – The case for differential congestion notification differential congestion notification (DCN) (DCN) • A DCN prototype and its empirical evaluation A DCN prototype and its empirical evaluation • http://www.cs.unc.edu/Research/dirt 1 1 2 2 Router-Based Congestion Control Router-Based Congestion Control Router-Based Congestion Control Router-Based Congestion Control The case against drop-tail queuing The case against drop-tail queuing Status quo Status quo FCFS FCFS FCFS FCFS P 1 P 2 P 3 P 1 P 2 P 3 P 4 P 5 P 6 Scheduler Scheduler Scheduler Scheduler • Large (full) queues in routers are a bad thing Large (full) queues in routers are a bad thing • Router Router – – End-to-end latency is dominated by the length of queues End-to-end latency is dominated by the length of queues at switches in the network at switches in the network • • On the Internet today, packet loss is On the Internet today, packet loss is the end-system the end-system’ ’s only indication of congestion s only indication of congestion • Allowing queues to overflow is a bad thing • Allowing queues to overflow is a bad thing – Connections that transmit at high rates can starve – Connections that transmit at high rates can starve • • As switch As switch’ ’s queues overflow, arriving packets are dropped s queues overflow, arriving packets are dropped connections that transmit at low rates connections that transmit at low rates – “ “Drop-tail Drop-tail” ” FIFO queuing is the default FIFO queuing is the default – – – Causes connections to synchronize their response to Causes connections to synchronize their response to • TCP end-systems detect loss and respond by reducing • TCP end-systems detect loss and respond by reducing congestion and become unnecessarily bursty bursty congestion and become unnecessarily their transmission rate their transmission rate 3 3 4 4
Router-Based Congestion Control Router-Based Congestion Control Active Queue Management Active Queue Management Active queue management (AQM) Active queue management (AQM) The RED Algorithm [Floyd & Jacobson 93] The RED Algorithm [Floyd & Jacobson 93] Flip a Router queue length Flip a coin Always drop Router queue length Drop Drop coin probability Max Max probability FCFS FCFS FCFS FCFS P 1 P 2 P 3 P 4 P 5 P 6 P 1 P 2 P 3 P 4 P 5 P 6 queue length queue length Scheduler Scheduler Scheduler Scheduler Weighted average queue length Weighted average queue length Forced drop Forced drop Enqueue Enqueue Max Max threshold threshold Probabilistic Probabilistic early drop early drop Min Min • Key concept: Drop packets • Key concept: Drop packets before before a queue overflows to a queue overflows to threshold threshold No drop No drop signal incipient incipient congestion to end-systems congestion to end-systems signal Time Time • Basic mechanism: When the queue length exceeds a Basic mechanism: When the queue length exceeds a • • • RED computes a weighted moving average of queue RED computes a weighted moving average of queue threshold, packets are probabilistically dropped threshold, packets are probabilistically dropped length to accommodate bursty bursty arrivals arrivals length to accommodate • Random Early Detection • Random Early Detection (RED) AQM: (RED) AQM: • Drop probability is a function of the current average Drop probability is a function of the current average • – Always – Always enqueue enqueue if queue length less than a low-water mark if queue length less than a low-water mark queue length queue length – Always drop if queue length is greater than a high-water mark Always drop if queue length is greater than a high-water mark – – The larger the queue, the higher the drop probability – The larger the queue, the higher the drop probability – Probalistically – Probalistically drop/ drop/enqueue enqueue if queue length is in between if queue length is in between 5 5 6 6 Active Queue Management Active Queue Management Active Queue Management Active Queue Management Explicit Congestion Notification (ECN) Explicit Congestion Notification (ECN) The RED Algorithm [Floyd & Jacobson 93] The RED Algorithm [Floyd & Jacobson 93] Flip a Router queue length Router queue length Drop Drop Always drop coin Max probability probability Max FCFS FCFS P 1 P 2 P 3 P 4 P 5 P 6 queue length queue length Scheduler Scheduler Weighted average queue length Weighted average queue length Forced drop Forced drop Max Enqueue Max threshold threshold Probabilistic Probabilistic early drop early drop Min Min • Dropping packets is a simple means of signaling Dropping packets is a simple means of signaling • threshold threshold No drop No drop congestion but it congestion but it’ ’s less than ideal s less than ideal Time Time – It may take a long time for a sender to detect and react to – It may take a long time for a sender to detect and react to congestion signaled by packet drops congestion signaled by packet drops Drop probability Drop probability – There are subtle fairness issues in the way flows are treated – There are subtle fairness issues in the way flows are treated 100% 100% • ECN: Instead of dropping packets, send an explicit ECN: Instead of dropping packets, send an explicit • max p max p Weighted Weighted signal back to the sender to indicate congestion signal back to the sender to indicate congestion Average Average – (An old concept: ICMP Source Quench, – (An old concept: ICMP Source Quench, DECbit DECbit, ATM, , ATM, … …) ) min min th max th max Queue Length Queue Length th th 7 7 8 8
Recommend
More recommend