Powerpoint slides - Stanford University Networking Seminar
Download
Report
Transcript Powerpoint slides - Stanford University Networking Seminar
Scattercast: Taming Internet Multicast
Yatin Chawathe
[email protected]
Research
Menlo Park
http://www.research.att.com/labs/mp/irg/
02/08/2001
The Problem
• Can the Internet today support large-scale
Internet broadcasting? NO
“Madonna’s London gig broadcast live on the Internet…
But as she burst into her first song on Tuesday night,
many fans were still queueing up outside the virtual
venue, struggling to connect to the live feed.”
—CNN News (Nov 29, 2000)
• Traditional unicast model does not scale
• IP Multicast is not the right solution
2
Our Solution: 10,000 Foot View
• Explicit infrastructure support
Push complexity up the protocol stack
• Application-layer broadcasting
Keep network layer simple and robust
• Broadcast customization on per-application basis
Allow applications to optimize the broadcasting framework
Scattercast: Infrastructure-service-based
broadcasting—as opposed to global IP multicast
3
Outline
• Motivation
• Introduction: The Scattercast Architecture
• Gossamer: Application-level Multicast
• Semantic Transport: Application-aware
customization
• Summing up
4
The Problem
• Traditional unicast model does not scale
Millions
of clients server and network meltdown
5
Traditional solution: IP Multicast
• IP Multicast to the rescue
Global broadcast distribution primitive
Source sends single stream
Routers split stream towards all clients
6
Problems with IP Multicast
• Complex network protocol
Scaling issues: state explosion and inter-domain routing
No access control
Difficult to manage and debug
• Heterogeneity
Single stream cannot satisfy all clients/networks
Different applications have different requirements
• Reliable multicast
Much harder than TCP
No scalable loss recovery, congestion control
• End-to-end argument fails for multicast
network layer is no longer simple and robust
7
Scattercast: Broadcasting as an
Infrastructure Service
ScatterCast
proXies (SCXs)
Application-aware
computation
Locally scoped
multicast groups
Application-specific
Infrastructure
Application-level
proxies
broadcasting
customization
(SCXs) provide
the broadcast service
8
Benefits of this approach
• Localize hard multicast problems
Bandwidth allocation, congestion control, loss recovery are
tractable
• Simplify network layer via intelligent infrastructure
No inter-domain multicast routing required
Impose access restrictions within SCXs
Leverage well-understood wide-area unicast protocols
• Incorporate app-specific semantics within SCXs to
address heterogeneity
App-specific reliability and data scheduling
On-the-fly content and bandwidth adaptation
9
New challenges
• How do you distribute data efficiently across the
infrastructure?
Gossamer: Application Level Multicast
• How do you incorporate application-specific
intelligence into the distribution infrastructure?
Application-customizable scattercast transport
• How do you manage the service and ensure fault
tolerance, availability, and scalability of SCXs?
Cluster-based SCX implementation
10
Outline
• Motivation
• Introduction: The Scattercast Architecture
• Gossamer: Application-level Multicast
• Semantic Transport: Application-aware
customization
• Summing up
11
Overview
ScatterCast
proXies (SCXs)
• Source injects data into a session via its local SCX
• SCXs dynamically construct overlay network of
unicast connections: the mesh
• Run DVMRP-style routing on top of this network to
construct distribution trees
12
Goals
• Minimize latency from source to all receivers
SCXs
are not routers Overlay tree not as
optimal as IP multicast
Optimize
topology
overlay to “reflect” underlying Internet
• Limit number of duplicate packets traversing
any physical Internet link
Each
SCX transmits to handful of nearby SCXs
Restrict degree of each SCX based on its
bandwidth capabilities
13
SCX Discovery
• Bootstrap using list of well-known
rendezvous SCXs
• Gossip-style discovery
Pick
random SCX Xj; send it our membership list
Xj merges this into its own list
Xj responds with part of its own list
Gradually
all SCXs discover each other
Summary: well-known rendezvous + gossip to
disseminate session membership
14
Mesh Construction
• Set up connections with up to k other SCXs
k
= degree restriction
• Periodically probe a random SCX, Xj
Measure
unicast distance to Xj
Use
local optimization algorithm to determine
suitability for picking as a neighbor
If
Xj has better route towards source than a
current neighbor, then replace that neighbor with Xj
Summary: Local optimization based on unicast
distances to choose mesh neighbors
15
Application-level Routing
• Variant of distance vector routing
shortest
routing
to
path routing protocol
table entries only for source SCXs
detect loops, store entire path in routing table
• Build distribution trees from routing tables
source-rooted
trees
reverse
shortest path
forward
data using reverse path forwarding
Summary: Shortest path routing to build
source-rooted trees
16
Evaluation
• Simulate the Gossamer control protocol
1000 node topology, approx. 4000 edges
Constructed using gt-itm topology generator
• Measure:
Average latency compared to multicast:
• Cost Ratio = (avg latency with Gossamer)
(avg latency with multicast)
Time to construct stable overlay:
• Time for changes in overlay structure to stop
Packet duplication overhead
• Number of physical Internet links with multiple copies
of same packet
17
Variation of Cost Ratio with
Session Size
2
1.9
1.8
Cost Ratio
1.7
1.6
1.5
1.4
1.3
1.2
Average with 95%
confidence intervals
1.1
1
0
50
100
150
200
250
Total number of SCXs
300
350
Cost ratio remains low (< 1.9) even as
session size increases
400
18
18
2.6
16
2.4
14
2.2
Total # of edge changes per SCX
12
Variation of cost ratio over time
10
2
1.8
8
1.6
6
Cost Ratio
Total number of edge changes per node
Time to Stability
1.4
4
2
1.2
0
1
0
200
400
600
800
1000
Time (seconds)
Most mesh changes occur early on in the
protocol
19
Packet Duplication Overhead
180
Number of physical links
160
Unicast
140
Gossamer
120
100
80
60
Most heavily loaded link
for Gossamer: 14 copies
40
Most heavily loaded link
for unicast: 99 copies
20
0
1
10
Total number of packets on any physical link
100
Load on physical links is lower for Gossamer
than for vanilla unicast
20
Gossamer Summary
• Application-level multicast is feasible
• Mesh + routing approach results in stable
overlay distribution structure
• Gossamer is but one approach for
application-level multicast
21
Outline
• Motivation
• Introduction: The Scattercast Architecture
• Gossamer: Application-level Multicast
• Semantic Transport: Application-aware
customization
• Summing up
22
Overview
• Different
Our solution:
applications
Application-awareTransport
have different transport
Framework
requirements
Expose underlying overlay topology to applications
Allow
applications
to define
their own
forwarding
policies
Reliability,
bandwidth
management,
congestion
control,
etc.
Delivery
of “information”
One-size-fits-all
solution rather
will notthan
workthe “representation”
of
the data
information
Single
stream cannot satisfy all heterogeneous clients
Application-aware
computation
23
An Example Application
• Online Presentation
Distribute web pages for
on-line presentations
Requires eventual reliability
High-bandwidth image data
• Four levels of customization
Customizable data forwarding
Customizable data reliability
Transmission scheduling
Data transformation
24
Customizable Data Forwarding
• Expose underlying overlay topology to transport
layer
Local view of the distribution tree: upstream link towards
source + list of downstream links
• Allows applications to build custom transport
protocols for reliability, congestion control, etc.
Transmit nacks/acks upstream towards source
Transmit data/retransmissions towards receivers
25
Customizable Data Reliability
• Reliability constraints vary
Ordered/unordered delivery, best effort, periodically
updating data
Different types of reliability within the same app
• Apps define their own reliability policies
Application Data Units (ADUs)
Group related ADUs into containers
• e.g. html in one container, images in another
Assign reliability policies to containers
reliable
ignore losses
unordered
HTML
Image
container container
• e.g. ignore losses in image container
allow out-of-order delivery of ADUs
26
Customizable Transmission Scheduling
• Customized bandwidth management
Buffer
data to avoid congestion
Notify
upstream SCX to slow down
Prioritize
“important” ADUs over others
HTML
high priority
images
low priority
27
Customizable Data Transformation
• Transform ADUs on the fly
Bandwidth
adaptation:
discard redundant information
Format
conversion:
adapt content to suit client devices
• Feedback from scheduler drives
transformation decisions
e.g.
convert images to P-JPEG;
prioritize base scan
limit
P-JPEG size based on available bandwidth
28
Real Applications
• Electronic whiteboard
Shared
drawing space
Adaptive reliability
• Whiteboard for PalmPilot
Extreme
client heterogeneity
Split application: PalmPilot
app is simple; smarts in SCX
Scattercast
overlay
network
Broadcast
server
• Streaming MP3 broadcast server
Radio
over the Internet
Interface to standard clients e.g. WinAmp
29
Outline
• Motivation
• Introduction: The Scattercast Architecture
• Gossamer: Application-level Multicast
• Semantic Transport: Application-aware
customization
• Summing up
30
Scattercast: Broadcasting as an
Infrastructure Service
• End-to-end is not the right answer
Use
intelligent infrastructure to simplify the
network layer
• Divide-and-conquer localizes hard problems
Use
multicast only in local area where it is
tractable; robust unicast across wide-area
• Application-level intelligence is crucial
Adapt
to heterogeneity by leveraging
application hints in transport protocol
31
The Longer Term:
Evolving Scattercast
• Flat scattercast overlay cannot scale
• We may have many independent broadcast networks
• Solution: build a broadcast inter-network across
collections of broadcast networks
Scattercast
network
Yet-anotherbroadcast-network
IP-multicast
network
Broadcast
Inter-network
32
Come work with us!
• AT&T Research: Menlo Park
http://www.research.att.com/labs/mp/irg/
• We are looking for summer interns as well
as full time hires
33