Lecture 14: Congestion Control"

Similar documents
Lecture 14: Congestion Control"

Lecture 14: Congestion Control

Lecture 13: Traffic Engineering

CS644 Advanced Networks

Congestion Control. Tom Anderson

CSE/EE 461 Lecture 16 TCP Congestion Control. TCP Congestion Control

CS 268: Lecture 7 (Beyond TCP Congestion Control)

CS268: Beyond TCP Congestion Control

XCP: explicit Control Protocol

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

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

Congestion Control In the Network

Reliable Transport II: TCP and Congestion Control

Lecture 21: Congestion Control" CSE 123: Computer Networks Alex C. Snoeren

15-744: Computer Networking TCP

Congestion Control 3/16/09

ADVANCED TOPICS FOR CONGESTION CONTROL

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

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

Congestion Control for High Bandwidth-Delay Product Networks

Bandwidth Allocation & TCP

TCP Congestion Control

Congestion Control for High Bandwidth-delay Product Networks

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

CSE 461. TCP and network congestion

CS 268: Computer Networking

Congestion Control End Hosts. CSE 561 Lecture 7, Spring David Wetherall. How fast should the sender transmit data?

Congestion control in TCP

Overview. TCP congestion control Computer Networking. TCP modern loss recovery. TCP modeling. TCP Congestion Control AIMD

Congestion Control. Queuing Discipline Reacting to Congestion Avoiding Congestion. Issues

Reliable Transport II: TCP and Congestion Control

TCP Congestion Control. Lecture 16. Outline. TCP Congestion Control. Additive Increase / Multiplicative Decrease (AIMD)

Computer Networking

CS321: Computer Networks Congestion Control in TCP

Hybrid Control and Switched Systems. Lecture #17 Hybrid Systems Modeling of Communication Networks

One More Bit Is Enough

Congestion. Can t sustain input rate > output rate Issues: - Avoid congestion - Control congestion - Prioritize who gets limited resources

Chapter III. congestion situation in Highspeed Networks

Transmission Control Protocol. ITS 413 Internet Technologies and Applications

CS CS COMPUTER NETWORKS CS CS CHAPTER 6. CHAPTER 6 Congestion Control

Computer Networks. Course Reference Model. Topic. Congestion What s the hold up? Nature of Congestion. Nature of Congestion 1/5/2015.

6.033 Computer System Engineering

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

Congestion Avoidance and Control. Rohan Tabish and Zane Ma

Communication Networks

Good Ideas So Far Computer Networking. Outline. Sequence Numbers (reminder) TCP flow control. Congestion sources and collapse

Chapter 3 outline. 3.5 Connection-oriented transport: TCP. 3.6 Principles of congestion control 3.7 TCP congestion control

Principles of congestion control

CSE 123A Computer Networks

CSE/EE 461. TCP congestion control. Last Lecture. This Lecture. Focus How should senders pace themselves to avoid stressing the network?

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

Operating Systems and Networks. Network Lecture 10: Congestion Control. Adrian Perrig Network Security Group ETH Zürich

Where we are in the Course. Topic. Nature of Congestion. Nature of Congestion (3) Nature of Congestion (2) Operating Systems and Networks

ADVANCED COMPUTER NETWORKS

Flow and Congestion Control (Hosts)

CS 356: Computer Network Architectures Lecture 19: Congestion Avoidance Chap. 6.4 and related papers. Xiaowei Yang

Transport Layer (Congestion Control)

6.033 Spring 2015 Lecture #11: Transport Layer Congestion Control Hari Balakrishnan Scribed by Qian Long

What is Congestion? Congestion: Moral of the Story. TCP Approach. Transport Layer: TCP Congestion Control & Buffer Management

Oscillations and Buffer Overflows in Video Streaming under Non- Negligible Queuing Delay

Congestion Control. Resource allocation and congestion control problem

8. TCP Congestion Control

CS4700/CS5700 Fundamentals of Computer Networks

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

TCP Congestion Control. Housekeeping. Additive Increase/Multiplicative Decrease. AIMD (cont) Pick up folders for exam study Exam next Friday, Nov.

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

Flow and Congestion Control Marcos Vieira

Congestion Control in Communication Networks

Congestion Control In The Internet Part 2: How it is implemented in TCP. JY Le Boudec 2014

Congestion Control In The Internet Part 2: How it is implemented in TCP. JY Le Boudec 2015

CS3600 SYSTEMS AND NETWORKS

EP2210 Scheduling. Lecture material:

Priority Traffic CSCD 433/533. Advanced Networks Spring Lecture 21 Congestion Control and Queuing Strategies

Transport Layer (Congestion Control)

cs/ee 143 Communication Networks

Advanced Computer Networks

TCP. CSU CS557, Spring 2018 Instructor: Lorenzo De Carli (Slides by Christos Papadopoulos, remixed by Lorenzo De Carli)

Assignment 7: TCP and Congestion Control Due the week of October 29/30, 2015

Congestion Collapse in the 1980s

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

Chapter 24 Congestion Control and Quality of Service 24.1

Lecture 8. TCP/IP Transport Layer (2)

Congestion Control In The Internet Part 2: How it is implemented in TCP. JY Le Boudec 2014

Page 1. Review: Internet Protocol Stack. Transport Layer Services. Design Issue EEC173B/ECS152C. Review: TCP

Lecture 24: Scheduling and QoS

Advanced Computer Networks

Congestion Control In The Internet Part 2: How it is implemented in TCP. JY Le Boudec 2015

Reasons not to Parallelize TCP Connections for Fast Long-Distance Networks

Congestion Avoidance

Router s Queue Management

Page 1. Review: Internet Protocol Stack. Transport Layer Services EEC173B/ECS152C. Review: TCP. Transport Layer: Connectionless Service

CSCI-1680 Transport Layer II Data over TCP Rodrigo Fonseca

Lecture 11. Transport Layer (cont d) Transport Layer 1

In-network Resource Allocation (Scribed by Ambuj Ojha)

Flow and Congestion Control

Goals of Today s Lecture! Congestion Control! Course So Far.! Congestion Control Overview! It s Not Just The Sender & Receiver! Congestion is Natural!

Fall 2012: FCM 708 Bridge Foundation I

Congestion Control & Transport protocols

Chapter II. Protocols for High Speed Networks. 2.1 Need for alternative Protocols

Outline. Internet. Router. Network Model. Internet Protocol (IP) Design Principles

Transcription:

Lecture 14: Congestion Control" CSE 222A: Computer Communication Networks Alex C. Snoeren Thanks: Amin Vahdat, Dina Katabi

Lecture 14 Overview" TCP congestion control review XCP Overview 2

Congestion Control Overview" Challenge: how do we efficiently share network resources among billions of hosts? Today: TCP Hosts adjust rate based on packet losses Alternative solutions Fair queuing, RED (router support) Vegas, packet pair (add functionality to TCP) Rate control, credits 3

Queuing Disciplines" How to distribute buffers among users/flows When buffer overflows, which packet to drop? Simple solution: FIFO First in, first out If packet comes along with no available buffer space, drop it 4

Fair Queuing" Goals: Allocate resources equally among all users/flows Low delay for interactive users Protection against misbehaving users Approach: simulate general processor sharing (from OS world) Bitwise round robin Need to compute number of competing flows at each instant 5

TCP Congestion Problems" Original TCP sent full window of data When links become loaded, queues fill up, leading to: Congestion collapse: when round-trip time exceeds retransmit interval this can create a stable condition in which every packet is being retransmitted many times Synchronized behavior: network oscillates between loaded and unloaded» Feedback loop 6

Jacobson s Solution" Transport protocols should obey conservation of packets Use ACKs to clock injection of new packets Modify retransmission timer to adapt to variations in delay Infer network bandwidth from packet loss Drops è congestion è reduce rate No drops è no congestion è increase rate Limit send rate based on minimum of congestion window and advertised window 7

Tracking Bottleneck Bandwidth" Throughput = window size/rtt Multiplicative decrease Timeout è dropped packet è cut window size in half Additive increase ACK arrives è no drop è increase window size by one packet/window 8

TCP Sawtooth " Oscillates around bottleneck bandwidth Adjusts to changes in competing traffic Additive Increase/Multiplicative Decrease! window! (in segs)! 18! 16! 14! 12! 10! 8! 6! 4! 2! 0! round-trip times! 9

Slow Start" How do we find bottleneck bandwidth? Cannot use ACKs to clock without reaching equilibrium Start by sending a single packet Start slow to avoid overwhelming network Multiplicative increase until get packet loss Quickly find bottleneck Cut rate by half Shift into linear increase/multiplicative decrease 10

Slow Start" Quickly find the bottleneck bandwidth Slow Start! 300! 250! 200! window! (in segs)! 150! 100! 50! 0! 0! 1! 2! 3! 4! 5! 6! 7! 8! round-trip times! 11

Slow Start Problems" Slow start usually overshoots bottleneck Leading to many lost packets in window Can lose up to half of window size Bursty traffic source Will cause bursty losses for other flows Short flows Can spend entire time in slow start Especially for large bottleneck bandwidth Consider repeated connections to the same server E.g., for web connections 12

ACK Pacing in TCP" ACKs open up slots in the congestion/advertised window Bottleneck link determines rate to send ACK indicates one packet has left the network 13

Problems with ACK Pacing" ACK compression Variations in queuing delays on return path changes spacing between ACKs Example: ACK waits for single long packet Worse with bursty cross-traffic What happens after a timeout? Potentially, no ACKs to time packet transmissions Congestion avoidance Slow start back to last successful rate Back to linear increase/multiplicative increase at this point 14

Two TCP Connections" Reach equilibrium independent of initial bandwidth (assuming equal RTTs) 16 14 12 10 window (in segs) 8 6 4 2 0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 round-trip times 15

TCP Friendliness " Problem: many different TCP implementations If cut back more slowly after drops è grab bigger share If add more quickly after ACKs è grab bigger share Incentive to cause congestion collapse Many TCP accelerators Easy to improve perf at expense of network Solutions? Per-flow fair queuing at router 16

Fairness vs. Efficiency" Coupled because a single mechanism controls both Example: In TCP, Additive-Increase Multiplicative- Decrease (AIMD) controls both XCP argues decoupling solves the problem: 1. To control congestion: use MIMD which shows fast response 2. To control fairness: use AIMD which converges to fairness 17

XCP Advantages" Tighter Congestion Control Small queues Almost no drops Scalable (no per-flow state) Flexible fairness definitions Max/min Proportional Differential bandwidth Etc. 18

XCP Overview" 1. Congestion Controller 2. Fairness Controller 19

XCP Example" Round Trip Round Time Trip Time Congestion Congestion Window Window Feedback Feedback = + 0.1 packet Congestion Header 20

XCP Example" Round Trip Time Congestion Window Feedback = = + 0.1-0.3 packet packet 21

XCP Example" Congestion Window = Congestion Window + Feedback Routers compute feedback without any per-flow state 22

Feedback Computation" Congestion Controller Goal: Matches input traffic to link capacity & drains the queue Looks at aggregate traffic & queue MIMD Algorithm: Aggregate traffic changes by Δ Δ ~ Spare Bandwidth Δ ~ - Queue Size So, Δ = α d avg Spare - β Queue Fairness Controller Goal: Divides Δ between flows to converge to fairness Looks at a flow s state in Congestion Header AIMD Algorithm: If Δ > 0 Divide Δ equally between flows If Δ < 0 Divide Δ between flows proportionally to their current rates 23

Dumbbell Topology" S 1 Bottleneck S 2 R 1, R 2,, R n S n 24

Efficiency "" Avg. Utilization Avg. Utilization Bottleneck Bandwidth (Mb/s) Round Trip Delay (sec) 25

Response to Dynamics" Start 40 Flows Stop the 40 Flows 26

Short Flows" Average Utilization Average Queue Drops 27

Fairness" Avg. Throughput Avg. Throughput Same RTT Different RTT 28

For Next Class " Read and review DC-TCP paper We ll be in touch regarding Checkpoint meetings Email 1-2 page summary to Siva if you haven t already 29