Implementing stable TCP variants

Similar documents
Lecture 14: Congestion Control"

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

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

Flow-start: Faster and Less Overshoot with Paced Chirping

CS644 Advanced Networks

TCP and BBR. Geoff Huston APNIC

One More Bit Is Enough

TCP and BBR. Geoff Huston APNIC

Communication Networks

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

Reliable Transport II: TCP and Congestion Control

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

Congestion control in TCP

Lecture 14: Congestion Control"

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

TCP and BBR. Geoff Huston APNIC. #apricot

Local and Global Stability of Symmetric Heterogeneously- Delayed Control Systems

cs/ee 143 Communication Networks

Reliable Transport II: TCP and Congestion Control

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

Congestion Control. Brighten Godfrey CS 538 January Based in part on slides by Ion Stoica

TCP and BBR. Geoff Huston APNIC

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

Chapter III. congestion situation in Highspeed Networks

Congestion Control. Tom Anderson

Congestion Control In the Network

CS 268: Computer Networking

Congestion Control for High Bandwidth-delay Product Networks

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

CS268: Beyond TCP Congestion Control

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

CSE 123A Computer Networks

TCP Congestion Control

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

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

draft-johansson-rmcat-scream-cc

TCP LoLa Toward Low Latency and High Throughput Congestion Control

Performance Analysis of TCP Variants

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

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

! Network bandwidth shared by all users! Given routing, how to allocate bandwidth. " efficiency " fairness " stability. !

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

Flow and Congestion Control

15-744: Computer Networking TCP

On the Design of Load Factor based Congestion Control Protocols for Next-Generation Networks

CS457 Transport Protocols. CS 457 Fall 2014

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

TCP START-UP BEHAVIOR UNDER THE PROPORTIONAL FAIR SCHEDULING POLICY

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

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

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

Principles of congestion control

Congestion Control for High-Bandwidth-Delay-Product Networks: XCP vs. HighSpeed TCP and QuickStart

Congestion / Flow Control in TCP

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

Congestion Avoidance and Control. Rohan Tabish and Zane Ma

Improving XCP to Achieve Max-Min Fair Bandwidth Allocation

Congestion Control Without a Startup Phase

Time-Step Network Simulation

Models. Motivation Timing Diagrams Metrics Evaluation Techniques. TOC Models

Performance Modeling

The Present and Future of Congestion Control. Mark Handley

Equation-based Congestion Control

UNIT IV -- TRANSPORT LAYER

Lecture 5: Performance Analysis I

CS 268: Lecture 7 (Beyond TCP Congestion Control)

Congestion Control. Andreas Pitsillides University of Cyprus. Congestion control problem

Transport Layer. Application / Transport Interface. Transport Layer Services. Transport Layer Connections

XCP: explicit Control Protocol

EECS 428 Final Project Report Distributed Real-Time Process Control Over TCP and the Internet Brian Robinson

Congestion Avoidance

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

Congestion Control in Communication Networks

CS244a: An Introduction to Computer Networks

CHAPTER 3 EFFECTIVE ADMISSION CONTROL MECHANISM IN WIRELESS MESH NETWORKS

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

The Case for Informed Transport Protocols

TCP SIAD: Congestion Control supporting Low Latency and High Speed

ADVANCED COMPUTER NETWORKS

Lecture 3: The Transport Layer: UDP and TCP

ADVANCED TOPICS FOR CONGESTION CONTROL

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

ATL : An Adaptive Transport Layer Protocol Suite for Next Generation Wireless Internet

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

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

CSE 461. TCP and network congestion

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

Transmission Control Protocol (TCP)

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

Department of Informatics Networks and Distributed Systems (ND) group TCP "TEB" (Timer-based Exponential Backoff): Code and Rationale

Unit 2 Packet Switching Networks - II

Computer Networking

Multiple unconnected networks

Internet Congestion Control for Future High Bandwidth-Delay Product Environments

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

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

Interdomain Routing (plus Transport Wrapup) Tom Anderson

Fall 2012: FCM 708 Bridge Foundation I

Real-Time ABR, MPEG2 Streams over VBR, and Virtual Source/Virtual Destination rt-abr switch

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

Transcription:

Implementing stable TCP variants IPAM Workshop on Large Scale Communications Networks April 2002 Tom Kelly ctk21@cam.ac.uk Laboratory for Communication Engineering University of Cambridge Implementing stable TCP variants p.1/19

Overview Problem, tools and goals: a systems perspective Real world heterogeneity and constraints Some common implementation dilemmas An implementation of a primal scalable TCP Performance: why, what and how to measure it? Implementing stable TCP variants p.2/19

The problems The Internet s best effort packet delivery unsuitable for some applications Drop rates, inter-packet jitter, and long round trip times TCP AMID dynamics not helpful for some applications Rapidly fluctuating quality for some apps The Internet s resource allocation decisions are opaque and fixed RTT unfairness fixed, multiple connections, etc. Why is resource allocation policy a fixed part of the architecture? Implementing stable TCP variants p.3/19

The goals Is a low-loss and low-delay IP network possible with a new congestion control framework? Must be as decentralized, simple, flexible, and robust as the current Internet If so, what does it look like? Range of dynamic rate options? (smoothed through noisy) Robust to a wide range of traffic patterns? (web, inelastic traffic, etc.) Scaling to future high speed networks? How is resource allocation policy expressed? Does resource allocation policy need enforcement? What happens when something goes wrong? (bugs, attacks, etc.) Implementing stable TCP variants p.4/19

The tools Control theory flow stability with heterogeneous lags and links Optimization methods resource allocation framework Stochastic processes guides allocation policy, queue and packet transmission processes Computer network engineering explicit congestion signaling and implementation methods Implementing stable TCP variants p.5/19

Heterogeneity makes things hard! The Internet is heterogeneous in many dimensions Round trip delays in low-loss and low-delay networks could be 1ms-1000ms Link speeds already scale from 56kbps through 10Gps Multiplexing levels from a couple of connections through millions Might need to scale over more orders of magnitude than before? Designing a decentralized flow control which meets the goals in real scenarios is hard Implementing stable TCP variants p.6/19

A scalable control theorem Let cwnd r be the window on route r: no mark: cwnd r cwnd r + a r cwnd n r mark: cwnd r cwnd r b r cwnd m r Theorem (Vinnicombe): This network is locally stable if Source condition: a r (ˆx r T r ) n < 1 γ r R Link condition: ŷ j p j(ŷ j ) p j (ŷ j ) γ j J Choosing n = 0, m = 1 is scalable and appears to converge globally Implementing stable TCP variants p.7/19

Windows and RTT An example: RTT 5ms, bandwidth 100Mbps, 100 connections, and packets of size 1000 bytes (e.g. UCL Cambridge, today) Each connection needs an average window of 0.5 packets! Trends will make RTTs smaller: better content distribution, faster computers, faster links Can t clock transmission off acks without some delay Credibility of fluid model in such scenarios Implementing stable TCP variants p.8/19

A rate pacing hybrid Rate based but keep conservation of packets principle Maintain cwnd as a real number Let T r be an estimator of T r Use a paced rate of cwnd T r Use cwnd as limit on packets in flight Careful Tr might wander with queuing delay A constantly re-sampled minimum for T r seemed better than some Implementing stable TCP variants p.9/19

Resource allocation Equilibrium point at: x r = s.a r T r b r 1 P r P r where s is packet size and P r is marking rate Remove RTT bias by setting b r = T r.b r a r has an upper bound due to stability s trades overhead against information feedback Share determined by weight b r Implementing stable TCP variants p.10/19

Weighing problems Small RTTs give b r > 1 due to RTT bias removal In practice rate variance too high for b r > 0.25 Cap b r 0.25 and scale a r so that share is the same Allowing weights is good for policy expression......but how do incentive apply in a decentralized system ECN noncing, congestion cost accounting, etc. Implementing stable TCP variants p.11/19

Convergence time and response Keep low-loss and low-delay when flow arrival and departure dynamics included Averaging to remove noise conflicts with sensitivity More work needed with real arrival processes Slow start is not great here; high marking rates My approach was to inflate the increase a r at startup Implementing stable TCP variants p.12/19

Other comments State and computational complexity seems fine May need fixed point arithmetic in reality Delayed acks unhelpful at low rates but might work at high rates Implementing stable TCP variants p.13/19

A link algo Let a packet arrive to find a virtual queue of size b. The packet is marked with probability: 1 e φb s where s is the median data packet size In practice φ 1 4 and b [0, 20s] This is needed to maintain fast queue dynamics Implementing stable TCP variants p.14/19

A Gaussian traffic model Suppose work arrives over a time period τ is Gaussian, with mean yτ and variance yτσ 2 By stability theorem the system is stable if: yp (y) p(y) = 1 y θc 1 ( ) 1 φσ2 2 < { 2 φσ 2 if 1 φσ2 0 2 1 if 1 φσ2 < 0 2 Implementing stable TCP variants p.15/19

Traffic sensitivity Bootstrapping off underlying packet stochastics Need to ensure marking scheme is stable under a wide input set Actually want the sending scheme to be slightly bursty! In simulation a small exponential jitter was added to the pacing timer Implementing stable TCP variants p.16/19

Uncensored results 1.2 work arrival work forwarded marking rate 1.4 work arrival work forwarded marking rate 1 1.2 1 0.8 0.8 0.6 0.6 0.4 0.4 0.2 0.2 0 0 50 100 150 200 250 0 0 50 100 150 200 250 70000 q 60000 q 60000 50000 50000 40000 40000 30000 30000 20000 20000 10000 10000 0 0 50 100 150 200 250 0 0 50 100 150 200 250 Steady state 30Mbps, 16-512srcs, RTT Left: 256ms, Right: 16ms Top: Util & Marking av 2RTT. Bottom: Queue 10ms samp Noise everywhere but it copes Very tight queue; hard bit is flow arrival & departure Implementing stable TCP variants p.17/19

Performance metrics Have used a service bound of 99th percentile under 10 packet queuing delay and no more than 0.1% loss Other metrics? max-min queuing delay spread per 50ms, impulse convergence times, sharing metrics Model validation: currently an eyeball affair coefficient of variance of flow rates over different timescales or Fourier transform of queue better? Implementing stable TCP variants p.18/19

Challenges Small windows are a real problem in theory and practice Striking a balance between sensitivity and noise reduction Rapidly fluctuating loads as seen in real networks Primal problems: utilization and low-delay with > 90% marking hard Slow timescale adaption of AQM for utilization coming soon! Dual problems: sharing properties and low rates Slow timescale adaption of sources for sharing on its way! Implementing stable TCP variants p.19/19