CS 557 Congestion and Complexity

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

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

Transport Layer PREPARED BY AHMED ABDEL-RAOUF

CMSC 417. Computer Networks Prof. Ashok K Agrawala Ashok Agrawala. October 30, 2018

Bandwidth Allocation & TCP

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

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

Chapter 3 Transport Layer

Chapter III: Transport Layer

8. TCP Congestion Control

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

Computer Network Fundamentals Spring Week 10 Congestion Control Andreas Terzis

Router s Queue Management

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

ECEN Final Exam Fall Instructor: Srinivas Shakkottai

Computer Networking Introduction

CSC 4900 Computer Networks: TCP

CMPE 150/L : Introduction to Computer Networks. Chen Qian Computer Engineering UCSC Baskin Engineering Lecture 10

CS321: Computer Networks Congestion Control in TCP

CS 5520/ECE 5590NA: Network Architecture I Spring Lecture 13: UDP and TCP

Communication Networks

Lecture 14: Congestion Control"

COMP/ELEC 429/556 Introduction to Computer Networks

CS644 Advanced Networks

CS3600 SYSTEMS AND NETWORKS

Mid Term Exam Results

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

CS 344/444 Computer Network Fundamentals Final Exam Solutions Spring 2007

Chapter 3 Transport Layer

CS 349/449 Internet Protocols Final Exam Winter /15/2003. Name: Course:

CS 421: COMPUTER NETWORKS SPRING FINAL May 16, minutes

EE122 MIDTERM EXAM: Scott Shenker, Ion Stoica

CSCI Topics: Internet Programming Fall 2008

CSCI Topics: Internet Programming Fall 2008

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

Internet Protocols Fall Lecture 16 TCP Flavors, RED, ECN Andreas Terzis

Lecture 15: Transport Layer Congestion Control

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

Lecture 14: Congestion Control"

Congestion Control. Principles of Congestion Control. Network-assisted Congestion Control: ATM. Congestion Control. Computer Networks 10/21/2009

CS Transport. Outline. Window Flow Control. Window Flow Control

CSCD 330 Network Programming Winter 2015

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

Wireless TCP Performance Issues

CS4700/CS5700 Fundamentals of Computer Networks

Transport layer. UDP: User Datagram Protocol [RFC 768] Review principles: Instantiation in the Internet UDP TCP

Lecture 15: TCP over wireless networks. Mythili Vutukuru CS 653 Spring 2014 March 13, Thursday

UNIT IV -- TRANSPORT LAYER

Transport layer. Review principles: Instantiation in the Internet UDP TCP. Reliable data transfer Flow control Congestion control

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

CNT 6885 Network Review on Transport Layer

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

CSE 123A Computer Networks

Link Characteristics Information conveyance

Chapter 3 Transport Layer

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

TCP Congestion Control

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

TCP Congestion Control

Department of Computer and IT Engineering University of Kurdistan. Transport Layer. By: Dr. Alireza Abdollahpouri

CS268: Beyond TCP Congestion Control

CMPSCI 453 Fall Midterm 10/26/2008

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

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

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

Introduc)on to Computer Networks

ADVANCED COMPUTER NETWORKS

The Transport Layer Congestion control in TCP

TCP congestion control:

CSCI-1680 Transport Layer II Data over TCP Rodrigo Fonseca

Lecture 13: Transport Layer Flow and Congestion Control

Transmission Control Protocol. ITS 413 Internet Technologies and Applications

Fall 2012: FCM 708 Bridge Foundation I

Flow and Congestion Control (Hosts)

CSCI-1680 Transport Layer III Congestion Control Strikes Back Rodrigo Fonseca

6.033 Computer System Engineering

Reliable Transport II: TCP and Congestion Control

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

TCP over Wireless PROF. MICHAEL TSAI 2016/6/3

c) With the selective repeat protocol, it is possible for the sender to receive an ACK for a packet that falls outside of its current window.

Lecture 8. TCP/IP Transport Layer (2)

Transport Protocols and TCP: Review

Performance Consequences of Partial RED Deployment

CS 421: COMPUTER NETWORKS SPRING FINAL May 21, minutes

Network Protocols. Transmission Control Protocol (TCP) TDC375 Autumn 2009/10 John Kristoff DePaul University 1

TCP Congestion Control

TCP Congestion Control

TCP reliable data transfer. Chapter 3 outline. TCP sender events: TCP sender (simplified) TCP: retransmission scenarios. TCP: retransmission scenarios

Investigating the Use of Synchronized Clocks in TCP Congestion Control

image 3.8 KB Figure 1.6: Example Web Page

Congestion Control 3/16/09

Outline. TCP: Overview RFCs: 793, 1122, 1323, 2018, Development of reliable protocol Sliding window protocols

Transport Protocols and TCP

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

Congestion Control. Tom Anderson

Computer Communication Networks Midterm Review

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

Transport Layer Chapter 6

CSE 473 Introduction to Computer Networks. Final Exam. Your name here: 12/17/2012

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

Transcription:

CS 557 Congestion and Complexity Observations on the Dynamics of a Congestion Control Algorithm: The Effects of Two-Way Traffic Zhang, Shenker, and Clark, 1991 Spring 2013

The Story So Far. Transport layer: End to End communication, Multiplexing, Reliability, Congestion control, Flow control, Data Layer: richly connected network (many paths) with many types of unreliable links Some Essential Apps: DNS (naming) and NTP (time). Network layer: Addressing, Fragmentation, Dynamic Routing, Best Effort Forwarding

Objective: Main Points Analysis of Congestion Control Algorithms TCP Tahoe congestion control in particular Approach: Simulations of a simple Network Variations in traffic sources and windows Contributions: Clustering, ACK-Compression, Phase Sync. How to properly conduct experiments

Congestion Control Algorithm TCP algorithm from last lecture: If (cwnd < sstresh) cwind += 1; else cwnd += 1/[cwnd] If packet loss (duplicate acks or timeout) ssthresh=max[cwnd/2, 2] cwnd =1 Ignores maxwind (for flow control) Not a factor in this study.

Network Topology Host 1 Data size = 500 bytes Ack size = 50 bytes 10 Mbps Prop delay = 1 msec Host 2 Switch 1 50 Kbps Prop delay =.01 sec Prop delay = 1 sec Switch 2 Pipesize P = (Bandwidth*prop delay)/packetsize P =.125 packets (.01 sec delay) P = 12.5 packets (1 sec delay)

Utilization Clearly can never get fully utilization on host-switch links. Utilization on bottleneck link Want bottleneck link always full Pipe size Link can hold 12.5 packets for 1 sec prop delay Link can hold 0.125 packets for.01 sec prop delay Larger pipe size decreases utliization Need to feed more packets to keep the pipe full Buffer size Larger buffer size increases utilization Always some packet in the queue ready to send

One-Way Traffic

One-Way Traffic Analysis (1/2) Figure follows predictable TCP pattern Window grows exponentially at first Window grows linearly after passing threshold Packet drop cuts the window back to 1 Buffer Size and Throughput Want full utilization of the bottleneck link Increasing the pipe size decreases utilization Increasing the buffer size increases the utilization Primary Goal: Queue size at bottleneck should never drop to 0 Tune buffer size based on pipe size Rule of Thumb for router buffer sizes See Sizing Router Buffers, SIGCOMM 2004

One-Way Traffic Analysis (2/2) Packets from a connection are clustered All the packets from one connection linked together Start as a cluster of 1 and always remain clustered Results since each ack triggers data Can be violated if random spacing after ack Here each ack immediately triggers data Can be violated due to retransmit But each connection loses a packet in the congestion epoch. Pacing or Non-Pacing Pacing: data or acks not immediately transmitted Non-pacing will exhibit clustering effect.

Summary for Part 1 Observed One-Way Traffic and Found Packet clustering Increasing pipe size reduces utilization Increasing buffer size increases utilization Next Observed Two-Way Traffic and Found Packet clustering Increasing buffer size decreased utilization Complex dynamics Simplified Further to Fixed Window, Infinite Buffer Fixed window results for stages 1,2,3,4,5 Dynamic window results in Figures 4,5, 6, and 7 Be prepared to explain these on an exam

Two-Way Traffic Rapid changes that don t match changes in cwnd?? 5 packet change in less than packet trans time Buffer size = 30, util = 91% Buffer size = 60, util = 87% (??)

Discussion Contradicts conventional wisdom: Larger buffer size results in smaller utliization Too difficult to understand dynamics Solution reduce to less complex model One connection from host1 to host2 One connection from host2 to host1

Two-Way Traffic Prop delay = 0.01 sec

Two-Way Traffic Prop delay = 1 sec

Discussion Some predictions still hold Packets are clustered Two packets (= acceleration) dropped in congestion epoch Some unexpected results High frequency oscillations Out of sync windows when r=0.01 Drops are for the same connection when r=0.01 Still too difficult to understand dynamics Solution reduce to less complex model Infinite buffer space at the switches Fixed window size at the hosts

Two-Way Traffic Prop delay = 0.01 sec

Two-Way Traffic Prop delay = 1 sec

Ack-Compression Ack messages encounter non-empty queues Ack delay no longer simply a function of data packet arrivals Acks become compressed together Cluster together in the queue Transmitted out in a cluster Transmit time for acks in much smaller than data packets Impact at the host Burst of closely spaced ack packets Send a burst of closely spaced data packets Impact at the Queue Burst of data packets arrive at queue and increase queue Cluster of attacks leave queue and decrease queue size Important to note queue is number of packets, not number of bytes

Out of Phase Synchronization Ack packets are never dropped First ack never encounters full buffer. Additional acks arrive at rate buffer drains One Connection Loses Two Packets First loss: cwind = 1, sthresh = cwind/2 Second loss: cwind = 1 sthresh = cwind/2 = 1/2 Slow start stops when window size = 2! Low utilization while connection ramps up.

In Phase Synchronization Ack packets are never dropped First ack never encounters full buffer. Additional acks arrive at rate buffer drains Each Connection Loses One Packets Both cwinds halved by congestion epoch Reduced utilization on both directions. In both sync cases, the effective pipesize varies due to the ack delays