33
Yatin Chawathe Yatin Chawathe [email protected] [email protected] Research Research Menlo Park Menlo Park http://www.research.att.com/labs/mp/irg/ Scattercast: Taming Internet Scattercast: Taming Internet Multicast Multicast 02/08/2001

Yatin Chawathe [email protected] Research Menlo Park Scattercast: Taming Internet Multicast 02/08/2001

  • View
    219

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Yatin Chawathe yatin@research.att.com Research Menlo Park  Scattercast: Taming Internet Multicast 02/08/2001

Yatin ChawatheYatin Chawathe

[email protected]@research.att.com

ResearchResearchMenlo ParkMenlo Park

http://www.research.att.com/labs/mp/irg/

Scattercast: Taming Internet Scattercast: Taming Internet MulticastMulticast

02/08/2001

Page 2: Yatin Chawathe yatin@research.att.com Research Menlo Park  Scattercast: Taming Internet Multicast 02/08/2001

2

The ProblemThe Problem

• Can the Internet today support large-Can the Internet today support large-

scale Internet broadcasting? scale Internet broadcasting? NO NO

• Traditional unicast model does not scaleTraditional unicast model does not scale

• IP Multicast is not the right solutionIP Multicast is not the right solution

““Madonna’s London gig broadcast live on the Madonna’s London gig broadcast live on the

Internet… But as she burst into her first song on Internet… But as she burst into her first song on

Tuesday night, many fans were still queueing up Tuesday night, many fans were still queueing up

outside the virtual venue, struggling to connect to outside the virtual venue, struggling to connect to

the live feed.”the live feed.”

——CNN News (Nov 29, 2000)CNN News (Nov 29, 2000)

Page 3: Yatin Chawathe yatin@research.att.com Research Menlo Park  Scattercast: Taming Internet Multicast 02/08/2001

3

Our Solution: 10,000 Foot ViewOur Solution: 10,000 Foot View

• Explicit infrastructure supportExplicit infrastructure support Push complexity up the protocol stackPush complexity up the protocol stack

• Application-layer broadcastingApplication-layer broadcasting Keep network layer simple and robustKeep network layer simple and robust

• Broadcast customization on per-application basisBroadcast customization on per-application basis Allow applications to optimize the broadcasting Allow applications to optimize the broadcasting

frameworkframework

Scattercast: Infrastructure-service-based Scattercast: Infrastructure-service-based broadcasting—as opposed to global IP broadcasting—as opposed to global IP multicastmulticast

Scattercast: Infrastructure-service-based Scattercast: Infrastructure-service-based broadcasting—as opposed to global IP broadcasting—as opposed to global IP multicastmulticast

Page 4: Yatin Chawathe yatin@research.att.com Research Menlo Park  Scattercast: Taming Internet Multicast 02/08/2001

4

OutlineOutline

• MotivationMotivation

• Introduction: The Scattercast ArchitectureIntroduction: The Scattercast Architecture

• Gossamer: Gossamer: Application-level MulticastApplication-level Multicast

• Semantic Transport: Application-aware Semantic Transport: Application-aware

customizationcustomization

• Summing upSumming up

Page 5: Yatin Chawathe yatin@research.att.com Research Menlo Park  Scattercast: Taming Internet Multicast 02/08/2001

5

The ProblemThe Problem

• Traditional unicast model does not scaleTraditional unicast model does not scale Millions of clients Millions of clients server and network server and network

meltdownmeltdown

Page 6: Yatin Chawathe yatin@research.att.com Research Menlo Park  Scattercast: Taming Internet Multicast 02/08/2001

6

Traditional solution: IP MulticastTraditional solution: IP Multicast

• IP Multicast to the rescueIP Multicast to the rescue Global broadcast distribution primitiveGlobal broadcast distribution primitive

Source sends single streamSource sends single stream

Routers split stream towards all clientsRouters split stream towards all clients

Page 7: Yatin Chawathe yatin@research.att.com Research Menlo Park  Scattercast: Taming Internet Multicast 02/08/2001

7

Problems with IP MulticastProblems with IP Multicast

• Complex network protocolComplex network protocol Scaling issues: state explosion and inter-domain routingScaling issues: state explosion and inter-domain routing

No access controlNo access control

Difficult to manage and debugDifficult to manage and debug

• HeterogeneityHeterogeneity Single stream cannot satisfy all clients/networksSingle stream cannot satisfy all clients/networks

Different applications have different requirementsDifferent applications have different requirements

• Reliable multicastReliable multicast Much harder than TCPMuch harder than TCP

No scalable loss recovery, congestion controlNo scalable loss recovery, congestion control

• End-to-end argument fails for multicastEnd-to-end argument fails for multicast network layer is no longer simple and robustnetwork layer is no longer simple and robust

• End-to-end argument fails for multicastEnd-to-end argument fails for multicast network layer is no longer simple and robustnetwork layer is no longer simple and robust

Page 8: Yatin Chawathe yatin@research.att.com Research Menlo Park  Scattercast: Taming Internet Multicast 02/08/2001

8

Infrastructure proxies (SCXs) provideInfrastructure proxies (SCXs) provide the broadcast service the broadcast service Infrastructure proxies (SCXs) provideInfrastructure proxies (SCXs) provide the broadcast service the broadcast service Application-level broadcastingApplication-level broadcasting Application-level broadcastingApplication-level broadcasting

Locally scopedLocally scopedmulticast groupsmulticast groups

Scattercast: Broadcasting as an Scattercast: Broadcasting as an Infrastructure ServiceInfrastructure Service

UnicastUnicast

connectionsconnections

Application-specific customizationApplication-specific customization Application-specific customizationApplication-specific customization

ScatterCastScatterCastproXies (proXies (SCXSCXs)s)

Application-awareApplication-awarecomputationcomputation

Page 9: Yatin Chawathe yatin@research.att.com Research Menlo Park  Scattercast: Taming Internet Multicast 02/08/2001

9

Benefits of this approachBenefits of this approach

• Localize hard multicast problemsLocalize hard multicast problems Bandwidth allocation, congestion control, loss Bandwidth allocation, congestion control, loss

recovery are tractablerecovery are tractable

• Simplify network layer via intelligent Simplify network layer via intelligent infrastructureinfrastructure No inter-domain multicast routing requiredNo inter-domain multicast routing required Impose access restrictions within SCXsImpose access restrictions within SCXs Leverage well-understood wide-area unicast protocolsLeverage well-understood wide-area unicast protocols

• Incorporate app-specific semantics within SCXs Incorporate app-specific semantics within SCXs to address heterogeneityto address heterogeneity App-specific reliability and data schedulingApp-specific reliability and data scheduling On-the-fly content and bandwidth adaptationOn-the-fly content and bandwidth adaptation

Page 10: Yatin Chawathe yatin@research.att.com Research Menlo Park  Scattercast: Taming Internet Multicast 02/08/2001

10

New challengesNew challenges

• How do you distribute data efficiently across How do you distribute data efficiently across

the infrastructure?the infrastructure? Gossamer: Application Level MulticastGossamer: Application Level Multicast

• How do you incorporate application-specific How do you incorporate application-specific

intelligence into the distribution infrastructure?intelligence into the distribution infrastructure? Application-customizable scattercast transportApplication-customizable scattercast transport

• How do you manage the service and ensure How do you manage the service and ensure

fault tolerance, availability, and scalability of fault tolerance, availability, and scalability of

SCXs?SCXs? Cluster-based SCX implementationCluster-based SCX implementation

• How do you distribute data efficiently across How do you distribute data efficiently across

the infrastructure?the infrastructure? Gossamer: Application Level Multicast

• How do you incorporate application-specific How do you incorporate application-specific

intelligence into the distribution infrastructure?intelligence into the distribution infrastructure? Application-customizable scattercast transport

• How do you manage the service and ensure How do you manage the service and ensure

fault tolerance, availability, and scalability of fault tolerance, availability, and scalability of

SCXs?SCXs? Cluster-based SCX implementationCluster-based SCX implementation

Page 11: Yatin Chawathe yatin@research.att.com Research Menlo Park  Scattercast: Taming Internet Multicast 02/08/2001

11

OutlineOutline

• MotivationMotivation

• Introduction: The Scattercast ArchitectureIntroduction: The Scattercast Architecture

• Gossamer: Gossamer: Application-level MulticastApplication-level Multicast

• Semantic Transport: Application-aware Semantic Transport: Application-aware

customizationcustomization

• Summing upSumming up

Page 12: Yatin Chawathe yatin@research.att.com Research Menlo Park  Scattercast: Taming Internet Multicast 02/08/2001

12

OverviewOverview

UnicastUnicastconnectionsconnections

ScatterCastScatterCastproXies (proXies (SCXSCXs)s)

• Source injects data into a session via its local Source injects data into a session via its local

SCXSCX

• SCXs dynamically construct overlay network of SCXs dynamically construct overlay network of

unicast connections: the unicast connections: the meshmesh

• Run DVMRP-style routing on top of this Run DVMRP-style routing on top of this

network to construct distribution treesnetwork to construct distribution trees

Page 13: Yatin Chawathe yatin@research.att.com Research Menlo Park  Scattercast: Taming Internet Multicast 02/08/2001

13

GoalsGoals

• Minimize latency from source to all Minimize latency from source to all receiversreceivers SCXs are not routers SCXs are not routers Overlay tree not as Overlay tree not as

optimal as IP multicastoptimal as IP multicast Optimize overlay to “reflect” underlying Internet Optimize overlay to “reflect” underlying Internet

topologytopology

• Limit number of duplicate packets Limit number of duplicate packets traversing any physical Internet linktraversing any physical Internet link Each SCX transmits to handful of nearby SCXs Each SCX transmits to handful of nearby SCXs

Restrict degree of each SCX based on its Restrict degree of each SCX based on its bandwidth capabilitiesbandwidth capabilities

Page 14: Yatin Chawathe yatin@research.att.com Research Menlo Park  Scattercast: Taming Internet Multicast 02/08/2001

14

SCX DiscoverySCX Discovery

• Bootstrap using list of well-known Bootstrap using list of well-known

rendezvous SCXsrendezvous SCXs

• Gossip-style discoveryGossip-style discovery Pick random SCX Pick random SCX Xj; send it our membership list; send it our membership list

Xj merges this into its own list merges this into its own list

Xj responds with part of its own list responds with part of its own list

Gradually all SCXs discover each otherGradually all SCXs discover each other

Summary: well-known rendezvous + Summary: well-known rendezvous + gossip togossip to disseminate session disseminate session membershipmembership

Summary: well-known rendezvous + Summary: well-known rendezvous + gossip togossip to disseminate session disseminate session membershipmembership

Page 15: Yatin Chawathe yatin@research.att.com Research Menlo Park  Scattercast: Taming Internet Multicast 02/08/2001

15

Mesh ConstructionMesh Construction

• Set up connections with up to Set up connections with up to kk other SCXs other SCXs kk = degree restriction = degree restriction

• Periodically probe a random SCX, Periodically probe a random SCX, Xj

Measure unicast distance to Measure unicast distance to Xj

Use local optimization algorithm to determine Use local optimization algorithm to determine

suitability for picking as a neighborsuitability for picking as a neighbor

If If Xj has better route towards source than a has better route towards source than a

current neighbor, then replace that neighbor current neighbor, then replace that neighbor

with with Xj Summary: Local optimization based on Summary: Local optimization based on unicast unicast distances to choose mesh distances to choose mesh neighborsneighbors

Summary: Local optimization based on Summary: Local optimization based on unicast unicast distances to choose mesh distances to choose mesh neighborsneighbors

Page 16: Yatin Chawathe yatin@research.att.com Research Menlo Park  Scattercast: Taming Internet Multicast 02/08/2001

16

Application-level RoutingApplication-level Routing

• Variant of distance vector routingVariant of distance vector routing shortest path routing protocolshortest path routing protocol

routing table entries only for source SCXsrouting table entries only for source SCXs

to detect loops, store entire path in routing tableto detect loops, store entire path in routing table

• Build distribution trees from routing tablesBuild distribution trees from routing tables source-rooted treessource-rooted trees

reverse shortest pathreverse shortest path

forward data using reverse path forwardingforward data using reverse path forwarding

Summary: Shortest path routing to build Summary: Shortest path routing to build

source-rooted trees source-rooted trees

Summary: Shortest path routing to build Summary: Shortest path routing to build

source-rooted trees source-rooted trees

Page 17: Yatin Chawathe yatin@research.att.com Research Menlo Park  Scattercast: Taming Internet Multicast 02/08/2001

17

EvaluationEvaluation

• Simulate the Gossamer control protocolSimulate the Gossamer control protocol 1000 node topology, approx. 4000 edges1000 node topology, approx. 4000 edges

Constructed using Constructed using gt-itm gt-itm topology generatortopology generator

• Measure:Measure: Average latency compared to multicast:Average latency compared to multicast:

• Cost Ratio = (avg latency with Gossamer)Cost Ratio = (avg latency with Gossamer)

(avg latency with multicast) (avg latency with multicast)

Time to construct stable overlay:Time to construct stable overlay:

• Time for changes in overlay structure to stopTime for changes in overlay structure to stop

Packet duplication overheadPacket duplication overhead

• Number of physical Internet links with multiple Number of physical Internet links with multiple

copies of same packetcopies of same packet

Page 18: Yatin Chawathe yatin@research.att.com Research Menlo Park  Scattercast: Taming Internet Multicast 02/08/2001

18

Variation of Cost Ratio with Variation of Cost Ratio with Session SizeSession Size

1

1.1

1.2

1.3

1.4

1.5

1.6

1.7

1.8

1.9

2

0 50 100 150 200 250 300 350 400Total number of SCXs

Cos

t Rat

io

Average with 95%confi dence intervals

Cost ratio remains low (< 1.9) even as Cost ratio remains low (< 1.9) even as session size increasessession size increasesCost ratio remains low (< 1.9) even as Cost ratio remains low (< 1.9) even as session size increasessession size increases

Page 19: Yatin Chawathe yatin@research.att.com Research Menlo Park  Scattercast: Taming Internet Multicast 02/08/2001

19

Time to StabilityTime to Stability

0

2

4

6

8

10

12

14

16

18

0 200 400 600 800 1000

Time (seconds)

Tot

al n

umbe

r of

edg

e ch

ange

s pe

r no

de

1

1.2

1.4

1.6

1.8

2

2.2

2.4

2.6

Cos

t Rat

io

Total # of edge changes per SCX

Variation of cost ratio over time

Most mesh changes occur early on in Most mesh changes occur early on in the protocolthe protocolMost mesh changes occur early on in Most mesh changes occur early on in the protocolthe protocol

Page 20: Yatin Chawathe yatin@research.att.com Research Menlo Park  Scattercast: Taming Internet Multicast 02/08/2001

20

Packet Duplication OverheadPacket Duplication Overhead

Load on physical links is lower for Load on physical links is lower for Gossamer than for vanilla unicastGossamer than for vanilla unicastLoad on physical links is lower for Load on physical links is lower for Gossamer than for vanilla unicastGossamer than for vanilla unicast

0

20

40

60

80

100

120

140

160

180

1 10 100Total number of packets on any physical link

Num

ber

of

phys

ical

lin

ks

Unicast

Gossamer

Most heavily loaded linkMost heavily loaded linkfor unicast: 99 copiesfor unicast: 99 copies

Most heavily loaded linkMost heavily loaded linkfor Gossamer: 14 copiesfor Gossamer: 14 copies

Page 21: Yatin Chawathe yatin@research.att.com Research Menlo Park  Scattercast: Taming Internet Multicast 02/08/2001

21

Gossamer SummaryGossamer Summary

• Application-level multicast is feasibleApplication-level multicast is feasible

• Mesh + routing approach results in Mesh + routing approach results in

stable overlay distribution structurestable overlay distribution structure

• Gossamer is but one approach for Gossamer is but one approach for

application-level multicastapplication-level multicast

Page 22: Yatin Chawathe yatin@research.att.com Research Menlo Park  Scattercast: Taming Internet Multicast 02/08/2001

22

• MotivationMotivation

• Introduction: The Scattercast ArchitectureIntroduction: The Scattercast Architecture

• Gossamer: Gossamer: Application-level MulticastApplication-level Multicast

• Semantic Transport: Application-aware Semantic Transport: Application-aware

customizationcustomization

• Summing upSumming up

OutlineOutline

Page 23: Yatin Chawathe yatin@research.att.com Research Menlo Park  Scattercast: Taming Internet Multicast 02/08/2001

23

OverviewOverview

• Different applications have different transport Different applications have different transport

requirementsrequirements Reliability, bandwidth management, congestion Reliability, bandwidth management, congestion

control, etc.control, etc.

One-size-fits-all solution will not workOne-size-fits-all solution will not work

Single data stream cannot satisfy all heterogeneous Single data stream cannot satisfy all heterogeneous

clientsclients

• Our solution: Application-awareTransport Our solution: Application-awareTransport

FrameworkFramework Expose underlying overlay topology to applicationsExpose underlying overlay topology to applications

Allow applications to define their own forwarding Allow applications to define their own forwarding

policiespolicies

Delivery of “information” rather than the Delivery of “information” rather than the

“representation” of the information“representation” of the information

Application-awareApplication-awarecomputationcomputation

Page 24: Yatin Chawathe yatin@research.att.com Research Menlo Park  Scattercast: Taming Internet Multicast 02/08/2001

24

An Example ApplicationAn Example Application

• Online PresentationOnline Presentation Distribute web pages for Distribute web pages for

on-line presentationson-line presentations

Requires eventual reliabilityRequires eventual reliability

High-bandwidth image dataHigh-bandwidth image data

• Four levels of customizationFour levels of customization Customizable data forwardingCustomizable data forwarding

Customizable data reliabilityCustomizable data reliability

Transmission schedulingTransmission scheduling

Data transformationData transformation

Page 25: Yatin Chawathe yatin@research.att.com Research Menlo Park  Scattercast: Taming Internet Multicast 02/08/2001

25

Customizable Data ForwardingCustomizable Data Forwarding

• Expose underlying overlay topology to Expose underlying overlay topology to

transport layertransport layer Local view of the distribution tree: upstream link Local view of the distribution tree: upstream link

towards source + list of downstream linkstowards source + list of downstream links

• Allows applications to build custom transport Allows applications to build custom transport

protocols for reliability, congestion control, etc.protocols for reliability, congestion control, etc. Transmit nacks/acks upstream towards sourceTransmit nacks/acks upstream towards source

Transmit data/retransmissions towards receiversTransmit data/retransmissions towards receivers

Page 26: Yatin Chawathe yatin@research.att.com Research Menlo Park  Scattercast: Taming Internet Multicast 02/08/2001

26

Customizable Data ReliabilityCustomizable Data Reliability

• Reliability constraints varyReliability constraints vary Ordered/unordered delivery, best effort, periodically Ordered/unordered delivery, best effort, periodically

updating dataupdating data

Different types of reliability within the same appDifferent types of reliability within the same app

• Apps define their own reliability policiesApps define their own reliability policies Application Data Units (ADUs)Application Data Units (ADUs)

Group related ADUs into containersGroup related ADUs into containers

• e.g. html in one container, images in anothere.g. html in one container, images in another

Assign reliability policies to containersAssign reliability policies to containers

• e.g. ignore losses in image containere.g. ignore losses in image container

allow out-of-order delivery of ADUsallow out-of-order delivery of ADUs

HTMLHTMLcontainercontainer

ImageImagecontainercontainer

reliable

ignore lossesunordered

Page 27: Yatin Chawathe yatin@research.att.com Research Menlo Park  Scattercast: Taming Internet Multicast 02/08/2001

27

Customizable Transmission Customizable Transmission SchedulingScheduling

• Customized bandwidth managementCustomized bandwidth management Buffer data to avoid congestionBuffer data to avoid congestion

Notify upstream SCX to slow downNotify upstream SCX to slow down

Prioritize “important” ADUs over othersPrioritize “important” ADUs over others

imageslow priority

HTMLhigh priority

Page 28: Yatin Chawathe yatin@research.att.com Research Menlo Park  Scattercast: Taming Internet Multicast 02/08/2001

28

Customizable Data Customizable Data TransformationTransformation

• Transform ADUs on the flyTransform ADUs on the fly Bandwidth adaptation: Bandwidth adaptation:

discard redundant informationdiscard redundant information Format conversion:Format conversion:

adapt content to suit client devicesadapt content to suit client devices

• Feedback from scheduler drives Feedback from scheduler drives transformation decisionstransformation decisions e.g. convert images to P-JPEG;e.g. convert images to P-JPEG;

prioritize base scanprioritize base scan limit P-JPEG size based on available bandwidthlimit P-JPEG size based on available bandwidth

Page 29: Yatin Chawathe yatin@research.att.com Research Menlo Park  Scattercast: Taming Internet Multicast 02/08/2001

29

Real ApplicationsReal Applications

• Electronic whiteboardElectronic whiteboard Shared drawing spaceShared drawing space Adaptive reliabilityAdaptive reliability

• Whiteboard for PalmPilotWhiteboard for PalmPilot Extreme client heterogeneityExtreme client heterogeneity Split application: PalmPilot Split application: PalmPilot

app is simple; smarts in SCXapp is simple; smarts in SCX

• Streaming MP3 broadcast serverStreaming MP3 broadcast server Radio over the InternetRadio over the Internet Interface to standard clients e.g. WinAmpInterface to standard clients e.g. WinAmp

ScattercastScattercastoverlayoverlaynetworknetwork

BroadcastBroadcastserverserver

Page 30: Yatin Chawathe yatin@research.att.com Research Menlo Park  Scattercast: Taming Internet Multicast 02/08/2001

30

• MotivationMotivation

• Introduction: The Scattercast ArchitectureIntroduction: The Scattercast Architecture

• Gossamer: Gossamer: Application-level MulticastApplication-level Multicast

• Semantic Transport: Application-aware Semantic Transport: Application-aware

customizationcustomization

• Summing upSumming up

OutlineOutline

Page 31: Yatin Chawathe yatin@research.att.com Research Menlo Park  Scattercast: Taming Internet Multicast 02/08/2001

31

Scattercast: Broadcasting as an Scattercast: Broadcasting as an Infrastructure ServiceInfrastructure Service

• End-to-end is not the right answerEnd-to-end is not the right answer Use intelligent infrastructure to simplify the Use intelligent infrastructure to simplify the

network layernetwork layer

• Divide-and-conquer localizes hard Divide-and-conquer localizes hard

problemsproblems Use multicast only in local area where it is Use multicast only in local area where it is

tractable; robust unicast across wide-areatractable; robust unicast across wide-area

• Application-level intelligence is crucialApplication-level intelligence is crucial Adapt to heterogeneity by leveraging Adapt to heterogeneity by leveraging

application hints in transport protocolapplication hints in transport protocol

Page 32: Yatin Chawathe yatin@research.att.com Research Menlo Park  Scattercast: Taming Internet Multicast 02/08/2001

32

The Longer Term:The Longer Term:Evolving ScattercastEvolving Scattercast

• Flat scattercast overlay cannot scaleFlat scattercast overlay cannot scale

• We may have many independent broadcast We may have many independent broadcast

networksnetworks

• Solution: build a broadcast Solution: build a broadcast inter-networkinter-network across across

collections of broadcast networkscollections of broadcast networksScattercastScattercast

networknetwork

Yet-another-Yet-another-broadcast-networkbroadcast-network

IP-multicastIP-multicastnetworknetwork

BroadcastBroadcastInter-networkInter-network

Page 33: Yatin Chawathe yatin@research.att.com Research Menlo Park  Scattercast: Taming Internet Multicast 02/08/2001

33

Come work with us!Come work with us!

• AT&T Research: Menlo ParkAT&T Research: Menlo Park http://www.research.att.com/labs/mp/irg/http://www.research.att.com/labs/mp/irg/

• We are looking for summer interns as We are looking for summer interns as

well as full time hireswell as full time hires