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

About This Presentation
Title:

End-to-end Congestion Management for the NGI

Description:

Need a general solution for applications to discover resources and deal with mobility ... send(); /* oops, waiting for send callback wrecks timing ... – PowerPoint PPT presentation

Number of Views:147
Avg rating:3.0/5.0
Slides: 22
Provided by: haribala8
Learn more at: http://nms.lcs.mit.edu
Category:

less

Transcript and Presenter's Notes

Title: End-to-end Congestion Management for the NGI


1
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

2
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

3
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

4
The Problem
  • End-to-end congestion management is essential
  • Reacting when congestion occurs
  • Probing for spare bandwidth when it doesnt
  • The future isnt about just TCP!
  • Many applications are inherently adaptive, but
    they dont 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
5
The Big Picture
HTTP
Video1
Audio
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
6
CM Architecture
Receiver
Sender
Application (TCP, HTTP, RTP, etc.)
Application
API
Congestion Controller
Scheduler
Sharing macroflow bandwidth Deciding who can
send
Stable controls Deciding when to send
7
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
8
Transmission API (cont.)
  • Callback-based send

Schedule requests, not packets
Enables apps to adapt at the last instant
9
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(newrat
    e)Sender then adapts packet size or timing rate

10
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

11
CM Web Performance
TCP Newreno
Sequence number
With CM
Time (s)
CM greatly improves predictability and
consistency of downloads
12
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)

13
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

14
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(tR) ? I(w) e.g., w1 or 2w
  • Decrease w(tdt) ? D(w), e.g., w/2
  • Loss-rate monitoring (e.g., TFRC)
  • Estimate loss rate, p, and set rate ? f(p)

15
Binomial Algorithms
  • I(w) and D(w) are nonlinear functions
  • I w(tR) ? w a / wK
  • D w(t dt) ? w - b wL
  • Generalize linear algorithms
  • AIMD (K0, L1) MIMD (K-1, L1)
  • When L lt 1, reductions are smaller than
    multiplicative-decrease
  • Are there interesting TCP-friendly binomial
    algorithms?

16
The (K,L) space
I w(tR) ? w a / wK D w(t dt) ? w - b wL
Unstable (L gt 1)
L
1
0
K
Unstable (KL lt -1)
TCP-friendly KL 1
17
Window Evolution
w(t)
AIMD
dw/dt a / (wK ?RTT)
Trade-off between increase aggressiveness and
decrease magnitude TCP-friendliness rule KL 1
t
18
Binomial Algorithms Benefit Layered MPEG-4
Delivery
19
CM Linux Implementation
App stream
cmapp_()
Stream requests, updates
libcm.a
User-level library implements API
Control socket for callbacks
System calls (e.g., ioctl)
UDP-CC
CM macroflows, kernel API
TCP
Congestion controller
Scheduler
Prober
ip_output()
ip_output()
cm_notify()
IP
20
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)
21
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_at_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

22
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!
Write a Comment
User Comments (0)
About PowerShow.com