Context. Congestion Control In High Bandwidth-Delay Nets [Katabi02a] What is XCP? Key ideas. Router Feedback: Utilization.



Similar documents
Why Congestion Control. Congestion Control and Active Queue Management. Max-Min Fairness. Fairness

Lecture 15: Congestion Control. CSE 123: Computer Networks Stefan Savage

Data Networks Summer 2007 Homework #3

Congestion Control Review Computer Networking. Resource Management Approaches. Traffic and Resource Management. What is congestion control?

TCP in Wireless Mobile Networks

Lecture Objectives. Lecture 07 Mobile Networks: TCP in Wireless Networks. Agenda. TCP Flow Control. Flow Control Can Limit Throughput (1)

Application Level Congestion Control Enhancements in High BDP Networks. Anupama Sundaresan

Final for ECE374 05/06/13 Solution!!

CS268 Exam Solutions. 1) End-to-End (20 pts)

() XCP-i: explicit Control Protocol for heterogeneous inter-networking November 28th, of high-speed networks / 15

TCP, Active Queue Management and QoS

TCP over Wireless Networks

International Journal of Scientific & Engineering Research, Volume 6, Issue 7, July ISSN

Active Queue Management (AQM) based Internet Congestion Control

XCP-i : explicit Control Protocol for heterogeneous inter-networking of high-speed networks

Transport Layer Protocols

Chapter 6 Congestion Control and Resource Allocation

Using Fuzzy Logic Control to Provide Intelligent Traffic Management Service for High-Speed Networks ABSTRACT:

17: Queue Management. Queuing. Mark Handley

Improving the Performance of TCP Using Window Adjustment Procedure and Bandwidth Estimation

Visualizations and Correlations in Troubleshooting

TCP over Multi-hop Wireless Networks * Overview of Transmission Control Protocol / Internet Protocol (TCP/IP) Internet Protocol (IP)

Improving our Evaluation of Transport Protocols. Sally Floyd Hamilton Institute July 29, 2005

Congestion Control for High Bandwidth-Delay Product Networks

TCP Westwood for Wireless

Parallel TCP Data Transfers: A Practical Model and its Application

Active Queue Management A router based control mechanism

First Midterm for ECE374 03/09/12 Solution!!

Network management and QoS provisioning - QoS in the Internet

Networking part 3: the transport layer

Computer Networks - CS132/EECS148 - Spring

Robust Router Congestion Control Using Acceptance and Departure Rate Measures

Transport layer issues in ad hoc wireless networks Dmitrij Lagutin,

Outline. TCP connection setup/data transfer Computer Networking. TCP Reliability. Congestion sources and collapse. Congestion control basics

Active Queue Management

Low-rate TCP-targeted Denial of Service Attack Defense

Midterm Exam CMPSCI 453: Computer Networks Fall 2011 Prof. Jim Kurose

Performance improvement of active queue management with per-flow scheduling

A Survey: High Speed TCP Variants in Wireless Networks

Efficient End-to-End Mobility Support in IPv6

CS551 End-to-End Internet Packet Dynamics [Paxson99b]

A Survey on Congestion Control Mechanisms for Performance Improvement of TCP

High-Speed TCP Performance Characterization under Various Operating Systems

Traffic Mangement in ATM Networks Dollar Day Sale

Research of TCP ssthresh Dynamical Adjustment Algorithm Based on Available Bandwidth in Mixed Networks

15-441: Computer Networks Homework 2 Solution

Performance comparison of TCP, HSTCP and XCP in high-speed, highly variable-bandwidth environments

2 TCP-like Design. Answer

Congestion Notification in Ethernet: Part of the IEEE Data Center Bridging standardization effort

APPENDIX 1 USER LEVEL IMPLEMENTATION OF PPATPAN IN LINUX SYSTEM

TCP Pacing in Data Center Networks

CUBIC: A New TCP-Friendly High-Speed TCP Variant

Optimization of Communication Systems Lecture 6: Internet TCP Congestion Control

Seamless Congestion Control over Wired and Wireless IEEE Networks

Experiences with Interactive Video Using TFRC

TCP Adaptation for MPI on Long-and-Fat Networks

TCP in Wireless Networks

Analyzing Marking Mod RED Active Queue Management Scheme on TCP Applications

Comparative Analysis of Congestion Control Algorithms Using ns-2

Active Queue Management

Quality of Service versus Fairness. Inelastic Applications. QoS Analogy: Surface Mail. How to Provide QoS?

Network Performance: Networks must be fast. What are the essential network performance metrics: bandwidth and latency

1. The subnet must prevent additional packets from entering the congested region until those already present can be processed.

Requirements for Simulation and Modeling Tools. Sally Floyd NSF Workshop August 2005

Measuring IP Performance. Geoff Huston Telstra

TCP and Wireless Networks Classical Approaches Optimizations TCP for 2.5G/3G Systems. Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme

CLAMP and Networking Performance Control

Protagonist International Journal of Management And Technology (PIJMT) Online ISSN Vol 2 No 3 (May-2015) Active Queue Management

Network Layer: Network Layer and IP Protocol

Bandwidth Measurement in Wireless Networks

SJBIT, Bangalore, KARNATAKA

Master s Thesis. A Study on Active Queue Management Mechanisms for. Internet Routers: Design, Performance Analysis, and.

PACE Your Network: Fair and Controllable Multi- Tenant Data Center Networks

Passive Queue Management

Modeling Active Queue Management algorithms using Stochastic Petri Nets

TE in action. Some problems that TE tries to solve. Concept of Traffic Engineering (TE)

Rate-Based Active Queue Management: A Green Algorithm in Congestion Control

Mobile Communications Chapter 9: Mobile Transport Layer

Lecture 16: Quality of Service. CSE 123: Computer Networks Stefan Savage

Wide Area Networks. Learning Objectives. LAN and WAN. School of Business Eastern Illinois University. (Week 11, Thursday 3/22/2007)

PART III. OPS-based wide area networks

Survey on AQM Congestion Control Algorithms

Multipath TCP design, and application to data centers. Damon Wischik, Mark Handley, Costin Raiciu, Christopher Pluntke

Transcription:

Congestion Control In High Bandwidth-Delay Nets [Katabi02a] CSci551: Computer Networks SP2006 Thursday Section John Heidemann 7e_Katabi02a: CSci551 SP2006 John Heidemann 1 Context limitations of TCP over large bw-delay links need large window, and slow may take a while, recovery from pkt loss takes a while ~1990: routers could barly keep up things like FQ cannot be used (even today) because of costs of per flow state things like R&J used very simple feedback to keep routers simple what about today? current status: SIGCOMM paper was just simulations ISI and others are now implementing some slides and much discussion from Aaron Falk and Ted Faber at ISI eventually may be IETF standard 7e_Katabi02a: CSci551 SP2006 John Heidemann 5 Key ideas explict feedback from routers to senders talk about rates, not just congested/not takes advantage of greater router compute power (than in 1990) but still avoid per-flow state separate fairness and utilization also separate congestion signals (congestion loss) from packet loss (corruption loss) protocol for high bw-delay links 7e_Katabi02a: CSci551 SP2006 John Heidemann 10 What is XCP? congestion control protocol intended to layer over some transport protocol like TCP components in end-points and routers use explicit signaling and avoid per-flow state in the routers goals: high utilization good fairness low queueing delay 7e_Katabi02a: CSci551 SP2006 John Heidemann 11 in paper in working draft 1. sender: sends out data, with requested change H_cwnd (bytes) H_rtt H_feedback (data) rate (bits/s) rtt delta_rate returned_delta_rate (data) sender XCP Operation 2. each router: if delta > spare capacity then pass it along else provide pos or neg feedback 3. receiver: reflects feedback back (copies it into returned_delta_rate) router 4. sender: adjusts based on feedback given router receiver 7e_Katabi02a: CSci551 SP2006 John Heidemann 12 Router Feedback: Utilization goals: keep utilization high (nearly 1) keep queues small => efficiency controller (why? keep utilization to send as much as possible, but avoid queues to handle bursts) d: mean RTT S: spare bandwidth Q: mean queue size α, β: constants ϕ: desired router feedback over all flows 7e_Katabi02a: CSci551 SP2006 John Heidemann 16 1

Router Feedback: Fairness goals: provide min-max fairness to each flow => fairness controller mechanisms: AIMD if ϕ>0, increase all evenly; if ϕ<0, decrease relative to usage and always shuffle some bw why AIMD? promote stability why increase evenly? bring small flows up to the mean why decrease in proportion? bring large flows down quickly why shuffle? to handle steady state unfair allocations you can get unfair allocations because flows come and go Begin Digression digression on how this actually works and do all this without any per-flow state (!) 7e_Katabi02a: CSci551 SP2006 John Heidemann 20 7e_Katabi02a: CSci551 SP2006 John Heidemann 21 Feedback, Graphically postive feedback: per flow negative feedback: per send rate [graphics from Aaron Falk, USC/ISI] 7e_Katabi02a: CSci551 SP2006 John Heidemann 22 Goal: Feedback Without Per-Flow State feedback is easy with per-flow state, but that s costly how without per-flow state? router has pool of feedback (residue_pos_fbk, residue_neg_fbk) estimate these each control period (= mean RTT) allocation: each packet is labeled w/rtt and cwnd (or rate) => can compute expected number of pkts per RTT and then give feedback to each packet as it arrives 7e_Katabi02a: CSci551 SP2006 John Heidemann 23 Understanding XCP Feedback if you have per-flow state, it s easy: T p := h + max(ϕ, 0): positive feedback T n := h + max(-ϕ, 0): negative feedback over each control interval d you want to give out T p and T n assume per-flow state, so you know N flows and M packets then T p,flow = T p / N; T n,pkt = T n / M but how to do this without explicit N and M? 7e_Katabi02a: CSci551 SP2006 John Heidemann 24 Idea each packet carries cwnd i, rtt i, so we know that flow s rate 1. sum these from the prior ctl interval 2. use values in pkt to estimate pkt s contribution to total traffic 3. assume last ctl interval is like this ctl interval and pkts don t lie ξ p, ξ n become normalization constants to dole out T p, T n per pkt 7e_Katabi02a: CSci551 SP2006 John Heidemann 25 2

Challenges different packet sizes different flow RTTs control interval!= RTT also traffic may (or will) change potentially, users could lie Negative Feedback idea: penalize relative to rate throughput i ~ throughtput i cwnd i / rtt i ~ cwnd i / rtt i cwnd i ~ cwnd i (if const. rtt i ) if T n is total penalty, then per pkt penalty n i is just T n / E[total pkts in d] 7e_Katabi02a: CSci551 SP2006 John Heidemann 26 7e_Katabi02a: CSci551 SP2006 John Heidemann 28 Negative Feedback: Complications Putting it Together different size pkts? n i ~ s i / Σ pkts in d s i large pkt => more thrpt => more fdbk different RTTs? n i ~ rtt i / d (scale by rtt) short rtt => more pkts => more feedback from paper: n i = s i * rtt i * ξ n ξ n = T n / (d * Σ pkts in d s i ) n i = T n * rtt i * s i (d * Σ pkts in d s i ) scale for rtt scale for pkt size n i = s i * rtt i * ξ n ξ n = T n / (d * Σ pkts in d s i ) packet weight traffic weight 7e_Katabi02a: CSci551 SP2006 John Heidemann 29 7e_Katabi02a: CSci551 SP2006 John Heidemann 30 Example of Negative Feedback 3 flows cwnd=2pkts, rtt=1s, s=1b (rate = 2pkts*1B/1s = 2B/s) cwnd=2. rtt=2, s=1 (rate = 2*1/2 = 1B/s) cwnd=1, rtt=2, s=2 (rate = 1pk*2B/2s = 1B/s) d=2 time if Tn = 4B, what should happen to tfc? penalty to flow 1? cut in half 4* ½ = 2pkts what is ξ n = T n / (d * Σ pkts in d s i ) 4B/(2s * 8B) = 1/2s 7e_Katabi02a: CSci551 SP2006 John Heidemann 32 Positive Feedback idea: allocate per flow throughput i ~ constant cwnd i / rtt i ~ constant cwnd i ~ constant * rtt i compare n i = ξ n * s i * rtt i ξ n = T n / (d * Σ pkts in d s i ) p i = ξ n * s i * rtt i 2 / cwndi ξ p = T p / (d * Σ pkts in d (s i rtt i / cwnd i )) basic change: add a factor for rate 7e_Katabi02a: CSci551 SP2006 John Heidemann 33 3

(end of digression) 7e_Katabi02a: CSci551 SP2006 John Heidemann 34 So Why is XCP Cool? complete feedback from routers (target rate) much more than just slow down allows flows to reach high utilization quickly no slow-start to find target; no aggressive window halving like TCP both are really important for high bw-delay flows and does so without per-flow state so is probably achievable in routers 7e_Katabi02a: CSci551 SP2006 John Heidemann 38 Does it Work? control theoretic analysis see paper but doesn t consider feedback delay (the hard part!) extensive simulations compare XCP, TCP w/red, REM, AVQ, CSFQ consider capacity, feedback delay, number of flows, size of flows, fairness, topology, dynamics Evaluation vs. Bandwidth vary bandwidth, holding RTT=80ms XCP has excellent utilization, very low queueing and drops why? explicit feedback can quickly react to changes, positive or negative [Katabi02a, figure 4] 7e_Katabi02a: CSci551 SP2006 John Heidemann 39 7e_Katabi02a: CSci551 SP2006 John Heidemann 43 as flows are added quickly reach fair share (top) utilization stays high (middle) queues are fairly short (bottom) Dynamics [Katabi02a, figure 10] Experimental Data Data from Falk et al at ISI; implementation over FreeBSD; www.isi.edu/isi-xcp xxx xxx 7e_Katabi02a: CSci551 SP2006 John Heidemann 44 7e_Katabi02a: CSci551 SP2006 John Heidemann 46 4

Other questions/observations? compatibility? completely incompatible needs new end hosts and new routers maybe deploy in new networks (like satellites) or maybe do it an an overlay network (if you have dedictated bw in the overlay, and can get feedback from routers in the overlay) compare it to TCP TCP friendlies 7e_Katabi02a: CSci551 SP2006 John Heidemann 48 5