Kathie Nichols CoDel. present by Van Jacobson to the IETF-84 Transport Area Open Meeting 30 July 2012 Vancouver, Canada

Similar documents
The Controlled Delay (CoDel) AQM Approach to fighting bufferbloat

Investigating the Use of Synchronized Clocks in TCP Congestion Control

CS519: Computer Networks. Lecture 5, Part 4: Mar 29, 2004 Transport: TCP congestion control

CS419: Computer Networks. Lecture 10, Part 3: Apr 13, 2005 Transport: TCP performance

On the Effectiveness of CoDel for Active Queue Management

The State of the Art in Bufferbloat Testing and Reduction on Linux

Overview. TCP & router queuing Computer Networking. TCP details. Workloads. TCP Performance. TCP Performance. Lecture 10 TCP & Routers

BLEST: Blocking Estimation-based MPTCP Scheduler for Heterogeneous Networks. Simone Ferlin, Ozgu Alay, Olivier Mehani and Roksana Boreli

15-744: Computer Networking TCP

Appendix B. Standards-Track TCP Evaluation

ADVANCED COMPUTER NETWORKS

Transport Layer TCP / UDP

Application. Transport. Network. Link. Physical

ENSC 835 project (2002) TCP performance over satellite links. Kenny, Qing Shao Grace, Hui Zhang

Investigating the Use of Synchronized Clocks in TCP Congestion Control

ENSC 835 project (2002) TCP performance over satellite links. Kenny, Qing Shao Grace, Hui Zhang

14-740: Fundamentals of Computer and Telecommunication Networks

Random Early Detection (RED) gateways. Sally Floyd CS 268: Computer Networks

CS519: Computer Networks. Lecture 5, Part 5: Mar 31, 2004 Queuing and QoS

Performance Analysis of TCP Variants

Performance Consequences of Partial RED Deployment

CS268: Beyond TCP Congestion Control

Congestion Control for High Bandwidth-delay Product Networks

Performance-oriented Congestion Control

Internet Applications and the Application Layer Material from Kurose and Ross, Chapter 2: The Application Layer

BBR Congestion Control: IETF 100 Update: BBR in shallow buffers

Exercises TCP/IP Networking With Solutions

Congestion Control for High Bandwidth-delay Product Networks. Dina Katabi, Mark Handley, Charlie Rohrs

Peer-to-Peer Protocols and Data Link Layer. Chapter 5 from Communication Networks Leon-Gracia and Widjaja

Multimedia-unfriendly TCP Congestion Control and Home Gateway Queue Management

Can Congestion-controlled Interactive Multimedia Traffic Co-exist with TCP? Colin Perkins

Introducing optical switching into the network

Linux Plumbers Conference TCP-NV Congestion Avoidance for Data Centers

Congestion Control. Daniel Zappala. CS 460 Computer Networking Brigham Young University

Linux 2.4 Implementation of Westwood+ TCP with Rate Halving : A Performance Evaluation over the Internet

Multipath Transport for Virtual Private Networks

Internet Engineering Task Force (IETF) J. Iyengar, Ed. Google January 2018

Lecture 2: Internet Structure

Wireless TCP Performance Issues

On the Performance Characteristics of WLANs: Revisited

Traffic Characteristics of Bulk Data Transfer using TCP/IP over Gigabit Ethernet

WQM: Practical, Adaptive, and Lightweight Wireless Queue Management System

Dummynet AQM v0.1 CoDel and FQ-CoDel for FreeBSD s ipfw/dummynet framework

Lecture 22: Buffering & Scheduling. CSE 123: Computer Networks Alex C. Snoeren

Performance Enhancement Of TCP For Wireless Network

Computer Networks and the Internet. CMPS 4750/6750: Computer Networks

Making TCP more Robust against Packet Reordering

Congestion Control. Principles of Congestion Control. Network assisted congestion. Asynchronous Transfer Mode. Computer Networks 10/23/2013

Transport Layer (Congestion Control)

Enhancing TCP Throughput over Lossy Links Using ECN-Capable Capable RED Gateways

Quality of Service Mechanism for MANET using Linux Semra Gulder, Mathieu Déziel

CS457 Transport Protocols. CS 457 Fall 2014

ENSC 835 project TCP performance over satellite links. Kenny, Qing Shao Grace, Hui Zhang

Using Dummynet AQM - FreeBSD s CoDel, PIE, FQ-CoDel and FQ-PIE with TEACUP v1.0 testbed

High bandwidth, Long distance. Where is my throughput? Robin Tasker CCLRC, Daresbury Laboratory, UK

Promoting the Use of End-to-End Congestion Control in the Internet

CPSC 441 COMPUTER COMMUNICATIONS MIDTERM EXAM

Sizing Router Buffers

Fast Retransmit. Problem: coarsegrain. timeouts lead to idle periods Fast retransmit: use duplicate ACKs to trigger retransmission

TCP in Asymmetric Environments

Flow-start: Faster and Less Overshoot with Paced Chirping

Recap. TCP connection setup/teardown Sliding window, flow control Retransmission timeouts Fairness, max-min fairness AIMD achieves max-min fairness

Stochastic Forecasts Achieve High Throughput and Low Delay over Cellular Networks

Chapter 4. Routers with Tiny Buffers: Experiments. 4.1 Testbed experiments Setup

QoS on Low Bandwidth High Delay Links. Prakash Shende Planning & Engg. Team Data Network Reliance Infocomm

Overview Computer Networking What is QoS? Queuing discipline and scheduling. Traffic Enforcement. Integrated services

Link Layer. (continued)

CSE 573S Protocols for Computer Networks (Spring 2005 Final Project)

TCP LoLa Toward Low Latency and High Throughput Congestion Control

Model-based Measurements Of Network Loss

Equation-Based Congestion Control for Unicast Applications. Outline. Introduction. But don t we need TCP? TFRC Goals

CS 43: Computer Networks. 19: TCP Flow and Congestion Control October 31, Nov 2, 2018

ECEN Final Exam Fall Instructor: Srinivas Shakkottai

A Hybrid Systems Modeling Framework for Fast and Accurate Simulation of Data Communication Networks. Motivation

Congestion Control. Resource allocation and congestion control problem

Chapter 6: Congestion Control and Resource Allocation

Transport Protocols for Data Center Communication. Evisa Tsolakou Supervisor: Prof. Jörg Ott Advisor: Lect. Pasi Sarolahti

15-744: Computer Networking. Overview. Queuing Disciplines. TCP & Routers. L-6 TCP & Routers

CSE 473 Introduction to Computer Networks. Exam 2. Your name here: 11/7/2012

TCP Westwood: Efficient Transport for High-speed wired/wireless Networks

The War Between Mice and Elephants

Impact of transmission errors on TCP performance. Outline. Random Errors

End-to-End Mechanisms for QoS Support in Wireless Networks

Congestion Collapse in the 1980s

CS 638 Lab 6: Transport Control Protocol (TCP)

Effect of SCTP Multistreaming over Satellite Links

Notes on using RED for Queue Management and Congestion Avoidance

Network Research and Linux at the Hamilton Institute, NUIM.

Congestion Control For Coded TCP. Doug Leith

Computer Networking. Queue Management and Quality of Service (QOS)

Outline Computer Networking. TCP slow start. TCP modeling. TCP details AIMD. Congestion Avoidance. Lecture 18 TCP Performance Peter Steenkiste

CS 268: Computer Networking

Topics. TCP sliding window protocol TCP PUSH flag TCP slow start Bulk data throughput

TCP Congestion Control : Computer Networking. Introduction to TCP. Key Things You Should Know Already. Congestion Control RED

PCC: Performance-oriented Congestion Control

TCP Congestion Control Beyond Bandwidth-Delay Product for Mobile Cellular Networks

TCP Westwood and Easy Red to Improve Fairness in High-speed Networks. PfHsn 2002 Berlin, 22 April 2002

Performance Analysis of the Intertwined Effects between Network Layers for g Transmissions

The Case for Informed Transport Protocols

The Case for Comprehensive

Transcription:

Kathie Nichols CoDel present by Van Jacobson to the IETF-84 Transport Area Open Meeting 30 July 2012 Vancouver, Canada

2

3

Sender Receiver 4

Sender Receiver 5

Sender Receiver Queue forms at a bottleneck There s probably just one bottleneck (each flow sees exactly one) Choices: can move the queue (by making a new bottleneck) or control it. 5

Good Queue / Bad Queue Queue length Time 6

Good Queue / Bad Queue Queue length Time Queue length Time 6

Good Queue / Bad Queue Queue length Good queue goes away in an RTT, bad queue hangs around. Time queue length min() over a sliding window measures bad queue... Queue length... as long as window is at least an RTT wide. Time 7

Good Queue / Bad Queue Queue length Good queue goes away in an RTT, bad queue hangs around. Time tracking min() in a sliding window gives bad queue... Queue length... as long as window is at least an RTT wide. Time 8

Good Queue / Bad Queue Queue length Good queue goes away in an RTT, bad queue hangs around. Time tracking min() in a sliding window gives bad queue... Queue length... as long as window is at least an RTT wide. Time 8

How big is the queue? Can measure size in bytes interesting if worried about overflow requires output bandwidth to compute delay Can measure packet s sojourn time direct measure of delay easy (no enque/deque coupling so works with any packet pipeline). 9

Sojourn Time Works with time-varying output bandwidth (e.g., wireless and shared links) Better behaved than queue length no high frequency phase noise Includes everything that affects packet so works for multi-queue links 10

Two views of a Queue Q delay (ms.) 0 1 2 3 4 5 6 Top graph is sojourn time, 24.5 25.0 25.5 26.0 bottom is queue size. Time (sec.) (one ftp + web traffic; 10Mbps bottleneck; 80ms RTT; TCP Reno) Q size (ms.) 0 1 2 3 4 5 6 11

Two views of a Queue Q delay (ms.) 0 1 2 3 4 5 6 Top graph is sojourn time, 24.5 25.0 25.5 26.0 bottom is queue size. Time (sec.) (one ftp + web traffic; 10Mbps bottleneck; 80ms RTT; TCP Reno) Q size (ms.) 0 1 2 3 4 5 6 11

Two views of a Queue Q delay (ms.) 0.0 0.5 1.0 1.5 2.0 Top graph is sojourn time, 25.00 25.05 25.10 25.15 25.20 bottom is queue size. (one ftp + web traffic; 10Mbps bottleneck; 80ms RTT; TCP Reno) Q size (ms.) 0.0 0.5 1.0 1.5 2.0 2.5 Time (sec.) 12

Multi-Queue behavior 13

Controlling Queue a) Measure what you ve got b) Decide what you want c) If (a) isn t (b), move it toward (b) 14

Controlling Queue a) Measure what you ve got b) Decide what you want c) If (a) isn t (b), move it toward (b) - Estimator - Setpoint - Control loop 15

How much bad queue do we want? Can t let the link go idle (need one or two MTU of backlog) More than this will give higher utilization at low degree of multiplexing (1-3 bulk xfers) at the cost of higher delay Can the trade-off be quantified? 16

Utilization vs. Target for a single Reno TCP Bottleneck Link Utilization (% of max) 75 80 85 90 95 100 0 20 40 60 80 100 Target (% of RTT) 17

Power vs. Target for a Reno TCP Average Power (Xput/Delay) 0.70 0.75 0.80 0.85 0.90 0.95 1.00 0 20 40 60 80 100 Target (as % of RTT) 18

Power vs. Target for a Reno TCP Average Power (Xput/Delay) 0.70 0.75 0.80 0.85 0.90 0.95 1.00 0 20 40 60 80 100 Target (as % of RTT) 18

Power vs. Target for a Reno TCP Average Power (Xput/Delay) 0.93 0.94 0.95 0.96 0.97 0.98 0.99 1.00 0 5 10 15 20 25 30 Target (as % of RTT) 19

Power vs. Target for a Reno TCP Average Power (Xput/Delay) 0.93 0.94 0.95 0.96 0.97 0.98 0.99 1.00 0 5 10 15 20 25 30 Target (as % of RTT) 19

20

Setpoint target of 5% of nominal RTT (5ms for 100ms RTT) yields substantial utilization improvement for small added delay. 20

Setpoint target of 5% of nominal RTT (5ms for 100ms RTT) yields substantial utilization improvement for small added delay. Result holds independent of bandwidth and congestion control algorithm (tested with Reno, Cubic & Westwood). 20

Setpoint target of 5% of nominal RTT (5ms for 100ms RTT) yields substantial utilization improvement for small added delay. Result holds independent of bandwidth and congestion control algorithm (tested with Reno, Cubic & Westwood). CoDel has no free parameters: runningmin window width determined by worstcase expected RTT and target is a fixed fraction of same RTT. 20

Algorithm & Control Law (see I-D, CACM paper and Linux kernels >= 3.5) 21

Eric Dumazet has combined CoDel with a simple SFQ (256-1024 buckets with RR service discipline). Cost in state & cycles is small and improvement is big. provides isolation - protects low rate CBR and web for a better user experience. Makes IW10 concerns a non-issue. gets rid of bottleneck bi-directional traffic problems ( ack-compression burstiness) improves flow mixing for better network performance (reduce HoL blocking) Since we re adding code, add fqcodel, not codel. 22

Where are we? thanks to Jim Gettys and the ACM, have dead-tree publication to protect ideas un-encumbered code (BSD/GPL dual-license) available for ns2, ns3 & linux in both simulation and real deployment, CoDel does no harm it either does nothing or reduces delay without affecting xput. 23

What needs to be done Still looking at parts of the algorithm but changes likely to be 2nd order. Would like to see CoDel on both ends of every home/small-office access link but: - We need to know more about how traffic behaves on particular bottlenecks (wi-fi, 3G cellular, cable modem) - There are system issues with deployment 24

Deployment Issues Home Gateway RTR/AP Cable Modem Headend 25

Deployment Issues Home Gateway RTR/AP Cable Modem Headend Linux kernel Protocol stack Device Driver Device 26

Deployment Issues Home Gateway RTR/AP Cable Modem Headend Linux kernel Protocol stack Device Driver Device Cellphone Phone CPU 3G Modem RAN? SGSN 27

Our thanks to: Jim Gettys CoDel early experimenters, particularly Dave Taht Eric Dumazet ACM Queue Eben Moglen 28