End-to-end Congestion Management for the NGI Hari Balakrishnan MIT Laboratory for Computer Science ...
-
Upload
maurice-ford -
Category
Documents
-
view
215 -
download
2
Transcript of End-to-end Congestion Management for the NGI Hari Balakrishnan MIT Laboratory for Computer Science ...
![Page 1: End-to-end Congestion Management for the NGI Hari Balakrishnan MIT Laboratory for Computer Science DARPA NGI PI Meeting October.](https://reader035.fdocuments.in/reader035/viewer/2022062801/56649e7d5503460f94b80784/html5/thumbnails/1.jpg)
End-to-end Congestion Management for the NGI
Hari Balakrishnan
MIT Laboratory for Computer Science
http://nms.lcs.mit.edu/DARPA NGI PI Meeting
October 2, 2000
Srinivasan Seshan (CMU), Frans Kaashoek (MIT)
Dave Andersen, Deepak Bansal, Dorothy Curtis, Nick Feamster
![Page 2: End-to-end Congestion Management for the NGI Hari Balakrishnan MIT Laboratory for Computer Science DARPA NGI PI Meeting October.](https://reader035.fdocuments.in/reader035/viewer/2022062801/56649e7d5503460f94b80784/html5/thumbnails/2.jpg)
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
![Page 3: End-to-end Congestion Management for the NGI Hari Balakrishnan MIT Laboratory for Computer Science DARPA NGI PI Meeting October.](https://reader035.fdocuments.in/reader035/viewer/2022062801/56649e7d5503460f94b80784/html5/thumbnails/3.jpg)
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
![Page 4: End-to-end Congestion Management for the NGI Hari Balakrishnan MIT Laboratory for Computer Science DARPA NGI PI Meeting October.](https://reader035.fdocuments.in/reader035/viewer/2022062801/56649e7d5503460f94b80784/html5/thumbnails/4.jpg)
Congestion Manager (CM): A new end-system architecture for congestion management
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
![Page 5: End-to-end Congestion Management for the NGI Hari Balakrishnan MIT Laboratory for Computer Science DARPA NGI PI Meeting October.](https://reader035.fdocuments.in/reader035/viewer/2022062801/56649e7d5503460f94b80784/html5/thumbnails/5.jpg)
The Big Picture
IP
HTTP Video1
TCP1 TCP2 UDP
Audio Video2
Flows aggregated into macroflows to share congestion stateAll congestion management tasks performed in CM
Apps learn and adapt using API
Flows aggregated into macroflows to share congestion stateAll congestion management tasks performed in CM
Apps learn and adapt using API
CongestionManager
Per-”macroflow”statistics
(cwnd,rtt,…)API
![Page 6: End-to-end Congestion Management for the NGI Hari Balakrishnan MIT Laboratory for Computer Science DARPA NGI PI Meeting October.](https://reader035.fdocuments.in/reader035/viewer/2022062801/56649e7d5503460f94b80784/html5/thumbnails/6.jpg)
Congestion Detector
CM Architecture
Application (TCP, HTTP, RTP, etc.)
CongestionController
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
![Page 7: End-to-end Congestion Management for the NGI Hari Balakrishnan MIT Laboratory for Computer Science DARPA NGI PI Meeting October.](https://reader035.fdocuments.in/reader035/viewer/2022062801/56649e7d5503460f94b80784/html5/thumbnails/7.jpg)
Transmission API
• Traditional kernel buffered-send has problems– Does not allow app to “pull back” data
App
CM
IP
cm_send( ,dst)
Packets queuedto dst
Rate change
Lesson: move buffering into the applicationLesson: move buffering into the application
Can’t pull out and re-encode
![Page 8: End-to-end Congestion Management for the NGI Hari Balakrishnan MIT Laboratory for Computer Science DARPA NGI PI Meeting October.](https://reader035.fdocuments.in/reader035/viewer/2022062801/56649e7d5503460f94b80784/html5/thumbnails/8.jpg)
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”Enables apps to adapt “at the last instant”
Schedule requests,not packets
send( )
![Page 9: End-to-end Congestion Management for the NGI Hari Balakrishnan MIT Laboratory for Computer Science DARPA NGI PI Meeting October.](https://reader035.fdocuments.in/reader035/viewer/2022062801/56649e7d5503460f94b80784/html5/thumbnails/9.jpg)
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
![Page 10: End-to-end Congestion Management for the NGI Hari Balakrishnan MIT Laboratory for Computer Science DARPA NGI PI Meeting October.](https://reader035.fdocuments.in/reader035/viewer/2022062801/56649e7d5503460f94b80784/html5/thumbnails/10.jpg)
CM Web Performance
With CM
CM greatly improvespredictability and consistency
of downloads
TCP Newreno
Time (s)
Seq
uenc
e nu
mbe
r
![Page 11: End-to-end Congestion Management for the NGI Hari Balakrishnan MIT Laboratory for Computer Science DARPA NGI PI Meeting October.](https://reader035.fdocuments.in/reader035/viewer/2022062801/56649e7d5503460f94b80784/html5/thumbnails/11.jpg)
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)
![Page 12: End-to-end Congestion Management for the NGI Hari Balakrishnan MIT Laboratory for Computer Science DARPA NGI PI Meeting October.](https://reader035.fdocuments.in/reader035/viewer/2022062801/56649e7d5503460f94b80784/html5/thumbnails/12.jpg)
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
Win
do
w
Time
Slow start
• Goal: Smooth rate reductions
![Page 13: End-to-end Congestion Management for the NGI Hari Balakrishnan MIT Laboratory for Computer Science DARPA NGI PI Meeting October.](https://reader035.fdocuments.in/reader035/viewer/2022062801/56649e7d5503460f94b80784/html5/thumbnails/13.jpg)
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)
![Page 14: End-to-end Congestion Management for the NGI Hari Balakrishnan MIT Laboratory for Computer Science DARPA NGI PI Meeting October.](https://reader035.fdocuments.in/reader035/viewer/2022062801/56649e7d5503460f94b80784/html5/thumbnails/14.jpg)
Binomial Algorithms
• I(w) and D(w) are nonlinear functions– I: w(t+R) w + /wK
– D: w(t+ t) w - wL
• 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?
![Page 15: End-to-end Congestion Management for the NGI Hari Balakrishnan MIT Laboratory for Computer Science DARPA NGI PI Meeting October.](https://reader035.fdocuments.in/reader035/viewer/2022062801/56649e7d5503460f94b80784/html5/thumbnails/15.jpg)
The (K,L) space
K
L1
TCP-friendlyK+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 + /wK
D: w(t+ t) w - wL
IIAD (K=1, L=0)SQRT (K=L=0.5)
0
![Page 16: End-to-end Congestion Management for the NGI Hari Balakrishnan MIT Laboratory for Computer Science DARPA NGI PI Meeting October.](https://reader035.fdocuments.in/reader035/viewer/2022062801/56649e7d5503460f94b80784/html5/thumbnails/16.jpg)
Window Evolution
dw/dt = / (wK 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
![Page 17: End-to-end Congestion Management for the NGI Hari Balakrishnan MIT Laboratory for Computer Science DARPA NGI PI Meeting October.](https://reader035.fdocuments.in/reader035/viewer/2022062801/56649e7d5503460f94b80784/html5/thumbnails/17.jpg)
Binomial Algorithms Benefit Layered MPEG-4 Delivery
![Page 18: End-to-end Congestion Management for the NGI Hari Balakrishnan MIT Laboratory for Computer Science DARPA NGI PI Meeting October.](https://reader035.fdocuments.in/reader035/viewer/2022062801/56649e7d5503460f94b80784/html5/thumbnails/18.jpg)
CM Linux Implementation
Congestioncontroller
Scheduler
CM macroflows, kernel APITCP UDP-CC
libcm.a
IP
cm_notify()ip_output() ip_output()
User-level library;implements API
Control socket for callbacksSystem calls (e.g., ioctl)
App stream
cmapp_*()Stream requests, updates
Prober
![Page 19: End-to-end Congestion Management for the NGI Hari Balakrishnan MIT Laboratory for Computer Science DARPA NGI PI Meeting October.](https://reader035.fdocuments.in/reader035/viewer/2022062801/56649e7d5503460f94b80784/html5/thumbnails/19.jpg)
Server performance
0
5
10
15
20
25
30
35
40
45
0 200 400 600 800 1000 1200 1400 1600
cmapp_send()
Buffered UDP-CC
TCP/CM, no delack
TCP, w/ delack
TCP/CM, w/ delack
TCP, no delack
CPU secondsfor 200K pkts
Packet size (bytes)
![Page 20: End-to-end Congestion Management for the NGI Hari Balakrishnan MIT Laboratory for Computer Science DARPA NGI PI Meeting October.](https://reader035.fdocuments.in/reader035/viewer/2022062801/56649e7d5503460f94b80784/html5/thumbnails/20.jpg)
Status• CM Linux alpha code release this week
http://nms.lcs.mit.edu/projects/cm/
• 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: [email protected]
• 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
![Page 21: End-to-end Congestion Management for the NGI Hari Balakrishnan MIT Laboratory for Computer Science DARPA NGI PI Meeting October.](https://reader035.fdocuments.in/reader035/viewer/2022062801/56649e7d5503460f94b80784/html5/thumbnails/21.jpg)
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!