The teleology of Internet congestion control Damon Wischik, Computer Science, UCL.

Slides:



Advertisements
Similar presentations
Impact of Interference on Multi-hop Wireless Network Performance
Advertisements

Impact of Interference on Multi-hop Wireless Network Performance Kamal Jain, Jitu Padhye, Venkat Padmanabhan and Lili Qiu Microsoft Research Redmond.
PATH SELECTION AND MULTIPATH CONGESTION CONTROL BY P. KEY, L. MASSOULIE, AND D. TOWSLEY R02 – Network Architectures Michaelmas term, 2013 Ulku Buket Nazlican.
Internet Protocols Steven Low CS/EE netlab.CALTECH.edu October 2004 with J. Doyle, L. Li, A. Tang, J. Wang.
1 EP2210 Fairness Lecture material: –Bertsekas, Gallager, Data networks, 6.5 –L. Massoulie, J. Roberts, "Bandwidth sharing: objectives and algorithms,“
Restless bandits and congestion control Mark Handley, Costin Raiciu, Damon Wischik UCL.
Why did it rain this morning?. Why are you at this lecture?
Technical: what might I mean by multipath? 1.Via an overlay network 2.End-points are multi- homed, and expose multiple IP addresses; routing works as it.
CSCI-235 Micro-Computers in Science The Network. Network Fundamentals A computer network consists of two or more computers linked together to exchange.
Congestion Control Created by M Bateman, A Ruddle & C Allison As part of the TCP View project.
Mathematical models of the Internet Frank Kelly Hood Fellowship Public Lecture University of Auckland 3 April 2012.
Resource Pooling A system exhibits complete resource pooling if it behaves as if there was a single pooled resource. The Internet has many mechanisms for.
School of Information Technologies TCP Congestion Control NETS3303/3603 Week 9.
Congestion Control Tanenbaum 5.3, /12/2015Congestion Control (A Loss Based Technique: TCP)2 What? Why? Congestion occurs when –there is no reservation.
Copyright © 2005 Department of Computer Science CPSC 641 Winter WAN Traffic Measurements There have been several studies of wide area network traffic.
EEC-484/584 Computer Networks Lecture 3 Wenbing Zhao
Comparing flow-oblivious and flow-aware adaptive routing Sara Oueslati and Jim Roberts France Telecom R&D CISS 2006 Princeton March 2006.
Traffic Engineering Jennifer Rexford Advanced Computer Networks Tuesdays/Thursdays 1:30pm-2:50pm.
Charge-Sensitive TCP and Rate Control Richard J. La Department of EECS UC Berkeley November 22, 1999.
Network Bandwidth Allocation (and Stability) In Three Acts.
1 Spring Semester 2007, Dept. of Computer Science, Technion Internet Networking recitation #7 TCP New Reno Vs. Reno.
Random Early Detection Gateways for Congestion Avoidance
Using Prices to Allocate Resources at Access Points Jimmy Shih, Randy Katz, Anthony Joseph One Administrative Domain Access Point A Access Point B Network.
Network Architectures Week 3 – OSI and The Internet.
Multipath Routing CS 522 F2003 Beaux Sharifi. Agenda Description of Multipath Routing Necessity of Multipath Routing 3 Major Components Necessary for.
Second year review Resource Pooling Damon Wischik, UCL.
Introduction 1 Lecture 14 Transport Layer (Congestion Control) slides are modified from J. Kurose & K. Ross University of Nevada – Reno Computer Science.
Buffer requirements for TCP: queueing theory & synchronization analysis Gaurav RainaDamon Wischik CambridgeUCL.
Flow Models and Optimal Routing. How can we evaluate the performance of a routing algorithm –quantify how well they do –use arrival rates at nodes and.
New Designs for the Internet Why can’t I get higher throughput? Why is my online video jerky? How is capacity shared in the Internet?
TCP: flow and congestion control. Flow Control Flow Control is a technique for speed-matching of transmitter and receiver. Flow control ensures that a.
Network Architecture (R02) IP Multipath – Path Selection&CC Jon Crowcroft,
Buffer requirements for TCP Damon Wischik DARPA grant W911NF
Comparing modem and other technologies
Queueing analysis of a feedback- controlled (TCP/IP) network Gaurav RainaDamon WischikMark Handley CambridgeUCLUCL.
Congestion models for bursty TCP traffic Damon Wischik + Mark Handley University College London DARPA grant W911NF
CS540/TE630 Computer Network Architecture Spring 2009 Tu/Th 10:30am-Noon Sue Moon.
ACN: RED paper1 Random Early Detection Gateways for Congestion Avoidance Sally Floyd and Van Jacobson, IEEE Transactions on Networking, Vol.1, No. 4, (Aug.
FAIR CHARGES FOR INTERNET CONGESTION Damon Wischik Statistical Laboratory, Cambridge Electrical Engineering, Stanford
Queueing theory for TCP Damon Wischik University College London TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: A A.
Models of multipath resource allocation Damon Wischik, UCL.
Congestion control for Multipath TCP (MPTCP) Damon Wischik Costin Raiciu Adam Greenhalgh Mark Handley THE ROYAL SOCIETY.
TCP Trunking: Design, Implementation and Performance H.T. Kung and S. Y. Wang.
Queueing theory for TCP Damon Wischik, UCL Gaurav Raina, Cambridge.
Some questions about multipath Damon Wischik, UCL Trilogy UCL.
The history of the Internet 1974: First draft of TCP/IP “A protocol for packet network interconnection”, Vint Cerf and Robert Kahn 1983: ARPANET switches.
1 CS 4396 Computer Networks Lab TCP – Part II. 2 Flow Control Congestion Control Retransmission Timeout TCP:
New designs for Internet congestion control Damon Wischik (UCL)
Network teleology Damon Wischik
THE INTERNET IP  The Internet Protocol (IP) is the principal communications protocol used for relaying datagrams (packets) across an internetwork using.
Reading TCP/IP Protocol. Training target: Read the following reading materials and use the reading skills mentioned in the passages above. You may also.
Queueing theory for TCP Damon Wischik, UCL Gaurav Raina, Cambridge.
1 Transport Bandwidth Allocation 3/29/2012. Admin. r Exam 1 m Max: 65 m Avg: 52 r Any questions on programming assignment 2 2.
Queueing theory, control theory, & buffer sizing Damon Wischik DARPA grant W911NF
Lecture 3: Systems Engineering III EEN 112: Introduction to Electrical and Computer Engineering Professor Eric Rozier, 2/6/2013.
CSCI-100 Introduction to Computing The Network. Network Fundamentals A computer network consists of two or more computers linked together to exchange.
Impact of Interference on Multi-hop Wireless Network Performance
Exams hints The exam will cover the same topics covered in homework. If there was no homework problem on the topic, then there will not be any exam question.
CUBIC Marcos Vieira.
Multipath TCP and the Resource Pooling Principle
Improving Datacenter Performance and Robustness with Multipath TCP
Traffic Engineering with AIMD in MPLS Networks
TCP - Part II Relates to Lab 5. This is an extended module that covers TCP flow control, congestion control, and error control in TCP.
Lecture 19 – TCP Performance
Chapter 11 Inventing the Internet
Uncooperative Flow Control
Javad Ghaderi, Tianxiong Ji and R. Srikant
Internet congestion control
Resource Pooling A system exhibits complete resource pooling if it behaves as if there was a single pooled resource. I propose ‘extent of resource pooling’
Congestion control and the P2P value chain
Presentation transcript:

The teleology of Internet congestion control Damon Wischik, Computer Science, UCL

What network am I looking at? There is the physical network, that describes which computers and switches are connected by which links. There is the logical network, that describes which users are using which paths through the network. This talk is about traffic flows. Each traffic flow belongs to some user, and is carried over some collection of computers and switches. One user's traffic flow influences other users' flows indirectly, by virtue of the links they use in common.

teleology from the Greek τελος (end) + -λογια (discourse, study) The doctrine or study of ends or final causes, especially as related to the evidences of design or purpose in nature; also transf. such design as exhibited in natural objects or phenomena.

The history of the Internet 1974: First draft of TCP/IP “A protocol for packet network interconnection”, Vint Cerf and Robert Kahn 1983: ARPANET switches on TCP/IP 1986: Congestion collapse

“In October of ’86, the Internet had the first of what became a series of ‘congestion collapses’. During this period, the data throughput from LBL to UC Berkeley (sites separated by 400 yards and two IMP hops) dropped from 32 Kbps to 40 bps. We were fascinated by this sudden factor-of-thousand drop in bandwidth and embarked on an investigation of why things had gotten so bad.” Van Jacobson, “Congestion avoidance and control”, 1988

The history of the Internet 1974: First draft of TCP/IP “A protocol for packet network interconnection”, Vint Cerf and Robert Kahn 1983: ARPANET switches on TCP/IP 1986: Congestion collapse 1988: Congestion control for TCP “Congestion avoidance and control”, Van Jacobson and not much has happened since (apart from the web, Google, eBay, Facebook, BitTorrent, …)

Each user should increase his/her transmission rate when the network seems underused, and cut it when one of his/her packets is dropped (which signifies congestion). If all users do this, the network ends up near-100% used, and the capacity is shared fairly. *** ************** * Jacobson’s big idea

if (seqno > _last_acked) { if (!_in_fast_recovery) { _last_acked = seqno; _dupacks = 0; inflate_window(); send_packets(now); _last_sent_time = now; return; } if (seqno < _recover) { uint32_t new_data = seqno - _last_acked; _last_acked = seqno; if (new_data < _cwnd) _cwnd -= new_data; else _cwnd=0; _cwnd += _mss; retransmit_packet(now); send_packets(now); return; } uint32_t flightsize = _highest_sent - seqno; _cwnd = min(_ssthresh, flightsize + _mss); _last_acked = seqno; _dupacks = 0; _in_fast_recovery = false; send_packets(now); return; } if (_in_fast_recovery) { _cwnd += _mss; send_packets(now); return; } _dupacks++; if (_dupacks!=3) { send_packets(now); return; } _ssthresh = max(_cwnd/2, (uint32_t)(2 * _mss)); retransmit_packet(now); _cwnd = _ssthresh + 3 * _mss; _in_fast_recovery = true; _recover = _highest_sent; } transmission rate [0–100 kB/sec] time [0–8 sec]

Jacobson’s big idea was that congestion could be controlled by relying on users to respond sensibly.

The big telecoms companies did not believe him. (They still don’t want to.) Why should they?

We can derive macroscopic formulae which tell us about the average behaviour of each component. But how does the whole behave? We know the microscopic rules of behaviour of the Internet, i.e. the code.

The Internet shares capacity as if there were an intelligent designer+controller who seeks to maximize the sum total of every user’s happiness with his/her lot, subject to available capacity on each link. Theorem (Kelly et al. 1998, Towsley et al. 2000)

The Internet's algorithms behave as if the network as a whole were trying to solve an optimization problem. I call this emergent teleology.

Theorem (Kelly et al. 1998, Towsley et al. 2000)

Your implied utility function

Microscopic rules of behaviour, specified by the code Macroscopic formulae for average behaviour of a component Teleological descriptions of how the whole behaves Research agenda

form + function topology + algorithms There has been much work on the structure of complex networks (scale free topologies etc.) In Internet architecture, we are more interested in how algorithms function over the network. We treat the topology as a given, and we seek robust algorithms that work well with any topology or traffic pattern. There is one area where the two fields overlap…

Where topology and algorithms overlap: We conjecture that if users have sufficiently diverse paths, and they balance their traffic appropriately, then the Internet will achieve resource pooling, i.e. it will behave as if there were a single giant link, fairly shared between all users.

“I want to book a train to Aberdeen. There’s spare capacity on the train to Bristol. Therefore my booking will be accepted.”

Formally speaking, we believe that multipath congestion control will change the constraint in the teleology.

Engineering agenda Work out macroscopic formulae for the average behaviour of a component Invent microscopic code that yields this macroscopic behaviour Decide on the teleology that we want (We don't want network topology to be a constraint, only total network capacity.)