end to end congestion management for the ngi n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
End-to-end Congestion Management for the NGI PowerPoint Presentation
Download Presentation
End-to-end Congestion Management for the NGI

Loading in 2 Seconds...

play fullscreen
1 / 21

End-to-end Congestion Management for the NGI - PowerPoint PPT Presentation


  • 87 Views
  • Uploaded on

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.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'End-to-end Congestion Management for the NGI' - elisha


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
end to end congestion management for the ngi

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

inat project motivation
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
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
the problem
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

Congestion Manager (CM): A new end-system architecture for congestion management

the big picture

Congestion

Manager

The Big Picture

HTTP

Audio

Video1

Video2

Per-”macroflow”

statistics

(cwnd,rtt,…)

TCP1

TCP2

UDP

API

IP

Flows aggregated into macroflows to share congestion state

All congestion management tasks performed in CM

Apps learn and adapt using API

cm architecture

feedback

cm_update(feedback)

API

Hints

Dispatch

Responder

Congestion

Detector

Prober

CM

protocol

CM Architecture

Sender

Receiver

Application

(TCP, HTTP, RTP, etc.)

Application

API

Congestion

Controller

Scheduler

Sharing macroflow

bandwidth

Deciding who

can send

Stable controls

Deciding when

to send

transmission api

App

Rate change

CM

Can’t pull out and re-encode

IP

Packets queued

to dst

Transmission API
  • Traditional kernel buffered-send has problems
    • Does not allow app to “pull back” data

cm_send( ,dst)

Lesson: move buffering into the application

transmission api cont

App

send( )

cm_request()

cmapp_send() based on

allowed rate

CM

IP

Transmission API (cont.)
  • Callback-based send

Schedule requests,

not packets

Enables apps to adapt “at the last instant”

benefits of macroflow sharing
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
CM Web Performance

TCP Newreno

Sequence number

With CM

Time (s)

CM greatly improves

predictability and consistency of downloads

cm applications
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

Window

Time

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

Slow start

  • Goal: Smooth rate reductions
tcp friendliness
TCP-friendliness
  • Throughput vs. loss-rate equation for AIMD:

l  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+dt)  D(w), e.g., w/2
    • Loss-rate monitoring (e.g., TFRC)
      • Estimate loss rate, p, and set rate  f(p)
binomial algorithms
Binomial Algorithms
  • I(w) and D(w) are nonlinear functions
    • I: w(t+R)  w + a /wK
    • D: w(t+ dt)  w - b 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?
the k l space

MIMD

AIMD

Less aggressive than AIMD

(K+L > 1)

SQRT (K=L=0.5)

MIAD

AIAD

IIAD (K=1, L=0)

More aggressive than AIMD

(-1 < K+L < 1)

The (K,L) space
  • I: w(t+R)  w + a /wK
  • D: w(t+ dt)  w - b wL

Unstable

(L > 1)

L

1

0

K

Unstable

(K+L < -1)

TCP-friendly

K+L = 1

window evolution
Window Evolution

w(t)

AIMD

dw/dt = a / (wK RTT)

Trade-off between increase aggressiveness

and decrease magnitude

TCP-friendliness rule: K+L = 1

t

cm linux implementation
CM Linux Implementation

App stream

Stream requests, updates

cmapp_*()

libcm.a

User-level library;

implements API

System calls (e.g., ioctl)

Control socket for callbacks

UDP-CC

TCP

CM macroflows, kernel API

Congestion

controller

Scheduler

Prober

ip_output()

ip_output()

cm_notify()

IP

server performance
Server performance

CPU seconds

for 200K pkts

cmapp_send()

Buffered UDP-CC

TCP, no delack

TCP/CM, no delack

TCP/CM, w/ delack

TCP, w/ delack

Packet size (bytes)

status
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: ecm-request@aciri.org

  • 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
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!