Congestion Control: TCP & DC-TCP Swarun Kumar With Slides From: Prof. Katabi, Alizadeh et al.

Slides:



Advertisements
Similar presentations
Congestion Control and Fairness Models Nick Feamster CS 4251 Computer Networking II Spring 2008.
Advertisements

Mohammad Alizadeh, Albert Greenberg, David A. Maltz, Jitendra Padhye Parveen Patel, Balaji Prabhakar, Sudipta Sengupta, Murari Sridharan Modified by Feng.
Lecture 18: Congestion Control in Data Center Networks 1.
Mohammad Alizadeh, Albert Greenberg, David A. Maltz, Jitendra Padhye Parveen Patel, Balaji Prabhakar, Sudipta Sengupta, Murari Sridharan Presented by Shaddi.
1 TCP Congestion Control. 2 TCP Segment Structure source port # dest port # 32 bits application data (variable length) sequence number acknowledgement.
Congestion Control Created by M Bateman, A Ruddle & C Allison As part of the TCP View project.
TCP Congestion Control Dina Katabi & Sam Madden nms.csail.mit.edu/~dina 6.033, Spring 2014.
CS640: Introduction to Computer Networks Mozafar Bag-Mohammadi Lecture 3 TCP Congestion Control.
Computer Networking Lecture 17 – TCP & Congestion Control Dejian Ye, Liu Xin.
CS 268: Lecture 7 (Beyond TCP Congestion Control) Ion Stoica Computer Science Division Department of Electrical Engineering and Computer Sciences University.
Mohammad Alizadeh Adel Javanmard and Balaji Prabhakar Stanford University Analysis of DCTCP:Analysis of DCTCP: Stability, Convergence, and FairnessStability,
CS268: Beyond TCP Congestion Control Ion Stoica February 9, 2004.
Advanced Computer Networking Congestion Control for High Bandwidth-Delay Product Environments (XCP Algorithm) 1.
Congestion Control An Overview -Jyothi Guntaka. Congestion  What is congestion ?  The aggregate demand for network resources exceeds the available capacity.
IETF87 Berlin DCTCP implementation in FreeBSD
XCP: Congestion Control for High Bandwidth-Delay Product Network Dina Katabi, Mark Handley and Charlie Rohrs Presented by Ao-Jan Su.
School of Information Technologies TCP Congestion Control NETS3303/3603 Week 9.
Congestion control in data centers
Chapter 3 Transport Layer slides are modified from J. Kurose & K. Ross CPE 400 / 600 Computer Communication Networks Lecture 12.
Explicit Congestion Notification ECN Tilo Hamann Technical University Hamburg-Harburg, Germany.
Transport Layer3-1 Congestion Control. Transport Layer3-2 Principles of Congestion Control Congestion: r informally: “too many sources sending too much.
Lecture 8 Congestion Control EECS 122 University of California Berkeley.
Defense: Christopher Francis, Rumou duan Data Center TCP (DCTCP) 1.
CSEE W4140 Networking Laboratory Lecture 7: TCP flow control and congestion control Jong Yul Kim
High speed TCP’s. Why high-speed TCP? Suppose that the bottleneck bandwidth is 10Gbps and RTT = 200ms. Bandwidth delay product is packets (1500.
1 TCP Transport Control Protocol Reliable In-order delivery Flow control Responds to congestion “Nice” Protocol.
Computer Networking Lecture 16 – TCP & Congestion Control Copyright ©, Carnegie Mellon University.
1 Chapter 3 Transport Layer. 2 Chapter 3 outline 3.1 Transport-layer services 3.2 Multiplexing and demultiplexing 3.3 Connectionless transport: UDP 3.4.
Data Communication and Networks
L13: Sharing in network systems Dina Katabi Spring Some slides are from lectures by Nick Mckeown, Ion Stoica, Frans.
TCP Congestion Control
Jennifer Rexford Fall 2014 (TTh 3:00-4:20 in CS 105) COS 561: Advanced Computer Networks TCP.
Congestion Control for High Bandwidth-delay Product Networks Dina Katabi, Mark Handley, Charlie Rohrs.
Congestion Control for High Bandwidth-Delay Product Environments Dina Katabi Mark Handley Charlie Rohrs.
TCP & Data Center Networking
Courtesy: Nick McKeown, Stanford 1 TCP Congestion Control Tahir Azim.
Curbing Delays in Datacenters: Need Time to Save Time? Mohammad Alizadeh Sachin Katti, Balaji Prabhakar Insieme Networks Stanford University 1.
3: Transport Layer3b-1 Principles of Congestion Control Congestion: r informally: “too many sources sending too much data too fast for network to handle”
Transport Layer3-1 Chapter 3 outline r 3.1 Transport-layer services r 3.2 Multiplexing and demultiplexing r 3.3 Connectionless transport: UDP r 3.4 Principles.
Network Technologies essentials Week 8: TCP congestion control Compilation made by Tim Moors, UNSW Australia Original slides by David Wetherall, University.
Principles of Congestion Control Congestion: informally: “too many sources sending too much data too fast for network to handle” different from flow control!
Congestion Control - Supplementary Slides are adapted on Jean Walrand’s Slides.
Transport Layer 3-1 Chapter 3 Transport Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March
CS640: Introduction to Computer Networks Aditya Akella Lecture 15 TCP – III Reliability and Implementation Issues.
Computer Networking Lecture 18 – More TCP & Congestion Control.
CS640: Introduction to Computer Networks Aditya Akella Lecture 15 TCP – III Reliability and Implementation Issues.
Transport Layer3-1 Chapter 3 outline r 3.1 Transport-layer services r 3.2 Multiplexing and demultiplexing r 3.3 Connectionless transport: UDP r 3.4 Principles.
T. S. Eugene Ngeugeneng at cs.rice.edu Rice University1 COMP/ELEC 429/556 Introduction to Computer Networks Principles of Congestion Control Some slides.
1 John Magee 20 February 2014 CS 280: Transport Layer: Congestion Control Concepts, TCP Congestion Control Most slides adapted from Kurose and Ross, Computer.
CS-1652 The slides are adapted from the publisher’s material All material copyright J.F Kurose and K.W. Ross, All Rights Reserved Jack Lange.
Winter 2008CS244a Handout 71 CS244a: An Introduction to Computer Networks Handout 7: Congestion Control Nick McKeown Professor of Electrical Engineering.
Advance Computer Networks Lecture#09 & 10 Instructor: Engr. Muhammad Mateen Yaqoob.
TCP continued. Discussion – TCP Throughput TCP will most likely generate the saw tooth type of traffic. – A rough estimate is that the congestion window.
XCP: eXplicit Control Protocol Dina Katabi MIT Lab for Computer Science
Transport Layer3-1 Chapter 3 outline r 3.1 Transport-layer services r 3.2 Multiplexing and demultiplexing r 3.3 Connectionless transport: UDP r 3.4 Principles.
© Janice Regan, CMPT 128, CMPT 371 Data Communications and Networking Congestion Control 0.
@Yuan Xue A special acknowledge goes to J.F Kurose and K.W. Ross Some of the slides used in this lecture are adapted from their.
Transport Layer session 1 TELE3118: Network Technologies Week 11: Transport Layer TCP Some slides have been taken from: r Computer Networking:
1 Flow & Congestion Control Some slides are from lectures by Nick Mckeown, Ion Stoica, Frans Kaashoek, Hari Balakrishnan, and Sam Madden Prof. Dina Katabi.
Lecture 17 – TCP & Congestion Control
Data Center TCP (DCTCP)
Chapter 3 outline 3.1 transport-layer services
Chapter 3 outline 3.1 Transport-layer services
Lecture 19 – TCP Performance
AMP: A Better Multipath TCP for Data Center Networks
Other Methods of Dealing with Congestion
Lecture 16, Computer Networks (198:552)
TCP Congestion Control
Transport Layer: Congestion Control
TCP flow and congestion control
Presentation transcript:

Congestion Control: TCP & DC-TCP Swarun Kumar With Slides From: Prof. Katabi, Alizadeh et al.

Congestion: A big problem Sources in the Internet are compete for bandwidth and buffer space S1S1 S2S2 R1 D 10Mb/s 2Mb/s 100Mb/s  Why is it a problem?  Sources are unaware of current state of resource  Sources are unaware of each other  Manifestations:  Lost packets (buffer overflow at routers)  Long delays (queuing in router buffers) S1S1 S2S2

Solution: Congestion Control Ask the senders to slow down But how much do you slow down? - Efficiency: Maximize Utilization S1S1 S2S2 R1 D 10Mb/s 2Mb/s 100Mb/s - Fairness: Each user gets a fair share S 1 + S 2 = 2Mb/s S 1 = S 2 = 1Mb/s

Max-Min Fairness Each user gets min(demand, fair share) S1S1 S2S2 R1 D 9Mb/s S3S3  1 = 1Mb/s  2 = 7Mb/s  3 =  Demands  1 = 1Mb/s  2 = 4Mb/s  3 = 4Mb/s Max-min Fair Rates

TCP Congestion Control Simple idea: Send a few packets. – If a packet is dropped => decrease rate. – If no drops => increase rate. Control rate via congestion window – cwnd = Number of packets a sender can send without an acknowledgment (i.e. in one RTT) – Increase cwnd to increase rate How does cwnd relate to actual rate? Throughput = cwnd/RTT

How much should TCP increase/decrease cwnd? Basic rule: Additive increase, Multiplicative decrease (AIMD) For every RTT: – No loss => cwnd = cwnd +1 – A loss => cwnd = cwnd/2

Additive Increase D A Src Dest cwnd = 1 cwnd += 1 cwnd = 2 DDAA cwnd = 3 DDAADA cwnd = 4 Multiplicative Decrease D cwnd = 10 D … X D D cwnd = 5 D …

AIMD Leads to Efficiency and Fairness User 1: x 1 User 2: x 2 fairness Line x 1 =x 2 Efficiency line (x 1 +x 2 = C) (x 1,x 2 ) (x 1 /2,x 2 /2) (x 1 /2+a,x 2 /2+a)

TCP Add-ons: Slow Start Time Congestion Window Slow Start

TCP Add-ons: Fast retransmit/recovery Time Congestion Window 3 dup acks

DC-TCP: TCP for Data Centers TCP suffers major problems: – Incast – Queue Buildup 11 Data Center traffic is two fold: – Short Flows (50 KB – 1 MB) – Large flows (1MB – 50 MB) Delay-sensitive Throughput-sensitive

Incast 12 TCP timeout Worker 1 Worker 2 Worker 3 Worker 4 Master Time out after 300 ms Synchronized mice collide. (e.g. in map/reduce)

Queue Buildup 13 Sender 1 Sender 2 Receiver Elephant flows buildup queues.  Increased latency for mice flows.

Solution: Leverage “ECN” 14 Sender 1 Sender 2 Receiver ECN Mark (1 bit) ECN = Explicit Congestion Notification

DC-TCP: Key Idea React in proportion to the extent of congestion, not its presence. 18 ECN MarksTCPDCTCP Cut window by 50%Cut window by 40% Cut window by 50%Cut window by 5%

DC-TCP Algorithm At Router: – Mark packets when Q ueue Length > K. 19 At Sender: – Maintain running average of fraction of packets marked (α). In each RTT:  Adaptive window decreases: – Note: decrease factor between 1 and 2. B K Mark Don’t Mark

Sample Questions (Quiz 2, S’11) Question 1: What’s the max-throughput (in pkts/s) if the source uses cwnd = 5 pkts? (Assume ACKs are delivered instantly) S1S1 D Capacity: 100 pkt/s One-way Delay: 0.1s Router 100 pkt buffer Capacity: 10 pkt/s One-way Delay: 1s

Sample Questions (Quiz 2, S’11) Question 2: What’s the max-throughput (in pkts/s) if the source uses cwnd = 20 pkts? (Assume ACKs are delivered instantly) S1S1 D Capacity: 100 pkt/s One-way Delay: 0.1s Router 100 pkt buffer Capacity: 10 pkt/s One-way Delay: 1s

Sample Questions (Quiz 2, S’11) Question 3: What’s the maximum cwnd that TCP’s AIMD can have? S1S1 D Capacity: 100 pkt/s One-way Delay: 0.1s Router 100 pkt buffer Capacity: 10 pkt/s One-way Delay: 1s

Sample Questions (Quiz 2, S’11) Question 4: What’s the maximum cwnd that DC-TCP can have, assuming K=40 at the router? S1S1 D Capacity: 100 pkt/s One-way Delay: 0.1s Router 100 pkt buffer Capacity: 10 pkt/s One-way Delay: 1s