End-to-end Congestion Management for the NGI Hari Balakrishnan MIT Laboratory for Computer Science DARPA NGI PI Meeting October.

Slides:



Advertisements
Similar presentations
TCP Congestion Control Dina Katabi & Sam Madden nms.csail.mit.edu/~dina 6.033, Spring 2014.
Advertisements

Advanced Computer Networking Congestion Control for High Bandwidth-Delay Product Environments (XCP Algorithm) 1.
Adaptive Video Streaming in Vertical Handoff: A Case Study Ling-Jyh Chen, Guang Yang, Tony Sun, M. Y. Sanadidi, Mario Gerla Computer Science Department,
Transport Layer 3-1 Fast Retransmit r time-out period often relatively long: m long delay before resending lost packet r detect lost segments via duplicate.
Open Issues on TCP for Mobile Computing Ibrahim Matta Computer Science, Boston University Vassilis Tsaoussidis Computer Science, Northeastern University.
1 Design study for multimedia transport protocol in heterogeneous networks Haitao Wu; Qian Zhang; Wenwu Zhu; Communications, ICC '03. IEEE International.
Transmission Control Protocol (TCP) and Packet-Switching Hardware Devang Parekh EE290F 4/15/04.
Medium Start in TCP-Friendly Rate Control Protocol CS 217 Class Project Spring 04 Peter Leong & Michael Welch.
1 Manpreet Singh, Prashant Pradhan* and Paul Francis * MPAT: Aggregate TCP Congestion Management as a Building Block for Internet QoS.
L13: Sharing in network systems Dina Katabi Spring Some slides are from lectures by Nick Mckeown, Ion Stoica, Frans.
Congestion Manager and its relevance to WebTP Rajarshi Gupta.
CPSC 538A1 Dynamic Behavior of Slowly- Responsive Congestion Control Algorithms Deepak Bansal, Hari BalaKrishna, Sally Floyd and Scott Shenker Presented.
Proxy-based TCP over mobile nets1 Proxy-based TCP-friendly streaming over mobile networks Frank Hartung Uwe Horn Markus Kampmann Presented by Rob Elkind.
15-744: Computer Networking L-21 Applications. L -21; © Srinivasan Seshan, Next Lecture: Application Networking HTTP Adaptive applications.
Gursharan Singh Tatla Transport Layer 16-May
CS 218 F 2003 Nov 3 lecture:  Streaming video/audio  Adaptive encoding (eg, layered encoding)  TCP friendliness References: r J. Padhye, V.Firoiu, D.
CIS679: RTP and RTCP r Review of Last Lecture r Streaming from Web Server r RTP and RTCP.
Multimedia Communications
Multimedia Communications Student: Blidaru Catalina Elena.
The Internet Congestion Manager Hari Balakrishnan MIT LCS
The Transport Layer.
Application Layer 2-1 Chapter 2 Application Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012.
ISO Layer Model Lecture 9 October 16, The Need for Protocols Multiple hardware platforms need to have the ability to communicate. Writing communications.
1.1 What is the Internet What is the Internet? The Internet is a shared media (coaxial cable, copper wire, fiber optics, and radio spectrum) communication.
The Congestion Manager Hari BalakrishnanSrinivasan Seshan MIT LCS CMU draft-ietf-ecm-cm-01.txt.
What makes a network good? Ch 2.1: Principles of Network Apps 2: Application Layer1.
An Integrated Congestion Management Architecture for Internet Hosts Hari Balakrishnan MIT Lab for Computer Science
Wireless Networks of Devices (WIND) Hari Balakrishnan and John Guttag MIT Lab for Computer Science NTT-MIT Meeting, January 2000.
RON: Resilient Overlay Networks David Andersen, Hari Balakrishnan, Frans Kaashoek, Robert Morris MIT Laboratory for Computer Science
UDT: UDP based Data Transfer Yunhong Gu & Robert Grossman Laboratory for Advanced Computing University of Illinois at Chicago.
Sockets process sends/receives messages to/from its socket
RON: Resilient Overlay Networks David Andersen, Hari Balakrishnan, Frans Kaashoek, Robert Morris MIT Laboratory for Computer Science
U Innsbruck Informatik - 1 CADPC/PTP in a nutshell Michael Welzl
L.R.He, B.M.G. Cheetham Mobile Systems Architecture Group, Department of Computer Science, University of Manchester, Oxford Rd, M13 9PL, U.K.
High-speed TCP  FAST TCP: motivation, architecture, algorithms, performance (by Cheng Jin, David X. Wei and Steven H. Low)  Modifying TCP's Congestion.
HighSpeed TCP for High Bandwidth-Delay Product Networks Raj Kettimuthu.
Requirements for Simulation and Modeling Tools Sally Floyd NSF Workshop August 2005.
Rate Control Rate control tunes the packet sending rate. No more than one packet can be sent during each packet sending period. Additive Increase: Every.
Reconsidering Internet Mobility Alex C. Snoeren, Hari Balakrishnan, M. Frans Kaashoek MIT Laboratory for Computer Science.
INAT Hari BalakrishnanFrans Kaashoek John Guttag Robert Morris MIT Laboratory for Computer Science NGI PI Meeting October 2, 2000.
Application Layer 2-1 Chapter 2 Application Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012.
The Future of Transport Hari Balakrishnan LCS and EECS Massachusetts Institute of Technology
An Introduction to UDT Internet2 Spring Meeting Yunhong Gu Robert L. Grossman (Advisor) National Center for Data Mining University.
Transport Layer3-1 TCP throughput r What’s the average throughout of TCP as a function of window size and RTT? m Ignore slow start r Let W be the window.
Transport Layer 3-1 Chapter 3 Transport Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March
Improving TCP Performance over Wireless Networks
July 12th 1999Kits Workshop 1 Active Networking at Washington University Dan Decasper.
The Internet Congestion Manager Hari Balakrishnan MIT Laboratory for Computer Science CM team Dave Andersen, Deepak Bansal, Dorothy.
Thoughts on the Evolution of TCP in the Internet (version 2) Sally Floyd ICIR Wednesday Lunch March 17,
Murari Sridharan Windows TCP/IP Networking, Microsoft Corp. (Collaborators: Kun Tan, Jingmin Song, MSRA & Qian Zhang, HKUST)
On the Interactions Between Layered Quality Adaptation And Congestion Control for Streaming Video Mick Feamster, Deepak Bansal, and Hari Balakrishnan MIT.
An Extensible RTCP Control Framework for Large Multimedia Distributions Paper by: Julian Chesterfield Eve M. Schooler Presented by: Phillip H. Jones.
XCP: eXplicit Control Protocol Dina Katabi MIT Lab for Computer Science
An End-System Architecture for Unified Congestion Management Hariharan S. Rahul, Hari Balakrishnan, Srinivasan Seshan MIT Lab for Computer Science
On the Interactions Between Layered Quality Adaptation and Congestion Control for Streaming Video 11 th International Packet Video Workshop Nick Feamster.
An Analysis of AIMD Algorithm with Decreasing Increases Yunhong Gu, Xinwei Hong, and Robert L. Grossman National Center for Data Mining.
Access Link Capacity Monitoring with TFRC Probe Ling-Jyh Chen, Tony Sun, Dan Xu, M. Y. Sanadidi, Mario Gerla Computer Science Department, University of.
U Innsbruck Informatik - 1 Specification of a Network Adaptation Layer for the Grid GGF7 presentation Michael Welzl University.
UDP: User Datagram Protocol. What Can IP Do? Deliver datagrams to hosts – The IP address in a datagram header identify a host – treats a computer as an.
NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Rate Adaptations.
Accelerating Peer-to-Peer Networks for Video Streaming
MIT Laboratory for Computer Science
Mohammad Malli Chadi Barakat, Walid Dabbous Alcatel meeting
Congestion Control, Internet transport protocols: udp
The Future of Transport
File Transfer Issues with TCP Acceleration with FileCatalyst
An Integrated Congestion Management Architecture for Internet Hosts
End-to-end Congestion Management for the NGI
The Transport Layer Chapter 6.
TCP flow and congestion control
Presentation transcript:

End-to-end Congestion Management for the NGI Hari Balakrishnan MIT Laboratory for Computer Science DARPA NGI PI Meeting October 2, 2000 Srinivasan Seshan (CMU), Frans Kaashoek (MIT) Dave Andersen, Deepak Bansal, Dorothy Curtis, Nick Feamster

iNAT Project: Motivation Increasing heterogeneity in the Internet –Nodes: Mobiles, devices, sensors,... –Links: Optical, wireless,... –Services & applications: Web, telepresence, streaming, remote device control Need a general solution for applications to discover resources and deal with mobility Need a general framework for learning about and adapting to changing network conditions

iNAT Approach Intelligent naming –Resource discovery: Intentional Naming System (INS) using expressive names and self-configuring name resolver overlay network –Mobility: Via dynamic name updates and secure connection migration (check out demo!) Adaptive transmission –End-system congestion management and adaptation framework for the NGI –Congestion Manager software and algorithms

Congestion Manager (CM): A new end-system architecture for congestion management The Problem End-to-end congestion management is essential –Reacting when congestion occurs –Probing for spare bandwidth when it doesn’t –The future isn’t about just TCP! Many applications are inherently adaptive, but they don’t adapt today –Enable applications to learn about network conditions Many applications use concurrent flows between sender and receiver, which has adverse effects –Enable efficient multiplexing and path sharing

The Big Picture IP HTTPVideo1 TCP1TCP2UDP AudioVideo2 Flows aggregated into macroflows to share congestion state All congestion management tasks performed in CM Apps learn and adapt using API Flows aggregated into macroflows to share congestion state All congestion management tasks performed in CM Apps learn and adapt using API Congestion Manager Per-”macroflow” statistics (cwnd,rtt,…) API

Congestion Detector CM Architecture Application (TCP, HTTP, RTP, etc.) Congestion Controller Scheduler Receiver CM protocol API Responder Prober Application API Hints Dispatch feedback cm_update(feedback) Sender Stable controls Deciding when to send Sharing macroflow bandwidth Deciding who can send

Transmission API Traditional kernel buffered-send has problems –Does not allow app to “pull back” data App CM IP cm_send(,dst) Packets queued to dst Rate change Lesson: move buffering into the application Can’t pull out and re-encode

Transmission API (cont.) Callback-based send cm_request() cmapp_send() based on allowed rate App CM IP Enables apps to adapt “at the last instant” Schedule requests, not packets send( )

Transmission API (cont.) Request API works for asynchronous sources while (some_event) { get_data(); /* e.g., from a file, image capture, etc. */ send_data(); /* call cm_request() and send on callback */ } But what about synchronous sources (e.g., audio at constant sampling rate)? do_every_t_ms { /* timer loop */ get_data(); send(); /* oops, waiting for send callback wrecks timing */ } Solution: rate-change callback cmapp_update(newrate); Sender then adapts packet size or timing rate

Benefits of macroflow sharing Shared learning –Avoids overly aggressive behavior –Good for Internet stability and fairness Adoption incentives –More consistent performance of concurrent downloads –Avoids independent slow-starts and improves response times –Beats persistent-connection HTTP on interactive performance by allowing parallel downloads

CM Web Performance With CM CM greatly improves predictability and consistency of downloads TCP Newreno Time (s) Sequence number

CM applications TCP over CM Congestion-controlled UDP HTTP server –Uses TCP/CM for concurrent connections –cm_query() to pick content formats SCTP: Stream Control Transport Protocol Real-time streaming applications –Synchronous API for audio (e.g., vat) –Callback API for video (scalable MPEG-4 delivery system)

Congestion Control for Streaming Applications CM provides a flexible framework for per-macroflow congestion control algorithms TCP-style additive-increase/multiplicative decrease (AIMD) is ill-suited for streaming media MD causes large, drastic rate changes Window Time Slow start Goal: Smooth rate reductions

TCP-friendliness Throughput vs. loss-rate equation for AIMD:  K  size / (sqrt(p)  RTT) Important for safe deployment and competition with TCP connections Two different approaches: –Increase/Decrease rules Increase: w(t+R)  I(w); e.g., w+1 or 2w Decrease: w(t+  t)  D(w), e.g., w/2 –Loss-rate monitoring (e.g., TFRC) Estimate loss rate, p, and set rate  f(p)

Binomial Algorithms I(w) and D(w) are nonlinear functions –I: w(t+R)  w +  /  w K –D: w(t+  t)  w -  w L Generalize linear algorithms –AIMD (K=0, L=1); MIMD (K=-1, L=1) When L < 1, reductions are smaller than multiplicative-decrease Are there interesting TCP-friendly binomial algorithms?

The (K,L) space K L 1 TCP-friendly K+L = 1 Unstable (K+L < -1) AIMD AIADMIAD MIMD More aggressive than AIMD (-1 < K+L < 1) Less aggressive than AIMD (K+L > 1) Unstable (L > 1) I: w(t+R)  w +  /  w K D: w(t+  t)  w -  w L IIAD (K=1, L=0) SQRT (K=L=0.5) 0

Window Evolution dw/dt =  / (w K  RTT) t w(t) Trade-off between increase aggressiveness and decrease magnitude TCP-friendliness rule: K+L = 1 Trade-off between increase aggressiveness and decrease magnitude TCP-friendliness rule: K+L = 1 AIMD

Binomial Algorithms Benefit Layered MPEG-4 Delivery

CM Linux Implementation Congestion controller Scheduler CM macroflows, kernel API TCP UDP-CC libcm.a IP cm_notify() ip_output() User-level library; implements API Control socket for callbacksSystem calls (e.g., ioctl) App stream cmapp_*()Stream requests, updates Prober

Server performance cmapp_send() Buffered UDP-CC TCP/CM, no delack TCP, w/ delack TCP/CM, w/ delack TCP, no delack CPU seconds for 200K pkts Packet size (bytes)

Status CM Linux alpha code release this week Sender-only CM soon to be up for proposed standard in IETF ECM working group WG document: draft-ietf-ecm-cm-02.txt Mailing list: On-going work: –Evaluation of “slowly responsive” algorithms –Macroflow formation for diffserv –Congestion control vs. feedback frequency –CM scheduler algorithms –Using binomial algorithms on high-speed paths

Summary Congestion Manager (CM) framework provides end-to-end adaptation platform for NGI applications and protocols CM enables: –Adaptive applications using application-level framing (ALF) ideas –Efficient multiplexing and stable control of concurrent flows by sharing path information –Per-macroflow congestion control algorithms, including binomial algorithms for streaming media Download it!